PackagesCanonicalsLogsProblems
    Packages
    de.medizininformatikinitiative.kerndatensatz.medikation@2.0.0
    https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/MedicationRequest
description: Dieses Profil beschreibt die Verordnung einer Medikation.
package_name: de.medizininformatikinitiative.kerndatensatz.medikation
derivation: constraint
name: MII_PR_Medikation_MedicationRequest
type: MedicationRequest
elements:
  meta:
    mustSupport: true
    index: 1
    elements:
      source: {mustSupport: true, index: 2}
      profile: {mustSupport: true, index: 3}
  substitution:
    mustSupport: true
    index: 174
    elements:
      allowed:
        mustSupport: true
        choices: [allowedCodeableConcept]
        index: 181
        slicing:
          slices:
            allowedCodeableConcept:
              match: {}
              schema:
                mustSupport: true
                choices: [allowedCodeableConcept]
                index: 181
              min: 0
              max: 1
      allowedBoolean:
        type: boolean
        mustSupport: true
        choiceOf: allowed
        index: 179
        slicing:
          slices:
            allowedBoolean:
              match: {}
              schema: {type: boolean, mustSupport: true, choiceOf: allowed, index: 179}
              min: 0
              max: 1
      allowedCodeableConcept:
        type: CodeableConcept
        mustSupport: true
        choiceOf: allowed
        index: 182
        slicing:
          slices:
            allowedCodeableConcept:
              match: {}
              schema: {type: CodeableConcept, mustSupport: true, choiceOf: allowed, index: 182}
              min: 0
              max: 1
  detectedIssue: {mustSupport: true, index: 184}
  encounter: {mustSupport: true, index: 28}
  medication[x]:
    elements:
      coding:
        mustSupport: true
        index: 16
        slicing:
          rules: open
          discriminator:
          - {path: $this, type: pattern}
          min: null
          slices:
            Pharmazentralnummer:
              match: {system: 'http://fhir.de/CodeSystem/ifa/pzn'}
              schema:
                mustSupport: true
                pattern:
                  type: Coding
                  value: {system: 'http://fhir.de/CodeSystem/ifa/pzn'}
                array: true
                index: 17
                elements:
                  system: {mustSupport: true, index: 18}
                  code: {mustSupport: true, index: 19}
                required: [system, code]
            atcClassDe:
              match: {system: 'http://fhir.de/CodeSystem/bfarm/atc'}
              schema:
                short: ATC Klassifikation deutsche Version
                mustSupport: true
                array: true
                binding: {strength: required, valueSet: 'http://fhir.de/ValueSet/bfarm/atc'}
                pattern:
                  type: Coding
                  value: {system: 'http://fhir.de/CodeSystem/bfarm/atc'}
                index: 20
                elements:
                  system: {mustSupport: true, index: 21}
                  code: {mustSupport: true, index: 22}
                required: [system, code]
            atcClassEn:
              match: {system: 'http://www.whocc.no/atc'}
              schema:
                short: Anatomical Therapeutic Chemical Classification System
                mustSupport: true
                array: true
                pattern:
                  type: Coding
                  value: {system: 'http://www.whocc.no/atc'}
                index: 23
                elements:
                  system: {mustSupport: true, index: 24}
                  code: {mustSupport: true, index: 25}
                required: [system, code]
      text: {mustSupport: true, index: 26}
  reasonCode: {mustSupport: true, index: 32}
  medicationCodeableConcept:
    type: CodeableConcept
    mustSupport: true
    choiceOf: medication
    index: 15
    slicing:
      slices:
        medicationCodeableConcept:
          match: {}
          schema: {type: CodeableConcept, mustSupport: true, choiceOf: medication, index: 15}
          min: 0
          max: 1
  authoredOn: {mustSupport: true, index: 29}
  note: {mustSupport: true, index: 35}
  requester: {mustSupport: true, index: 30}
  status: {mustSupport: true, index: 5}
  id: {mustSupport: true, index: 0}
  dosageInstruction:
    constraint:
      dsg-1: {human: 'If present, dosage must include free text or structured data', source: 'https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/MedicationRequest', severity: error, expression: text.exists() or doseAndRate.exists()}
    mustSupport: true
    index: 36
    elements:
      site:
        mustSupport: true
        index: 91
        elements:
          coding:
            mustSupport: true
            index: 92
            slicing:
              rules: open
              discriminator:
              - {path: $this, type: pattern}
              min: null
              slices:
                SNOMED:
                  match: {system: 'http://snomed.info/sct'}
                  schema:
                    binding: {strength: example, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/target-site-uv-ips'}
                    mustSupport: true
                    pattern:
                      type: Coding
                      value: {system: 'http://snomed.info/sct'}
                    array: true
                    index: 93
                    elements:
                      system: {mustSupport: true, index: 94}
                      code: {mustSupport: true, index: 95}
                    required: [system, code]
      asNeeded:
        mustSupport: true
        choices: [asNeededCodeableConcept]
        index: 89
        slicing:
          slices:
            asNeededCodeableConcept:
              match: {}
              schema:
                mustSupport: true
                choices: [asNeededCodeableConcept]
                index: 89
              min: 0
              max: 1
      maxDosePerAdministration:
        mustSupport: true
        pattern:
          type: Quantity
          value: {system: 'http://unitsofmeasure.org'}
        index: 169
        elements:
          value: {mustSupport: true, index: 170}
          unit: {mustSupport: true, index: 171}
          system: {mustSupport: true, index: 172}
          code: {mustSupport: true, index: 173}
        required: [value, system, code]
      route:
        mustSupport: true
        index: 96
        elements:
          coding:
            mustSupport: true
            index: 97
            slicing:
              rules: open
              discriminator:
              - {path: $this, type: pattern}
              min: null
              slices:
                EDQM:
                  match: {system: 'http://standardterms.edqm.eu'}
                  schema:
                    binding: {strength: preferred, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/medicine-route-of-administration'}
                    mustSupport: true
                    pattern:
                      type: Coding
                      value: {system: 'http://standardterms.edqm.eu'}
                    index: 98
                    elements:
                      system: {mustSupport: true, index: 99}
                      code: {mustSupport: true, index: 100}
                    required: [system, code]
                SNOMED:
                  match: {system: 'http://snomed.info/sct'}
                  schema:
                    mustSupport: true
                    pattern:
                      type: Coding
                      value: {system: 'http://snomed.info/sct'}
                    index: 101
                    elements:
                      system: {mustSupport: true, index: 102}
                      code: {mustSupport: true, index: 103}
                    required: [system, code]
      asNeededBoolean:
        type: boolean
        mustSupport: true
        choiceOf: asNeeded
        index: 87
        slicing:
          slices:
            asNeededBoolean:
              match: {}
              schema: {type: boolean, mustSupport: true, choiceOf: asNeeded, index: 87}
              min: 0
              max: 1
      timing:
        mustSupport: true
        index: 39
        elements:
          event: {mustSupport: true, index: 40}
          repeat:
            mustSupport: true
            index: 41
            elements:
              boundsRange:
                type: Range
                mustSupport: true
                choiceOf: bounds
                index: 53
                slicing:
                  slices:
                    boundsRange:
                      match: {}
                      schema: {type: Range, mustSupport: true, choiceOf: bounds, index: 53}
                      min: 0
                      max: 1
              frequencyMax: {mustSupport: true, index: 75}
              boundsPeriod:
                type: Period
                mustSupport: true
                choiceOf: bounds
                index: 66
                slicing:
                  slices:
                    boundsPeriod:
                      match: {}
                      schema: {type: Period, mustSupport: true, choiceOf: bounds, index: 66}
                      min: 0
                      max: 1
              when: {mustSupport: true, index: 81}
              offset: {mustSupport: true, index: 82}
              periodUnit: {mustSupport: true, index: 78}
              frequency: {mustSupport: true, index: 74}
              durationMax: {mustSupport: true, index: 72}
              duration: {mustSupport: true, index: 71}
              bounds:
                mustSupport: true
                choices: [boundsPeriod]
                index: 65
                slicing:
                  slices:
                    boundsPeriod:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [boundsPeriod]
                        index: 65
                      min: 0
                      max: 1
              boundsDuration:
                type: Duration
                mustSupport: true
                pattern:
                  type: Duration
                  value: {system: 'http://unitsofmeasure.org'}
                choiceOf: bounds
                index: 46
                slicing:
                  slices:
                    boundsDuration:
                      match: {}
                      schema:
                        type: Duration
                        mustSupport: true
                        pattern:
                          type: Duration
                          value: {system: 'http://unitsofmeasure.org'}
                        choiceOf: bounds
                        index: 46
                      min: 0
                      max: 1
              durationUnit: {mustSupport: true, index: 73}
              dayOfWeek: {mustSupport: true, index: 79}
              count: {mustSupport: true, index: 69}
              bounds[x]:
                elements:
                  start: {mustSupport: true, index: 67}
                  end: {mustSupport: true, index: 68}
              periodMax: {mustSupport: true, index: 77}
              period: {mustSupport: true, index: 76}
              countMax: {mustSupport: true, index: 70}
              timeOfDay: {mustSupport: true, index: 80}
      sequence: {mustSupport: true, index: 37}
      maxDosePerPeriod:
        mustSupport: true
        index: 158
        elements:
          numerator:
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            index: 159
            elements:
              value: {mustSupport: true, index: 160}
              unit: {mustSupport: true, index: 161}
              system: {mustSupport: true, index: 162}
              code: {mustSupport: true, index: 163}
            required: [value, system, code]
          denominator:
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            index: 164
            elements:
              value: {mustSupport: true, index: 165}
              unit: {mustSupport: true, index: 166}
              system: {mustSupport: true, index: 167}
              code: {mustSupport: true, index: 168}
            required: [value, system, code]
      doseAndRate:
        mustSupport: true
        index: 104
        elements:
          dose[x]:
            elements:
              low:
                mustSupport: true
                pattern:
                  type: Quantity
                  value: {system: 'http://unitsofmeasure.org'}
                index: 110
                elements:
                  value: {mustSupport: true, index: 111}
                  unit: {mustSupport: true, index: 112}
                  system: {mustSupport: true, index: 113}
                  code: {mustSupport: true, index: 114}
                required: [value, system, code]
              high:
                mustSupport: true
                pattern:
                  type: Quantity
                  value: {system: 'http://unitsofmeasure.org'}
                index: 115
                elements:
                  value: {mustSupport: true, index: 116}
                  unit: {mustSupport: true, index: 117}
                  system: {mustSupport: true, index: 118}
                  code: {mustSupport: true, index: 119}
                required: [value, system, code]
          rate[x]:
            elements:
              value: {mustSupport: true, index: 154}
              unit: {mustSupport: true, index: 155}
              system: {mustSupport: true, index: 156}
              code: {mustSupport: true, index: 157}
            required: [value, system, code]
          doseRange:
            type: Range
            mustSupport: true
            choiceOf: dose
            index: 109
            slicing:
              slices:
                doseRange:
                  match: {}
                  schema: {type: Range, mustSupport: true, choiceOf: dose, index: 109}
                  min: 0
                  max: 1
          rateRange:
            type: Range
            mustSupport: true
            choiceOf: rate
            index: 140
            slicing:
              slices:
                rateRange:
                  match: {}
                  schema: {type: Range, mustSupport: true, choiceOf: rate, index: 140}
                  min: 0
                  max: 1
          doseQuantity:
            type: Quantity
            mustSupport: true
            choiceOf: dose
            index: 122
            slicing:
              slices:
                doseQuantity:
                  match: {}
                  schema: {type: Quantity, mustSupport: true, choiceOf: dose, index: 122}
                  min: 0
                  max: 1
          dose:
            mustSupport: true
            choices: [doseQuantity]
            index: 121
            slicing:
              slices:
                doseQuantity:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: [doseQuantity]
                    index: 121
                  min: 0
                  max: 1
          rate:
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            choices: [rateQuantity]
            index: 152
            slicing:
              slices:
                rateQuantity:
                  match: {}
                  schema:
                    mustSupport: true
                    pattern:
                      type: Quantity
                      value: {system: 'http://unitsofmeasure.org'}
                    choices: [rateQuantity]
                    index: 152
                  min: 0
                  max: 1
          rateRatio:
            type: Ratio
            mustSupport: true
            choiceOf: rate
            index: 127
            slicing:
              slices:
                rateRatio:
                  match: {}
                  schema: {type: Ratio, mustSupport: true, choiceOf: rate, index: 127}
                  min: 0
                  max: 1
          rateQuantity:
            type: Quantity
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            choiceOf: rate
            index: 153
            slicing:
              slices:
                rateQuantity:
                  match: {}
                  schema:
                    type: Quantity
                    mustSupport: true
                    pattern:
                      type: Quantity
                      value: {system: 'http://unitsofmeasure.org'}
                    choiceOf: rate
                    index: 153
                  min: 0
                  max: 1
      asNeededCodeableConcept:
        type: CodeableConcept
        mustSupport: true
        choiceOf: asNeeded
        index: 90
        slicing:
          slices:
            asNeededCodeableConcept:
              match: {}
              schema: {type: CodeableConcept, mustSupport: true, choiceOf: asNeeded, index: 90}
              min: 0
              max: 1
      text: {mustSupport: true, index: 38}
  recorder: {mustSupport: true, index: 31}
  identifier: {mustSupport: true, index: 4}
  doNotPerform: {index: 7}
  intent: {mustSupport: true, index: 6}
  basedOn: {mustSupport: true, index: 34}
  priorPrescription: {mustSupport: true, index: 183}
  medicationReference:
    refers: ['http://hl7.org/fhir/StructureDefinition/Medication']
    type: Reference
    mustSupport: true
    choiceOf: medication
    index: 12
    slicing:
      slices:
        medicationReference:
          match: {}
          schema:
            refers: ['http://hl7.org/fhir/StructureDefinition/Medication']
            type: Reference
            mustSupport: true
            choiceOf: medication
            index: 12
          min: 0
          max: 1
  subject:
    type: Reference
    mustSupport: true
    refers: ['http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/Patient']
    index: 27
  medication:
    mustSupport: true
    choices: [medicationCodeableConcept]
    index: 14
    slicing:
      slices:
        medicationCodeableConcept:
          match: {}
          schema:
            mustSupport: true
            choices: [medicationCodeableConcept]
            index: 14
          min: 0
          max: 1
  reasonReference: {mustSupport: true, index: 33}
package_version: 2.0.0
class: profile
kind: resource
url: https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/MedicationRequest
base: http://hl7.org/fhir/StructureDefinition/MedicationRequest
version: 2.0.0