def build_fhir_age(cls, imis_medication):
     adult = cls.build_fhir_adult(imis_medication)
     kid = cls.build_fhir_kid(imis_medication)
     if adult == "":
         adult = None
     if kid == "":
         kid = None
     extension = Extension()
     extension.url = "useContextAge"
     extension.valueUsageContext = UsageContext()
     extension.valueUsageContext.code = Coding()
     extension.valueUsageContext.code.code = "age"
     extension.valueUsageContext.valueCodeableConcept = CodeableConcept()
     if adult is not None:
         coding_adult = Coding()
         coding_adult.code = adult
         coding_adult.display = "Adult"
         extension.valueUsageContext.valueCodeableConcept.coding.append(
             coding_adult)
     if kid is not None:
         coding_kid = Coding()
         coding_kid.code = kid
         coding_kid.display = "Kid"
         extension.valueUsageContext.valueCodeableConcept.coding.append(
             coding_kid)
         extension.valueUsageContext.valueCodeableConcept.text = "Adult or Kid"
     return extension
 def build_fhir_gender(cls, imis_medication):
     male = cls.build_fhir_male(imis_medication)
     female = cls.build_fhir_female(imis_medication)
     if male == "":
         male = None
     if female == "":
         female = None
     extension = Extension()
     extension.url = "useContextGender"
     extension.valueUsageContext = UsageContext()
     extension.valueUsageContext.code = Coding()
     extension.valueUsageContext.code.code = "gender"
     extension.valueUsageContext.valueCodeableConcept = CodeableConcept()
     if male is not None:
         coding_male = Coding()
         coding_male.code = male
         coding_male.display = "Male"
         extension.valueUsageContext.valueCodeableConcept.coding.append(
             coding_male)
     if female is not None:
         coding_female = Coding()
         coding_female.code = female
         coding_female.display = "Female"
         extension.valueUsageContext.valueCodeableConcept.coding.append(
             coding_female)
         extension.valueUsageContext.valueCodeableConcept.text = "Male or Female"
     return extension
    def build_fhir_venue(cls, imis_medication):
        display = ""
        if imis_medication.care_type == "O":
            display = "Out-patient"
        if imis_medication.care_type == "I":
            display = "In-patient"
        if imis_medication.care_type == "B":
            display = "Both"

        extension = Extension()
        if imis_medication.care_type is not None:
            extension.url = "useContextVenue"
            extension.valueUsageContext = UsageContext()
            extension.valueUsageContext.code = Coding()
            extension.valueUsageContext.code.code = "venue"
            extension.valueUsageContext.valueCodeableConcept = CodeableConcept(
            )
            coding_venue = Coding()
            coding_venue.code = imis_medication.care_type
            coding_venue.display = display
            extension.valueUsageContext.valueCodeableConcept.coding.append(
                coding_venue)
            extension.valueUsageContext.valueCodeableConcept.text = "Clinical Venue"
        return extension