PackagesCanonicalsLogsProblems
    Packages
    de.medizininformatikinitiative.kerndatensatz.medikation@2.0.0
    https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/MedicationStatement
description: Das MedicationStatement kann anzeigen, dass der Patient ein Medikament zur Zeit einnimmt, in der Vergangenheit genommen hat oder in Zukunft einnehmen wird. Dabei kann es sich sowohl um verschreibungspflichtige Medikamente handeln, wie auch um OTC-Präparate, welche ein Patient in Eigenverantwortung einnimmt.
package_name: de.medizininformatikinitiative.kerndatensatz.medikation
derivation: constraint
name: MII_PR_Medikation_MedicationStatement
type: MedicationStatement
elements:
  category:
    mustSupport: true
    index: 8
    elements:
      coding:
        index: 9
        slicing:
          rules: open
          discriminator:
          - {path: $this, type: pattern}
          min: null
          slices:
            usageCategory:
              match: {system: 'http://terminology.hl7.org/CodeSystem/medication-statement-category'}
              schema:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/medication-statement-category'}
                pattern:
                  type: Coding
                  value: {system: 'http://terminology.hl7.org/CodeSystem/medication-statement-category'}
                array: true
                index: 10
              min: 0
            contextCode:
              match: {system: 'http://ihe-d.de/CodeSystems/FallkontextBeiDokumentenerstellung'}
              schema:
                binding: {strength: required, valueSet: 'https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/ValueSet/fallkontext'}
                pattern:
                  type: Coding
                  value: {system: 'http://ihe-d.de/CodeSystems/FallkontextBeiDokumentenerstellung'}
                index: 11
              min: 0
              max: 1
  meta:
    mustSupport: true
    index: 1
    elements:
      source: {mustSupport: true, index: 2}
      profile: {mustSupport: true, index: 3}
  dosage:
    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/MedicationStatement', severity: error, expression: text.exists() or doseAndRate.exists()}
    mustSupport: true
    index: 46
    elements:
      site:
        mustSupport: true
        index: 101
        elements:
          coding:
            mustSupport: true
            index: 102
            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: 103
                    elements:
                      system: {mustSupport: true, index: 104}
                      code: {mustSupport: true, index: 105}
                    required: [system, code]
      asNeeded:
        mustSupport: true
        choices: [asNeededCodeableConcept]
        index: 99
        slicing:
          slices:
            asNeededCodeableConcept:
              match: {}
              schema:
                mustSupport: true
                choices: [asNeededCodeableConcept]
                index: 99
              min: 0
              max: 1
      maxDosePerAdministration:
        mustSupport: true
        pattern:
          type: Quantity
          value: {system: 'http://unitsofmeasure.org'}
        index: 183
        elements:
          value: {mustSupport: true, index: 184}
          unit: {mustSupport: true, index: 185}
          system: {mustSupport: true, index: 186}
          code: {mustSupport: true, index: 187}
        required: [value, system, code]
      route:
        mustSupport: true
        index: 106
        elements:
          coding:
            mustSupport: true
            index: 107
            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: 108
                    elements:
                      system: {mustSupport: true, index: 109}
                      code: {mustSupport: true, index: 110}
                    required: [system, code]
                SNOMED:
                  match: {system: 'http://snomed.info/sct'}
                  schema:
                    mustSupport: true
                    pattern:
                      type: Coding
                      value: {system: 'http://snomed.info/sct'}
                    index: 111
                    elements:
                      system: {mustSupport: true, index: 112}
                      code: {mustSupport: true, index: 113}
                    required: [system, code]
      asNeededBoolean:
        type: boolean
        mustSupport: true
        choiceOf: asNeeded
        index: 97
        slicing:
          slices:
            asNeededBoolean:
              match: {}
              schema: {type: boolean, mustSupport: true, choiceOf: asNeeded, index: 97}
              min: 0
              max: 1
      timing:
        mustSupport: true
        index: 49
        elements:
          event: {mustSupport: true, index: 50}
          repeat:
            mustSupport: true
            index: 51
            elements:
              boundsRange:
                type: Range
                mustSupport: true
                choiceOf: bounds
                index: 63
                slicing:
                  slices:
                    boundsRange:
                      match: {}
                      schema: {type: Range, mustSupport: true, choiceOf: bounds, index: 63}
                      min: 0
                      max: 1
              frequencyMax: {mustSupport: true, index: 85}
              boundsPeriod:
                type: Period
                mustSupport: true
                choiceOf: bounds
                index: 76
                slicing:
                  slices:
                    boundsPeriod:
                      match: {}
                      schema: {type: Period, mustSupport: true, choiceOf: bounds, index: 76}
                      min: 0
                      max: 1
              when: {mustSupport: true, index: 91}
              offset: {mustSupport: true, index: 92}
              periodUnit: {mustSupport: true, index: 88}
              frequency: {mustSupport: true, index: 84}
              durationMax: {mustSupport: true, index: 82}
              duration: {mustSupport: true, index: 81}
              bounds:
                mustSupport: true
                choices: [boundsPeriod]
                index: 75
                slicing:
                  slices:
                    boundsPeriod:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [boundsPeriod]
                        index: 75
                      min: 0
                      max: 1
              boundsDuration:
                type: Duration
                mustSupport: true
                pattern:
                  type: Duration
                  value: {system: 'http://unitsofmeasure.org'}
                choiceOf: bounds
                index: 56
                slicing:
                  slices:
                    boundsDuration:
                      match: {}
                      schema:
                        type: Duration
                        mustSupport: true
                        pattern:
                          type: Duration
                          value: {system: 'http://unitsofmeasure.org'}
                        choiceOf: bounds
                        index: 56
                      min: 0
                      max: 1
              durationUnit: {mustSupport: true, index: 83}
              dayOfWeek: {mustSupport: true, index: 89}
              count: {mustSupport: true, index: 79}
              bounds[x]:
                elements:
                  start: {mustSupport: true, index: 77}
                  end: {mustSupport: true, index: 78}
              periodMax: {mustSupport: true, index: 87}
              period: {mustSupport: true, index: 86}
              countMax: {mustSupport: true, index: 80}
              timeOfDay: {mustSupport: true, index: 90}
      sequence: {mustSupport: true, index: 47}
      maxDosePerPeriod:
        mustSupport: true
        index: 172
        elements:
          numerator:
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            index: 173
            elements:
              value: {mustSupport: true, index: 174}
              unit: {mustSupport: true, index: 175}
              system: {mustSupport: true, index: 176}
              code: {mustSupport: true, index: 177}
            required: [value, system, code]
          denominator:
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            index: 178
            elements:
              value: {mustSupport: true, index: 179}
              unit: {mustSupport: true, index: 180}
              system: {mustSupport: true, index: 181}
              code: {mustSupport: true, index: 182}
            required: [value, system, code]
      doseAndRate:
        mustSupport: true
        index: 114
        elements:
          dose[x]:
            elements:
              value: {mustSupport: true, index: 133}
              unit: {mustSupport: true, index: 134}
              system: {mustSupport: true, index: 135}
              code: {mustSupport: true, index: 136}
            required: [value, system, code]
          rate[x]:
            elements:
              value: {mustSupport: true, index: 168}
              unit: {mustSupport: true, index: 169}
              system: {mustSupport: true, index: 170}
              code: {mustSupport: true, index: 171}
            required: [value, system, code]
          doseRange:
            type: Range
            mustSupport: true
            choiceOf: dose
            index: 119
            slicing:
              slices:
                doseRange:
                  match: {}
                  schema: {type: Range, mustSupport: true, choiceOf: dose, index: 119}
                  min: 0
                  max: 1
          rateRange:
            type: Range
            mustSupport: true
            choiceOf: rate
            index: 154
            slicing:
              slices:
                rateRange:
                  match: {}
                  schema: {type: Range, mustSupport: true, choiceOf: rate, index: 154}
                  min: 0
                  max: 1
          doseQuantity:
            type: Quantity
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            choiceOf: dose
            index: 132
            slicing:
              slices:
                doseQuantity:
                  match: {}
                  schema:
                    type: Quantity
                    mustSupport: true
                    pattern:
                      type: Quantity
                      value: {system: 'http://unitsofmeasure.org'}
                    choiceOf: dose
                    index: 132
                  min: 0
                  max: 1
          dose:
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            choices: [doseQuantity]
            index: 131
            slicing:
              slices:
                doseQuantity:
                  match: {}
                  schema:
                    mustSupport: true
                    pattern:
                      type: Quantity
                      value: {system: 'http://unitsofmeasure.org'}
                    choices: [doseQuantity]
                    index: 131
                  min: 0
                  max: 1
          rate:
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            choices: [rateQuantity]
            index: 166
            slicing:
              slices:
                rateQuantity:
                  match: {}
                  schema:
                    mustSupport: true
                    pattern:
                      type: Quantity
                      value: {system: 'http://unitsofmeasure.org'}
                    choices: [rateQuantity]
                    index: 166
                  min: 0
                  max: 1
          rateRatio:
            type: Ratio
            mustSupport: true
            choiceOf: rate
            index: 141
            slicing:
              slices:
                rateRatio:
                  match: {}
                  schema: {type: Ratio, mustSupport: true, choiceOf: rate, index: 141}
                  min: 0
                  max: 1
          rateQuantity:
            type: Quantity
            mustSupport: true
            pattern:
              type: Quantity
              value: {system: 'http://unitsofmeasure.org'}
            choiceOf: rate
            index: 167
            slicing:
              slices:
                rateQuantity:
                  match: {}
                  schema:
                    type: Quantity
                    mustSupport: true
                    pattern:
                      type: Quantity
                      value: {system: 'http://unitsofmeasure.org'}
                    choiceOf: rate
                    index: 167
                  min: 0
                  max: 1
      asNeededCodeableConcept:
        type: CodeableConcept
        mustSupport: true
        choiceOf: asNeeded
        index: 100
        slicing:
          slices:
            asNeededCodeableConcept:
              match: {}
              schema: {type: CodeableConcept, mustSupport: true, choiceOf: asNeeded, index: 100}
              min: 0
              max: 1
      text: {mustSupport: true, index: 48}
  medication[x]:
    elements:
      coding:
        mustSupport: true
        index: 20
        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: 21
                elements:
                  system: {mustSupport: true, index: 22}
                  code: {mustSupport: true, index: 23}
                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: 24
                elements:
                  system: {mustSupport: true, index: 25}
                  code: {mustSupport: true, index: 26}
                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: 27
                elements:
                  system: {mustSupport: true, index: 28}
                  code: {mustSupport: true, index: 29}
                required: [system, code]
      text: {mustSupport: true, index: 30}
  reasonCode: {mustSupport: true, index: 43}
  medicationCodeableConcept:
    type: CodeableConcept
    mustSupport: true
    choiceOf: medication
    index: 19
    slicing:
      slices:
        medicationCodeableConcept:
          match: {}
          schema: {type: CodeableConcept, mustSupport: true, choiceOf: medication, index: 19}
          min: 0
          max: 1
  note: {mustSupport: true, index: 45}
  effectiveDateTime:
    type: dateTime
    mustSupport: true
    choiceOf: effective
    index: 37
    slicing:
      slices:
        effectiveDateTime:
          match: {}
          schema: {type: dateTime, mustSupport: true, choiceOf: effective, index: 37}
          min: 0
          max: 1
  status: {mustSupport: true, index: 7}
  effective:
    mustSupport: true
    choices: [effectivePeriod]
    index: 39
    slicing:
      slices:
        effectivePeriod:
          match: {}
          schema:
            mustSupport: true
            choices: [effectivePeriod]
            index: 39
          min: 0
          max: 1
  id: {mustSupport: true, index: 0}
  identifier: {mustSupport: true, index: 4}
  context: {mustSupport: true, index: 32}
  dateAsserted: {mustSupport: true, index: 41}
  basedOn: {mustSupport: true, index: 5}
  medicationReference:
    refers: ['http://hl7.org/fhir/StructureDefinition/Medication']
    type: Reference
    mustSupport: true
    choiceOf: medication
    index: 16
    slicing:
      slices:
        medicationReference:
          match: {}
          schema:
            refers: ['http://hl7.org/fhir/StructureDefinition/Medication']
            type: Reference
            mustSupport: true
            choiceOf: medication
            index: 16
          min: 0
          max: 1
  partOf: {mustSupport: true, index: 6}
  informationSource: {mustSupport: true, index: 42}
  subject:
    type: Reference
    mustSupport: true
    refers: ['http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/Patient']
    index: 31
  effectivePeriod:
    type: Period
    mustSupport: true
    choiceOf: effective
    index: 40
    slicing:
      slices:
        effectivePeriod:
          match: {}
          schema: {type: Period, mustSupport: true, choiceOf: effective, index: 40}
          min: 0
          max: 1
  medication:
    mustSupport: true
    choices: [medicationCodeableConcept]
    index: 18
    slicing:
      slices:
        medicationCodeableConcept:
          match: {}
          schema:
            mustSupport: true
            choices: [medicationCodeableConcept]
            index: 18
          min: 0
          max: 1
  reasonReference: {mustSupport: true, index: 44}
package_version: 2.0.0
class: profile
kind: resource
url: https://www.medizininformatik-initiative.de/fhir/core/modul-medikation/StructureDefinition/MedicationStatement
base: http://hl7.org/fhir/StructureDefinition/MedicationStatement
version: 2.0.0
required: [effective]