<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ISiKDiagnose" />
  <url value="https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" />
  <version value="5.1.2" />
  <name value="ISiKDiagnose" />
  <status value="active" />
  <experimental value="false" />
  <date value="2026-04-22" />
  <publisher value="gematik GmbH" />
  <description value="Dieses Profil spezifiziert die Minimalanforderungen für die Bereitstellung von Informationen &#xA;über die Diagnosen eines Patienten im Rahmen des Bestätigungsverfahrens der gematik.  &#xA;### Motivation&#xA;Die Möglichkeit, auf eine Übersicht der Diagnosen eines Patienten zuzugreifen, Patienten anhand ihrer Diagnose zu suchen oder zu prüfen, &#xA;ob eine konkrete Diagnose bei einem Patienten vorliegt, sind wichtige Funktionen im klinischen Behandlungsablauf.  &#xA;&#xA;In FHIR werden Diagnosen mit der Condition-Ressource repräsentiert.  &#xA;&#xA;Da die Diagnosen in klinischen Primärsystemen in der Regel in ICD-10-codierter Form vorliegen, fordert ISiK in erster Linie diese Form des Austausches. &#xA;Falls eine Diagnose zwar dokumentiert, aber noch nicht codiert wurde (z.B. wenn die Kodierung erst nach der Entlassung erfolgt), &#xA;ist alternativ eine Repräsentation als Freitext-Diagnose möglich.&#xA;&#xA;### Kompatibilität&#xA;Für das Profil ISiKDiagnose wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISiKDiagnose valide sind, auch valide sind gegen:&#xA;* das [Profil ProfileConditionDiagnose der Medizininformatik-Initative](https://www.medizininformatik-initiative.de/fhir/core/modul-diagnose/StructureDefinition/Diagnose)&#xA;* das [Profil KBV_PR_Base_Condition_Diagnosis der KBV](https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Condition_Diagnosis)]  &#xA;Hinweise zu Inkompatibilitäten können über die [Portalseite](https://service.gematik.de/servicedesk/customer/portal/16) gemeldet werden." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Condition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Condition" />
  <derivation value="constraint" />
  <differential>
    <element id="Condition">
      <path value="Condition" />
      <constraint>
        <key value="isik-con1" />
        <severity value="error" />
        <human value="Falls eine kodierte Diagnose vorliegt muss angegeben werden durch welchen Kontakt diese Dokumentation erfolgte." />
        <expression value="code.coding.exists() implies encounter.exists()" />
        <source value="https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" />
      </constraint>
    </element>
    <element id="Condition.id">
      <path value="Condition.id" />
      <short value="serverseitige, interne ID des Datensatzes" />
      <comment value="**bedingtes Pflichtfeld/bedingtes MS:** Alle von einem Server bereitgestellten Ressourcen MÜSSEN über eine `id` verfügen.&#xA;  Von Clients erzeugte Ressourcen, die im Kontext einer CREATE-Interaktion übermittelt werden, MÜSSEN NICHT über eine `id`verfügen." />
      <mustSupport value="true" />
    </element>
    <element id="Condition.meta.versionId">
      <path value="Condition.meta.versionId" />
      <short value="Eindeutiger Name der serverseitigen Version des Datensatzes" />
      <comment value="Alle von einem Server bereitgestellten Ressourcen SOLLEN über eine `versionID` verfügen.&#xA;  Von Clients erzeugte Ressourcen, die im Kontext einer CREATE-Interaktion übermittelt werden, MÜSSEN NICHT über eine `versionID`verfügen." />
    </element>
    <element id="Condition.meta.lastUpdated">
      <path value="Condition.meta.lastUpdated" />
      <short value="Zeitpunkt der letzten Änderung" />
      <comment value="Alle von einem Server bereitgestellten Ressourcen SOLLEN über ein `lastUpdate` verfügen.&#xA;  Von Clients erzeugte Ressourcen, die im Kontext einer CREATE-Interaktion übermittelt werden, MÜSSEN NICHT über ein `lastUpdate`verfügen." />
    </element>
    <element id="Condition.extension">
      <path value="Condition.extension" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.extension:related">
      <path value="Condition.extension" />
      <sliceName value="related" />
      <short value="Verknüpfte Diagnose" />
      <comment value="Die Deutschen Kodierrichtlinien und die 'German Modification' ermöglichen es teilweise, &#xA;  ICD-10-Codierte Diagnosen miteinander zu verknüpfen (&amp;quot;Kreuz-Stern-Ausrufezeichen-Notation&amp;quot;), &#xA;  diese aber dennoch wie eigenständige Diagnosen (mit jeweils eigener Diagnosesicherheit oder -Lokalisation) zu kommunizieren.&#xA;  Daher ist es in Deutschland nicht möglich, dem internationalen Usus zu folgen und verknüpfte Diagnosen als postkoordinierten Code *einer* Condition-Ressource aufzufassen.&#xA;  Statt dessen müssen sie zwei eigenständige Condition-Ressourcen abgebildet werden, die mit Hilfe der `related`-Extension miteinander verknüpft werden.  &#xA;  Die Sekundärdiagnose verweist jeweils auf die Primärdiagnose." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/condition-related" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.clinicalStatus">
      <path value="Condition.clinicalStatus" />
      <short value="klinischer Status" />
      <comment value="**Begründung MS:** Auch in Stufe 4 sind keine (client-seitigen) schreibenden Operationen für das Erstellen einer Condition-Ressource vorgesehen &#xA;  (siehe CapabilityStatement). Das heißt, entweder führen KISe entsprechende Informationen und exponieren diese, &#xA;  oder es gibt keinen pragmatischen Mechanismus (im ISIK-Kontext), um den Use Case einer zusätzlichen Annotation mittels Client zu erfüllen. &#xA;  Da alle KIS-Hersteller, die sich zu Wort gemeldet haben, eine Befüllung von Condition.clinicalStatus NICHT unterstützen, &#xA;  erscheint das MS nach übergreifender Definition und ein verpflichtender Testfall nicht angemessen.  &#xA;  **Einschränkung der übergreifenden MS-Definition:** Verfügt ein bestätigungsrelevantes System nicht über die Datenstruktur &#xA;  zur Hinterlegung des Status einer Diagnose, so MUSS dieses System die Information NICHT abbilden. &#xA;  Das System MUSS jedoch `clinicalStatus` befüllen, sofern die entsprechende Information verfügbar ist.  &#xA;  **Hinweis:** Für Diagnosen aus der *ambulanten* Versorgung können die Werte für `clinicalStatus` und `verificationStatus` aus dem &#xA;  [ICD-10-Zusatzkennzeichen für die Diagnosesicherheit](https://www.bfarm.de/DE/Kodiersysteme/Services/Kodierfragen/ICD-10-GM/Allgemeine-Kodierfragen/icd-10-gm-1010.html) abgeleitet werden.&#xA;  Das entsprechende Mapping kann den [Deutschen Basisprofilen](https://simplifier.net/guide/leitfaden-de-basis-r4/ig-markdown-Ressourcen-DiagnosenCondition?version=current) entnommen werden." />
      <mustSupport value="true" />
    </element>
    <element id="Condition.verificationStatus">
      <path value="Condition.verificationStatus" />
      <short value="Bestätigungsstatus" />
      <comment value="**Einschränkung der übergreifenden MS-Definition:** Die Implementierung dieses Elements ist für Server optional. Die Kennzeichnung als Must-Support erfolgt, da es sich um ein als Modifier-Element markiertes Feld in der Kernspezifikation handelt. Clients, die eine ISiKPatient-Instanz verarbeiten, SOLLEN den Wert dieses Elements vor der weiteren Verarbeitung prüfen.&#xA;&#xA;**WICHTIGER Hinweis für Implementierer:**  &#xA;- Alle server-seitigen Implementierungen SOLLEN in der Lage sein, die systemintern möglichen Statuswerte korrekt in FHIR abzubilden, mindestens aber den Status 'confirmed'.&#xA;- Alle client-seitigen Implementierungen SOLLEN in der Lage sein, sämtliche Status-Codes zu interpretieren und dem Anwender in angemessener Form darstellen zu können." />
      <mustSupport value="true" />
    </element>
    <element id="Condition.code">
      <path value="Condition.code" />
      <short value="Diagnose-Code" />
      <comment value="Diagnosen SOLLEN mindestens entweder mit einem der angebenen standardisierten Codier-Verfahren codiert werden. &#xA;  Ist keine Codierung möglich, MUSS statt dessen eine textuelle Beschreibung der Prozedur angegeben werden.  &#xA;   **Begründung Pflichtfeld:** Ist *weder* eine Codierung *noch* eine textuelle Beschreibung vorhanden, besitzt diese Ressource keine medizinische Aussagefähigkeit." />
      <min value="1" />
      <constraint>
        <key value="icd-text-1" />
        <severity value="error" />
        <human value="Entweder MUSS eine kodierte Diagnose vorliegen oder eine textuelle Beschreibung. Stattdessen nur Extensions hinzuzufügen (vgl. https://www.hl7.org/fhir/element.html - ele-1), ist explizit nicht erlaubt." />
        <expression value="coding.exists().not() implies text.exists()" />
        <source value="https://gematik.de/fhir/isik/StructureDefinition/ISiKDiagnose" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding">
      <path value="Condition.code.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:ICD-10-GM">
      <path value="Condition.code.coding" />
      <sliceName value="ICD-10-GM" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Coding" />
        <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKICD10GMCoding" />
      </type>
      <patternCoding>
        <system value="http://fhir.de/CodeSystem/bfarm/icd-10-gm" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:ICD-10-GM.extension:Mehrfachcodierungs-Kennzeichen">
      <path value="Condition.code.coding.extension" />
      <sliceName value="Mehrfachcodierungs-Kennzeichen" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:ICD-10-GM.extension:Seitenlokalisation">
      <path value="Condition.code.coding.extension" />
      <sliceName value="Seitenlokalisation" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:ICD-10-GM.extension:Diagnosesicherheit">
      <path value="Condition.code.coding.extension" />
      <sliceName value="Diagnosesicherheit" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:Alpha-ID">
      <path value="Condition.code.coding" />
      <sliceName value="Alpha-ID" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Coding" />
        <profile value="http://fhir.de/StructureDefinition/CodingAlphaID" />
      </type>
      <patternCoding>
        <system value="http://fhir.de/CodeSystem/bfarm/alpha-id" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:Alpha-ID.system">
      <path value="Condition.code.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:Alpha-ID.code">
      <path value="Condition.code.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:SNOMED-CT">
      <path value="Condition.code.coding" />
      <sliceName value="SNOMED-CT" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Coding" />
        <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKSnomedCTCoding" />
      </type>
      <patternCoding>
        <system value="http://snomed.info/sct" />
      </patternCoding>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://gematik.de/fhir/isik/ValueSet/DiagnosesSCT" />
      </binding>
    </element>
    <element id="Condition.code.coding:Orphanet">
      <path value="Condition.code.coding" />
      <sliceName value="Orphanet" />
      <min value="0" />
      <max value="1" />
      <patternCoding>
        <system value="http://www.orpha.net" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:Orphanet.system">
      <path value="Condition.code.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.code.coding:Orphanet.code">
      <path value="Condition.code.coding.code" />
      <min value="1" />
    </element>
    <element id="Condition.bodySite">
      <path value="Condition.bodySite" />
      <short value="Körperstelle" />
      <comment value="**Begründung MS:** Harmonisierung mit KBV-Profil (KBV_PR_Base_Condition_Diagnosis)" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.bodySite.coding">
      <path value="Condition.bodySite.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Condition.bodySite.coding:snomed-ct">
      <path value="Condition.bodySite.coding" />
      <sliceName value="snomed-ct" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Coding" />
        <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKSnomedCTCoding" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.subject">
      <path value="Condition.subject" />
      <short value="Patientenbezug" />
      <comment value="**Begründung Must-Support:** Ein Patientenbezug der Diagnose MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen." />
      <mustSupport value="true" />
    </element>
    <element id="Condition.subject.reference">
      <path value="Condition.subject.reference" />
      <short value="Patienten-Link" />
      <comment value="**Begründung MS:** Die Verlinkung auf eine Patienten-Ressource dient der technischen Zuordnung der Dokumentation zu einem Patienten und ermöglicht wichtige API-Funktionen wie verkettete Suche, (Reverse-)Include etc.&#xA;Im ISik Kontext MUSS die referenzierte Ressource konform zu [ISiKPatient](https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient) sein.&#xA;Jenseits von ISiK KÖNNEN weitere Instanzen mit anderen Profilen referenziert werden." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.encounter">
      <path value="Condition.encounter" />
      <short value="Aufenthaltsbezug" />
      <comment value="**Begründung Must-Support:** Ein Aufenthaltsbezug der Diagnose MUSS zum Zwecke der Nachvollziehbarkeit und Datenintegrität exponiert und empfangen werden können." />
      <mustSupport value="true" />
    </element>
    <element id="Condition.encounter.reference">
      <path value="Condition.encounter.reference" />
      <short value="Encounter-Link" />
      <comment value="**Begründung Pflichtfeld:** Die Verlinkung auf eine Encounter-Ressource dient der technischen Zuordnung der Dokumentation zu einem Aufenthalt und ermöglicht wichtige API-Funktionen wie verkettete Suche, (Reverse-)Include etc.&#xA;**WICHTIGER Hinweis für Implementierer:** Die Zuordnung MUSS auf einen Encounter der Ebene &quot;Abteilungskontakt&quot; (siehe hierzu Basismodul &gt; UseCases &gt; Abbildung des Konstruktes &quot;Fall&quot;) erfolgen.  &#xA;Bei der Auswahl des Encounters ist zu beachten, dass unter einer (Abrechnungs-)&quot;Fallnummer&quot; (hier: `Encounter.account`) unter Umständen mehrere Encounter gruppiert sein können (z.B. stationärer Besuch mit mehreren vor- und nachstationären Aufenthalten.)&#xA;Im ISik Kontext MUSS die referenzierte Ressource konform zu [ISiKKontaktGesundheitseinrichtung](https://gematik.de/fhir/isik/StructureDefinition/ISiKKontaktGesundheitseinrichtung) sein.&#xA;Jenseits von ISiK KÖNNEN weitere Instanzen mit anderen Profilen referenziert werden." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.onset[x]">
      <path value="Condition.onset[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Erkrankungsbeginn" />
      <comment value="Datum oder Alter/Lebensphase des Erkrankungsbeginns&#xA;  **Begründung MS:** Die Kenntnis des Erkrankungszeitraumes ist wichtig für die korrekte Einschätzung der medizinischen Relevanz einer Erkraknung.  &#xA;  **Einschränkung der übergreifenden MS-Definition:** Verfügt ein bestätigungsrelevantes System nicht über die Datenstruktur zur Hinterlegung des Erkrankungszeitraumes,&#xA;  so MUSS dieses System die Information NICHT abbilden. &#xA;  Das System MUSS jedoch klinischen Status (`active`/`inactive`/`resolved`...) der Diagnose korrekt angeben, sofern die Information verfügbar ist." />
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="Age" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.onset[x]:onsetDateTime">
      <path value="Condition.onset[x]" />
      <sliceName value="onsetDateTime" />
      <short value="Erkrankungsbeginn als Datum" />
      <comment value="''Begründung MS:** Siehe onset[x]" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.onset[x]:onsetAge">
      <path value="Condition.onset[x]" />
      <sliceName value="onsetAge" />
      <short value="Erkrankungsbeginn als Alter" />
      <comment value="''Begründung MS:** Siehe onset[x]" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Age" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.onset[x]:onsetAge.extension:Lebensphase-Beginn">
      <path value="Condition.onset[x].extension" />
      <sliceName value="Lebensphase-Beginn" />
      <short value="Lebensphase des Erkrankungsbeginns" />
      <comment value="Alternative Angabe, wenn genauere Eingrenzungen des Zeitraums nicht möglich sind, insbesondere im Kontext anamnestischer Diagnosen" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.de/StructureDefinition/lebensphase" />
      </type>
    </element>
    <element id="Condition.abatement[x]">
      <path value="Condition.abatement[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Klinische relevanter Zeitraum Ende" />
      <comment value="Ende des klinisch relevanten Zeitraums der Diagnose  &#xA;  **Begründung MS:** Die Kenntnis des Erkrankungszeitraumes ist wichtig für die korrekte Einschätzung der medizinischen Relevanz einer Erkraknung.  &#xA;  **Einschränkung der übergreifenden MS-Definition:** Verfügt ein bestätigungsrelevantes System nicht über die Datenstruktur zur Hinterlegung des Erkrankungszeitraumes,&#xA;  so MUSS dieses System die Information NICHT abbilden. &#xA;  Das System MUSS jedoch klinischen Status (`active`/`inactive`/`resolved`...) der Diagnose korrekt angeben, sofern die Information verfügbar ist." />
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="Age" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.abatement[x]:abatementAge">
      <path value="Condition.abatement[x]" />
      <sliceName value="abatementAge" />
      <short value="Klinische relevanter Zeitraum Ende als Alter" />
      <comment value="''Begründung MS:** Siehe abatement[x]" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Age" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.abatement[x]:abatementAge.extension:Lebensphase-Ende">
      <path value="Condition.abatement[x].extension" />
      <sliceName value="Lebensphase-Ende" />
      <short value="Lebensphase des Erkrankungsendes" />
      <comment value="Alternative Angabe, wenn genauere Eingrenzungen des Zeitraums nicht möglich sind, insbesondere im Kontext anamnestischer Diagnosen" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.de/StructureDefinition/lebensphase" />
      </type>
    </element>
    <element id="Condition.abatement[x]:abatementDateTime">
      <path value="Condition.abatement[x]" />
      <sliceName value="abatementDateTime" />
      <short value="Klinische relevanter Zeitraum Ende als Datum" />
      <comment value="''Begründung MS:** Siehe abatement[x]" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Condition.recordedDate">
      <path value="Condition.recordedDate" />
      <short value="Dokumentationsdatum" />
      <comment value="Datum, an dem die Diagnose dokumentiert wurde.   &#xA;  **Begründung Pflichtfeld:** Das Dokumentationsdatum der Diagnose MUSS zu Qualitätssicherungszwecken angegeben werden. Dies ist das fachliche Dokumentationsdatum, &#xA;  nicht zu verwechseln mit der technischen Anlage des Datensatzes im Primärsystem. Diese beiden Daten können jedoch identisch sein.  &#xA;  **Hinweis:** Das Recorded Date MUSS mindestens auf den Monat genau angegeben werden." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Condition.note">
      <path value="Condition.note" />
      <short value="Notizen" />
      <comment value="Ergänzende Hinweise und Anmerkungen zur Diagnose" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>