<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="multiple-prescription-extension" />
  <url value="https://gematik.de/fhir/epa-medication/StructureDefinition/multiple-prescription-extension" />
  <version value="1.1.1" />
  <name value="MultiplePrescriptionExtension" />
  <title value="MultiplePrescription" />
  <status value="active" />
  <experimental value="false" />
  <date value="2024-08-14" />
  <publisher value="gematik GmbH" />
  <description value="This FHIR Extension for multiple prescriptions adds details such as repetition count and time intervals for repeated medication orders to FHIR resources." />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="Element" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="MultiplePrescription" />
      <definition value="This FHIR Extension for multiple prescriptions adds details such as repetition count and time intervals for repeated medication orders to FHIR resources." />
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <description value="Extensions are always sliced by (at least) url" />
        <rules value="closed" />
      </slicing>
    </element>
    <element id="Extension.extension:indicator">
      <path value="Extension.extension" />
      <sliceName value="indicator" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:indicator.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:indicator.url">
      <path value="Extension.extension.url" />
      <fixedUri value="indicator" />
    </element>
    <element id="Extension.extension:indicator.value[x]">
      <path value="Extension.extension.value[x]" />
      <short value="Multiple Prescription Indicator" />
      <definition value="Indicator of whether the current prescription is part of a multiple prescription&#xD;&#xA;&#xD;&#xA;true - the current prescription is part of a multiple prescription &#xD;&#xA;false - the current prescription is not part of a multiple prescription" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="Extension.extension:counter">
      <path value="Extension.extension" />
      <sliceName value="counter" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:counter.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:counter.url">
      <path value="Extension.extension.url" />
      <fixedUri value="counter" />
    </element>
    <element id="Extension.extension:counter.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="Ratio" />
      </type>
    </element>
    <element id="Extension.extension:counter.value[x].numerator">
      <path value="Extension.extension.value[x].numerator" />
      <min value="1" />
    </element>
    <element id="Extension.extension:counter.value[x].numerator.value">
      <path value="Extension.extension.value[x].numerator.value" />
      <short value="Multiple Prescription Counter" />
      <definition value="The field serves to indicate which number in a series of multiple prescriptions it is. Example: &quot;2&quot; in &quot;2 out of 4&quot;" />
      <min value="1" />
    </element>
    <element id="Extension.extension:counter.value[x].numerator.comparator">
      <path value="Extension.extension.value[x].numerator.comparator" />
      <max value="0" />
    </element>
    <element id="Extension.extension:counter.value[x].numerator.unit">
      <path value="Extension.extension.value[x].numerator.unit" />
      <max value="0" />
    </element>
    <element id="Extension.extension:counter.value[x].numerator.system">
      <path value="Extension.extension.value[x].numerator.system" />
      <max value="0" />
    </element>
    <element id="Extension.extension:counter.value[x].numerator.code">
      <path value="Extension.extension.value[x].numerator.code" />
      <max value="0" />
    </element>
    <element id="Extension.extension:counter.value[x].denominator">
      <path value="Extension.extension.value[x].denominator" />
      <min value="1" />
    </element>
    <element id="Extension.extension:counter.value[x].denominator.value">
      <path value="Extension.extension.value[x].denominator.value" />
      <short value="Denominator of Multiple Prescription Series" />
      <definition value="The field serves to indicate the length of this series. Example: &quot;4&quot; in &quot;2 out of 4&quot;" />
      <min value="1" />
    </element>
    <element id="Extension.extension:counter.value[x].denominator.comparator">
      <path value="Extension.extension.value[x].denominator.comparator" />
      <max value="0" />
    </element>
    <element id="Extension.extension:counter.value[x].denominator.unit">
      <path value="Extension.extension.value[x].denominator.unit" />
      <max value="0" />
    </element>
    <element id="Extension.extension:counter.value[x].denominator.system">
      <path value="Extension.extension.value[x].denominator.system" />
      <max value="0" />
    </element>
    <element id="Extension.extension:counter.value[x].denominator.code">
      <path value="Extension.extension.value[x].denominator.code" />
      <max value="0" />
    </element>
    <element id="Extension.extension:period">
      <path value="Extension.extension" />
      <sliceName value="period" />
      <short value="Zeitraum der Einlösefrist" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:period.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:period.url">
      <path value="Extension.extension.url" />
      <fixedUri value="period" />
    </element>
    <element id="Extension.extension:period.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="Period" />
      </type>
      <constraint>
        <key value="-limitationDateStart" />
        <severity value="error" />
        <human value="Limitation of the date format to 10 characters YYYY-MM-DD" />
        <expression value="start.toString().length()=10" />
        <source value="https://gematik.de/fhir/epa-medication/StructureDefinition/multiple-prescription-extension" />
      </constraint>
      <constraint>
        <key value="-limitationDateEnd" />
        <severity value="error" />
        <human value="Limitation of the date format to 10 characters YYYY-MM-DD" />
        <expression value="end.exists().not() or end.toString().length()=10" />
        <source value="https://gematik.de/fhir/epa-medication/StructureDefinition/multiple-prescription-extension" />
      </constraint>
    </element>
    <element id="Extension.extension:period.value[x].start">
      <path value="Extension.extension.value[x].start" />
      <short value="Start Date of the Prescription Redemption Period" />
      <definition value="Date from which the partial prescription of the multiple prescription can be redeemed" />
      <min value="1" />
    </element>
    <element id="Extension.extension:period.value[x].end">
      <path value="Extension.extension.value[x].end" />
      <short value="End Date of the Prescription Redemption Period" />
      <definition value="Date of the last redemption day for the partial prescription within the multiple prescription series. &#xA;The issuer may specify a redemption period different from the one outlined in the Medicinal Products Prescription Ordinance (AMVV)" />
    </element>
    <element id="Extension.extension:id">
      <path value="Extension.extension" />
      <sliceName value="id" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:id.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:id.url">
      <path value="Extension.extension.url" />
      <fixedUri value="id" />
    </element>
    <element id="Extension.extension:id.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="Identifier" />
      </type>
    </element>
    <element id="Extension.extension:id.value[x].use">
      <path value="Extension.extension.value[x].use" />
      <max value="0" />
    </element>
    <element id="Extension.extension:id.value[x].type">
      <path value="Extension.extension.value[x].type" />
      <max value="0" />
    </element>
    <element id="Extension.extension:id.value[x].system">
      <path value="Extension.extension.value[x].system" />
      <short value="Specification as UUID" />
      <fixedUri value="urn:ietf:rfc:3986" />
    </element>
    <element id="Extension.extension:id.value[x].value">
      <path value="Extension.extension.value[x].value" />
      <short value="Multiple Prescription ID" />
      <definition value="A unique ID that is identical across all partial prescriptions of a multiple prescription." />
    </element>
    <element id="Extension.extension:id.value[x].period">
      <path value="Extension.extension.value[x].period" />
      <max value="0" />
    </element>
    <element id="Extension.extension:id.value[x].assigner">
      <path value="Extension.extension.value[x].assigner" />
      <max value="0" />
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="https://gematik.de/fhir/epa-medication/StructureDefinition/multiple-prescription-extension" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>