PackagesCanonicalsLogsProblems
    Packages
    de.gematik.isik@6.0.0-rc1
    https://gematik.de/fhir/isik/StructureDefinition/ISiKMedikationsInformation
description: 'Dieses Profil ermöglicht die Abbildung von Informationen zur Medikation eines Patienten in ISiK Szenarien.\n\nHinweis zur Auswahl des Profils: \nIn Abgrenzung zu ISiKMedikationsVerabreichung (MedicationAdministration) wird mittels des vorliegenden Profils die Verabreichung eines Medikaments an einen Patienten mit einer lediglich Datums-genauen Angabe abgebildet (einschließlich Granularität Jahr, Monat oder Tag für .effectiveDateTime oder .effectivePeriod auf Datums-Ebene gemäß der [FHIR-Core Vorgabe](https://hl7.org/fhir/R4/datatypes.html#dateTime)).\nZur sekunden-genauen Angabe der Verabreichung eines Medikaments (im Sinne einer medizinischen Verabreichungsdokumentation durch medizinisches Personal) an einen Patienten SOLL das Profil ISiKMedikationsVerabreichung (MedicationAdministration) verwendet werden. Siehe entsprechende Profilseite für weitere Begründung.\n\n**Hinweis zur Pausierung einer Medikation (Best-Practice):**\n\nFür die Abbildung der Pausierung einer Medikation wird empfohlen, **mehrere `MedicationStatement`-Ressourcen** zu verwenden, anstatt eine bestehende zu überschreiben. Dies bringt folgende Vorteile:\n\n- **Korrekte Statusabbildung:**  \n  Das `status`-Feld muss stets aktuell gepflegt werden, um den momentanen Zustand der Medikation systemweit sichtbar und durchsuchbar zu halten.\n\n- **Effiziente Abfragen über REST API:**  \n  In Kombination mit `effective[x]` ermöglicht das `status`-Feld die gezielte Abfrage aller aktuell gültigen Medikationseinträge über die REST API.  \n  Wird stattdessen nur das `dosage`-Element verändert, ist keine zuverlässige Filterung möglich – alle `MedicationStatements` müssten abgerufen und manuell analysiert werden.\n\n- **Erhalt von Verlaufsinformationen:**  \n  Wenn z.B. auch ein `statusReason` (z.B. „pausiert wegen Nebenwirkungen“) dokumentiert wird, ginge diese Information bei einem Update der bestehenden Ressource verloren, sobald die Medikation fortgesetzt wird.  \n  Durch neue `MedicationStatement`-Einträge bleibt die Verlaufshistorie erhalten.  \n  *(Dieser Anwendungsfall ist aktuell nicht gefordert, aber zukünftig denkbar.)*\n'
package_name: de.gematik.isik
derivation: constraint
name: ISiKMedikationsInformation
type: MedicationStatement
elements:
  meta:
    elements:
      versionId: {short: Eindeutiger Name der serverseitigen Version des Datensatzes, index: 1}
      lastUpdated: {short: Zeitpunkt der letzten Änderung, index: 2}
  dosage:
    type: Dosage
    short: Dosierungsangaben
    constraint:
      isik-dosage-as-needed-for: {human: 'Wenn Indikationen für eine Bedarfsmedikation angegeben sind, MUSS asNeededBoolean vorhanden und true sein.', source: 'https://gematik.de/fhir/isik/StructureDefinition/ISiKMedikationsInformation', severity: error, expression: 'extension(''http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor'').empty() or asNeededBoolean = true'}
    mustSupport: true
    index: 59
    extensions:
      asNeededFor: {url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor', min: 0, type: Extension, mustSupport: true, index: 68}
    elements:
      site:
        short: Körperstelle der Verabreichung
        mustSupport: true
        index: 114
        elements:
          coding:
            mustSupport: true
            index: 115
            slicing:
              rules: open
              discriminator:
              - {path: $this, type: pattern}
              min: null
              slices:
                SNOMED-CT:
                  match: {system: 'http://snomed.info/sct'}
                  schema:
                    type: Coding
                    mustSupport: true
                    pattern:
                      type: Coding
                      value: {system: 'http://snomed.info/sct'}
                    index: 116
                  min: 0
                  max: 1
          text: {mustSupport: true, index: 117}
      asNeeded:
        short: Bedarfsmedikation (ja/nein)
        mustSupport: true
        choices: [asNeededBoolean]
        index: 112
      patientInstruction: {short: besondere Anweisungen für den Patienten, mustSupport: true, index: 70}
      maxDosePerAdministration: {type: Quantity, short: Maximaldosis pro Verabreichung, mustSupport: true, index: 153}
      route:
        short: Route
        mustSupport: true
        index: 118
        elements:
          coding:
            mustSupport: true
            index: 119
            slicing:
              rules: open
              discriminator:
              - {path: $this, type: pattern}
              min: null
              slices:
                EDQM:
                  match: {system: 'http://standardterms.edqm.eu'}
                  schema:
                    type: Coding
                    mustSupport: true
                    binding: {strength: required, valueSet: 'http://hl7.org/fhir/uv/ips/ValueSet/medicine-route-of-administration'}
                    pattern:
                      type: Coding
                      value: {system: 'http://standardterms.edqm.eu'}
                    index: 120
                  min: 0
                  max: 1
                SNOMED-CT:
                  match: {system: 'http://snomed.info/sct'}
                  schema:
                    type: Coding
                    mustSupport: true
                    binding: {strength: required, valueSet: 'https://gematik.de/fhir/isik/ValueSet/SctRouteOfAdministration'}
                    pattern:
                      type: Coding
                      value: {system: 'http://snomed.info/sct'}
                    index: 121
                  min: 0
                  max: 1
          text: {mustSupport: true, index: 122}
      asNeededBoolean: {type: boolean, short: Bedarfsmedikation (ja/nein), mustSupport: true, choiceOf: asNeeded, index: 113}
      extension:
        short: Indikation für die Bedarfsmedikation
        index: 60
        extensions: {}
        elements:
          extension: {index: 61}
          value:
            choices: []
            index: 63
            slicing:
              rules: open
              ordered: false
              discriminator:
              - {path: $this, type: type}
              min: null
              slices:
                valueCodeableConcept:
                  match: {}
                  schema:
                    choices: [valueCodeableConcept]
                    index: 65
                  min: 0
                  max: 1
          valueCodeableConcept:
            type: CodeableConcept
            choiceOf: value
            index: 66
            slicing:
              slices:
                valueCodeableConcept:
                  match: {}
                  schema: {type: CodeableConcept, choiceOf: value, index: 66}
                  min: 0
                  max: 1
          value[x]:
            elements:
              text: {short: Indikation für die Bedarfsmedikation (Freitext), mustSupport: true, index: 67}
        slicing:
          slices:
            asNeededFor:
              match: {}
              schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor', index: 68}
              min: 0
      timing:
        elements:
          event: {short: fester Zeitpunkt, mustSupport: true, index: 71}
          repeat:
            short: Wiederholungs-Angaben
            index: 72
            elements:
              boundsRange:
                short: Bereich für die Begrenzung
                type: Range
                mustSupport: true
                choiceOf: bounds
                index: 81
                slicing:
                  slices:
                    boundsRange:
                      match: {}
                      schema: {short: Bereich für die Begrenzung, type: Range, mustSupport: true, choiceOf: bounds, index: 81}
                      min: 0
                      max: 1
              frequencyMax: {short: maximale Frequenz, mustSupport: true, index: 103}
              boundsPeriod:
                short: begrenzender Zeitraum
                type: Period
                mustSupport: true
                choiceOf: bounds
                index: 94
                slicing:
                  slices:
                    boundsPeriod:
                      match: {}
                      schema: {short: begrenzender Zeitraum, type: Period, mustSupport: true, choiceOf: bounds, index: 94}
                      min: 0
                      max: 1
              when: {short: Tageszeitpunkt codiert, index: 109}
              offset: {short: zeitlicher Abstand der Gabe zum beschriebenen Zeitpunkt, mustSupport: true, index: 110}
              periodUnit: {short: Einheit der Zeitperiode, index: 106}
              frequency: {short: Frequenz (Anzahl der Gaben pro Periode), index: 102}
              durationMax: {short: maximale Dauer der Verabreichung, mustSupport: true, index: 100}
              duration: {short: Dauer der Verabreichung, mustSupport: true, index: 99}
              bounds:
                short: begrenzender Zeitraum
                mustSupport: true
                choices: [boundsPeriod]
                index: 93
                slicing:
                  slices:
                    boundsPeriod:
                      match: {}
                      schema:
                        short: begrenzender Zeitraum
                        mustSupport: true
                        choices: [boundsPeriod]
                        index: 93
                      min: 0
                      max: 1
              boundsDuration:
                type: Duration
                short: Begrenzung der Dauer
                pattern:
                  type: Duration
                  value: {system: 'http://unitsofmeasure.org'}
                choiceOf: bounds
                index: 75
                slicing:
                  slices:
                    boundsDuration:
                      match: {}
                      schema:
                        type: Duration
                        short: Begrenzung der Dauer
                        pattern:
                          type: Duration
                          value: {system: 'http://unitsofmeasure.org'}
                        choiceOf: bounds
                        index: 75
              durationUnit: {short: Einheit der Dauer, mustSupport: true, index: 101}
              dayOfWeek: {short: Wochentag, index: 107}
              count: {short: Anzahl Wiederholungen, mustSupport: true, index: 97}
              bounds[x]:
                elements:
                  start: {mustSupport: true, index: 95}
                  end: {mustSupport: true, index: 96}
              periodMax: {short: maximale Zeitperiode zur Frequenz, mustSupport: true, index: 105}
              period: {short: Zeitperiode zur Frequenz, index: 104}
              countMax: {short: maximale Anzahl Wiederholungen, mustSupport: true, index: 98}
              timeOfDay: {short: Tageszeit, index: 108}
      maxDosePerPeriod:
        short: Maximaldosis (Zähler) pro Zeitraum (Nenner)
        mustSupport: true
        index: 150
        elements:
          numerator: {type: Quantity, mustSupport: true, index: 151}
          denominator: {type: Quantity, mustSupport: true, index: 152}
        required: [denominator, numerator]
      doseAndRate:
        elements:
          dose[x]:
            elements:
              low: {type: Quantity, mustSupport: true, index: 133}
              high: {type: Quantity, mustSupport: true, index: 134}
          rate[x]:
            elements:
              low: {type: Quantity, mustSupport: true, index: 145}
              high: {type: Quantity, mustSupport: true, index: 146}
          doseRange:
            short: Dosisbereich
            type: Range
            mustSupport: true
            choiceOf: dose
            index: 132
            slicing:
              slices:
                doseRange:
                  match: {}
                  schema: {short: Dosisbereich, type: Range, mustSupport: true, choiceOf: dose, index: 132}
                  min: 0
                  max: 1
          rateRange:
            short: Raten-Bereich
            type: Range
            mustSupport: true
            choiceOf: rate
            index: 144
            slicing:
              slices:
                rateRange:
                  match: {}
                  schema: {short: Raten-Bereich, type: Range, mustSupport: true, choiceOf: rate, index: 144}
                  min: 0
                  max: 1
          doseQuantity:
            type: Quantity
            short: Dosis
            choiceOf: dose
            index: 125
            slicing:
              slices:
                doseQuantity:
                  match: {}
                  schema: {type: Quantity, short: Dosis, choiceOf: dose, index: 125}
          dose:
            short: Dosisbereich
            mustSupport: true
            choices: [doseRange]
            index: 131
            slicing:
              slices:
                doseRange:
                  match: {}
                  schema:
                    short: Dosisbereich
                    mustSupport: true
                    choices: [doseRange]
                    index: 131
                  min: 0
                  max: 1
          rate:
            short: Rate
            mustSupport: true
            choices: [rateQuantity]
            index: 148
            slicing:
              slices:
                rateQuantity:
                  match: {}
                  schema:
                    short: Rate
                    mustSupport: true
                    choices: [rateQuantity]
                    index: 148
                  min: 0
                  max: 1
          rateRatio:
            short: Raten-Verhältnis
            type: Ratio
            mustSupport: true
            choiceOf: rate
            index: 139
            slicing:
              slices:
                rateRatio:
                  match: {}
                  schema: {short: Raten-Verhältnis, type: Ratio, mustSupport: true, choiceOf: rate, index: 139}
                  min: 0
                  max: 1
          rateQuantity:
            short: Rate
            type: Quantity
            mustSupport: true
            choiceOf: rate
            index: 149
            slicing:
              slices:
                rateQuantity:
                  match: {}
                  schema: {short: Rate, type: Quantity, mustSupport: true, choiceOf: rate, index: 149}
                  min: 0
                  max: 1
      text: {index: 69}
  medication[x]:
    elements:
      reference: {mustSupport: true, index: 33}
    required: [reference]
  implicitRules: {short: 'Verweis auf die Regeln, nach denen die Ressource erstellt wurde', index: 3}
  reasonCode:
    short: Grund der Medikation (codiert)
    mustSupport: true
    index: 49
    elements:
      coding:
        mustSupport: true
        index: 50
        elements:
          system: {mustSupport: true, index: 51}
          code: {mustSupport: true, index: 52}
          display: {mustSupport: true, index: 53}
        required: [system, code]
      text: {mustSupport: true, index: 54}
  medicationCodeableConcept:
    short: Medikament in codierter Form oder ggf. als Freitext
    type: CodeableConcept
    mustSupport: true
    choiceOf: medication
    index: 24
    slicing:
      slices:
        medicationCodeableConcept:
          match: {}
          schema: {short: Medikament in codierter Form oder ggf. als Freitext, type: CodeableConcept, mustSupport: true, choiceOf: medication, index: 24}
          min: 0
          max: 1
  note:
    short: Zusätzliche Anmerkungen zur Medikation
    mustSupport: true
    index: 57
    elements:
      text: {short: Freitext-Notiz, mustSupport: true, index: 58}
  effective[x]:
    elements:
      start: {mustSupport: true, index: 46}
      end: {mustSupport: true, index: 47}
  extension:
    mustSupport: true
    index: 4
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        acceptedRisk:
          match: {url: null}
          schema:
            short: akzeptiertes (in Kauf genommenes) Risiko
            type: Extension
            mustSupport: true
            url: https://gematik.de/fhir/isik/StructureDefinition/ExtensionISiKAcceptedRisk
            index: 5
            elements:
              value:
                mustSupport: true
                choices: []
                index: 7
        medikationsart:
          match: {url: null}
          schema:
            short: Therapieart der Medikation
            type: Extension
            mustSupport: true
            url: https://gematik.de/fhir/isik/StructureDefinition/ExtensionISiKMedikationsart
            index: 8
            elements:
              value[x]:
                elements:
                  system: {mustSupport: true, index: 9}
                  code: {mustSupport: true, index: 10}
                  display: {mustSupport: true, index: 11}
        selbstmedikation:
          match: {url: null}
          schema:
            short: Selbstmedikation
            type: Extension
            mustSupport: true
            url: https://gematik.de/fhir/isik/StructureDefinition/ExtensionISiKSelbstmedikation
            index: 12
            elements:
              value:
                mustSupport: true
                choices: []
                index: 14
        behandlungsziel:
          match: {url: null}
          schema:
            short: Behandlungsziel (textuell)
            type: Extension
            mustSupport: true
            url: https://gematik.de/fhir/isik/StructureDefinition/ExtensionISiKBehandlungsziel
            index: 15
            elements:
              value:
                mustSupport: true
                choices: []
                index: 17
  effectiveDateTime:
    short: Zeitpunkt (Datum oder Datum + Uhrzeit)
    type: dateTime
    mustSupport: true
    choiceOf: effective
    index: 42
    slicing:
      slices:
        effectiveDateTime:
          match: {}
          schema: {short: Zeitpunkt (Datum oder Datum + Uhrzeit), type: dateTime, mustSupport: true, choiceOf: effective, index: 42}
          min: 0
          max: 1
  status: {short: Status der Medikationsinformation, mustSupport: true, index: 19}
  effective:
    short: Zeitraum
    mustSupport: true
    choices: [effectivePeriod]
    index: 44
    slicing:
      slices:
        effectivePeriod:
          match: {}
          schema:
            short: Zeitraum
            mustSupport: true
            choices: [effectivePeriod]
            index: 44
          min: 0
          max: 1
  id: {short: 'serverseitige, interne ID des Datensatzes', mustSupport: true, index: 0}
  context:
    short: Referenz auf den Abteilungskontakt
    mustSupport: true
    index: 36
    elements:
      reference: {mustSupport: true, index: 37}
    required: [reference]
  dateAsserted: {short: Datum der Feststellung/des Bekanntwerdens der MedikationsInformation, mustSupport: true, index: 48}
  medicationReference:
    short: Referenz auf das Medikament (Medication-Ressource)
    refers: ['http://hl7.org/fhir/StructureDefinition/Medication']
    type: Reference
    mustSupport: true
    choiceOf: medication
    index: 32
    slicing:
      slices:
        medicationReference:
          match: {}
          schema:
            short: Referenz auf das Medikament (Medication-Ressource)
            refers: ['http://hl7.org/fhir/StructureDefinition/Medication']
            type: Reference
            mustSupport: true
            choiceOf: medication
            index: 32
          min: 0
          max: 1
  partOf: {short: 'Referenz auf andere Objekte, deren Bestandteil diese MedikationsInformation ist', index: 18}
  subject:
    type: Reference
    short: Referenz auf den Patienten
    mustSupport: true
    refers: ['http://hl7.org/fhir/StructureDefinition/Patient']
    index: 34
    elements:
      reference: {short: Patienten-Link, mustSupport: true, index: 35}
    required: [reference]
  effectivePeriod:
    short: Zeitraum
    type: Period
    mustSupport: true
    choiceOf: effective
    index: 45
    slicing:
      slices:
        effectivePeriod:
          match: {}
          schema: {short: Zeitraum, type: Period, mustSupport: true, choiceOf: effective, index: 45}
          min: 0
          max: 1
  medication:
    short: Referenz auf das Medikament (Medication-Ressource)
    mustSupport: true
    choices: [medicationReference]
    index: 31
    slicing:
      slices:
        medicationReference:
          match: {}
          schema:
            short: Referenz auf das Medikament (Medication-Ressource)
            mustSupport: true
            choices: [medicationReference]
            index: 31
          min: 0
          max: 1
  reasonReference:
    short: Grund der Medikation (Referenz)
    mustSupport: true
    index: 55
    elements:
      reference: {mustSupport: true, index: 56}
    required: [reference]
package_version: 6.0.0-rc1
extensions:
  acceptedRisk:
    url: https://gematik.de/fhir/isik/StructureDefinition/ExtensionISiKAcceptedRisk
    short: akzeptiertes (in Kauf genommenes) Risiko
    type: Extension
    mustSupport: true
    index: 5
    elements:
      value:
        mustSupport: true
        choices: []
        index: 7
  medikationsart:
    url: https://gematik.de/fhir/isik/StructureDefinition/ExtensionISiKMedikationsart
    short: Therapieart der Medikation
    type: Extension
    mustSupport: true
    index: 8
    elements:
      value[x]:
        elements:
          system: {mustSupport: true, index: 9}
          code: {mustSupport: true, index: 10}
          display: {mustSupport: true, index: 11}
  selbstmedikation:
    url: https://gematik.de/fhir/isik/StructureDefinition/ExtensionISiKSelbstmedikation
    short: Selbstmedikation
    type: Extension
    mustSupport: true
    index: 12
    elements:
      value:
        mustSupport: true
        choices: []
        index: 14
  behandlungsziel:
    url: https://gematik.de/fhir/isik/StructureDefinition/ExtensionISiKBehandlungsziel
    short: Behandlungsziel (textuell)
    type: Extension
    mustSupport: true
    index: 15
    elements:
      value:
        mustSupport: true
        choices: []
        index: 17
class: profile
kind: resource
url: https://gematik.de/fhir/isik/StructureDefinition/ISiKMedikationsInformation
base: http://hl7.org/fhir/StructureDefinition/MedicationStatement
version: 6.0.0-rc1
required: [effective]