from __future__ import annotations

from spark_auto_mapper_fhir.fhir_types.uri import FhirUri

from spark_auto_mapper_fhir.value_sets.generic_type import GenericTypeCode
from spark_auto_mapper.type_definitions.defined_types import AutoMapperTextInputType


# This file is auto-generated by generate_classes so do not edit manually
# noinspection PyPep8Naming
class MedicationRequestStatusReasonCodesCode(GenericTypeCode):
    """
    medicationRequest Status Reason Codes
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
        MedicationRequest Status Reason Codes
    """

    def __init__(self, value: AutoMapperTextInputType):
        super().__init__(value=value)

    """
    http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason
    """
    codeset: FhirUri = (
        "http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason"
    )


class MedicationRequestStatusReasonCodesCodeValues:
    """
    This therapy has been ordered as a backup to a preferred therapy. This order
    will be released when and if the preferred therapy is unsuccessful.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """

    TryAnotherTreatmentFirst = MedicationRequestStatusReasonCodesCode("altchoice")
    """
    Clarification is required before the order can be acted upon.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    PrescriptionRequiresClarification = MedicationRequestStatusReasonCodesCode("clarif")
    """
    The current level of the medication in the patient's system is too high. The
    medication is suspended to allow the level to subside to a safer level.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    DrugLevelTooHigh = MedicationRequestStatusReasonCodesCode("drughigh")
    """
    The patient has been admitted to a care facility and their community
    medications are suspended until hospital discharge.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    AdmissionToHospital = MedicationRequestStatusReasonCodesCode("hospadm")
    """
    The therapy would interfere with a planned lab test and the therapy is being
    withdrawn until the test is completed.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    LabInterferenceIssues = MedicationRequestStatusReasonCodesCode("labint")
    """
    Patient not available for a period of time due to a scheduled therapy, leave
    of absence or other reason.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    PatientNotAvailable = MedicationRequestStatusReasonCodesCode("non-avail")
    """
    The patient is pregnant or breast feeding. The therapy will be resumed when
    the pregnancy is complete and the patient is no longer breastfeeding.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    ParentIsPregnant_breastFeeding = MedicationRequestStatusReasonCodesCode("preg")
    """
    The patient is believed to be allergic to a substance that is part of the
    therapy and the therapy is being temporarily withdrawn to confirm.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    Allergy = MedicationRequestStatusReasonCodesCode("salg")
    """
    The drug interacts with a short-term treatment that is more urgently required.
    This order will be resumed when the short-term treatment is complete.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    DrugInteractsWithAnotherDrug = MedicationRequestStatusReasonCodesCode("sddi")
    """
    The drug interacts with a short-term treatment that is more urgently required.
    This order will be resumed when the short-term treatment is complete.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    DuplicateTherapy = MedicationRequestStatusReasonCodesCode("sdupther")
    """
    The drug interacts with a short-term treatment that is more urgently required.
    This order will be resumed when the short-term treatment is complete.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    SuspectedIntolerance = MedicationRequestStatusReasonCodesCode("sintol")
    """
    The drug is contraindicated for patients receiving surgery and the patient is
    scheduled to be admitted for surgery in the near future. The drug will be
    resumed when the patient has sufficiently recovered from the surgery.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    PatientScheduledForSurgery_ = MedicationRequestStatusReasonCodesCode("surg")
    """
    The patient was previously receiving a medication contraindicated with the
    current medication. The current medication will remain on hold until the prior
    medication has been cleansed from their system.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    WaitingForOldDrugToWashOut = MedicationRequestStatusReasonCodesCode("washout")

from __future__ import annotations

from spark_auto_mapper_fhir.fhir_types.uri import FhirUri

from spark_auto_mapper_fhir.value_sets.generic_type import GenericTypeCode
from spark_auto_mapper.type_definitions.defined_types import AutoMapperTextInputType


# This file is auto-generated by generate_classes so do not edit manually
# noinspection PyPep8Naming
class MedicationRequestStatusReasonCodesCode(GenericTypeCode):
    """
    medicationRequest Status Reason Codes
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
        MedicationRequest Status Reason Codes
    """

    def __init__(self, value: AutoMapperTextInputType):
        super().__init__(value=value)

    """
    http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason
    """
    codeset: FhirUri = (
        "http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason"
    )


