PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r4b.r3@0.1.0
    http://hl7.org/fhir/4.3/StructureDefinition/extension-MedicationKnowledge.administrationGuidelines
description: 'R4B: `MedicationKnowledge.administrationGuidelines` (new:BackboneElement)'
package_name: hl7.fhir.uv.xver-r4b.r3
derivation: constraint
name: ExtensionMedicationKnowledge_AdministrationGuidelines
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    index: 0
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        dosage:
          match: {url: dosage}
          schema:
            short: 'R4B: Dosage for the medication for the specific guidelines (new)'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 1
            extensions:
              type:
                url: type
                short: 'R4B: Type of dosage (new)'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 3
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 4
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Type of dosage
                    choices: [valueCodeableConcept]
                    index: 6
                  valueCodeableConcept:
                    short: Type of dosage
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 7
                required: [url, value, valueCodeableConcept]
              dosage:
                min: 1
                short: 'R4B: Dosage for the medication for the specific guidelines (new)'
                index: 8
                array: true
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    min: 1
                    index: 9
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 1
                      slices:
                        site:
                          match: {url: site}
                          schema:
                            short: 'R4B: site'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 46
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: site}
                                index: 47
                              value:
                                short: Body site to administer to
                                choices: [valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 49
                              valueCodeableConcept:
                                short: Body site to administer to
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 50
                            required: [url]
                        asNeeded:
                          match: {url: asNeeded}
                          schema:
                            short: 'R4B: asNeeded'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 40
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: asNeeded}
                                index: 41
                              value:
                                short: Take "as needed" (for x)
                                choices: [valueBoolean, valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 43
                              valueBoolean:
                                short: Take "as needed" (for x)
                                type: boolean
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 44
                              valueCodeableConcept:
                                short: Take "as needed" (for x)
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 45
                            required: [url]
                        method:
                          match: {url: method}
                          schema:
                            short: 'R4B: method'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 56
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: method}
                                index: 57
                              value:
                                short: Technique for administering medication
                                choices: [valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 59
                              valueCodeableConcept:
                                short: Technique for administering medication
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 60
                            required: [url]
                        patientInstruction:
                          match: {url: patientInstruction}
                          schema:
                            short: 'R4B: patientInstruction'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 30
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: patientInstruction}
                                index: 31
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Patient or consumer oriented instructions
                                choices: [valueString]
                                index: 33
                              valueString:
                                short: Patient or consumer oriented instructions
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 34
                            required: [url]
                        maxDosePerLifetime:
                          match: {url: maxDosePerLifetime}
                          schema:
                            short: 'R4B: maxDosePerLifetime'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 93
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: maxDosePerLifetime}
                                index: 94
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit on medication per lifetime of the patient
                                choices: [valueQuantity]
                                index: 96
                              valueQuantity:
                                short: Upper limit on medication per lifetime of the patient
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 97
                            required: [url]
                        _datatype:
                          match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: DataType slice for a FHIR R4B `Dosage` value
                            _required: true
                            index: 10
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                index: 11
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: Dosage}
                                choices: [valueString]
                                index: 13
                              valueString:
                                type: string
                                pattern: {type: String, value: Dosage}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 14
                            required: [url, valueString, value]
                        maxDosePerAdministration:
                          match: {url: maxDosePerAdministration}
                          schema:
                            short: 'R4B: maxDosePerAdministration'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 88
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: maxDosePerAdministration}
                                index: 89
                              value:
                                short: Upper limit on medication per administration
                                choices: [valueQuantity]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 91
                              valueQuantity:
                                short: Upper limit on medication per administration
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 92
                            required: [url]
                        route:
                          match: {url: route}
                          schema:
                            short: 'R4B: route'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 51
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: route}
                                index: 52
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: How drug should enter body
                                choices: [valueCodeableConcept]
                                index: 54
                              valueCodeableConcept:
                                short: How drug should enter body
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 55
                            required: [url]
                        timing:
                          match: {url: timing}
                          schema:
                            short: 'R4B: timing additional types'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 35
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: timing}
                                index: 36
                              value:
                                short: When medication should be administered
                                choices: [valueTiming]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 38
                              valueTiming:
                                short: When medication should be administered
                                type: Timing
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 39
                            required: [url]
                        additionalInstruction:
                          match: {url: additionalInstruction}
                          schema:
                            short: 'R4B: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"'
                            array: true
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 25
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: additionalInstruction}
                                index: 26
                              value:
                                short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                                choices: [valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 28
                              valueCodeableConcept:
                                short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 29
                            required: [url]
                        sequence:
                          match: {url: sequence}
                          schema:
                            short: 'R4B: sequence'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 15
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: sequence}
                                index: 16
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The order of the dosage instructions
                                choices: [valueInteger]
                                index: 18
                              valueInteger:
                                short: The order of the dosage instructions
                                type: integer
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 19
                            required: [url]
                        maxDosePerPeriod:
                          match: {url: maxDosePerPeriod}
                          schema:
                            short: 'R4B: maxDosePerPeriod additional types'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 83
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: maxDosePerPeriod}
                                index: 84
                              value:
                                short: Upper limit on medication per unit of time
                                choices: [valueRatio]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 86
                              valueRatio:
                                short: Upper limit on medication per unit of time
                                type: Ratio
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 87
                            required: [url]
                        doseAndRate:
                          match: {url: doseAndRate}
                          schema:
                            short: 'R4B: Amount of medication administered (new)'
                            array: true
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 61
                            extensions:
                              type:
                                url: type
                                short: 'R4B: The kind of dose or rate specified (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 63
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 64
                                  value:
                                    short: The kind of dose or rate specified
                                    choices: [valueCodeableConcept]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 66
                                  valueCodeableConcept:
                                    short: The kind of dose or rate specified
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 67
                                required: [url]
                              dose:
                                url: dose
                                short: 'R4B: dose'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 68
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: dose}
                                    index: 69
                                  value:
                                    short: Amount of medication per dose
                                    choices: [valueRange, valueQuantity]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 71
                                  valueRange:
                                    short: Amount of medication per dose
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 72
                                  valueQuantity:
                                    short: Amount of medication per dose
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 73
                                required: [url]
                              rate:
                                url: rate
                                short: 'R4B: rate additional types'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 74
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: rate}
                                    index: 75
                                  value:
                                    short: Amount of medication per unit of time
                                    choices: [valueRatio, valueRange]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 77
                                  valueRatio:
                                    short: Amount of medication per unit of time
                                    type: Ratio
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 78
                                  valueRange:
                                    short: Amount of medication per unit of time
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 79
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 62
                                slicing:
                                  rules: open
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    type:
                                      match: {url: type}
                                      schema:
                                        short: 'R4B: The kind of dose or rate specified (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 63
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: type}
                                            index: 64
                                          value:
                                            short: The kind of dose or rate specified
                                            choices: [valueCodeableConcept]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 66
                                          valueCodeableConcept:
                                            short: The kind of dose or rate specified
                                            type: CodeableConcept
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 67
                                        required: [url]
                                    dose:
                                      match: {url: dose}
                                      schema:
                                        short: 'R4B: dose'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 68
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: dose}
                                            index: 69
                                          value:
                                            short: Amount of medication per dose
                                            choices: [valueRange, valueQuantity]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 71
                                          valueRange:
                                            short: Amount of medication per dose
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 72
                                          valueQuantity:
                                            short: Amount of medication per dose
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 73
                                        required: [url]
                                    rate:
                                      match: {url: rate}
                                      schema:
                                        short: 'R4B: rate additional types'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 74
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: rate}
                                            index: 75
                                          value:
                                            short: Amount of medication per unit of time
                                            choices: [valueRatio, valueRange]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 77
                                          valueRatio:
                                            short: Amount of medication per unit of time
                                            type: Ratio
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 78
                                          valueRange:
                                            short: Amount of medication per unit of time
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 79
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: doseAndRate}
                                index: 80
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choices: []
                                index: 82
                            required: [url]
                        text:
                          match: {url: text}
                          schema:
                            short: 'R4B: text'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 20
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: text}
                                index: 21
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Free text dosage instructions e.g. SIG
                                choices: [valueString]
                                index: 23
                              valueString:
                                short: Free text dosage instructions e.g. SIG
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 24
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: dosage}
                    index: 98
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choices: []
                    index: 100
                _required: true
                extensions:
                  site:
                    url: site
                    short: 'R4B: site'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 46
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: site}
                        index: 47
                      value:
                        short: Body site to administer to
                        choices: [valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 49
                      valueCodeableConcept:
                        short: Body site to administer to
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 50
                    required: [url]
                  asNeeded:
                    url: asNeeded
                    short: 'R4B: asNeeded'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 40
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: asNeeded}
                        index: 41
                      value:
                        short: Take "as needed" (for x)
                        choices: [valueBoolean, valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 43
                      valueBoolean:
                        short: Take "as needed" (for x)
                        type: boolean
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 44
                      valueCodeableConcept:
                        short: Take "as needed" (for x)
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 45
                    required: [url]
                  method:
                    url: method
                    short: 'R4B: method'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 56
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: method}
                        index: 57
                      value:
                        short: Technique for administering medication
                        choices: [valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 59
                      valueCodeableConcept:
                        short: Technique for administering medication
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 60
                    required: [url]
                  patientInstruction:
                    url: patientInstruction
                    short: 'R4B: patientInstruction'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 30
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: patientInstruction}
                        index: 31
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Patient or consumer oriented instructions
                        choices: [valueString]
                        index: 33
                      valueString:
                        short: Patient or consumer oriented instructions
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 34
                    required: [url]
                  maxDosePerLifetime:
                    url: maxDosePerLifetime
                    short: 'R4B: maxDosePerLifetime'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 93
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: maxDosePerLifetime}
                        index: 94
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Upper limit on medication per lifetime of the patient
                        choices: [valueQuantity]
                        index: 96
                      valueQuantity:
                        short: Upper limit on medication per lifetime of the patient
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 97
                    required: [url]
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: DataType slice for a FHIR R4B `Dosage` value
                    _required: true
                    index: 10
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                        index: 11
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: Dosage}
                        choices: [valueString]
                        index: 13
                      valueString:
                        type: string
                        pattern: {type: String, value: Dosage}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 14
                    required: [url, valueString, value]
                  maxDosePerAdministration:
                    url: maxDosePerAdministration
                    short: 'R4B: maxDosePerAdministration'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 88
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: maxDosePerAdministration}
                        index: 89
                      value:
                        short: Upper limit on medication per administration
                        choices: [valueQuantity]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 91
                      valueQuantity:
                        short: Upper limit on medication per administration
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 92
                    required: [url]
                  route:
                    url: route
                    short: 'R4B: route'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 51
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: route}
                        index: 52
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: How drug should enter body
                        choices: [valueCodeableConcept]
                        index: 54
                      valueCodeableConcept:
                        short: How drug should enter body
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 55
                    required: [url]
                  timing:
                    url: timing
                    short: 'R4B: timing additional types'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 35
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: timing}
                        index: 36
                      value:
                        short: When medication should be administered
                        choices: [valueTiming]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 38
                      valueTiming:
                        short: When medication should be administered
                        type: Timing
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 39
                    required: [url]
                  additionalInstruction:
                    url: additionalInstruction
                    short: 'R4B: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"'
                    array: true
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 25
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: additionalInstruction}
                        index: 26
                      value:
                        short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                        choices: [valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 28
                      valueCodeableConcept:
                        short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 29
                    required: [url]
                  sequence:
                    url: sequence
                    short: 'R4B: sequence'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 15
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: sequence}
                        index: 16
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The order of the dosage instructions
                        choices: [valueInteger]
                        index: 18
                      valueInteger:
                        short: The order of the dosage instructions
                        type: integer
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 19
                    required: [url]
                  maxDosePerPeriod:
                    url: maxDosePerPeriod
                    short: 'R4B: maxDosePerPeriod additional types'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 83
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: maxDosePerPeriod}
                        index: 84
                      value:
                        short: Upper limit on medication per unit of time
                        choices: [valueRatio]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 86
                      valueRatio:
                        short: Upper limit on medication per unit of time
                        type: Ratio
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 87
                    required: [url]
                  doseAndRate:
                    url: doseAndRate
                    short: 'R4B: Amount of medication administered (new)'
                    array: true
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 61
                    extensions:
                      type:
                        url: type
                        short: 'R4B: The kind of dose or rate specified (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 63
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 64
                          value:
                            short: The kind of dose or rate specified
                            choices: [valueCodeableConcept]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 66
                          valueCodeableConcept:
                            short: The kind of dose or rate specified
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 67
                        required: [url]
                      dose:
                        url: dose
                        short: 'R4B: dose'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 68
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: dose}
                            index: 69
                          value:
                            short: Amount of medication per dose
                            choices: [valueRange, valueQuantity]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 71
                          valueRange:
                            short: Amount of medication per dose
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 72
                          valueQuantity:
                            short: Amount of medication per dose
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 73
                        required: [url]
                      rate:
                        url: rate
                        short: 'R4B: rate additional types'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 74
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: rate}
                            index: 75
                          value:
                            short: Amount of medication per unit of time
                            choices: [valueRatio, valueRange]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 77
                          valueRatio:
                            short: Amount of medication per unit of time
                            type: Ratio
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 78
                          valueRange:
                            short: Amount of medication per unit of time
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 79
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 62
                        slicing:
                          rules: open
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            type:
                              match: {url: type}
                              schema:
                                short: 'R4B: The kind of dose or rate specified (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 63
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 64
                                  value:
                                    short: The kind of dose or rate specified
                                    choices: [valueCodeableConcept]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 66
                                  valueCodeableConcept:
                                    short: The kind of dose or rate specified
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 67
                                required: [url]
                            dose:
                              match: {url: dose}
                              schema:
                                short: 'R4B: dose'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 68
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: dose}
                                    index: 69
                                  value:
                                    short: Amount of medication per dose
                                    choices: [valueRange, valueQuantity]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 71
                                  valueRange:
                                    short: Amount of medication per dose
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 72
                                  valueQuantity:
                                    short: Amount of medication per dose
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 73
                                required: [url]
                            rate:
                              match: {url: rate}
                              schema:
                                short: 'R4B: rate additional types'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 74
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: rate}
                                    index: 75
                                  value:
                                    short: Amount of medication per unit of time
                                    choices: [valueRatio, valueRange]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 77
                                  valueRatio:
                                    short: Amount of medication per unit of time
                                    type: Ratio
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 78
                                  valueRange:
                                    short: Amount of medication per unit of time
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 79
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: doseAndRate}
                        index: 80
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choices: []
                        index: 82
                    required: [url]
                  text:
                    url: text
                    short: 'R4B: text'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 20
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: text}
                        index: 21
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Free text dosage instructions e.g. SIG
                        choices: [valueString]
                        index: 23
                      valueString:
                        short: Free text dosage instructions e.g. SIG
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 24
                    required: [url]
                url: dosage
                base: {max: '*', min: 0, path: Extension.extension}
                required: [url, extension]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 2
                index: 2
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 2
                  slices:
                    type:
                      match: {url: type}
                      schema:
                        short: 'R4B: Type of dosage (new)'
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 3
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 4
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Type of dosage
                            choices: [valueCodeableConcept]
                            index: 6
                          valueCodeableConcept:
                            short: Type of dosage
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 7
                        required: [url, value, valueCodeableConcept]
                    dosage:
                      match: {url: dosage}
                      schema:
                        min: 1
                        short: 'R4B: Dosage for the medication for the specific guidelines (new)'
                        index: 8
                        array: true
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            min: 1
                            index: 9
                            slicing:
                              rules: open
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 1
                              slices:
                                site:
                                  match: {url: site}
                                  schema:
                                    short: 'R4B: site'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 46
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: site}
                                        index: 47
                                      value:
                                        short: Body site to administer to
                                        choices: [valueCodeableConcept]
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        index: 49
                                      valueCodeableConcept:
                                        short: Body site to administer to
                                        type: CodeableConcept
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 50
                                    required: [url]
                                asNeeded:
                                  match: {url: asNeeded}
                                  schema:
                                    short: 'R4B: asNeeded'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 40
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: asNeeded}
                                        index: 41
                                      value:
                                        short: Take "as needed" (for x)
                                        choices: [valueBoolean, valueCodeableConcept]
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        index: 43
                                      valueBoolean:
                                        short: Take "as needed" (for x)
                                        type: boolean
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 44
                                      valueCodeableConcept:
                                        short: Take "as needed" (for x)
                                        type: CodeableConcept
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 45
                                    required: [url]
                                method:
                                  match: {url: method}
                                  schema:
                                    short: 'R4B: method'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 56
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: method}
                                        index: 57
                                      value:
                                        short: Technique for administering medication
                                        choices: [valueCodeableConcept]
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        index: 59
                                      valueCodeableConcept:
                                        short: Technique for administering medication
                                        type: CodeableConcept
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 60
                                    required: [url]
                                patientInstruction:
                                  match: {url: patientInstruction}
                                  schema:
                                    short: 'R4B: patientInstruction'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 30
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: patientInstruction}
                                        index: 31
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Patient or consumer oriented instructions
                                        choices: [valueString]
                                        index: 33
                                      valueString:
                                        short: Patient or consumer oriented instructions
                                        type: string
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 34
                                    required: [url]
                                maxDosePerLifetime:
                                  match: {url: maxDosePerLifetime}
                                  schema:
                                    short: 'R4B: maxDosePerLifetime'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 93
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: maxDosePerLifetime}
                                        index: 94
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Upper limit on medication per lifetime of the patient
                                        choices: [valueQuantity]
                                        index: 96
                                      valueQuantity:
                                        short: Upper limit on medication per lifetime of the patient
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 97
                                    required: [url]
                                _datatype:
                                  match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: DataType slice for a FHIR R4B `Dosage` value
                                    _required: true
                                    index: 10
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                        index: 11
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        pattern: {type: String, value: Dosage}
                                        choices: [valueString]
                                        index: 13
                                      valueString:
                                        type: string
                                        pattern: {type: String, value: Dosage}
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 14
                                    required: [url, valueString, value]
                                maxDosePerAdministration:
                                  match: {url: maxDosePerAdministration}
                                  schema:
                                    short: 'R4B: maxDosePerAdministration'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 88
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: maxDosePerAdministration}
                                        index: 89
                                      value:
                                        short: Upper limit on medication per administration
                                        choices: [valueQuantity]
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        index: 91
                                      valueQuantity:
                                        short: Upper limit on medication per administration
                                        type: Quantity
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 92
                                    required: [url]
                                route:
                                  match: {url: route}
                                  schema:
                                    short: 'R4B: route'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 51
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: route}
                                        index: 52
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: How drug should enter body
                                        choices: [valueCodeableConcept]
                                        index: 54
                                      valueCodeableConcept:
                                        short: How drug should enter body
                                        type: CodeableConcept
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 55
                                    required: [url]
                                timing:
                                  match: {url: timing}
                                  schema:
                                    short: 'R4B: timing additional types'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 35
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: timing}
                                        index: 36
                                      value:
                                        short: When medication should be administered
                                        choices: [valueTiming]
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        index: 38
                                      valueTiming:
                                        short: When medication should be administered
                                        type: Timing
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 39
                                    required: [url]
                                additionalInstruction:
                                  match: {url: additionalInstruction}
                                  schema:
                                    short: 'R4B: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"'
                                    array: true
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 25
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: additionalInstruction}
                                        index: 26
                                      value:
                                        short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                                        choices: [valueCodeableConcept]
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        index: 28
                                      valueCodeableConcept:
                                        short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                                        type: CodeableConcept
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 29
                                    required: [url]
                                sequence:
                                  match: {url: sequence}
                                  schema:
                                    short: 'R4B: sequence'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 15
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: sequence}
                                        index: 16
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: The order of the dosage instructions
                                        choices: [valueInteger]
                                        index: 18
                                      valueInteger:
                                        short: The order of the dosage instructions
                                        type: integer
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 19
                                    required: [url]
                                maxDosePerPeriod:
                                  match: {url: maxDosePerPeriod}
                                  schema:
                                    short: 'R4B: maxDosePerPeriod additional types'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 83
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: maxDosePerPeriod}
                                        index: 84
                                      value:
                                        short: Upper limit on medication per unit of time
                                        choices: [valueRatio]
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        index: 86
                                      valueRatio:
                                        short: Upper limit on medication per unit of time
                                        type: Ratio
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 87
                                    required: [url]
                                doseAndRate:
                                  match: {url: doseAndRate}
                                  schema:
                                    short: 'R4B: Amount of medication administered (new)'
                                    array: true
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 61
                                    extensions:
                                      type:
                                        url: type
                                        short: 'R4B: The kind of dose or rate specified (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 63
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: type}
                                            index: 64
                                          value:
                                            short: The kind of dose or rate specified
                                            choices: [valueCodeableConcept]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 66
                                          valueCodeableConcept:
                                            short: The kind of dose or rate specified
                                            type: CodeableConcept
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 67
                                        required: [url]
                                      dose:
                                        url: dose
                                        short: 'R4B: dose'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 68
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: dose}
                                            index: 69
                                          value:
                                            short: Amount of medication per dose
                                            choices: [valueRange, valueQuantity]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 71
                                          valueRange:
                                            short: Amount of medication per dose
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 72
                                          valueQuantity:
                                            short: Amount of medication per dose
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 73
                                        required: [url]
                                      rate:
                                        url: rate
                                        short: 'R4B: rate additional types'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 74
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: rate}
                                            index: 75
                                          value:
                                            short: Amount of medication per unit of time
                                            choices: [valueRatio, valueRange]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 77
                                          valueRatio:
                                            short: Amount of medication per unit of time
                                            type: Ratio
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 78
                                          valueRange:
                                            short: Amount of medication per unit of time
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 79
                                        required: [url]
                                    elements:
                                      extension:
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        array: true
                                        index: 62
                                        slicing:
                                          rules: open
                                          ordered: false
                                          discriminator:
                                          - {path: url, type: value}
                                          min: 0
                                          slices:
                                            type:
                                              match: {url: type}
                                              schema:
                                                short: 'R4B: The kind of dose or rate specified (new)'
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                index: 63
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: type}
                                                    index: 64
                                                  value:
                                                    short: The kind of dose or rate specified
                                                    choices: [valueCodeableConcept]
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    index: 66
                                                  valueCodeableConcept:
                                                    short: The kind of dose or rate specified
                                                    type: CodeableConcept
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 67
                                                required: [url]
                                            dose:
                                              match: {url: dose}
                                              schema:
                                                short: 'R4B: dose'
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                index: 68
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: dose}
                                                    index: 69
                                                  value:
                                                    short: Amount of medication per dose
                                                    choices: [valueRange, valueQuantity]
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    index: 71
                                                  valueRange:
                                                    short: Amount of medication per dose
                                                    type: Range
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 72
                                                  valueQuantity:
                                                    short: Amount of medication per dose
                                                    type: Quantity
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 73
                                                required: [url]
                                            rate:
                                              match: {url: rate}
                                              schema:
                                                short: 'R4B: rate additional types'
                                                base: {max: '*', min: 0, path: Extension.extension}
                                                index: 74
                                                elements:
                                                  url:
                                                    base: {max: '1', min: 1, path: Extension.url}
                                                    pattern: {type: Uri, value: rate}
                                                    index: 75
                                                  value:
                                                    short: Amount of medication per unit of time
                                                    choices: [valueRatio, valueRange]
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    index: 77
                                                  valueRatio:
                                                    short: Amount of medication per unit of time
                                                    type: Ratio
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 78
                                                  valueRange:
                                                    short: Amount of medication per unit of time
                                                    type: Range
                                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                                    choiceOf: value
                                                    index: 79
                                                required: [url]
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: doseAndRate}
                                        index: 80
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choices: []
                                        index: 82
                                    required: [url]
                                text:
                                  match: {url: text}
                                  schema:
                                    short: 'R4B: text'
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    index: 20
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: text}
                                        index: 21
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Free text dosage instructions e.g. SIG
                                        choices: [valueString]
                                        index: 23
                                      valueString:
                                        short: Free text dosage instructions e.g. SIG
                                        type: string
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        choiceOf: value
                                        index: 24
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: dosage}
                            index: 98
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choices: []
                            index: 100
                        _required: true
                        extensions:
                          site:
                            url: site
                            short: 'R4B: site'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 46
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: site}
                                index: 47
                              value:
                                short: Body site to administer to
                                choices: [valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 49
                              valueCodeableConcept:
                                short: Body site to administer to
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 50
                            required: [url]
                          asNeeded:
                            url: asNeeded
                            short: 'R4B: asNeeded'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 40
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: asNeeded}
                                index: 41
                              value:
                                short: Take "as needed" (for x)
                                choices: [valueBoolean, valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 43
                              valueBoolean:
                                short: Take "as needed" (for x)
                                type: boolean
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 44
                              valueCodeableConcept:
                                short: Take "as needed" (for x)
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 45
                            required: [url]
                          method:
                            url: method
                            short: 'R4B: method'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 56
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: method}
                                index: 57
                              value:
                                short: Technique for administering medication
                                choices: [valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 59
                              valueCodeableConcept:
                                short: Technique for administering medication
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 60
                            required: [url]
                          patientInstruction:
                            url: patientInstruction
                            short: 'R4B: patientInstruction'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 30
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: patientInstruction}
                                index: 31
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Patient or consumer oriented instructions
                                choices: [valueString]
                                index: 33
                              valueString:
                                short: Patient or consumer oriented instructions
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 34
                            required: [url]
                          maxDosePerLifetime:
                            url: maxDosePerLifetime
                            short: 'R4B: maxDosePerLifetime'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 93
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: maxDosePerLifetime}
                                index: 94
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit on medication per lifetime of the patient
                                choices: [valueQuantity]
                                index: 96
                              valueQuantity:
                                short: Upper limit on medication per lifetime of the patient
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 97
                            required: [url]
                          _datatype:
                            url: http://hl7.org/fhir/StructureDefinition/_datatype
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: DataType slice for a FHIR R4B `Dosage` value
                            _required: true
                            index: 10
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                index: 11
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: Dosage}
                                choices: [valueString]
                                index: 13
                              valueString:
                                type: string
                                pattern: {type: String, value: Dosage}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 14
                            required: [url, valueString, value]
                          maxDosePerAdministration:
                            url: maxDosePerAdministration
                            short: 'R4B: maxDosePerAdministration'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 88
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: maxDosePerAdministration}
                                index: 89
                              value:
                                short: Upper limit on medication per administration
                                choices: [valueQuantity]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 91
                              valueQuantity:
                                short: Upper limit on medication per administration
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 92
                            required: [url]
                          route:
                            url: route
                            short: 'R4B: route'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 51
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: route}
                                index: 52
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: How drug should enter body
                                choices: [valueCodeableConcept]
                                index: 54
                              valueCodeableConcept:
                                short: How drug should enter body
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 55
                            required: [url]
                          timing:
                            url: timing
                            short: 'R4B: timing additional types'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 35
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: timing}
                                index: 36
                              value:
                                short: When medication should be administered
                                choices: [valueTiming]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 38
                              valueTiming:
                                short: When medication should be administered
                                type: Timing
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 39
                            required: [url]
                          additionalInstruction:
                            url: additionalInstruction
                            short: 'R4B: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"'
                            array: true
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 25
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: additionalInstruction}
                                index: 26
                              value:
                                short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                                choices: [valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 28
                              valueCodeableConcept:
                                short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 29
                            required: [url]
                          sequence:
                            url: sequence
                            short: 'R4B: sequence'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 15
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: sequence}
                                index: 16
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The order of the dosage instructions
                                choices: [valueInteger]
                                index: 18
                              valueInteger:
                                short: The order of the dosage instructions
                                type: integer
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 19
                            required: [url]
                          maxDosePerPeriod:
                            url: maxDosePerPeriod
                            short: 'R4B: maxDosePerPeriod additional types'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 83
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: maxDosePerPeriod}
                                index: 84
                              value:
                                short: Upper limit on medication per unit of time
                                choices: [valueRatio]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 86
                              valueRatio:
                                short: Upper limit on medication per unit of time
                                type: Ratio
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 87
                            required: [url]
                          doseAndRate:
                            url: doseAndRate
                            short: 'R4B: Amount of medication administered (new)'
                            array: true
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 61
                            extensions:
                              type:
                                url: type
                                short: 'R4B: The kind of dose or rate specified (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 63
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 64
                                  value:
                                    short: The kind of dose or rate specified
                                    choices: [valueCodeableConcept]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 66
                                  valueCodeableConcept:
                                    short: The kind of dose or rate specified
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 67
                                required: [url]
                              dose:
                                url: dose
                                short: 'R4B: dose'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 68
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: dose}
                                    index: 69
                                  value:
                                    short: Amount of medication per dose
                                    choices: [valueRange, valueQuantity]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 71
                                  valueRange:
                                    short: Amount of medication per dose
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 72
                                  valueQuantity:
                                    short: Amount of medication per dose
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 73
                                required: [url]
                              rate:
                                url: rate
                                short: 'R4B: rate additional types'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 74
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: rate}
                                    index: 75
                                  value:
                                    short: Amount of medication per unit of time
                                    choices: [valueRatio, valueRange]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 77
                                  valueRatio:
                                    short: Amount of medication per unit of time
                                    type: Ratio
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 78
                                  valueRange:
                                    short: Amount of medication per unit of time
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 79
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 62
                                slicing:
                                  rules: open
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    type:
                                      match: {url: type}
                                      schema:
                                        short: 'R4B: The kind of dose or rate specified (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 63
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: type}
                                            index: 64
                                          value:
                                            short: The kind of dose or rate specified
                                            choices: [valueCodeableConcept]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 66
                                          valueCodeableConcept:
                                            short: The kind of dose or rate specified
                                            type: CodeableConcept
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 67
                                        required: [url]
                                    dose:
                                      match: {url: dose}
                                      schema:
                                        short: 'R4B: dose'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 68
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: dose}
                                            index: 69
                                          value:
                                            short: Amount of medication per dose
                                            choices: [valueRange, valueQuantity]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 71
                                          valueRange:
                                            short: Amount of medication per dose
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 72
                                          valueQuantity:
                                            short: Amount of medication per dose
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 73
                                        required: [url]
                                    rate:
                                      match: {url: rate}
                                      schema:
                                        short: 'R4B: rate additional types'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 74
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: rate}
                                            index: 75
                                          value:
                                            short: Amount of medication per unit of time
                                            choices: [valueRatio, valueRange]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 77
                                          valueRatio:
                                            short: Amount of medication per unit of time
                                            type: Ratio
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 78
                                          valueRange:
                                            short: Amount of medication per unit of time
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 79
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: doseAndRate}
                                index: 80
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choices: []
                                index: 82
                            required: [url]
                          text:
                            url: text
                            short: 'R4B: text'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 20
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: text}
                                index: 21
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Free text dosage instructions e.g. SIG
                                choices: [valueString]
                                index: 23
                              valueString:
                                short: Free text dosage instructions e.g. SIG
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 24
                            required: [url]
                        base: {max: '*', min: 0, path: Extension.extension}
                        required: [url, extension]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: dosage}
                index: 101
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 103
            required: [url]
        indication:
          match: {url: indication}
          schema:
            short: 'R4B: Indication for use that apply to the specific administration guidelines (new)'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 104
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: indication}
                index: 105
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Indication for use that apply to the specific administration guidelines
                choices: [valueCodeableConcept, valueReference, valueReference]
                index: 107
              valueCodeableConcept:
                short: Indication for use that apply to the specific administration guidelines
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 108
              valueReference:
                short: Indication for use that apply to the specific administration guidelines
                refers: ['http://hl7.org/fhir/4.3/StructureDefinition/profile-ObservationDefinition|0.1.0']
                type: Reference
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 109
            required: [url]
        patientCharacteristics:
          match: {url: patientCharacteristics}
          schema:
            short: 'R4B: Characteristics of the patient that are relevant to the administration guidelines (new)'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 111
            extensions:
              characteristic:
                url: characteristic
                short: 'R4B: Specific characteristic that is relevant to the administration guideline (new)'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 113
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: characteristic}
                    index: 114
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Specific characteristic that is relevant to the administration guideline
                    choices: [valueCodeableConcept, valueQuantity]
                    index: 116
                  valueCodeableConcept:
                    short: Specific characteristic that is relevant to the administration guideline
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 117
                  valueQuantity:
                    short: Specific characteristic that is relevant to the administration guideline
                    type: Quantity
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 118
                required: [url, value, valueCodeableConcept, valueQuantity]
              value:
                url: value
                short: 'R4B: The specific characteristic (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 119
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: value}
                    index: 120
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The specific characteristic
                    choices: [valueString]
                    index: 122
                  valueString:
                    short: The specific characteristic
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 123
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 112
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    characteristic:
                      match: {url: characteristic}
                      schema:
                        short: 'R4B: Specific characteristic that is relevant to the administration guideline (new)'
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 113
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: characteristic}
                            index: 114
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Specific characteristic that is relevant to the administration guideline
                            choices: [valueCodeableConcept, valueQuantity]
                            index: 116
                          valueCodeableConcept:
                            short: Specific characteristic that is relevant to the administration guideline
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 117
                          valueQuantity:
                            short: Specific characteristic that is relevant to the administration guideline
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 118
                        required: [url, value, valueCodeableConcept, valueQuantity]
                    value:
                      match: {url: value}
                      schema:
                        short: 'R4B: The specific characteristic (new)'
                        array: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 119
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: value}
                            index: 120
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: The specific characteristic
                            choices: [valueString]
                            index: 122
                          valueString:
                            short: The specific characteristic
                            type: string
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 123
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: patientCharacteristics}
                index: 124
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 126
            required: [url, extension]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/4.3/StructureDefinition/extension-MedicationKnowledge.administrationGuidelines'}
    index: 127
  value:
    base: {max: '1', min: 0, path: 'Extension.value[x]'}
    choices: []
    index: 129
