<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ISiKBerichtSubSysteme" />
  <url value="https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" />
  <version value="3.1.1" />
  <name value="ISiKBerichtSubSysteme" />
  <status value="active" />
  <experimental value="false" />
  <date value="2025-12-01" />
  <publisher value="gematik GmbH" />
  <description value="Dieses Profil ermöglicht die Krankenhaus-interne Übermittlung eines Berichtes in Form eines Dokumentes, die in ISiK Szenarien von Subsystemen an Primärsysteme gesendet werden." />
  <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.text">
      <path value="Composition.text" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.text.status">
      <path value="Composition.text.status" />
      <fixedCode value="extensions" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.text.div">
      <path value="Composition.text.div" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier">
      <path value="Composition.identifier" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier.system">
      <path value="Composition.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier.value">
      <path value="Composition.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.status">
      <path value="Composition.status" />
      <fixedCode value="final" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.type">
      <path value="Composition.type" />
      <short value="Dokumenttyp" />
      <comment value="Begründung zu Must Support: Der Dokumenttyp ist für die Identifikation des Berichtes und die Zuordnung zu einem Subsystem für die weitere Verarbeitung erforderlich.&#xA;&#xA;  *Hinweis für Implementierer:* &#xA;  Der zu übermittelnde Bericht repräsentiert eine Zusammenfassung der strukturierten Daten aus dem Subsystem. Das Dokument KANN z.B. mittels KDL oder IHE-D-XDS-Typecodes klassifiziert werden.  &#xA;  Es KANN derzeit jedoch auch eine rein textuelle Beschreibung des Dokumenttyps angegeben werden.&#xA;&#xA;  Während KDL-Codes eine feingranulare Dokumentenklassifikation für die gezielte Suche nach medizinischen und Administrativen Dokumenten ermöglichen,&#xA;  sind IHE-XDS-Type-Codes für den einrichtungsübergreifenden Dokumentenaustausch maßgeblich.&#xA;  Der IHE-XDS-Type-Code kann mit Hilfe der bereitgestellten [ConceptMaps](https://simplifier.net/kdl/~resources?category=ConceptMap)&#xA;  aus dem KDL-Code ermittelt werden.&#xA;  Weitere Typisierungen (z.B. nach SNOMED oder LOINC) sind uneingeschränkt erlaubt. [Konsens der Arbeitsgruppe vom 18.02.2022]. Im Falle, dass der Code 'UNK' entsprechend der ConceptMap verwendet werden soll, MUSS das System 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor' verwendet werden." />
      <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>
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding:KDL">
      <path value="Composition.type.coding" />
      <sliceName value="KDL" />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://dvmd.de/fhir/CodeSystem/kdl" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding:KDL.system">
      <path value="Composition.type.coding.system" />
      <min value="1" />
    </element>
    <element id="Composition.type.coding:KDL.code">
      <path value="Composition.type.coding.code" />
      <min value="1" />
      <constraint>
        <key value="kdl-1" />
        <severity value="warning" />
        <human value="KDL-Code ungültig" />
        <expression value="matches('^[A-Z]{2}[0-9]{6}$')" />
        <source value="https://gematik.de/fhir/isik/v3/Basismodul/StructureDefinition/ISiKBerichtSubSysteme" />
      </constraint>
    </element>
    <element id="Composition.type.coding:XDS">
      <path value="Composition.type.coding" />
      <sliceName value="XDS" />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://ihe-d.de/CodeSystems/IHEXDStypeCode" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding:XDS.system">
      <path value="Composition.type.coding.system" />
      <min value="1" />
    </element>
    <element id="Composition.type.coding:XDS.code">
      <path value="Composition.type.coding.code" />
      <min value="1" />
    </element>
    <element id="Composition.type.text">
      <path value="Composition.type.text" />
      <short value="Dokumenttyp (Freitext)" />
      <comment value="Begründung zu Must Support: Die freitextliche Beschreibung des assoziierten Displaywerts der primären Codierung dient einer einheitlichen Ausgabe (jenseits verschiedener Codesysteme). Der Text kann ggf. aus vorhandenen Codes übernommen werden." />
      <mustSupport value="true" />
    </element>
    <element id="Composition.category">
      <path value="Composition.category" />
      <short value="Dokument-Kategorie" />
      <comment value="Begründung zu Must Support: Die Klassifizierung kann zur Strukturierung der Berichte genutzt werden, in dem Fall, dass das Narrative des Berichts dem Benutzer angezeigt wird. Das Dokument KANN z.B. mittels LOINC oder IHE-D-XDS-Classcodes klassifiziert werden." />
      <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>
      <mustSupport value="true" />
    </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" />
    </element>
    <element id="Composition.category.coding:LOINC.system">
      <path value="Composition.category.coding.system" />
      <min value="1" />
    </element>
    <element id="Composition.category.coding:LOINC.code">
      <path value="Composition.category.coding.code" />
      <min value="1" />
    </element>
    <element id="Composition.category.coding:IHE">
      <path value="Composition.category.coding" />
      <sliceName value="IHE" />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://ihe-d.de/CodeSystems/IHEXDSclassCode" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="Composition.category.coding:IHE.system">
      <path value="Composition.category.coding.system" />
      <min value="1" />
    </element>
    <element id="Composition.category.coding:IHE.code">
      <path value="Composition.category.coding.code" />
      <min value="1" />
    </element>
    <element id="Composition.subject">
      <path value="Composition.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.subject.reference">
      <path value="Composition.subject.reference" />
      <min value="1" />
      <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.author">
      <path value="Composition.author" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.author.display">
      <path value="Composition.author.display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.title">
      <path value="Composition.title" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section">
      <path value="Composition.section" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.title">
      <path value="Composition.section.title" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.text">
      <path value="Composition.section.text" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section.section">
      <path value="Composition.section.section" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>