<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ISiKAllergieUnvertraeglichkeit" />
  <url value="https://gematik.de/fhir/isik/StructureDefinition/ISiKAllergieUnvertraeglichkeit" />
  <version value="6.0.0-rc" />
  <name value="ISiKAllergieUnvertraeglichkeit" />
  <status value="active" />
  <experimental value="false" />
  <date value="2026-04-02" />
  <publisher value="gematik GmbH" />
  <description value="Diese Profil ermöglicht die Dokumentation von Allergien und Unverträglichkeiten in ISiK Szenarien.&#xA;&#xA;**Motivation**&#xA;&#xA;Die Möglichkeit, auf eine Übersicht der Allergien und Unverträglichkeiten eines Patienten zuzugreifen, ist eine wichtige Funktion im klinischen Behandlungsablauf. Dies gilt insbesondere, aber nicht ausschließlich, im Bereich der Arzneimitteltherapiesicherheit.&#xA;Motivierender Use-Case zur Einführung dieser Profile ist die [Arzneitmitteltherapiesicherheit im Krankenhaus - AMTS](https://gemspec.gematik.de/ig/fhir/isik/amts/6.0.0-rc/UseCases.html).&#xA;&#xA;In FHIR werden Allergien und Unverträglichkeiten mit der [AllergyIntolerance](https://hl7.org/fhir/R4/allergyintolerance.html)-Ressource repräsentiert.&#xA;&#xA;**Kompatibilität**&#xA;&#xA;Für das Profil ISiKAllergieUnvertraeglichkeit wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISiKAllergieUnvertraeglichkeit valide sind, auch valide sind gegen:&#xA;* [das Profil KBV_PR_Base_AllergyIntolerance der KBV](https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_AllergyIntolerance)&#xA;* [das Profil EMDAF_PR_AllergyIntolerance der GEVKO](https://fhir.gevko.de/StructureDefinition/EMDAF_PR_AllergyIntolerance)&#xA;* [das Profil AllergyIntolerance-uv-ips der International Patient Summary](http://hl7.org/fhir/uv/ips/StructureDefinition/AllergyIntolerance-uv-ips)&#xA;&#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="AllergyIntolerance" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/AllergyIntolerance" />
  <derivation value="constraint" />
  <differential>
    <element id="AllergyIntolerance.id">
      <path value="AllergyIntolerance.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="AllergyIntolerance.meta.versionId">
      <path value="AllergyIntolerance.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="AllergyIntolerance.meta.lastUpdated">
      <path value="AllergyIntolerance.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="AllergyIntolerance.implicitRules">
      <path value="AllergyIntolerance.implicitRules" />
      <short value="Verweis auf die Regeln, nach denen die Ressource erstellt wurde" />
      <comment value="Begründung Constraint: In ISiK existiert kein Use-Case für dieses Element. Da es sich um ein Modifying Element handelt, wird es daher ausgeschlossen.&#xA;  Darüber hinaus werden die Regeln als URI vorgehalten. Dies führt dazu, dass sich hinter der URI eine beliebige Menge an Regeln befinden kann; wodurch  nicht sichergestellt werden kann, dass alle Clients die Regeln korrekt interpretieren können." />
      <max value="0" />
    </element>
    <element id="AllergyIntolerance.clinicalStatus">
      <path value="AllergyIntolerance.clinicalStatus" />
      <short value="klinischer Status" />
      <comment value="**Begründung MS:** Der klinische Status ist notwendig, um aktive gegenüber zurückliegenden Allergien unterscheiden und in Medikations- sowie Entscheidungsunterstützungsprozessen korrekt berücksichtigen zu können." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.clinicalStatus.coding">
      <path value="AllergyIntolerance.clinicalStatus.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.clinicalStatus.coding.system">
      <path value="AllergyIntolerance.clinicalStatus.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.clinicalStatus.coding.code">
      <path value="AllergyIntolerance.clinicalStatus.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.verificationStatus">
      <path value="AllergyIntolerance.verificationStatus" />
      <short value="Verifikationsstatus" />
      <comment value="**Begründung MS:** Der Verifizierungsstatus macht transparent, ob eine Meldung bestätigt, widerlegt oder noch im Verdacht ist und ist Voraussetzung für belastbare AMTS-Prüfungen." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.verificationStatus.coding">
      <path value="AllergyIntolerance.verificationStatus.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.verificationStatus.coding.system">
      <path value="AllergyIntolerance.verificationStatus.coding.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.verificationStatus.coding.code">
      <path value="AllergyIntolerance.verificationStatus.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.type">
      <path value="AllergyIntolerance.type" />
      <short value="Type (Allergie oder Unverträglichkeit)" />
      <comment value="**Begründung MS:** Gibt die Unterscheidung zwischen Allergie und Unverträglichkeit an." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.category">
      <path value="AllergyIntolerance.category" />
      <short value="Kategorie" />
      <comment value="**Begründung MS:** Die Kategorie erlaubt das Filtern, z. B. nach Arzneimittel-, Lebensmittel- oder Umweltallergien, und unterstützt zielgerichtete Warn- und Recherchefunktionen." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.criticality">
      <path value="AllergyIntolerance.criticality" />
      <short value="Kritikalität" />
      <comment value="**Begründung MS:** Die Kritikalität beschreibt das erwartete Risiko bei erneuter Exposition und dient der Priorisierung von Warnhinweisen." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.code">
      <path value="AllergyIntolerance.code" />
      <short value="Benennung der Allergie/Unverträglichkeit" />
      <comment value="**Begründung Pflichtfeld:** Nur mit einer codierten oder textuell benannten Auslösersubstanz lässt sich die Allergie klinisch interpretieren und für Interaktionsprüfungen nutzen." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.code.coding">
      <path value="AllergyIntolerance.code.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.code.coding:snomed-ct">
      <path value="AllergyIntolerance.code.coding" />
      <sliceName value="snomed-ct" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Coding" />
        <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKSnomedCTCoding" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.code.coding:ask">
      <path value="AllergyIntolerance.code.coding" />
      <sliceName value="ask" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Coding" />
        <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKASKCoding" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.code.coding:atc">
      <path value="AllergyIntolerance.code.coding" />
      <sliceName value="atc" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Coding" />
        <profile value="https://gematik.de/fhir/isik/StructureDefinition/ISiKATCCoding" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.code.coding:atc.version">
      <path value="AllergyIntolerance.code.coding.version" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.code.text">
      <path value="AllergyIntolerance.code.text" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.patient">
      <path value="AllergyIntolerance.patient" />
      <short value="Patientenbezug" />
      <comment value="**Begründung Must-Support:** Ein Patientenbezug der AllergieUnverträglichkeit MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.patient.reference">
      <path value="AllergyIntolerance.patient.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="AllergyIntolerance.encounter">
      <path value="AllergyIntolerance.encounter" />
      <short value="Aufenthaltsbezug" />
      <comment value="**Begründung Must-Support:** Ein Aufenthaltsbezug der AllergieUnverträglichkeit MUSS stets zum Zwecke der Nachvollziehbarkeit und Datenintegrität vorliegen." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.encounter.reference">
      <path value="AllergyIntolerance.encounter.reference" />
      <short value="Encounter-Link" />
      <comment value="**Begründung MS:** 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;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="AllergyIntolerance.onset[x]">
      <path value="AllergyIntolerance.onset[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Beginn-Zeitpunkt" />
      <comment value="**Begründung MS:** Der dokumentierte Beginn unterstützt die medizinische Bewertung, ob eine Allergie aktuell relevant ist, und wird in CapabilityStatements als Suchparameter gefordert." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.onset[x]:onsetDateTime">
      <path value="AllergyIntolerance.onset[x]" />
      <sliceName value="onsetDateTime" />
      <short value="Beginn der Allergie/Unvertraeglichkeit" />
      <comment value="**Begründung MS:** Diese Variante erlaubt es, den Beginn als exakten Zeitstempel zu übertragen, wie er in Primärsystemen üblich ist." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.onset[x]:onsetAge">
      <path value="AllergyIntolerance.onset[x]" />
      <sliceName value="onsetAge" />
      <short value="Alter beim Beginn der Allergie/Unvertraeglichkeit" />
      <comment value="**Begründung MS:** Für lang zurückliegende Ereignisse wird der Beginn häufig nur als Alter dokumentiert" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Age" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.onset[x]:onsetString">
      <path value="AllergyIntolerance.onset[x]" />
      <sliceName value="onsetString" />
      <short value="Freitextinformation zum Beginn der Allergie/Unvertraeglichkeit" />
      <comment value="**Begründung MS:** Steht keine strukturierte Angabe zur Verfügung, verhindert eine Freitextbeschreibung des Beginns Informationsverlust." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.recordedDate">
      <path value="AllergyIntolerance.recordedDate" />
      <short value="Datum an dem die Allergie/Unverträglichkeit aufgezeichnet wurde" />
      <comment value="**Begründung MS:** Der Dokumentationszeitpunkt ist wichtig für Verlauf, Audits und Suchfunktionen nach frisch erfassten Allergien." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.recorder">
      <path value="AllergyIntolerance.recorder" />
      <short value="Person/Rolle, die die Information dokumentiert" />
      <comment value="**Begründung MS:** Die dokumentierende Person ermöglicht fachliche Rückfragen und unterstützt nachvollziehbare Verantwortungsketten." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.recorder.reference">
      <path value="AllergyIntolerance.recorder.reference" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.recorder.display">
      <path value="AllergyIntolerance.recorder.display" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.asserter">
      <path value="AllergyIntolerance.asserter" />
      <short value="Person/Rolle, die die Allergie/Unverträglichkeit festgestellt hat" />
      <comment value="**Begründung MS:** Die feststellende Person oder Rolle macht die klinische Verantwortlichkeit transparent." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.asserter.reference">
      <path value="AllergyIntolerance.asserter.reference" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.asserter.display">
      <path value="AllergyIntolerance.asserter.display" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.note">
      <path value="AllergyIntolerance.note" />
      <short value="Anmerkung" />
      <comment value="**Begründung MS:** Anmerkungen transportieren kontextuelle Details (z. B. individuelle Auslöser oder Maßnahmen), die in Codes nicht erfasst werden können." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.note.author[x]">
      <path value="AllergyIntolerance.note.author[x]" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.note.author[x].reference">
      <path value="AllergyIntolerance.note.author[x].reference" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.note.author[x].display">
      <path value="AllergyIntolerance.note.author[x].display" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.note.time">
      <path value="AllergyIntolerance.note.time" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.note.text">
      <path value="AllergyIntolerance.note.text" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.reaction">
      <path value="AllergyIntolerance.reaction" />
      <short value="Unerwünschte Reaktion" />
      <comment value="**Begründung MS:** Die beobachtete Reaktion ist für die klinische Bewertung der Gefährdung essenziell und Grundlage für Entscheidungshilfen." />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.reaction.manifestation">
      <path value="AllergyIntolerance.reaction.manifestation" />
      <short value="Manifestation der Reaktion" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.reaction.manifestation.coding">
      <path value="AllergyIntolerance.reaction.manifestation.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.reaction.manifestation.coding:snomed-ct">
      <path value="AllergyIntolerance.reaction.manifestation.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="AllergyIntolerance.reaction.manifestation.text">
      <path value="AllergyIntolerance.reaction.manifestation.text" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.reaction.severity">
      <path value="AllergyIntolerance.reaction.severity" />
      <short value="Schweregrad der Reaktion" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.reaction.exposureRoute">
      <path value="AllergyIntolerance.reaction.exposureRoute" />
      <short value="Expositionsweg" />
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.reaction.exposureRoute.coding">
      <path value="AllergyIntolerance.reaction.exposureRoute.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="AllergyIntolerance.reaction.exposureRoute.coding:snomed-ct">
      <path value="AllergyIntolerance.reaction.exposureRoute.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="AllergyIntolerance.reaction.exposureRoute.text">
      <path value="AllergyIntolerance.reaction.exposureRoute.text" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>