class MedicationRequestStatusReasonCodesCodeValues:
    """
    This therapy has been ordered as a backup to a preferred therapy. This order
    will be released when and if the preferred therapy is unsuccessful.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """

    TryAnotherTreatmentFirst = MedicationRequestStatusReasonCodesCode("altchoice")
    """
    Clarification is required before the order can be acted upon.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    PrescriptionRequiresClarification = MedicationRequestStatusReasonCodesCode("clarif")
    """
    The current level of the medication in the patient's system is too high. The
    medication is suspended to allow the level to subside to a safer level.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    DrugLevelTooHigh = MedicationRequestStatusReasonCodesCode("drughigh")
    """
    The patient has been admitted to a care facility and their community
    medications are suspended until hospital discharge.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    AdmissionToHospital = MedicationRequestStatusReasonCodesCode("hospadm")
    """
    The therapy would interfere with a planned lab test and the therapy is being
    withdrawn until the test is completed.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    LabInterferenceIssues = MedicationRequestStatusReasonCodesCode("labint")
    """
    Patient not available for a period of time due to a scheduled therapy, leave
    of absence or other reason.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    PatientNotAvailable = MedicationRequestStatusReasonCodesCode("non-avail")
    """
    The patient is pregnant or breast feeding. The therapy will be resumed when
    the pregnancy is complete and the patient is no longer breastfeeding.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    ParentIsPregnant_breastFeeding = MedicationRequestStatusReasonCodesCode("preg")
    """
    The patient is believed to be allergic to a substance that is part of the
    therapy and the therapy is being temporarily withdrawn to confirm.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    Allergy = MedicationRequestStatusReasonCodesCode("salg")
    """
    The drug interacts with a short-term treatment that is more urgently required.
    This order will be resumed when the short-term treatment is complete.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    DrugInteractsWithAnotherDrug = MedicationRequestStatusReasonCodesCode("sddi")
    """
    The drug interacts with a short-term treatment that is more urgently required.
    This order will be resumed when the short-term treatment is complete.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    DuplicateTherapy = MedicationRequestStatusReasonCodesCode("sdupther")
    """
    The drug interacts with a short-term treatment that is more urgently required.
    This order will be resumed when the short-term treatment is complete.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    SuspectedIntolerance = MedicationRequestStatusReasonCodesCode("sintol")
    """
    The drug is contraindicated for patients receiving surgery and the patient is
    scheduled to be admitted for surgery in the near future. The drug will be
    resumed when the patient has sufficiently recovered from the surgery.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    PatientScheduledForSurgery_ = MedicationRequestStatusReasonCodesCode("surg")
    """
    The patient was previously receiving a medication contraindicated with the
    current medication. The current medication will remain on hold until the prior
    medication has been cleansed from their system.
    From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml
    """
    WaitingForOldDrugToWashOut = MedicationRequestStatusReasonCodesCode("washout")

# This file is auto-generated by generate_classes so do not edit manually # noinspection PyPep8Naming medicationRequest Status Reason Codes     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml         MedicationRequest Status Reason Codes http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason This therapy has been ordered as a backup to a preferred therapy. This order     will be released when and if the preferred therapy is unsuccessful.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml Clarification is required before the order can be acted upon.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The current level of the medication in the patient's system is too high. The     medication is suspended to allow the level to subside to a safer level.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The patient has been admitted to a care facility and their community     medications are suspended until hospital discharge.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The therapy would interfere with a planned lab test and the therapy is being     withdrawn until the test is completed.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml Patient not available for a period of time due to a scheduled therapy, leave     of absence or other reason.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The patient is pregnant or breast feeding. The therapy will be resumed when     the pregnancy is complete and the patient is no longer breastfeeding.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The patient is believed to be allergic to a substance that is part of the     therapy and the therapy is being temporarily withdrawn to confirm.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The drug interacts with a short-term treatment that is more urgently required.     This order will be resumed when the short-term treatment is complete.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The drug interacts with a short-term treatment that is more urgently required.     This order will be resumed when the short-term treatment is complete.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The drug interacts with a short-term treatment that is more urgently required.     This order will be resumed when the short-term treatment is complete.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The drug is contraindicated for patients receiving surgery and the patient is     scheduled to be admitted for surgery in the near future. The drug will be     resumed when the patient has sufficiently recovered from the surgery.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml The patient was previously receiving a medication contraindicated with the     current medication. The current medication will remain on hold until the prior     medication has been cleansed from their system.     From: http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason in valuesets.xml