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