<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="epa-medication-statement" />
  <url value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-statement" />
  <version value="1.1.1" />
  <name value="EPAMedicationStatement" />
  <title value="EPA MedicationStatement" />
  <status value="active" />
  <experimental value="false" />
  <date value="2024-08-14" />
  <publisher value="mio42 GmbH" />
  <description value="Dieses Profil bildet die Medikationsinformation ab." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationStatement" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MedicationStatement" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationStatement.meta">
      <path value="MedicationStatement.meta" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.meta.versionId">
      <path value="MedicationStatement.meta.versionId" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.meta.lastUpdated">
      <path value="MedicationStatement.meta.lastUpdated" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.text">
      <path value="MedicationStatement.text" />
      <definition value="In diesem Element können die, in der Instanz, enthaltenen Informationen in einer menschenlesbaren Form zusammengefasst werden. Dabei ist zu beachten, dass keine Informationen aufgenommen werden dürfen, die nicht in strukturierter Form an anderer Stelle in der Instanz enthalten sind." />
    </element>
    <element id="MedicationStatement.text.status">
      <path value="MedicationStatement.text.status" />
      <patternCode value="extensions" />
    </element>
    <element id="MedicationStatement.extension">
      <path value="MedicationStatement.extension" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:treatmentGoal">
      <path value="MedicationStatement.extension" />
      <sliceName value="treatmentGoal" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/resource-pertainsToGoal" />
      </type>
    </element>
    <element id="MedicationStatement.extension:replaces">
      <path value="MedicationStatement.extension" />
      <sliceName value="replaces" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/replaces-extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:Zwischenueberschrift">
      <path value="MedicationStatement.extension" />
      <sliceName value="Zwischenueberschrift" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/medication-entry-heading-extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:Zwischenueberschrift.value[x]">
      <path value="MedicationStatement.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:Zwischenueberschrift.value[x]:valueCodeableConcept">
      <path value="MedicationStatement.extension.value[x]" />
      <sliceName value="valueCodeableConcept" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:Zwischenueberschrift.value[x]:valueCodeableConcept.coding">
      <path value="MedicationStatement.extension.value[x].coding" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:Zwischenueberschrift.value[x]:valueCodeableConcept.coding.system">
      <path value="MedicationStatement.extension.value[x].coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:Zwischenueberschrift.value[x]:valueCodeableConcept.coding.version">
      <path value="MedicationStatement.extension.value[x].coding.version" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:Zwischenueberschrift.value[x]:valueCodeableConcept.coding.code">
      <path value="MedicationStatement.extension.value[x].coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:Zwischenueberschrift.value[x]:valueCodeableConcept.coding.display">
      <path value="MedicationStatement.extension.value[x].coding.display" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.status">
      <path value="MedicationStatement.status" />
      <definition value="Hier wird der Status der Medikations-Information angegeben." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.statusReason">
      <path value="MedicationStatement.statusReason" />
      <definition value="Hier wird die Begründung für den Status anhand eines entsprechenden Codes oder alternativ mit einem Freitext angegeben." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.statusReason.coding">
      <path value="MedicationStatement.statusReason.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="Hier kann der Status in kodierter Form begründet werden." />
      <comment value="Das MustSupport gilt nur für die vordefinierten Slices." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.statusReason.coding:snomed">
      <path value="MedicationStatement.statusReason.coding" />
      <sliceName value="snomed" />
      <definition value="Hier wird die Begründung für den Status als entsprechender SNOMED CT®-Code angegeben." />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://snomed.info/sct" />
      </patternCoding>
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://gematik.de/fhir/terminology/ValueSet/epa-drug-therapy-status-snomed-ct-vs" />
      </binding>
    </element>
    <element id="MedicationStatement.statusReason.coding:snomed.system">
      <path value="MedicationStatement.statusReason.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.statusReason.coding:snomed.version">
      <path value="MedicationStatement.statusReason.coding.version" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.statusReason.coding:snomed.code">
      <path value="MedicationStatement.statusReason.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.statusReason.coding:snomed.display">
      <path value="MedicationStatement.statusReason.coding.display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.statusReason.text">
      <path value="MedicationStatement.statusReason.text" />
      <definition value="Hier wird ein Freitext eingetragen." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x]">
      <path value="MedicationStatement.medication[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Medication" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x]:medicationReference">
      <path value="MedicationStatement.medication[x]" />
      <sliceName value="medicationReference" />
      <definition value="Hier wird das Arzneimittel referenziert, auf das sich die Medikations-Information bezieht." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Medication" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x]:medicationReference.reference">
      <path value="MedicationStatement.medication[x].reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.subject">
      <path value="MedicationStatement.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.subject.identifier">
      <path value="MedicationStatement.subject.identifier" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-kvid-10" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.effective[x]">
      <path value="MedicationStatement.effective[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <definition value="Hier wird eine Zeitangabe für den Verabreichungs- bzw. Einnahmezeitraum vorgenommen. Diese kann entweder ein spezifischer Zeitpunkt (z. B. bei einer Einmalgabe) oder ein Zeitraum mit Start und/oder Ende sein." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.effective[x]:effectiveDateTime">
      <path value="MedicationStatement.effective[x]" />
      <sliceName value="effectiveDateTime" />
      <definition value="Hier wird ein Zeitpunkt eingetragen, wobei dieser mindestens Tag, Monat und Jahr beinhalten muss." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.effective[x]:effectivePeriod">
      <path value="MedicationStatement.effective[x]" />
      <sliceName value="effectivePeriod" />
      <definition value="Zeitraum mit Start und Ende." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Period" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.effective[x]:effectivePeriod.start">
      <path value="MedicationStatement.effective[x].start" />
      <definition value="Beginn eines Zeitraumes." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.effective[x]:effectivePeriod.end">
      <path value="MedicationStatement.effective[x].end" />
      <definition value="Ende eines Zeitraumes." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dateAsserted">
      <path value="MedicationStatement.dateAsserted" />
      <definition value="Hier wird angegeben, wann die vorliegende Medikations-Information erfasst wurde." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.informationSource">
      <path value="MedicationStatement.informationSource" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.informationSource.reference">
      <path value="MedicationStatement.informationSource.reference" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.informationSource.identifier">
      <path value="MedicationStatement.informationSource.identifier" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-kvid-10" />
        <profile value="http://fhir.de/StructureDefinition/identifier-telematik-id" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode">
      <path value="MedicationStatement.reasonCode" />
      <definition value="Hier wird der Grund angegeben, aus dem das Arzneimittel eingesetzt anhand eines entsprechenden Codes oder alternativ mit einem Freitext angegeben." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding">
      <path value="MedicationStatement.reasonCode.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="Hier kann der Grund in codierter Form angegeben werden." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm">
      <path value="MedicationStatement.reasonCode.coding" />
      <sliceName value="icd-10-gm" />
      <definition value="Der ICD-Code ist in Deutschland das abrechnungsrelevante Code-System im ambulanten und stationären Bereich." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Coding" />
        <profile value="http://fhir.de/StructureDefinition/CodingICD10GM" />
      </type>
      <patternCoding>
        <system value="http://fhir.de/CodeSystem/bfarm/icd-10-gm" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.extension">
      <path value="MedicationStatement.reasonCode.coding.extension" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.extension:Mehrfachcodierungs-Kennzeichen">
      <path value="MedicationStatement.reasonCode.coding.extension" />
      <sliceName value="Mehrfachcodierungs-Kennzeichen" />
      <definition value="In diesem Element kann ein Codierungskennzeichen (z. B. '*', '†' oder '!') zum Diagnosecode hinzugefügt werden." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.extension:Mehrfachcodierungs-Kennzeichen.value[x]">
      <path value="MedicationStatement.reasonCode.coding.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.extension:Seitenlokalisation">
      <path value="MedicationStatement.reasonCode.coding.extension" />
      <sliceName value="Seitenlokalisation" />
      <definition value="Zur Spezifizierung von Diagnoseangaben (ICD-10) können hier die Zusatzkennzeichen für die Seitigkeit (R, L oder B) angegeben werden." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.extension:Seitenlokalisation.value[x]">
      <path value="MedicationStatement.reasonCode.coding.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.extension:Diagnosesicherheit">
      <path value="MedicationStatement.reasonCode.coding.extension" />
      <sliceName value="Diagnosesicherheit" />
      <definition value="Die Diagnosesicherheit, d. h. wie sicher die Diagnose im Einzelfall zu werten ist, kann durch ein Zusatzkennzeichen zum ICD-Code angegeben werden." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.extension:Diagnosesicherheit.value[x]">
      <path value="MedicationStatement.reasonCode.coding.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.system">
      <path value="MedicationStatement.reasonCode.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.version">
      <path value="MedicationStatement.reasonCode.coding.version" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.code">
      <path value="MedicationStatement.reasonCode.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:icd-10-gm.display">
      <path value="MedicationStatement.reasonCode.coding.display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:snomed">
      <path value="MedicationStatement.reasonCode.coding" />
      <sliceName value="snomed" />
      <definition value="Hier wird ein Code aus dem CodeSystem SNOMED CT® eingetragen." />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://snomed.info/sct" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:snomed.system">
      <path value="MedicationStatement.reasonCode.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:snomed.version">
      <path value="MedicationStatement.reasonCode.coding.version" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:snomed.code">
      <path value="MedicationStatement.reasonCode.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:snomed.display">
      <path value="MedicationStatement.reasonCode.coding.display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:orphanet">
      <path value="MedicationStatement.reasonCode.coding" />
      <sliceName value="orphanet" />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://www.orpha.net" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:orphanet.system">
      <path value="MedicationStatement.reasonCode.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:orphanet.code">
      <path value="MedicationStatement.reasonCode.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.coding:orphanet.display">
      <path value="MedicationStatement.reasonCode.coding.display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode.text">
      <path value="MedicationStatement.reasonCode.text" />
      <definition value="Hier kann der Behandlungsgrund als Freitext angegeben werden." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note">
      <path value="MedicationStatement.note" />
      <definition value="Hier können ergänzende freitextliche Kommentare und Notizen vorgenommen werden, die nicht durch die strukturierten Datenelemente erfassbar sind." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note.author[x]">
      <path value="MedicationStatement.note.author[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <definition value="Hier wird die Person referenziert, die die Notiz erstellt hat." />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note.author[x]:authorReference">
      <path value="MedicationStatement.note.author[x]" />
      <sliceName value="authorReference" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note.author[x]:authorReference.reference">
      <path value="MedicationStatement.note.author[x].reference" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note.author[x]:authorReference.identifier">
      <path value="MedicationStatement.note.author[x].identifier" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-kvid-10" />
        <profile value="http://fhir.de/StructureDefinition/identifier-telematik-id" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note.time">
      <path value="MedicationStatement.note.time" />
      <definition value="Hier wird der Zeitpunkt angegeben, zu dem die Notiz erstellt wurde." />
      <comment value="Dieses Element sollte in der Regel automatisiert ohne Aufwand für die Person, die die Notiz erstellt befüllt werden." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note.text">
      <path value="MedicationStatement.note.text" />
      <definition value="Hier wird der eigentliche Text der Notiz eingetragen." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage">
      <path value="MedicationStatement.dosage" />
      <type>
        <code value="Dosage" />
        <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-dosage" />
      </type>
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>