<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="GEM-ERPEU-PR-PAR-EU-GET-Prescription-Input" />
  <url value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_PAR_GET_Prescription_Input" />
  <version value="1.1.2" />
  <name value="GEM_ERPEU_PR_PAR_GET_Prescription_Input" />
  <title value="GEM ERPEU PR PAR GET Prescription 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_GET_Prescription_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="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData">
      <path value="Parameters.parameter" />
      <sliceName value="requestData" />
      <min value="1" />
      <max value="1" />
      <constraint>
        <key value="workflow-parameters-get-prescription-eu-1" />
        <severity value="error" />
        <human value="Prescription IDs must be present if the request type is 'e-prescriptions-retrieval'" />
        <expression value="part.where(name = 'requesttype').value.code = 'e-prescriptions-retrieval' implies part.where(name = 'prescription-id').exists()" />
        <source value="https://gematik.de/fhir/erp-eu/StructureDefinition/GEM_ERPEU_PR_PAR_GET_Prescription_Input" />
      </constraint>
    </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="8" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:requesttype">
      <path value="Parameters.parameter.part" />
      <sliceName value="requesttype" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:requesttype.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="requesttype" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:requesttype.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/erp-eu/ValueSet/GEM_ERPEU_VS_RequestType" />
      </binding>
    </element>
    <element id="Parameters.parameter:requestData.part:requesttype.value[x].system">
      <path value="Parameters.parameter.part.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:requesttype.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:requesttype.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </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:countryCode.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:countryCode.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:prescription-id">
      <path value="Parameters.parameter.part" />
      <sliceName value="prescription-id" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="BackboneElement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:prescription-id.name">
      <path value="Parameters.parameter.part.name" />
      <patternString value="prescription-id" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:requestData.part:prescription-id.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://gematik.de/fhir/ti/StructureDefinition/e-prescription-id" />
      </type>
    </element>
    <element id="Parameters.parameter:requestData.part:prescription-id.resource">
      <path value="Parameters.parameter.part.resource" />
      <max value="0" />
    </element>
    <element id="Parameters.parameter:requestData.part:prescription-id.part">
      <path value="Parameters.parameter.part.part" />
      <max value="0" />
    </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>
  </differential>
</StructureDefinition>