<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="dipag-documentreference-markierung" />
  <url value="https://gematik.de/fhir/dipag/StructureDefinition/dipag-documentreference-markierung" />
  <version value="1.0.5" />
  <name value="DiPagDocumentReferenceMarkierung" />
  <title value="Digitale Patientenrechnung DocumentReference Markierung" />
  <status value="active" />
  <experimental value="false" />
  <date value="2026-03-26" />
  <publisher value="gematik GmbH" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://gematik.de/" />
    </telecom>
  </contact>
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="DocumentReference.meta" />
  </context>
  <context>
    <type value="element" />
    <expression value="Parameters.parameter.value[x]" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <min value="1" />
    </element>
    <element id="Extension.extension:markierung">
      <path value="Extension.extension" />
      <sliceName value="markierung" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:markierung.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:markierung.url">
      <path value="Extension.extension.url" />
      <fixedUri value="markierung" />
    </element>
    <element id="Extension.extension:markierung.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://gematik.de/fhir/dipag/ValueSet/dipag-rechnung-markierung-vs" />
      </binding>
    </element>
    <element id="Extension.extension:zeitpunkt">
      <path value="Extension.extension" />
      <sliceName value="zeitpunkt" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:zeitpunkt.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:zeitpunkt.url">
      <path value="Extension.extension.url" />
      <fixedUri value="zeitpunkt" />
    </element>
    <element id="Extension.extension:zeitpunkt.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Extension.extension:details">
      <path value="Extension.extension" />
      <sliceName value="details" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:details.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:details.url">
      <path value="Extension.extension.url" />
      <fixedUri value="details" />
    </element>
    <element id="Extension.extension:details.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:gelesen">
      <path value="Extension.extension" />
      <sliceName value="gelesen" />
      <min value="0" />
      <max value="1" />
      <constraint>
        <key value="DiPagDocumentReferenceMarkierung-2" />
        <severity value="error" />
        <human value="Details zum Gelesen-Status können nur angegeben werden wenn die Markierung vom Typ 'Gelesen' ist" />
        <expression value="extension.where(url = 'gelesen').value.exists() implies extension.where(url = 'markierung').value.coding.where(code = 'gelesen').exists()" />
        <source value="https://gematik.de/fhir/dipag/StructureDefinition/dipag-documentreference-markierung" />
      </constraint>
    </element>
    <element id="Extension.extension:gelesen.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:gelesen.url">
      <path value="Extension.extension.url" />
      <fixedUri value="gelesen" />
    </element>
    <element id="Extension.extension:gelesen.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="Extension.extension:artDerArchivierung">
      <path value="Extension.extension" />
      <sliceName value="artDerArchivierung" />
      <min value="0" />
      <max value="1" />
      <constraint>
        <key value="DiPagDocumentReferenceMarkierung-1" />
        <severity value="error" />
        <human value="Details zur Art der Archivierung können nur angegeben werden wenn die Markierung vom Typ 'Archiviert' ist" />
        <expression value="extension.where(url = 'artDerArchivierung').value.exists() implies extension.where(url = 'markierung').value.coding.where(code = 'archiviert').exists()" />
        <source value="https://gematik.de/fhir/dipag/StructureDefinition/dipag-documentreference-markierung" />
      </constraint>
    </element>
    <element id="Extension.extension:artDerArchivierung.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:artDerArchivierung.url">
      <path value="Extension.extension.url" />
      <fixedUri value="artDerArchivierung" />
    </element>
    <element id="Extension.extension:artDerArchivierung.value[x]">
      <path value="Extension.extension.value[x]" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://gematik.de/fhir/dipag/ValueSet/dipag-dokument-artderarchivierung-vs" />
      </binding>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="https://gematik.de/fhir/dipag/StructureDefinition/dipag-documentreference-markierung" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>