<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="AnnotationCommunication" />
  <url value="https://emiga.rki.de/fhir/common/StructureDefinition/AnnotationCommunication" />
  <version value="0.7.0" />
  <name value="AnnotationCommunication" />
  <title value="Annotation" />
  <status value="active" />
  <experimental value="false" />
  <date value="2026-03-04" />
  <publisher value="Robert Koch-Institut" />
  <description value="Annotationen dienen dazu, Entitäten wie z.B. Fälle, Ausbrüche oder Personen mit Notizen, Kommentaren und Anhängen zu versehen sowie allgemeine Notizen, Kommentare und Dokumente ohne Entitätsbezug zu hinterlegen." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Communication" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Communication" />
  <derivation value="constraint" />
  <differential>
    <element id="Communication.meta">
      <path value="Communication.meta" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.meta.profile">
      <path value="Communication.meta.profile" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Communication.meta.profile:emigaprofile">
      <path value="Communication.meta.profile" />
      <sliceName value="emigaprofile" />
      <min value="0" />
      <max value="*" />
      <patternCanonical value="https://emiga.rki.de/fhir/common/StructureDefinition/AnnotationCommunication" />
    </element>
    <element id="Communication.meta.security">
      <path value="Communication.meta.security" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <description value="Slicing security attribute by coding system" />
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.meta.security:visibility">
      <path value="Communication.meta.security" />
      <sliceName value="visibility" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://emiga.rki.de/fhir/common/ValueSet/AnnotationResourceVisibilityType" />
      </binding>
    </element>
    <element id="Communication.meta.security:visibility.system">
      <path value="Communication.meta.security.system" />
      <min value="1" />
      <patternUri value="https://emiga.rki.de/fhir/common/CodeSystem/ResourceVisibilityType" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.meta.security:visibility.code">
      <path value="Communication.meta.security.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.meta.security:responsibility">
      <path value="Communication.meta.security" />
      <sliceName value="responsibility" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://emiga.rki.de/fhir/common/ValueSet/ResourceResponsibility" />
      </binding>
    </element>
    <element id="Communication.meta.security:responsibility.system">
      <path value="Communication.meta.security.system" />
      <min value="1" />
      <patternUri value="https://emiga.rki.de/fhir/common/CodeSystem/ResourceResponsibility" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.meta.security:responsibility.code">
      <path value="Communication.meta.security.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.meta.tag">
      <path value="Communication.meta.tag" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.meta.tag:personalInformation">
      <path value="Communication.meta.tag" />
      <sliceName value="personalInformation" />
      <short value="Kennzeichnung von personenbezogenen Daten" />
      <definition value="Kennzeichnung von personenbezogenen Daten" />
      <min value="1" />
      <max value="*" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://emiga.rki.de/fhir/common/ValueSet/PersonalInformation" />
      </binding>
    </element>
    <element id="Communication.meta.tag:personalInformation.system">
      <path value="Communication.meta.tag.system" />
      <min value="1" />
      <patternUri value="https://emiga.rki.de/fhir/common/CodeSystem/PersonalInformation" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.meta.tag:personalInformation.code">
      <path value="Communication.meta.tag.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.implicitRules">
      <path value="Communication.implicitRules" />
      <max value="0" />
    </element>
    <element id="Communication.language">
      <path value="Communication.language" />
      <max value="0" />
    </element>
    <element id="Communication.text">
      <path value="Communication.text" />
      <max value="0" />
    </element>
    <element id="Communication.contained">
      <path value="Communication.contained" />
      <max value="0" />
    </element>
    <element id="Communication.extension">
      <path value="Communication.extension" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.extension:processingStatus">
      <path value="Communication.extension" />
      <sliceName value="processingStatus" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://emiga.rki.de/fhir/common/Extension/ProcessingStatus" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Communication.extension:processingStatus.value[x]">
      <path value="Communication.extension.value[x]" />
      <binding>
        <strength value="required" />
        <valueSet value="https://emiga.rki.de/fhir/common/ValueSet/ProcessingStatusAnnotation" />
      </binding>
    </element>
    <element id="Communication.extension:dateCreated">
      <path value="Communication.extension" />
      <sliceName value="dateCreated" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://emiga.rki.de/fhir/common/Extension/DateCreated" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Communication.modifierExtension">
      <path value="Communication.modifierExtension" />
      <max value="0" />
    </element>
    <element id="Communication.identifier">
      <path value="Communication.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <description value="slicing patient identifier by system" />
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Identifikator der Annotation" />
      <definition value="Eindeutiger fachlicher Identifikator der Annotation (z. B. Aktenzeichen, Dokumenten- oder Vorgangsnummer), der unabhängig von der technischen Ressourcen-ID zur Identifikation und Referenzierung der Annotation verwendet wird." />
      <mustSupport value="true" />
    </element>
    <element id="Communication.identifier:EmigaID">
      <path value="Communication.identifier" />
      <sliceName value="EmigaID" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://emiga.rki.de/fhir/common/StructureDefinition/IdentifierEmigaID" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Communication.identifier:EmigaID.use">
      <path value="Communication.identifier.use" />
      <fixedCode value="official" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.identifier:EmigaFileNumber">
      <path value="Communication.identifier" />
      <sliceName value="EmigaFileNumber" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://emiga.rki.de/fhir/common/StructureDefinition/IdentifierEmigaFileNumber" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Communication.identifier:EmigaFileNumber.use">
      <path value="Communication.identifier.use" />
      <fixedCode value="official" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.identifier:SurvNetFileNumber">
      <path value="Communication.identifier" />
      <sliceName value="SurvNetFileNumber" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://emiga.rki.de/fhir/common/StructureDefinition/IdentifierSurvNetFileNumber" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Communication.identifier:SurvNetFileNumber.use">
      <path value="Communication.identifier.use" />
      <fixedCode value="temp" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.instantiatesCanonical">
      <path value="Communication.instantiatesCanonical" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.instantiatesUri">
      <path value="Communication.instantiatesUri" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.basedOn">
      <path value="Communication.basedOn" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.partOf">
      <path value="Communication.partOf" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.inResponseTo">
      <path value="Communication.inResponseTo" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.status">
      <path value="Communication.status" />
      <comment value="Der Status der Annotation wird auf 'completed' gesetzt, da der Verarbeitungsstatus der Annotation über die Extension ProcessingStatus definiert wird." />
      <fixedCode value="completed" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.statusReason">
      <path value="Communication.statusReason" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.category">
      <path value="Communication.category" />
      <short value="Kategorie" />
      <definition value="Kategorie der Annotation" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.category.coding">
      <path value="Communication.category.coding" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://emiga.rki.de/fhir/ValueSet/AnnotationCategoryVS" />
      </binding>
    </element>
    <element id="Communication.category.coding.system">
      <path value="Communication.category.coding.system" />
      <min value="1" />
      <patternUri value="https://emiga.rki.de/fhir/CodeSystem/AnnotationCategory" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.category.coding.version">
      <path value="Communication.category.coding.version" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.category.coding.code">
      <path value="Communication.category.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.category.coding.display">
      <path value="Communication.category.coding.display" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.priority">
      <path value="Communication.priority" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.medium">
      <path value="Communication.medium" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.subject">
      <path value="Communication.subject" />
      <comment value="Subject der Annotation ist ein andere Entität, es wird über about referenziert" />
      <max value="0" />
    </element>
    <element id="Communication.topic">
      <path value="Communication.topic" />
      <short value="Betreff" />
      <definition value="Der Betreff der Annotation" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.topic.coding">
      <path value="Communication.topic.coding" />
      <comment value="Der Betreff wird im Text Feld dokumentiert" />
      <max value="0" />
    </element>
    <element id="Communication.topic.text">
      <path value="Communication.topic.text" />
      <short value="Betreff-Inhalt" />
      <definition value="Der Betreff der Annotation wird im Text Feld dokumentiert." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.about">
      <path value="Communication.about" />
      <short value="Bezugsentität" />
      <definition value="Referenz zur Bezugsentität" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.encounter">
      <path value="Communication.encounter" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.sent">
      <path value="Communication.sent" />
      <short value="Datum" />
      <definition value="Hier wird ein benutzerdefiniertes Datum angegeben." />
      <mustSupport value="true" />
    </element>
    <element id="Communication.received">
      <path value="Communication.received" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.recipient">
      <path value="Communication.recipient" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.sender">
      <path value="Communication.sender" />
      <short value="Erstellende Person" />
      <definition value="Erstellende Person der Annotation" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://emiga.rki.de/fhir/common/StructureDefinition/EmigaUserPractitioner" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Communication.reasonCode">
      <path value="Communication.reasonCode" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.reasonReference">
      <path value="Communication.reasonReference" />
      <comment value="Derzeit für Emiga Anwendungsfälle nicht relevant" />
      <max value="0" />
    </element>
    <element id="Communication.payload">
      <path value="Communication.payload" />
      <short value="Inhalt" />
      <definition value="Inhalt der Annotation" />
      <mustSupport value="true" />
    </element>
    <element id="Communication.payload.content[x]">
      <path value="Communication.payload.content[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <comment value="Der Inhalt der Annotation wird im contentString Feld gespeichert oder im Fall eines Anhangs im contentAttachment Feld" />
      <type>
        <code value="string" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="https://emiga.rki.de/fhir/common/StructureDefinition/AttachmentDocumentReference" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Communication.payload.content[x]:contentString">
      <path value="Communication.payload.content[x]" />
      <sliceName value="contentString" />
      <short value="Beschreibung - Inhalt der Annotation" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Communication.payload.content[x]:contentReference">
      <path value="Communication.payload.content[x]" />
      <sliceName value="contentReference" />
      <short value="Anhang - Hier wird der Anhang der Annotation referenziert" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://emiga.rki.de/fhir/common/StructureDefinition/AttachmentDocumentReference" />
      </type>
    </element>
  </differential>
</StructureDefinition>