<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="GEM-ERPEU-PR-PAR-Close-Operation-Input" />
  <url value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_PAR_CloseOperation_Input" />
  <version value="1.1.2" />
  <name value="GEM_ERPEU_PR_PAR_CloseOperation_Input" />
  <title value="GEM ERP PR EU CloseOperation Input" />
  <status value="active" />
  <date value="2026-02-09" />
  <description value="This profile defines the parameters for receiving dispense information for a prescription that was redeemed in the EU" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Parameters" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Parameters" />
  <derivation value="constraint" />
  <differential>
    <element id="Parameters.meta">
      <path value="Parameters.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.meta.profile">
      <path value="Parameters.meta.profile" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <description value="Slicing for meta profile" />
        <ordered value="false" />
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.meta.profile:workflowEUProfile">
      <path value="Parameters.meta.profile" />
      <sliceName value="workflowEUProfile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_PAR_CloseOperation_Input|1.1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter">
      <path value="Parameters.parameter" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="name" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="5" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:rxDispensation">
      <path value="Parameters.parameter" />
      <sliceName value="rxDispensation" />
      <min value="1" />
      <max value="*" />
      <constraint>
        <key value="erp-eu-parameters-close-dispense-medication-references" />
        <severity value="error" />
        <human value="If a reference from a MedicationDispense to a Medication exists, the reference must resolve to the Medication." />
        <expression value="part.where(name = 'medicationDispense').resource.medication.ofType(Reference).reference.exists() implies ((part.where(name = 'medicationDispense').resource.medication.reference.split('/').last().split(':').last()) = (part.where(name = 'medication').resource.id))" />
        <source value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_PAR_CloseOperation_Input" />
      </constraint>
    </element>
    <element id="Parameters.parameter:rxDispensation.name">
      <path value="Parameters.parameter.name" />
      <patternString value="rxDispensation" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:rxDispensation.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:rxDispensation.resource">
      <path value="Parameters.parameter.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:rxDispensation.part">
      <path value="Parameters.parameter.part" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="name" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medicationDispense">
      <path value="Parameters.parameter.part" />
      <sliceName value="medicationDispense" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medicationDispense.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="medicationDispense" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medicationDispense.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medicationDispense.resource">
      <path value="Parameters.parameter.part.resource" />
      <min value="1" />
      <type>
        <code value="MedicationDispense" />
        <profile value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_MedicationDispense" />
      </type>
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medicationDispense.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medication">
      <path value="Parameters.parameter.part" />
      <sliceName value="medication" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medication.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="medication" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medication.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medication.resource">
      <path value="Parameters.parameter.part.resource" />
      <min value="1" />
      <type>
        <code value="Medication" />
        <profile value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_Medication" />
      </type>
    </element>
    <element id="Parameters.parameter:rxDispensation.part:medication.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData">
      <path value="Parameters.parameter" />
      <sliceName value="requestData" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Parameters.parameter:requestData.name">
      <path value="Parameters.parameter.name" />
      <patternString value="requestData" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.resource">
      <path value="Parameters.parameter.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part">
      <path value="Parameters.parameter.part" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="name" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="7" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:kvnr">
      <path value="Parameters.parameter.part" />
      <sliceName value="kvnr" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:kvnr.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="kvnr" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:kvnr.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-kvid-10" />
      </type>
    </element>
    <element id="Parameters.parameter:requestData.part:kvnr.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:kvnr.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:accessCode">
      <path value="Parameters.parameter.part" />
      <sliceName value="accessCode" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:accessCode.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="accessCode" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:accessCode.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_Access_Code" />
      </type>
    </element>
    <element id="Parameters.parameter:requestData.part:accessCode.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:accessCode.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:countryCode">
      <path value="Parameters.parameter.part" />
      <sliceName value="countryCode" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:countryCode.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="countryCode" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:countryCode.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="http://hl7.org/fhir/ValueSet/iso3166-1-2" />
      </binding>
    </element>
    <element id="Parameters.parameter:requestData.part:countryCode.value[x].system">
      <path value="Parameters.parameter.part.value[x].system" />
      <min value="1" />
      <patternUri value="urn:iso:std:iso:3166" />
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerName">
      <path value="Parameters.parameter.part" />
      <sliceName value="practitionerName" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerName.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="practitionerName" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerName.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerName.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerName.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerRole">
      <path value="Parameters.parameter.part" />
      <sliceName value="practitionerRole" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerRole.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="practitionerRole" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerRole.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://gematik.de/fhir/terminology/ValueSet/epa-structural-role-of-healthcare-professional-vs" />
      </binding>
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerRole.value[x].system">
      <path value="Parameters.parameter.part.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerRole.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:practitionerRole.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:pointOfCare">
      <path value="Parameters.parameter.part" />
      <sliceName value="pointOfCare" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:pointOfCare.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="pointOfCare" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:pointOfCare.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Parameters.parameter:requestData.part:pointOfCare.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:pointOfCare.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:healthcare-facility-type">
      <path value="Parameters.parameter.part" />
      <sliceName value="healthcare-facility-type" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:healthcare-facility-type.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="healthcare-facility-type" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:healthcare-facility-type.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://gematik.de/fhir/directory/ValueSet/OrganizationProfessionOIDTypeVS" />
      </binding>
    </element>
    <element id="Parameters.parameter:requestData.part:healthcare-facility-type.value[x].system">
      <path value="Parameters.parameter.part.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:healthcare-facility-type.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:healthcare-facility-type.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:practitionerData">
      <path value="Parameters.parameter" />
      <sliceName value="practitionerData" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Parameters.parameter:practitionerData.name">
      <path value="Parameters.parameter.name" />
      <patternString value="practitionerData" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:practitionerData.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:practitionerData.resource">
      <path value="Parameters.parameter.resource" />
      <type>
        <code value="Practitioner" />
        <profile value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_Practitioner" />
      </type>
    </element>
    <element id="Parameters.parameter:practitionerData.part">
      <path value="Parameters.parameter.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:organizationData">
      <path value="Parameters.parameter" />
      <sliceName value="organizationData" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Parameters.parameter:organizationData.name">
      <path value="Parameters.parameter.name" />
      <patternString value="organizationData" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:organizationData.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:organizationData.resource">
      <path value="Parameters.parameter.resource" />
      <type>
        <code value="Organization" />
        <profile value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_Organization" />
      </type>
    </element>
    <element id="Parameters.parameter:organizationData.part">
      <path value="Parameters.parameter.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:practitionerRoleData">
      <path value="Parameters.parameter" />
      <sliceName value="practitionerRoleData" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Parameters.parameter:practitionerRoleData.name">
      <path value="Parameters.parameter.name" />
      <patternString value="practitionerRoleData" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:practitionerRoleData.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:practitionerRoleData.resource">
      <path value="Parameters.parameter.resource" />
      <type>
        <code value="PractitionerRole" />
        <profile value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_PractitionerRole" />
      </type>
    </element>
    <element id="Parameters.parameter:practitionerRoleData.part">
      <path value="Parameters.parameter.part" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>