<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="GEM-ERP-PR-MedicationDispense-DiGA" />
  <url value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense_DiGA" />
  <version value="1.6.2" />
  <name value="GEM_ERP_PR_MedicationDispense_DiGA" />
  <title value="Dispensierung einer DiGA-Verordnung" />
  <status value="active" />
  <date value="2026-04-14" />
  <description value="Verarbeitet Informationen über die ausgegebene DiGA" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationDispense" />
  <baseDefinition value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-dispense" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationDispense">
      <path value="MedicationDispense" />
      <constraint>
        <key value="workflow-medicationdispense-redeemcode-1" />
        <severity value="error" />
        <human value="Eine Notiz wurde nicht gefunden, ist jedoch obligatorisch, wenn kein Einlösecode angegeben wird." />
        <expression value="extension.where(url = 'https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_RedeemCode').empty() implies note.exists()" />
        <source value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense_DiGA" />
      </constraint>
      <constraint>
        <key value="workflow-medicationdispense-redeemcode-2" />
        <severity value="error" />
        <human value="Der Grund für fehlende Daten wurde nicht gefunden, ist jedoch obligatorisch, wenn kein Einlösecode angegeben wird." />
        <expression value="extension.where(url = 'https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_RedeemCode').empty() implies medication.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()" />
        <source value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense_DiGA" />
      </constraint>
      <constraint>
        <key value="workflow-medicationdispense-redeemcode-3" />
        <severity value="error" />
        <human value="Name und Kennung der DiGA wurden nicht gefunden, sind jedoch obligatorisch, wenn ein Einlösecode angegeben wird." />
        <expression value="extension.where(url = 'https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_RedeemCode').exists() implies (medication.display.exists() and medication.identifier.exists())" />
        <source value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense_DiGA" />
      </constraint>
    </element>
    <element id="MedicationDispense.meta">
      <path value="MedicationDispense.meta" />
      <min value="1" />
    </element>
    <element id="MedicationDispense.meta.profile">
      <path value="MedicationDispense.meta.profile" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <description value="Slicing für meta profile" />
        <ordered value="false" />
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationDispense.meta.profile:workflowProfile">
      <path value="MedicationDispense.meta.profile" />
      <sliceName value="workflowProfile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense_DiGA|1.6" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationDispense.extension:redeemCode">
      <path value="MedicationDispense.extension" />
      <sliceName value="redeemCode" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_RedeemCode" />
      </type>
    </element>
    <element id="MedicationDispense.extension:deepLink">
      <path value="MedicationDispense.extension" />
      <sliceName value="deepLink" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_DeepLink" />
      </type>
    </element>
    <element id="MedicationDispense.identifier">
      <path value="MedicationDispense.identifier" />
      <short value="E-Rezept-ID" />
      <min value="1" />
    </element>
    <element id="MedicationDispense.identifier:prescriptionID">
      <path value="MedicationDispense.identifier" />
      <sliceName value="prescriptionID" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://gematik.de/fhir/ti/StructureDefinition/e-prescription-id" />
      </type>
      <patternIdentifier>
        <system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId" />
      </patternIdentifier>
    </element>
    <element id="MedicationDispense.status">
      <path value="MedicationDispense.status" />
      <short value="completed" />
      <fixedCode value="completed" />
    </element>
    <element id="MedicationDispense.medication[x]">
      <path value="MedicationDispense.medication[x]" />
      <definition value="Informationen über das Medikament, das abgegeben wird. Dazu gehören der Name und die PZN-Kennzeichnung einer DiGA-Verordnungseinheit." />
    </element>
    <element id="MedicationDispense.medication[x].extension:data-absent-reason">
      <path value="MedicationDispense.medication[x].extension" />
      <sliceName value="data-absent-reason" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/data-absent-reason" />
      </type>
    </element>
    <element id="MedicationDispense.medication[x].extension:data-absent-reason.value[x]">
      <path value="MedicationDispense.medication[x].extension.value[x]" />
      <patternCode value="asked-declined" />
    </element>
    <element id="MedicationDispense.medication[x].identifier">
      <path value="MedicationDispense.medication[x].identifier" />
      <short value="Eindeutige Identifikationsnummer für eine Verschreibungseinheit einer DiGA (PZN)." />
    </element>
    <element id="MedicationDispense.medication[x].identifier.system">
      <path value="MedicationDispense.medication[x].identifier.system" />
      <min value="1" />
      <fixedUri value="http://fhir.de/CodeSystem/ifa/pzn" />
    </element>
    <element id="MedicationDispense.medication[x].identifier.value">
      <path value="MedicationDispense.medication[x].identifier.value" />
      <min value="1" />
    </element>
    <element id="MedicationDispense.medication[x].display">
      <path value="MedicationDispense.medication[x].display" />
      <short value="Name der DiGA-Verschreibungseinheit." />
    </element>
    <element id="MedicationDispense.performer.actor.identifier">
      <path value="MedicationDispense.performer.actor.identifier" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-telematik-id" />
      </type>
    </element>
    <element id="MedicationDispense.whenHandedOver">
      <path value="MedicationDispense.whenHandedOver" />
      <short value="Abgabedatum" />
      <constraint>
        <key value="workflow-abgabeDatumsFormat" />
        <severity value="error" />
        <human value="Wert muss ein Datum in der Form: YYYY-MM-DD sein." />
        <expression value="toString().length()=10" />
        <source value="https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense_DiGA" />
      </constraint>
    </element>
    <element id="MedicationDispense.substitution">
      <path value="MedicationDispense.substitution" />
      <comment value="Laut Bundesamt für Soziale Sicherung ist der Ersatz für DiGAs nicht erlaubt." />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>