<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="KBV-PR-MIO-LAB-Composition" />
  <url value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_Composition" />
  <version value="1.0.0-update" />
  <name value="KBV_PR_MIO_LAB_Composition" />
  <title value="KBV_PR_MIO_LAB_Composition" />
  <status value="draft" />
  <experimental value="false" />
  <date value="2026-06-11" />
  <publisher value="mio42 GmbH" />
  <description value="Dieses Profil bündelt die Strukturen, die zum gesamten Laborbefund gehören. Das MIO Laborbefund enthält genau einen Laborgesamtbefund, inklusive aller Befundanteile und Anhänge." />
  <copyright value="Im folgenden Profil können Codes aus den Code-Systemen SNOMED CT®, LOINC, Ucum, ATC, ICD-10-GM, ICD-10-WHO, OPS, Alpha-ID/Alpha-ID-SE und ICF enthalten sein, die dem folgenden Urheberrecht unterliegen: This material includes SNOMED CT® Clinical Terms® (SNOMED CT® CT®) which is used by permission of SNOMED CT® International. All rights reserved. SNOMED CT® CT®, was originally created by The College of American Pathologists. SNOMED CT® and SNOMED CT® CT are registered trademarks of SNOMED CT® International. Implementers of these artefacts must have the appropriate SNOMED CT® CT Affiliate license. This material contains content from LOINC (http://LOINC.org). LOINC is copyright © 1995-2020, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://LOINC.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc. This product includes all or a portion of the UCUM table, UCUM codes, and UCUM definitions or is derived from it, subject to a license from Regenstrief Institute, Inc. and The UCUM Organization. Your use of the UCUM table, UCUM codes, UCUM definitions also is subject to this license, a copy of which is available at http://unitsofmeasure.org. The current complete UCUM table, UCUM Specification are available for download at http://unitsofmeasure.org. The UCUM table and UCUM codes are copyright © 1995-2009, Regenstrief Institute, Inc. and the Unified Codes for Units of Measures (UCUM) Organization. All rights reserved. THE UCUM TABLE (IN ALL FORMATS), UCUM DEFINITIONS, AND SPECIFICATION ARE PROVIDED 'AS IS.' ANY EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Dieses Material enthält Inhalte aus ATC. Die Erstellung erfolgte unter Verwendung der Datenträger der amtlichen Fassung der ATC-Klassifikation mit DDD des Bundesinstituts für Arzneimittel und Medizinprodukte (BfArM). Dieses Material enthält Inhalte aus ICD-10-GM, ICD-10-WHO, OPS Alpha-ID ans Alpha-ID-SE. Die Erstellung erfolgt unter Verwendung der maschinenlesbaren Fassung des Bundesinstituts für Arzneimittel und Medizinprodukte (BfArM). Dieses Material enthält Inhalte aus ICF. Die Erstellung erfolgt unter Verwendung der maschinenlesbaren Fassung des Deutschen Instituts für Medizinische Dokumentation und Information (DIMDI). ICF-Kodes, -Begriffe und -Texte © Weltgesundheitsorganisation, übersetzt und herausgegeben durch das Deutsche Institut für Medizinische Dokumentation und Information von der International classification of functioning, disability and health - ICF, herausgegeben durch die Weltgesundheitsorganisation." />
  <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">
      <path value="Composition" />
      <definition value="Dieses Profil bündelt die Strukturen, die zum gesamten Laborbefund gehören. Das MIO Laborbefund enthält genau einen Laborgesamtbefund, inklusive aller Befundanteile und Anhänge." />
    </element>
    <element id="Composition.meta">
      <path value="Composition.meta" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.meta.id">
      <path value="Composition.meta.id" />
      <max value="0" />
    </element>
    <element id="Composition.meta.versionId">
      <path value="Composition.meta.versionId" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.meta.lastUpdated">
      <path value="Composition.meta.lastUpdated" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.meta.source">
      <path value="Composition.meta.source" />
      <max value="0" />
    </element>
    <element id="Composition.implicitRules">
      <path value="Composition.implicitRules" />
      <max value="0" />
    </element>
    <element id="Composition.language">
      <path value="Composition.language" />
      <max value="0" />
    </element>
    <element id="Composition.text.status">
      <path value="Composition.text.status" />
      <patternCode value="extensions" />
    </element>
    <element id="Composition.contained">
      <path value="Composition.contained" />
      <max value="0" />
    </element>
    <element id="Composition.extension">
      <path value="Composition.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:version">
      <path value="Composition.extension" />
      <sliceName value="version" />
      <definition value="Vom erstellenden System vergegeben Version des Laborgesamtbefundes" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/5.0/StructureDefinition/extension-Composition.version" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:version.extension">
      <path value="Composition.extension.extension" />
      <max value="0" />
    </element>
    <element id="Composition.extension:version.value[x]">
      <path value="Composition.extension.value[x]" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:basedOn-order-or-requisition">
      <path value="Composition.extension" />
      <sliceName value="basedOn-order-or-requisition" />
      <definition value="Referenz auf die Laborauftrag-Informationen" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.eu/fhir/StructureDefinition/composition-basedOn-order-or-requisition" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:basedOn-order-or-requisition.value[x]">
      <path value="Composition.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_ServiceRequest" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:basedOn-order-or-requisition.value[x].reference">
      <path value="Composition.extension.value[x].reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:basedOn-order-or-requisition.value[x].type">
      <path value="Composition.extension.value[x].type" />
      <max value="0" />
    </element>
    <element id="Composition.extension:basedOn-order-or-requisition.value[x].identifier">
      <path value="Composition.extension.value[x].identifier" />
      <max value="0" />
    </element>
    <element id="Composition.extension:basedOn-order-or-requisition.value[x].display">
      <path value="Composition.extension.value[x].display" />
      <max value="0" />
    </element>
    <element id="Composition.extension:diagnosticReport-reference">
      <path value="Composition.extension" />
      <sliceName value="diagnosticReport-reference" />
      <definition value="Referenz auf den Laborgesamtbefund" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.eu/fhir/extensions/StructureDefinition/composition-diagnosticReportReference" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:diagnosticReport-reference.value[x]">
      <path value="Composition.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_DiagnosticReport" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:diagnosticReport-reference.value[x].reference">
      <path value="Composition.extension.value[x].reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:diagnosticReport-reference.value[x].type">
      <path value="Composition.extension.value[x].type" />
      <max value="0" />
    </element>
    <element id="Composition.extension:diagnosticReport-reference.value[x].identifier">
      <path value="Composition.extension.value[x].identifier" />
      <max value="0" />
    </element>
    <element id="Composition.extension:diagnosticReport-reference.value[x].display">
      <path value="Composition.extension.value[x].display" />
      <max value="0" />
    </element>
    <element id="Composition.extension:information-recipient">
      <path value="Composition.extension" />
      <sliceName value="information-recipient" />
      <short value="Empfänger:in des Laborbefundes" />
      <definition value="Empfänger:innen können sein:&#xA;&#xA;  * Behandelnde/r Arzt/Ärztin als Person oder Einrichtung&#xA;  * Behandelnde/r Therapeut:in als Person oder Einrichtung&#xA;  * Behandelnde Person/Einrichtung-Kombination&#xA;  * Der/die Patient:in selbst" />
      <min value="1" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.eu/fhir/StructureDefinition/information-recipient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:information-recipient.value[x]">
      <path value="Composition.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_Patient" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_RelatedPerson" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_Practitioner" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_PractitionerRole" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_Organization" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:information-recipient.value[x].reference">
      <path value="Composition.extension.value[x].reference" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.extension:information-recipient.value[x].identifier">
      <path value="Composition.extension.value[x].identifier" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier">
      <path value="Composition.identifier" />
      <short value="Versionsunabhängiger konstanter Identifikator Laborgesamtbefund (UUID)" />
      <definition value="Identifikator für gesamten Laborbefund, der vom durchführenden, den Befund erzeugenden Labor zugewiesen wird und der über die Versionen hinweg konstant bleibt." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.identifier.system">
      <path value="Composition.identifier.system" />
      <min value="1" />
      <patternUri value="urn:ietf:rfc:3986" />
      <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" />
      <definition value="Hier wird angegeben, ob ein vorläufiger oder endgültiger digitaler Laborbefund erstellt wird." />
      <mustSupport value="true" />
    </element>
    <element id="Composition.type">
      <path value="Composition.type" />
      <definition value="Hier ist ein Code enthalten, welcher Beschreibt, dass es sich um einen Laborbefund handelt." />
      <patternCodeableConcept>
        <coding>
          <system value="http://snomed.info/sct" />
          <version value="http://snomed.info/sct/11000274103/version/20251115" />
          <code value="4241000179101" />
          <display value="Laboratory report (record artifact)" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding">
      <path value="Composition.type.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding.system">
      <path value="Composition.type.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding.version">
      <path value="Composition.type.coding.version" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding.code">
      <path value="Composition.type.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding.display">
      <path value="Composition.type.coding.display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.type.coding.userSelected">
      <path value="Composition.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Composition.type.text">
      <path value="Composition.type.text" />
      <max value="0" />
    </element>
    <element id="Composition.category">
      <path value="Composition.category" />
      <max value="0" />
    </element>
    <element id="Composition.subject">
      <path value="Composition.subject" />
      <short value="Zu behandelnde Person" />
      <definition value="Hier wird die zu behandelnde Person referenziert." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_Patient|1.0.0-update" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.subject.identifier">
      <path value="Composition.subject.identifier" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-kvid-10" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.encounter">
      <path value="Composition.encounter" />
      <max value="0" />
    </element>
    <element id="Composition.date">
      <path value="Composition.date" />
      <definition value="Erstellungszeitpunkt." />
      <mustSupport value="true" />
    </element>
    <element id="Composition.author">
      <path value="Composition.author" />
      <definition value="Hier können ein Autor oder mehrere Autoren des Laborbefundes abgebildet werden" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.author.reference">
      <path value="Composition.author.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.author.type">
      <path value="Composition.author.type" />
      <max value="0" />
    </element>
    <element id="Composition.author.identifier">
      <path value="Composition.author.identifier" />
      <max value="0" />
    </element>
    <element id="Composition.author.display">
      <path value="Composition.author.display" />
      <max value="0" />
    </element>
    <element id="Composition.title">
      <path value="Composition.title" />
      <definition value="Hier wird dem Dokument ein lesbarer Name gegeben." />
      <patternString value="Laboratory Report" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.confidentiality">
      <path value="Composition.confidentiality" />
      <max value="0" />
    </element>
    <element id="Composition.attester">
      <path value="Composition.attester" />
      <short value="Freigabe des gesamten Laborbefundes" />
      <definition value="Hier werden Angaben zur Freigabe des gesamten Laborbefundes gemacht. Das beinhaltet die Angabe der freigebenden Person, des Zeitpunktes und der Typisierung der Freigabe." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.attester.mode">
      <path value="Composition.attester.mode" />
      <definition value="Typisierung der Freigabe als Verantwortlichkeit im juristischen Sinn. Dies entspricht den Anforderungen der &quot;Richtlinie der Bundesärztekammer zur Qualitätssicherung laboratoriumsmedizinischer Untersuchungen&quot;, welche für den Laborbefundbericht eine solche Freigabe vorschreibt." />
      <patternCode value="legal" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.attester.time">
      <path value="Composition.attester.time" />
      <definition value="Zeitpunkt der Freigabe des Gesamtbefundes. Im Laborkontext soll der Zeitpunkt nach Möglichkeit minutengenau angegeben werden, die Mindestangabe ist tagesgenau." />
      <min value="1" />
      <constraint>
        <key value="date-1" />
        <severity value="error" />
        <human value="Datetime must be at least day, month and year." />
        <expression value="($this as dateTime).toString().length() &gt;= 10" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_Composition" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Composition.attester.party">
      <path value="Composition.attester.party" />
      <definition value="Referenz Freigebende Person" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_Practitioner" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_LAB_PractitionerRole" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Composition.attester.party.reference">
      <path value="Composition.attester.party.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.attester.party.type">
      <path value="Composition.attester.party.type" />
      <max value="0" />
    </element>
    <element id="Composition.attester.party.identifier">
      <path value="Composition.attester.party.identifier" />
      <max value="0" />
    </element>
    <element id="Composition.attester.party.display">
      <path value="Composition.attester.party.display" />
      <max value="0" />
    </element>
    <element id="Composition.custodian">
      <path value="Composition.custodian" />
      <max value="0" />
    </element>
    <element id="Composition.relatesTo">
      <path value="Composition.relatesTo" />
      <max value="0" />
    </element>
    <element id="Composition.event">
      <path value="Composition.event" />
      <max value="0" />
    </element>
    <element id="Composition.section">
      <path value="Composition.section" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="The \&quot;body\&quot; of the report is organized as a tree of up to two levels of sections: top level sections represent laboratory specialties. A top level section SHALL contain either one text block carrying all the text results produced for this specialty along with Laboratory Data Entries or a set of Laboratory Report Item Sections. In the first case the specialty section happens to also be a leaf section. In the latter case, each (second level) leaf section contained in the (top level) specialty section represents a Report Item: i.e., a battery, a specimen study (especially in microbiology), or an individual test. In addition, any leaf section SHALL contain a Laboratory Data Entries containing the observations of that section in a machine-readable format." />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section:annotations">
      <path value="Composition.section" />
      <sliceName value="annotations" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section:annotations.title">
      <path value="Composition.section.title" />
      <max value="0" />
    </element>
    <element id="Composition.section:annotations.code">
      <path value="Composition.section.code" />
      <min value="1" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <version value="2.82" />
          <code value="48767-8" />
          <display value="Annotation comment [Interpretation] Narrative" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
    </element>
    <element id="Composition.section:annotations.code.coding">
      <path value="Composition.section.code.coding" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section:annotations.code.coding.system">
      <path value="Composition.section.code.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section:annotations.code.coding.version">
      <path value="Composition.section.code.coding.version" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section:annotations.code.coding.code">
      <path value="Composition.section.code.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section:annotations.code.coding.display">
      <path value="Composition.section.code.coding.display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section:annotations.code.coding.userSelected">
      <path value="Composition.section.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Composition.section:annotations.code.text">
      <path value="Composition.section.code.text" />
      <max value="0" />
    </element>
    <element id="Composition.section:annotations.author">
      <path value="Composition.section.author" />
      <max value="0" />
    </element>
    <element id="Composition.section:annotations.focus">
      <path value="Composition.section.focus" />
      <max value="0" />
    </element>
    <element id="Composition.section:annotations.text">
      <path value="Composition.section.text" />
      <definition value="Freitextfeld für zusätzliche Informationen zum Laborgesamtbefund." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Composition.section:annotations.text.status">
      <path value="Composition.section.text.status" />
      <patternCode value="additional" />
    </element>
    <element id="Composition.section:annotations.mode">
      <path value="Composition.section.mode" />
      <max value="0" />
    </element>
    <element id="Composition.section:annotations.orderedBy">
      <path value="Composition.section.orderedBy" />
      <max value="0" />
    </element>
    <element id="Composition.section:annotations.entry">
      <path value="Composition.section.entry" />
      <max value="0" />
    </element>
    <element id="Composition.section:annotations.emptyReason">
      <path value="Composition.section.emptyReason" />
      <max value="0" />
    </element>
    <element id="Composition.section:annotations.section">
      <path value="Composition.section.section" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>