<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="TipluStructuredDocument" />
  <url value="https://tiplu.de/fhir/StructureDefinition/TipluStructuredDocument" />
  <version value="2.0.2" />
  <name value="TipluStructuredDocument" />
  <title value="Das strukturierte Dokument" />
  <status value="active" />
  <date value="2026-04-02" />
  <publisher value="Tiplu GmbH" />
  <contact>
    <name value="Tiplu GmbH" />
    <telecom>
      <system value="email" />
      <value value="fhir@tiplu.de" />
    </telecom>
  </contact>
  <description value="Mit der Composition werden die Dokumente in strukturierte Sections aufgeteilt" />
  <copyright value="Tiplu GmbH" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Composition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Composition" />
  <derivation value="constraint" />
  <differential>
    <element id="Composition.modifierExtension:DocumentCompositionStatus">
      <path value="Composition.modifierExtension" />
      <sliceName value="DocumentCompositionStatus" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/5.0/StructureDefinition/extension-Composition.status" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier">
      <path value="Composition.identifier" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.status">
      <path value="Composition.status" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.status.extension:KundenStatus">
      <path value="Composition.status.extension" />
      <sliceName value="KundenStatus" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://tiplu.de/fhir/StructureDefinition/DocumentCustomerStatus" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.type">
      <path value="Composition.type" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding">
      <path value="Composition.type.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding:KDL">
      <path value="Composition.type.coding" />
      <sliceName value="KDL" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://dvmd.de/fhir/CodeSystem/kdl" />
      </patternCoding>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://dvmd.de/fhir/ValueSet/kdl" />
      </binding>
    </element>
    <element id="Composition.type.coding:IHE-TypeCode">
      <path value="Composition.type.coding" />
      <sliceName value="IHE-TypeCode" />
      <comment value="http://dvmd.de/fhir/ConceptMap/kdl-ihe-typecode" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://ihe-d.de/CodeSystems/IHEXDStypeCode" />
      </patternCoding>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://ihe-d.de/ValueSets/IHEXDStypeCode" />
      </binding>
    </element>
    <element id="Composition.type.coding:LOINC">
      <path value="Composition.type.coding" />
      <sliceName value="LOINC" />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://loinc.org" />
      </patternCoding>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://hl7.org/fhir/ValueSet/c80-doc-typecodes" />
      </binding>
    </element>
    <element id="Composition.type.coding:TipluCode">
      <path value="Composition.type.coding" />
      <sliceName value="TipluCode" />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="https://tiplu.de/fhir/CodeSystem/DocumentType" />
      </patternCoding>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://tiplu.de/fhir/ValueSet/DocumentType" />
      </binding>
    </element>
    <element id="Composition.category">
      <path value="Composition.category" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.category.coding">
      <path value="Composition.category.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.category.coding:IHE-ClassCode">
      <path value="Composition.category.coding" />
      <sliceName value="IHE-ClassCode" />
      <comment value="http://dvmd.de/fhir/ConceptMap/kdl-ihe-classcode" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://ihe-d.de/ValueSets/IHEXDSclassCode" />
      </binding>
    </element>
    <element id="Composition.category.coding:LOINC">
      <path value="Composition.category.coding" />
      <sliceName value="LOINC" />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://loinc.org" />
      </patternCoding>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://hl7.org/fhir/R4/valueset-document-classcodes.html" />
      </binding>
    </element>
    <element id="Composition.subject">
      <path value="Composition.subject" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.encounter">
      <path value="Composition.encounter" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.date">
      <path value="Composition.date" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.date.extension:DocumentCreationDate">
      <path value="Composition.date.extension" />
      <sliceName value="DocumentCreationDate" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://tiplu.de/fhir/StructureDefinition/DocumentCreationDate" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.author">
      <path value="Composition.author" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.title">
      <path value="Composition.title" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section">
      <path value="Composition.section" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.extension:Zuordnungscodes">
      <path value="Composition.section.extension" />
      <sliceName value="Zuordnungscodes" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="https://tiplu.de/fhir/StructureDefinition/DocumentSectionSourceMapping" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.extension:Zuordnungscodes.value[x]">
      <path value="Composition.section.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.title">
      <path value="Composition.section.title" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.code.coding">
      <path value="Composition.section.code.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.code.coding:LOINC">
      <path value="Composition.section.code.coding" />
      <sliceName value="LOINC" />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://loinc.org" />
      </patternCoding>
      <mustSupport value="true" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://hl7.org/fhir/ValueSet/doc-section-codes" />
      </binding>
    </element>
    <element id="Composition.section.code.coding:TipluCode">
      <path value="Composition.section.code.coding" />
      <sliceName value="TipluCode" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://tiplu.de/fhir/ValueSet/DocumentSection" />
      </binding>
    </element>
    <element id="Composition.section.text">
      <path value="Composition.section.text" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.mode">
      <path value="Composition.section.mode" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.emptyReason">
      <path value="Composition.section.emptyReason" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>