# flake8: noqa: E501


class PrescriptionTreatmentType(object):
    """
    Constants for prescription treatment type.
    """

    ACUTE_PRESCRIBING = "0001"  # "one-off" prescriptions
    REPEAT_PRESCRIBING = "0002"  # may be re-issued by prescribing site
    REPEAT_DISPENSING = "0003"  # may be automatically reissued by Spine

    prescriptionTreatmentTypes = {
        ACUTE_PRESCRIBING: "Acute Prescription",
        REPEAT_PRESCRIBING: "Repeat Prescribing",
        REPEAT_DISPENSING: "Repeat Dispensing",
    }


class PrescriptionTypes(object):
    """
    Constants for prescription type.
    """

    # Translate prescription type codes to their text value
    prescriptionTypeCodes = {
        "0001": "GENERAL PRACTITIONER PRESCRIBING",
        "0002": "INTENTIONALLY LEFT BLANK",
        "0003": "NURSE PRACTITIONER PRESCRIBING",
        "0004": "HOSPITAL PRESCRIBING",
        "0006": "DENTAL PRESCRIBING",
        "0007": "SUPPLEMENTARY PRESCRIBER PRESCRIBING",
        "0009": "GENERAL PRACTITIONER PRESCRIBING: PRIVATE",
        "0012": "EXTENDED FORUMULARY PRESCRIBER",
        "0101": "PRIMARY CARE PRESCRIBER - MEDICAL PRESCRIBER",
        "0102": "GENERAL PRACTITIONER PRESCRIBING - TRAINEE DOCTOR/GP REGISTRAR",
        "0103": "GENERAL PRACTITIONER PRESCRIBING - DEPUTISING SERVICES",
        "0104": "PRIMARY CARE PRESCRIBER - NURSE INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0105": "PRIMARY CARE PRESCRIBER - COMMUNITY PRACTITIONER NURSE PRESCRIBER",
        "0106": "GENERAL PRACTITIONER PRESCRIBING - PCT EMPLOYED NURSE INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0107": "GENERAL PRACTITIONER PRESCRIBING - PCT EMPLOYED COMMUNITY PRACTITIONER NURSE PRESCRIBER",
        "0108": "PRIMARY CARE PRESCRIBER - PHARMACIST INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0109": "GENERAL PRACTITIONER PRESCRIBING - PCT EMPLOYED PHARMACIST PRESCRIBER",
        "0113": "PRIMARY CARE PRESCRIBER - OPTOMETRIST INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0114": "PRIMARY CARE PRESCRIBER - PODIATRIST/CHIROPODIST INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0116": "PRIMARY CARE PRESCRIBER - RADIOGRAPHER INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0117": "PRIMARY CARE PRESCRIBER - PHYSIOTHERAPIST INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0119": "GENERAL PRACTITIONER PRESCRIBING - PCT EMPLOYED PODIATRIST/CHIROPODIST",
        "0120": "GENERAL PRACTITIONER PRESCRIBING - PCT EMPLOYED OPTOMETRIST",
        "0121": "GENERAL PRACTITIONER PRESCRIBING - PCT EMPLOYED RADIOGRAPHER",
        "0122": "GENERAL PRACTITIONER PRESCRIBING - PCT EMPLOYED PHYSIOTHERAPIST",
        "0123": "PRIMARY CARE PRESCRIBER - HOSPITAL PRESCRIBER",
        "0124": "PRIMARY CARE PRESCRIBER - DIETICIAN SUPPLEMENTARY PRESCRIBER",
        "0125": "PRIMARY CARE PRESCRIBER - PARAMEDIC INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0304": "NURSE PRACTITIONER - PRACTICE EMPLOYED NURSE INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0305": "NURSE PRACTITIONER - PRACTICE EMPLOYED COMMUNITY PRACTITIONER NURSE PRESCRIBER",
        "0306": "NURSE PRACTITIONER - PRACTICE EMPLOYED NURSE INDEPENDENT/SUPPLEMENTARY PRESCRIBER",
        "0307": "NURSE PRACTITIONER - PRACTICE EMPLOYED COMMUNITY PRACTITIONER NURSE PRESCRIBER",
        "0406": "HOSPITAL PRESCRIBING - HOSPITAL PRESCRIBER",
        "0607": "DENTAL PRESCRIBING - DENTIST",
        "0708": "SUPPLEMENTARY PRESCRIBING - PRACTICE EMPLOYED PHARMACIST",
        "0709": "SUPPLEMENTARY PRESCRIBING - PCT EMPLOYED PHARMACIST",
        "0713": "SUPPLEMENTARY PRESCRIBING - PRACTICE EMPLOYED OPTOMETRIST",
        "0714": "SUPPLEMENTARY PRESCRIBING - PRACTICE EMPLOYED PODIATRIST/CHIROPODIST",
        "0716": "SUPPLEMENTARY PRESCRIBING - PRACTICE EMPLOYED RADIOGRAPHER",
        "0717": "SUPPLEMENTARY PRESCRIBING - PRACTICE EMPLOYED PHYSIOTHERAPIST",
        "0718": "SUPPLEMENTARY PRESCRIBING - PCT EMPLOYED OPTOMETRIST",
        "0719": "SUPPLEMENTARY PRESCRIBING - PCT EMPLOYED PODIATRIST/CHIROPODIST",
        "0721": "SUPPLEMENTARY PRESCRIBING - PCT EMPLOYED RADIOGRAPHER",
        "0722": "SUPPLEMENTARY PRESCRIBING - PCT EMPLOYED PHYSIOTHERAPIST",
        "0901": "PRIVATE PRESCRIBING - GP",
        "0904": "PRIVATE PRESCRIBING - NURSE PRESCRIBING",
        "0908": "PRIVATE PRESCRIBING - PHARMACIST PRESCRIBING",
        "0913": "PRIVATE PRESCRIBING - OPTOMETRIST",
        "0914": "PRIVATE PRESCRIBING - PODIATRIST/CHIROPODIST",
        "0915": "PRIVATE PRESCRIBING - PHYSIOTHERAPIST",
        "0916": "PRIVATE PRESCRIBING - RADIOGRAPHER",
        "1004": "Outpatient Community Prescriber - Nurse Independent Supplementary prescriber - FP10SS (HP) Hospital outpatient prescriptions dispensed in a community pharmacy",
        "1005": "Outpatient Community Prescriber - Community Practitioner Nurse prescriber - FP10SS (HP) Hospital outpatient prescriptions dispensed in a community pharmacy",
        "1008": "Outpatient Community Prescriber - Pharmacist Independent Supplementary prescriber - FP10SS (HP) Hospital outpatient prescriptions dispensed in a community pharmacy",
        "1013": "Outpatient Community Prescriber - Optometrist Independent Supplementary prescriber - FP10SS (HP) Hospital outpatient prescriptions dispensed in a community pharmacy",
        "1014": "Outpatient Community Prescriber - Podiatrist Chiropodist Independent Supplementary prescriber - FP10SS (HP) Hospital outpatient prescriptions dispensed in a community pharmacy",
        "1016": "Outpatient Community Prescriber - Radiographer Independent Supplementary prescriber - FP10SS (HP) Hospital outpatient prescriptions dispensed in a community pharmacy",
        "1017": "Outpatient Community Prescriber - Physiotherapist Independent Supplementary prescriber - FP10SS (HP) Hospital outpatient prescriptions dispensed in a community pharmacy",
        "1024": "Outpatient Community Prescriber - Dietician Supplementary prescriber - FP10SS (HP) Hospital outpatient prescriptions dispensed in a community pharmacy",
        "1025": "Outpatient Community Prescriber - Paramedic Independent Supplementary prescriber - FP10SS (HP) Hospital outpatient prescriptions dispensed in a community pharmacy",
        "1104": "Outpatient Hospital Pharmacy Prescriber - Nurse Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed in their own hospital pharmacy",
        "1105": "Outpatient Hospital Pharmacy Prescriber - Community Practitioner Nurse prescriber - NON- FP10 Hospital outpatient prescriptions dispensed in their own hospital pharmacy",
        "1108": "Outpatient Hospital Pharmacy Prescriber - Pharmacist Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed in their own hospital pharmacy",
        "1113": "Outpatient Hospital Pharmacy Prescriber - Optometrist Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed in their own hospital pharmacy",
        "1114": "Outpatient Hospital Pharmacy Prescriber - Podiatrist Chiropodist Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed in their own hospital pharmacy",
        "1116": "Outpatient Hospital Pharmacy Prescriber - Radiographer Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed in their own hospital pharmacy",
        "1117": "Outpatient Hospital Pharmacy Prescriber - Physiotherapist Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed in their own hospital pharmacy",
        "1124": "Outpatient Hospital Pharmacy Prescriber - Dietician Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed in their own hospital pharmacy",
        "1125": "Outpatient Hospital Pharmacy Prescriber - Paramedic Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed in their own hospital pharmacy",
        "1204": "Outpatient Homecare Prescriber - Nurse Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed by Homecare",
        "1205": "Outpatient Homecare Prescriber - Community Practitioner Nurse prescriber - NON- FP10 Hospital outpatient prescriptions dispensed by Homecare",
        "1208": "Outpatient Homecare Prescriber - Pharmacist Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed by Homecare",
        "1213": "Outpatient Homecare Prescriber - Optometrist Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed by Homecare",
        "1214": "Outpatient Homecare Prescriber - Podiatrist Chiropodist Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed by Homecare",
        "1216": "Outpatient Homecare Prescriber - Radiographer Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed by Homecare",
        "1217": "Outpatient Homecare Prescriber - Physiotherapist Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed by Homecare",
        "1224": "Outpatient Homecare Prescriber - Dietician Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed by Homecare",
        "1225": "Outpatient Homecare Prescriber - Paramedic Independent Supplementary prescriber - NON- FP10 Hospital outpatient prescriptions dispensed by Homecare",
        "1001": "Outpatient Community Prescriber - Medical Prescriber",
        "1101": "Outpatient Pharmacy Prescriber - Medical Prescriber",
        "1201": "Outpatient Homecare Prescriber - Medical Prescriber",
        # WELSH CODES
        "0201": "Primary Care Prescriber - Medical Prescriber (Wales)",
        "0204": "Primary Care Prescriber - Nurse Independent/Supplementary prescriber (Wales)",
        "0205": "Primary Care Prescriber - Community Practitioner Nurse prescriber (Wales)",
        "0208": "Primary Care Prescriber - Pharmacist Independent/Supplementary prescriber (Wales)",
        "0213": "Primary Care Prescriber - Optometrist Independent/Supplementary prescriber (Wales)",
        "0214": "Primary Care Prescriber - Podiatrist/Chiropodist Independent/Supplementary prescriber (Wales)",
        "0216": "Primary Care Prescriber - Radiographer Independent/Supplementary prescriber (Wales)",
        "0217": "Primary Care Prescriber - Physiotherapist Independent/Supplementary prescriber (Wales)",
        "0224": "Primary Care Prescriber - Dietician Supplementary prescriber (Wales)",
        "0225": "Primary Care Prescriber - Paramedic Independent/Supplementary prescriber (Wales)",
        "2001": "Outpatient Community Prescriber - Medical Prescriber (Wales)",
        "2004": "Outpatient Community Prescriber - Nurse Independent/Supplementary prescriber (Wales)",
        "2005": "Outpatient Community Prescriber - Community Practitioner Nurse prescriber (Wales)",
        "2008": "Outpatient Community Prescriber - Pharmacist Independent/Supplementary prescriber (Wales)",
        "2013": "Outpatient Community Prescriber - Optometrist Independent/Supplementary prescriber (Wales)",
        "2014": "Outpatient Community Prescriber - Podiatrist/Chiropodist Independent/Supplementary (Wales)",
        "2016": "Outpatient Community Prescriber - Radiographer Independent/Supplementary prescriber (Wales)",
        "2017": "Outpatient Community Prescriber - Physiotherapist Independent/Supplementary prescriber (Wales)",
        "2024": "Outpatient Community Prescriber - Dietician Supplementary prescriber (Wales)",
        "2025": "Outpatient Community Prescriber - Paramedic Independent/Supplementary prescriber (Wales)",
        "0707": "Dental Prescribing - Dentist (Wales)",
        # ISLE OF MANN CODES
        "0501": "Primary Care Prescriber - Medical Prescriber (IOM)",
        "0504": "Primary Care Prescriber - Nurse Independent/Supplementary prescriber (IOM)",
        "0505": "Primary Care Prescriber - Community Practitioner Nurse prescriber (IOM)",
        "0508": "Primary Care Prescriber - Pharmacist Independent/Supplementary prescriber (IOM)",
        "0513": "Primary Care Prescriber - Optometrist Independent/Supplementary prescriber (IOM)",
        "0514": "Primary Care Prescriber - Podiatrist/Chiropodist Independent/Supplementary prescriber (IOM)",
        "0516": "Primary Care Prescriber - Radiographer Independent/Supplementary prescriber (IOM)",
        "0517": "Primary Care Prescriber - Physiotherapist Independent/Supplementary prescriber (IOM)",
        "0524": "Primary Care Prescriber - Dietician Supplementary prescriber (IOM)",
        "0525": "Primary Care Prescriber - Paramedic Independent/Supplementary prescriber (IOM)",
        "5001": "Outpatient Community Prescriber - Medical Prescriber (IOM)",
        "5004": "Outpatient Community Prescriber - Nurse Independent/Supplementary prescriber (IOM)",
        "5005": "Outpatient Community Prescriber - Community Practitioner Nurse prescriber (IOM)",
        "5008": "Outpatient Community Prescriber - Pharmacist Independent/Supplementary prescriber (IOM)",
        "5013": "Outpatient Community Prescriber - Optometrist Independent/Supplementary prescriber (IOM)",
        "5014": "Outpatient Community Prescriber - Podiatrist/Chiropodist Independent/Supplementary (IOM)",
        "5016": "Outpatient Community Prescriber - Radiographer Independent/Supplementary prescriber (IOM)",
        "5017": "Outpatient Community Prescriber - Physiotherapist Independent/Supplementary prescriber (IOM)",
        "5024": "Outpatient Community Prescriber - Dietician Supplementary prescriber (IOM)",
        "5025": "Outpatient Community Prescriber - Paramedic Independent/Supplementary prescriber (IOM)",
    }