package_version: 0.1.0
extensions:
  dosage:
    url: dosage
    short: 'R4B: Dosage for the medication for the specific guidelines (new)'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 1
    extensions:
      type:
        url: type
        short: 'R4B: Type of dosage (new)'
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 3
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: type}
            index: 4
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Type of dosage
            choices: [valueCodeableConcept]
            index: 6
          valueCodeableConcept:
            short: Type of dosage
            type: CodeableConcept
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 7
        required: [url, value, valueCodeableConcept]
      dosage:
        min: 1
        short: 'R4B: Dosage for the medication for the specific guidelines (new)'
        index: 8
        array: true
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            min: 1
            index: 9
            slicing:
              rules: open
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 1
              slices:
                site:
                  match: {url: site}
                  schema:
                    short: 'R4B: site'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 46
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: site}
                        index: 47
                      value:
                        short: Body site to administer to
                        choices: [valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 49
                      valueCodeableConcept:
                        short: Body site to administer to
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 50
                    required: [url]
                asNeeded:
                  match: {url: asNeeded}
                  schema:
                    short: 'R4B: asNeeded'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 40
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: asNeeded}
                        index: 41
                      value:
                        short: Take "as needed" (for x)
                        choices: [valueBoolean, valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 43
                      valueBoolean:
                        short: Take "as needed" (for x)
                        type: boolean
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 44
                      valueCodeableConcept:
                        short: Take "as needed" (for x)
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 45
                    required: [url]
                method:
                  match: {url: method}
                  schema:
                    short: 'R4B: method'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 56
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: method}
                        index: 57
                      value:
                        short: Technique for administering medication
                        choices: [valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 59
                      valueCodeableConcept:
                        short: Technique for administering medication
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 60
                    required: [url]
                patientInstruction:
                  match: {url: patientInstruction}
                  schema:
                    short: 'R4B: patientInstruction'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 30
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: patientInstruction}
                        index: 31
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Patient or consumer oriented instructions
                        choices: [valueString]
                        index: 33
                      valueString:
                        short: Patient or consumer oriented instructions
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 34
                    required: [url]
                maxDosePerLifetime:
                  match: {url: maxDosePerLifetime}
                  schema:
                    short: 'R4B: maxDosePerLifetime'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 93
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: maxDosePerLifetime}
                        index: 94
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Upper limit on medication per lifetime of the patient
                        choices: [valueQuantity]
                        index: 96
                      valueQuantity:
                        short: Upper limit on medication per lifetime of the patient
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 97
                    required: [url]
                _datatype:
                  match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: DataType slice for a FHIR R4B `Dosage` value
                    _required: true
                    index: 10
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                        index: 11
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: Dosage}
                        choices: [valueString]
                        index: 13
                      valueString:
                        type: string
                        pattern: {type: String, value: Dosage}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 14
                    required: [url, valueString, value]
                maxDosePerAdministration:
                  match: {url: maxDosePerAdministration}
                  schema:
                    short: 'R4B: maxDosePerAdministration'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 88
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: maxDosePerAdministration}
                        index: 89
                      value:
                        short: Upper limit on medication per administration
                        choices: [valueQuantity]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 91
                      valueQuantity:
                        short: Upper limit on medication per administration
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 92
                    required: [url]
                route:
                  match: {url: route}
                  schema:
                    short: 'R4B: route'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 51
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: route}
                        index: 52
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: How drug should enter body
                        choices: [valueCodeableConcept]
                        index: 54
                      valueCodeableConcept:
                        short: How drug should enter body
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 55
                    required: [url]
                timing:
                  match: {url: timing}
                  schema:
                    short: 'R4B: timing additional types'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 35
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: timing}
                        index: 36
                      value:
                        short: When medication should be administered
                        choices: [valueTiming]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 38
                      valueTiming:
                        short: When medication should be administered
                        type: Timing
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 39
                    required: [url]
                additionalInstruction:
                  match: {url: additionalInstruction}
                  schema:
                    short: 'R4B: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"'
                    array: true
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 25
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: additionalInstruction}
                        index: 26
                      value:
                        short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                        choices: [valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 28
                      valueCodeableConcept:
                        short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 29
                    required: [url]
                sequence:
                  match: {url: sequence}
                  schema:
                    short: 'R4B: sequence'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 15
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: sequence}
                        index: 16
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The order of the dosage instructions
                        choices: [valueInteger]
                        index: 18
                      valueInteger:
                        short: The order of the dosage instructions
                        type: integer
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 19
                    required: [url]
                maxDosePerPeriod:
                  match: {url: maxDosePerPeriod}
                  schema:
                    short: 'R4B: maxDosePerPeriod additional types'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 83
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: maxDosePerPeriod}
                        index: 84
                      value:
                        short: Upper limit on medication per unit of time
                        choices: [valueRatio]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 86
                      valueRatio:
                        short: Upper limit on medication per unit of time
                        type: Ratio
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 87
                    required: [url]
                doseAndRate:
                  match: {url: doseAndRate}
                  schema:
                    short: 'R4B: Amount of medication administered (new)'
                    array: true
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 61
                    extensions:
                      type:
                        url: type
                        short: 'R4B: The kind of dose or rate specified (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 63
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 64
                          value:
                            short: The kind of dose or rate specified
                            choices: [valueCodeableConcept]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 66
                          valueCodeableConcept:
                            short: The kind of dose or rate specified
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 67
                        required: [url]
                      dose:
                        url: dose
                        short: 'R4B: dose'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 68
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: dose}
                            index: 69
                          value:
                            short: Amount of medication per dose
                            choices: [valueRange, valueQuantity]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 71
                          valueRange:
                            short: Amount of medication per dose
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 72
                          valueQuantity:
                            short: Amount of medication per dose
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 73
                        required: [url]
                      rate:
                        url: rate
                        short: 'R4B: rate additional types'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 74
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: rate}
                            index: 75
                          value:
                            short: Amount of medication per unit of time
                            choices: [valueRatio, valueRange]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 77
                          valueRatio:
                            short: Amount of medication per unit of time
                            type: Ratio
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 78
                          valueRange:
                            short: Amount of medication per unit of time
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 79
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 62
                        slicing:
                          rules: open
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            type:
                              match: {url: type}
                              schema:
                                short: 'R4B: The kind of dose or rate specified (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 63
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 64
                                  value:
                                    short: The kind of dose or rate specified
                                    choices: [valueCodeableConcept]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 66
                                  valueCodeableConcept:
                                    short: The kind of dose or rate specified
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 67
                                required: [url]
                            dose:
                              match: {url: dose}
                              schema:
                                short: 'R4B: dose'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 68
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: dose}
                                    index: 69
                                  value:
                                    short: Amount of medication per dose
                                    choices: [valueRange, valueQuantity]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 71
                                  valueRange:
                                    short: Amount of medication per dose
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 72
                                  valueQuantity:
                                    short: Amount of medication per dose
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 73
                                required: [url]
                            rate:
                              match: {url: rate}
                              schema:
                                short: 'R4B: rate additional types'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 74
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: rate}
                                    index: 75
                                  value:
                                    short: Amount of medication per unit of time
                                    choices: [valueRatio, valueRange]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 77
                                  valueRatio:
                                    short: Amount of medication per unit of time
                                    type: Ratio
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 78
                                  valueRange:
                                    short: Amount of medication per unit of time
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 79
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: doseAndRate}
                        index: 80
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choices: []
                        index: 82
                    required: [url]
                text:
                  match: {url: text}
                  schema:
                    short: 'R4B: text'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 20
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: text}
                        index: 21
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Free text dosage instructions e.g. SIG
                        choices: [valueString]
                        index: 23
                      valueString:
                        short: Free text dosage instructions e.g. SIG
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 24
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: dosage}
            index: 98
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choices: []
            index: 100
        _required: true
        extensions:
          site:
            url: site
            short: 'R4B: site'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 46
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: site}
                index: 47
              value:
                short: Body site to administer to
                choices: [valueCodeableConcept]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 49
              valueCodeableConcept:
                short: Body site to administer to
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 50
            required: [url]
          asNeeded:
            url: asNeeded
            short: 'R4B: asNeeded'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 40
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: asNeeded}
                index: 41
              value:
                short: Take "as needed" (for x)
                choices: [valueBoolean, valueCodeableConcept]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 43
              valueBoolean:
                short: Take "as needed" (for x)
                type: boolean
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 44
              valueCodeableConcept:
                short: Take "as needed" (for x)
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 45
            required: [url]
          method:
            url: method
            short: 'R4B: method'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 56
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: method}
                index: 57
              value:
                short: Technique for administering medication
                choices: [valueCodeableConcept]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 59
              valueCodeableConcept:
                short: Technique for administering medication
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 60
            required: [url]
          patientInstruction:
            url: patientInstruction
            short: 'R4B: patientInstruction'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 30
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: patientInstruction}
                index: 31
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Patient or consumer oriented instructions
                choices: [valueString]
                index: 33
              valueString:
                short: Patient or consumer oriented instructions
                type: string
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 34
            required: [url]
          maxDosePerLifetime:
            url: maxDosePerLifetime
            short: 'R4B: maxDosePerLifetime'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 93
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: maxDosePerLifetime}
                index: 94
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Upper limit on medication per lifetime of the patient
                choices: [valueQuantity]
                index: 96
              valueQuantity:
                short: Upper limit on medication per lifetime of the patient
                type: Quantity
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 97
            required: [url]
          _datatype:
            url: http://hl7.org/fhir/StructureDefinition/_datatype
            base: {max: '*', min: 0, path: Extension.extension}
            short: DataType slice for a FHIR R4B `Dosage` value
            _required: true
            index: 10
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                index: 11
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                pattern: {type: String, value: Dosage}
                choices: [valueString]
                index: 13
              valueString:
                type: string
                pattern: {type: String, value: Dosage}
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 14
            required: [url, valueString, value]
          maxDosePerAdministration:
            url: maxDosePerAdministration
            short: 'R4B: maxDosePerAdministration'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 88
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: maxDosePerAdministration}
                index: 89
              value:
                short: Upper limit on medication per administration
                choices: [valueQuantity]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 91
              valueQuantity:
                short: Upper limit on medication per administration
                type: Quantity
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 92
            required: [url]
          route:
            url: route
            short: 'R4B: route'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 51
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: route}
                index: 52
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: How drug should enter body
                choices: [valueCodeableConcept]
                index: 54
              valueCodeableConcept:
                short: How drug should enter body
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 55
            required: [url]
          timing:
            url: timing
            short: 'R4B: timing additional types'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 35
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: timing}
                index: 36
              value:
                short: When medication should be administered
                choices: [valueTiming]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 38
              valueTiming:
                short: When medication should be administered
                type: Timing
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 39
            required: [url]
          additionalInstruction:
            url: additionalInstruction
            short: 'R4B: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 25
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: additionalInstruction}
                index: 26
              value:
                short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                choices: [valueCodeableConcept]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 28
              valueCodeableConcept:
                short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                type: CodeableConcept
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 29
            required: [url]
          sequence:
            url: sequence
            short: 'R4B: sequence'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 15
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: sequence}
                index: 16
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The order of the dosage instructions
                choices: [valueInteger]
                index: 18
              valueInteger:
                short: The order of the dosage instructions
                type: integer
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 19
            required: [url]
          maxDosePerPeriod:
            url: maxDosePerPeriod
            short: 'R4B: maxDosePerPeriod additional types'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 83
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: maxDosePerPeriod}
                index: 84
              value:
                short: Upper limit on medication per unit of time
                choices: [valueRatio]
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                index: 86
              valueRatio:
                short: Upper limit on medication per unit of time
                type: Ratio
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 87
            required: [url]
          doseAndRate:
            url: doseAndRate
            short: 'R4B: Amount of medication administered (new)'
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 61
            extensions:
              type:
                url: type
                short: 'R4B: The kind of dose or rate specified (new)'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 63
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 64
                  value:
                    short: The kind of dose or rate specified
                    choices: [valueCodeableConcept]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 66
                  valueCodeableConcept:
                    short: The kind of dose or rate specified
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 67
                required: [url]
              dose:
                url: dose
                short: 'R4B: dose'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 68
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: dose}
                    index: 69
                  value:
                    short: Amount of medication per dose
                    choices: [valueRange, valueQuantity]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 71
                  valueRange:
                    short: Amount of medication per dose
                    type: Range
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 72
                  valueQuantity:
                    short: Amount of medication per dose
                    type: Quantity
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 73
                required: [url]
              rate:
                url: rate
                short: 'R4B: rate additional types'
                base: {max: '*', min: 0, path: Extension.extension}
                index: 74
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: rate}
                    index: 75
                  value:
                    short: Amount of medication per unit of time
                    choices: [valueRatio, valueRange]
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    index: 77
                  valueRatio:
                    short: Amount of medication per unit of time
                    type: Ratio
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 78
                  valueRange:
                    short: Amount of medication per unit of time
                    type: Range
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 79
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                index: 62
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    type:
                      match: {url: type}
                      schema:
                        short: 'R4B: The kind of dose or rate specified (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 63
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 64
                          value:
                            short: The kind of dose or rate specified
                            choices: [valueCodeableConcept]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 66
                          valueCodeableConcept:
                            short: The kind of dose or rate specified
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 67
                        required: [url]
                    dose:
                      match: {url: dose}
                      schema:
                        short: 'R4B: dose'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 68
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: dose}
                            index: 69
                          value:
                            short: Amount of medication per dose
                            choices: [valueRange, valueQuantity]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 71
                          valueRange:
                            short: Amount of medication per dose
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 72
                          valueQuantity:
                            short: Amount of medication per dose
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 73
                        required: [url]
                    rate:
                      match: {url: rate}
                      schema:
                        short: 'R4B: rate additional types'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 74
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: rate}
                            index: 75
                          value:
                            short: Amount of medication per unit of time
                            choices: [valueRatio, valueRange]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 77
                          valueRatio:
                            short: Amount of medication per unit of time
                            type: Ratio
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 78
                          valueRange:
                            short: Amount of medication per unit of time
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 79
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: doseAndRate}
                index: 80
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choices: []
                index: 82
            required: [url]
          text:
            url: text
            short: 'R4B: text'
            base: {max: '*', min: 0, path: Extension.extension}
            index: 20
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: text}
                index: 21
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Free text dosage instructions e.g. SIG
                choices: [valueString]
                index: 23
              valueString:
                short: Free text dosage instructions e.g. SIG
                type: string
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                choiceOf: value
                index: 24
            required: [url]
        url: dosage
        base: {max: '*', min: 0, path: Extension.extension}
        required: [url, extension]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 2
        index: 2
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 2
          slices:
            type:
              match: {url: type}
              schema:
                short: 'R4B: Type of dosage (new)'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 3
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: type}
                    index: 4
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Type of dosage
                    choices: [valueCodeableConcept]
                    index: 6
                  valueCodeableConcept:
                    short: Type of dosage
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 7
                required: [url, value, valueCodeableConcept]
            dosage:
              match: {url: dosage}
              schema:
                min: 1
                short: 'R4B: Dosage for the medication for the specific guidelines (new)'
                index: 8
                array: true
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    min: 1
                    index: 9
                    slicing:
                      rules: open
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 1
                      slices:
                        site:
                          match: {url: site}
                          schema:
                            short: 'R4B: site'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 46
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: site}
                                index: 47
                              value:
                                short: Body site to administer to
                                choices: [valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 49
                              valueCodeableConcept:
                                short: Body site to administer to
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 50
                            required: [url]
                        asNeeded:
                          match: {url: asNeeded}
                          schema:
                            short: 'R4B: asNeeded'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 40
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: asNeeded}
                                index: 41
                              value:
                                short: Take "as needed" (for x)
                                choices: [valueBoolean, valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 43
                              valueBoolean:
                                short: Take "as needed" (for x)
                                type: boolean
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 44
                              valueCodeableConcept:
                                short: Take "as needed" (for x)
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 45
                            required: [url]
                        method:
                          match: {url: method}
                          schema:
                            short: 'R4B: method'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 56
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: method}
                                index: 57
                              value:
                                short: Technique for administering medication
                                choices: [valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 59
                              valueCodeableConcept:
                                short: Technique for administering medication
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 60
                            required: [url]
                        patientInstruction:
                          match: {url: patientInstruction}
                          schema:
                            short: 'R4B: patientInstruction'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 30
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: patientInstruction}
                                index: 31
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Patient or consumer oriented instructions
                                choices: [valueString]
                                index: 33
                              valueString:
                                short: Patient or consumer oriented instructions
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 34
                            required: [url]
                        maxDosePerLifetime:
                          match: {url: maxDosePerLifetime}
                          schema:
                            short: 'R4B: maxDosePerLifetime'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 93
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: maxDosePerLifetime}
                                index: 94
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Upper limit on medication per lifetime of the patient
                                choices: [valueQuantity]
                                index: 96
                              valueQuantity:
                                short: Upper limit on medication per lifetime of the patient
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 97
                            required: [url]
                        _datatype:
                          match: {url: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: DataType slice for a FHIR R4B `Dosage` value
                            _required: true
                            index: 10
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                                index: 11
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                pattern: {type: String, value: Dosage}
                                choices: [valueString]
                                index: 13
                              valueString:
                                type: string
                                pattern: {type: String, value: Dosage}
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 14
                            required: [url, valueString, value]
                        maxDosePerAdministration:
                          match: {url: maxDosePerAdministration}
                          schema:
                            short: 'R4B: maxDosePerAdministration'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 88
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: maxDosePerAdministration}
                                index: 89
                              value:
                                short: Upper limit on medication per administration
                                choices: [valueQuantity]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 91
                              valueQuantity:
                                short: Upper limit on medication per administration
                                type: Quantity
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 92
                            required: [url]
                        route:
                          match: {url: route}
                          schema:
                            short: 'R4B: route'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 51
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: route}
                                index: 52
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: How drug should enter body
                                choices: [valueCodeableConcept]
                                index: 54
                              valueCodeableConcept:
                                short: How drug should enter body
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 55
                            required: [url]
                        timing:
                          match: {url: timing}
                          schema:
                            short: 'R4B: timing additional types'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 35
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: timing}
                                index: 36
                              value:
                                short: When medication should be administered
                                choices: [valueTiming]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 38
                              valueTiming:
                                short: When medication should be administered
                                type: Timing
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 39
                            required: [url]
                        additionalInstruction:
                          match: {url: additionalInstruction}
                          schema:
                            short: 'R4B: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"'
                            array: true
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 25
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: additionalInstruction}
                                index: 26
                              value:
                                short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                                choices: [valueCodeableConcept]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 28
                              valueCodeableConcept:
                                short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                                type: CodeableConcept
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 29
                            required: [url]
                        sequence:
                          match: {url: sequence}
                          schema:
                            short: 'R4B: sequence'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 15
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: sequence}
                                index: 16
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: The order of the dosage instructions
                                choices: [valueInteger]
                                index: 18
                              valueInteger:
                                short: The order of the dosage instructions
                                type: integer
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 19
                            required: [url]
                        maxDosePerPeriod:
                          match: {url: maxDosePerPeriod}
                          schema:
                            short: 'R4B: maxDosePerPeriod additional types'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 83
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: maxDosePerPeriod}
                                index: 84
                              value:
                                short: Upper limit on medication per unit of time
                                choices: [valueRatio]
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                index: 86
                              valueRatio:
                                short: Upper limit on medication per unit of time
                                type: Ratio
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 87
                            required: [url]
                        doseAndRate:
                          match: {url: doseAndRate}
                          schema:
                            short: 'R4B: Amount of medication administered (new)'
                            array: true
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 61
                            extensions:
                              type:
                                url: type
                                short: 'R4B: The kind of dose or rate specified (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 63
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 64
                                  value:
                                    short: The kind of dose or rate specified
                                    choices: [valueCodeableConcept]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 66
                                  valueCodeableConcept:
                                    short: The kind of dose or rate specified
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 67
                                required: [url]
                              dose:
                                url: dose
                                short: 'R4B: dose'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 68
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: dose}
                                    index: 69
                                  value:
                                    short: Amount of medication per dose
                                    choices: [valueRange, valueQuantity]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 71
                                  valueRange:
                                    short: Amount of medication per dose
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 72
                                  valueQuantity:
                                    short: Amount of medication per dose
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 73
                                required: [url]
                              rate:
                                url: rate
                                short: 'R4B: rate additional types'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 74
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: rate}
                                    index: 75
                                  value:
                                    short: Amount of medication per unit of time
                                    choices: [valueRatio, valueRange]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 77
                                  valueRatio:
                                    short: Amount of medication per unit of time
                                    type: Ratio
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 78
                                  valueRange:
                                    short: Amount of medication per unit of time
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 79
                                required: [url]
                            elements:
                              extension:
                                base: {max: '*', min: 0, path: Extension.extension}
                                array: true
                                index: 62
                                slicing:
                                  rules: open
                                  ordered: false
                                  discriminator:
                                  - {path: url, type: value}
                                  min: 0
                                  slices:
                                    type:
                                      match: {url: type}
                                      schema:
                                        short: 'R4B: The kind of dose or rate specified (new)'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 63
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: type}
                                            index: 64
                                          value:
                                            short: The kind of dose or rate specified
                                            choices: [valueCodeableConcept]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 66
                                          valueCodeableConcept:
                                            short: The kind of dose or rate specified
                                            type: CodeableConcept
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 67
                                        required: [url]
                                    dose:
                                      match: {url: dose}
                                      schema:
                                        short: 'R4B: dose'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 68
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: dose}
                                            index: 69
                                          value:
                                            short: Amount of medication per dose
                                            choices: [valueRange, valueQuantity]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 71
                                          valueRange:
                                            short: Amount of medication per dose
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 72
                                          valueQuantity:
                                            short: Amount of medication per dose
                                            type: Quantity
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 73
                                        required: [url]
                                    rate:
                                      match: {url: rate}
                                      schema:
                                        short: 'R4B: rate additional types'
                                        base: {max: '*', min: 0, path: Extension.extension}
                                        index: 74
                                        elements:
                                          url:
                                            base: {max: '1', min: 1, path: Extension.url}
                                            pattern: {type: Uri, value: rate}
                                            index: 75
                                          value:
                                            short: Amount of medication per unit of time
                                            choices: [valueRatio, valueRange]
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            index: 77
                                          valueRatio:
                                            short: Amount of medication per unit of time
                                            type: Ratio
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 78
                                          valueRange:
                                            short: Amount of medication per unit of time
                                            type: Range
                                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                            choiceOf: value
                                            index: 79
                                        required: [url]
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: doseAndRate}
                                index: 80
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choices: []
                                index: 82
                            required: [url]
                        text:
                          match: {url: text}
                          schema:
                            short: 'R4B: text'
                            base: {max: '*', min: 0, path: Extension.extension}
                            index: 20
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: text}
                                index: 21
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Free text dosage instructions e.g. SIG
                                choices: [valueString]
                                index: 23
                              valueString:
                                short: Free text dosage instructions e.g. SIG
                                type: string
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                choiceOf: value
                                index: 24
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: dosage}
                    index: 98
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choices: []
                    index: 100
                _required: true
                extensions:
                  site:
                    url: site
                    short: 'R4B: site'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 46
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: site}
                        index: 47
                      value:
                        short: Body site to administer to
                        choices: [valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 49
                      valueCodeableConcept:
                        short: Body site to administer to
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 50
                    required: [url]
                  asNeeded:
                    url: asNeeded
                    short: 'R4B: asNeeded'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 40
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: asNeeded}
                        index: 41
                      value:
                        short: Take "as needed" (for x)
                        choices: [valueBoolean, valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 43
                      valueBoolean:
                        short: Take "as needed" (for x)
                        type: boolean
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 44
                      valueCodeableConcept:
                        short: Take "as needed" (for x)
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 45
                    required: [url]
                  method:
                    url: method
                    short: 'R4B: method'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 56
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: method}
                        index: 57
                      value:
                        short: Technique for administering medication
                        choices: [valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 59
                      valueCodeableConcept:
                        short: Technique for administering medication
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 60
                    required: [url]
                  patientInstruction:
                    url: patientInstruction
                    short: 'R4B: patientInstruction'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 30
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: patientInstruction}
                        index: 31
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Patient or consumer oriented instructions
                        choices: [valueString]
                        index: 33
                      valueString:
                        short: Patient or consumer oriented instructions
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 34
                    required: [url]
                  maxDosePerLifetime:
                    url: maxDosePerLifetime
                    short: 'R4B: maxDosePerLifetime'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 93
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: maxDosePerLifetime}
                        index: 94
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Upper limit on medication per lifetime of the patient
                        choices: [valueQuantity]
                        index: 96
                      valueQuantity:
                        short: Upper limit on medication per lifetime of the patient
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 97
                    required: [url]
                  _datatype:
                    url: http://hl7.org/fhir/StructureDefinition/_datatype
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: DataType slice for a FHIR R4B `Dosage` value
                    _required: true
                    index: 10
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/_datatype'}
                        index: 11
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        pattern: {type: String, value: Dosage}
                        choices: [valueString]
                        index: 13
                      valueString:
                        type: string
                        pattern: {type: String, value: Dosage}
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 14
                    required: [url, valueString, value]
                  maxDosePerAdministration:
                    url: maxDosePerAdministration
                    short: 'R4B: maxDosePerAdministration'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 88
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: maxDosePerAdministration}
                        index: 89
                      value:
                        short: Upper limit on medication per administration
                        choices: [valueQuantity]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 91
                      valueQuantity:
                        short: Upper limit on medication per administration
                        type: Quantity
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 92
                    required: [url]
                  route:
                    url: route
                    short: 'R4B: route'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 51
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: route}
                        index: 52
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: How drug should enter body
                        choices: [valueCodeableConcept]
                        index: 54
                      valueCodeableConcept:
                        short: How drug should enter body
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 55
                    required: [url]
                  timing:
                    url: timing
                    short: 'R4B: timing additional types'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 35
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: timing}
                        index: 36
                      value:
                        short: When medication should be administered
                        choices: [valueTiming]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 38
                      valueTiming:
                        short: When medication should be administered
                        type: Timing
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 39
                    required: [url]
                  additionalInstruction:
                    url: additionalInstruction
                    short: 'R4B: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"'
                    array: true
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 25
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: additionalInstruction}
                        index: 26
                      value:
                        short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                        choices: [valueCodeableConcept]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 28
                      valueCodeableConcept:
                        short: Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
                        type: CodeableConcept
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 29
                    required: [url]
                  sequence:
                    url: sequence
                    short: 'R4B: sequence'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 15
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: sequence}
                        index: 16
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: The order of the dosage instructions
                        choices: [valueInteger]
                        index: 18
                      valueInteger:
                        short: The order of the dosage instructions
                        type: integer
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 19
                    required: [url]
                  maxDosePerPeriod:
                    url: maxDosePerPeriod
                    short: 'R4B: maxDosePerPeriod additional types'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 83
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: maxDosePerPeriod}
                        index: 84
                      value:
                        short: Upper limit on medication per unit of time
                        choices: [valueRatio]
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        index: 86
                      valueRatio:
                        short: Upper limit on medication per unit of time
                        type: Ratio
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 87
                    required: [url]
                  doseAndRate:
                    url: doseAndRate
                    short: 'R4B: Amount of medication administered (new)'
                    array: true
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 61
                    extensions:
                      type:
                        url: type
                        short: 'R4B: The kind of dose or rate specified (new)'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 63
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: type}
                            index: 64
                          value:
                            short: The kind of dose or rate specified
                            choices: [valueCodeableConcept]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 66
                          valueCodeableConcept:
                            short: The kind of dose or rate specified
                            type: CodeableConcept
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 67
                        required: [url]
                      dose:
                        url: dose
                        short: 'R4B: dose'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 68
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: dose}
                            index: 69
                          value:
                            short: Amount of medication per dose
                            choices: [valueRange, valueQuantity]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 71
                          valueRange:
                            short: Amount of medication per dose
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 72
                          valueQuantity:
                            short: Amount of medication per dose
                            type: Quantity
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 73
                        required: [url]
                      rate:
                        url: rate
                        short: 'R4B: rate additional types'
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 74
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: rate}
                            index: 75
                          value:
                            short: Amount of medication per unit of time
                            choices: [valueRatio, valueRange]
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            index: 77
                          valueRatio:
                            short: Amount of medication per unit of time
                            type: Ratio
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 78
                          valueRange:
                            short: Amount of medication per unit of time
                            type: Range
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            choiceOf: value
                            index: 79
                        required: [url]
                    elements:
                      extension:
                        base: {max: '*', min: 0, path: Extension.extension}
                        array: true
                        index: 62
                        slicing:
                          rules: open
                          ordered: false
                          discriminator:
                          - {path: url, type: value}
                          min: 0
                          slices:
                            type:
                              match: {url: type}
                              schema:
                                short: 'R4B: The kind of dose or rate specified (new)'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 63
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: type}
                                    index: 64
                                  value:
                                    short: The kind of dose or rate specified
                                    choices: [valueCodeableConcept]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 66
                                  valueCodeableConcept:
                                    short: The kind of dose or rate specified
                                    type: CodeableConcept
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 67
                                required: [url]
                            dose:
                              match: {url: dose}
                              schema:
                                short: 'R4B: dose'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 68
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: dose}
                                    index: 69
                                  value:
                                    short: Amount of medication per dose
                                    choices: [valueRange, valueQuantity]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 71
                                  valueRange:
                                    short: Amount of medication per dose
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 72
                                  valueQuantity:
                                    short: Amount of medication per dose
                                    type: Quantity
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 73
                                required: [url]
                            rate:
                              match: {url: rate}
                              schema:
                                short: 'R4B: rate additional types'
                                base: {max: '*', min: 0, path: Extension.extension}
                                index: 74
                                elements:
                                  url:
                                    base: {max: '1', min: 1, path: Extension.url}
                                    pattern: {type: Uri, value: rate}
                                    index: 75
                                  value:
                                    short: Amount of medication per unit of time
                                    choices: [valueRatio, valueRange]
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    index: 77
                                  valueRatio:
                                    short: Amount of medication per unit of time
                                    type: Ratio
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 78
                                  valueRange:
                                    short: Amount of medication per unit of time
                                    type: Range
                                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                    choiceOf: value
                                    index: 79
                                required: [url]
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: doseAndRate}
                        index: 80
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choices: []
                        index: 82
                    required: [url]
                  text:
                    url: text
                    short: 'R4B: text'
                    base: {max: '*', min: 0, path: Extension.extension}
                    index: 20
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: text}
                        index: 21
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Free text dosage instructions e.g. SIG
                        choices: [valueString]
                        index: 23
                      valueString:
                        short: Free text dosage instructions e.g. SIG
                        type: string
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        choiceOf: value
                        index: 24
                    required: [url]
                base: {max: '*', min: 0, path: Extension.extension}
                required: [url, extension]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: dosage}
        index: 101
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 103
    required: [url]
  indication:
    url: indication
    short: 'R4B: Indication for use that apply to the specific administration guidelines (new)'
    base: {max: '*', min: 0, path: Extension.extension}
    index: 104
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: indication}
        index: 105
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Indication for use that apply to the specific administration guidelines
        choices: [valueCodeableConcept, valueReference, valueReference]
        index: 107
      valueCodeableConcept:
        short: Indication for use that apply to the specific administration guidelines
        type: CodeableConcept
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 108
      valueReference:
        short: Indication for use that apply to the specific administration guidelines
        refers: ['http://hl7.org/fhir/4.3/StructureDefinition/profile-ObservationDefinition|0.1.0']
        type: Reference
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choiceOf: value
        index: 109
    required: [url]
  patientCharacteristics:
    url: patientCharacteristics
    short: 'R4B: Characteristics of the patient that are relevant to the administration guidelines (new)'
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 111
    extensions:
      characteristic:
        url: characteristic
        short: 'R4B: Specific characteristic that is relevant to the administration guideline (new)'
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 113
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: characteristic}
            index: 114
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Specific characteristic that is relevant to the administration guideline
            choices: [valueCodeableConcept, valueQuantity]
            index: 116
          valueCodeableConcept:
            short: Specific characteristic that is relevant to the administration guideline
            type: CodeableConcept
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 117
          valueQuantity:
            short: Specific characteristic that is relevant to the administration guideline
            type: Quantity
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 118
        required: [url, value, valueCodeableConcept, valueQuantity]
      value:
        url: value
        short: 'R4B: The specific characteristic (new)'
        array: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 119
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: value}
            index: 120
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: The specific characteristic
            choices: [valueString]
            index: 122
          valueString:
            short: The specific characteristic
            type: string
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            choiceOf: value
            index: 123
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 112
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            characteristic:
              match: {url: characteristic}
              schema:
                short: 'R4B: Specific characteristic that is relevant to the administration guideline (new)'
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 113
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: characteristic}
                    index: 114
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Specific characteristic that is relevant to the administration guideline
                    choices: [valueCodeableConcept, valueQuantity]
                    index: 116
                  valueCodeableConcept:
                    short: Specific characteristic that is relevant to the administration guideline
                    type: CodeableConcept
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 117
                  valueQuantity:
                    short: Specific characteristic that is relevant to the administration guideline
                    type: Quantity
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 118
                required: [url, value, valueCodeableConcept, valueQuantity]
            value:
              match: {url: value}
              schema:
                short: 'R4B: The specific characteristic (new)'
                array: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 119
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: value}
                    index: 120
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: The specific characteristic
                    choices: [valueString]
                    index: 122
                  valueString:
                    short: The specific characteristic
                    type: string
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    choiceOf: value
                    index: 123
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: patientCharacteristics}
        index: 124
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        choices: []
        index: 126
    required: [url, extension]
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.3/StructureDefinition/extension-MedicationKnowledge.administrationGuidelines
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 0.1.0
required: [url]