<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="NotificationBundle" />
  <url value="https://demis.rki.de/fhir/StructureDefinition/NotificationBundle" />
  <version value="2.0.0" />
  <name value="NotificationBundle" />
  <title value="Meldevorgang" />
  <status value="active" />
  <date value="2025-02-14" />
  <publisher value="Robert Koch-Institut" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="demis-support@rki.de" />
    </telecom>
  </contact>
  <description value="Der Meldevorgang bildet den Container für Meldungen und die darin referenzierten Ressourcen." />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <version value="ALPHA-2" />
      <code value="DE" />
    </coding>
  </jurisdiction>
  <copyright value="Copyright (C) 2021-2025 Robert Koch-Institut" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="true" />
  <type value="Bundle" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Bundle" />
  <derivation value="constraint" />
  <differential>
    <element id="Bundle">
      <path value="Bundle" />
      <constraint>
        <key value="atLeastOneMetaProfile" />
        <severity value="error" />
        <human value="Es muss mindestens ein meta.profile angegeben werden." />
        <expression value="entry.all(resource.meta.profile.count()&gt;=1)" />
      </constraint>
    </element>
    <element id="Bundle.identifier">
      <path value="Bundle.identifier" />
      <short value="Identifier für den Meldevorgang" />
      <definition value="Der Identifier für den Meldevorgang ist als uuidv4 in value und unter der Verwendung der NotificationBundleId (https://demis.rki.de/fhir/NamingSystem/NotificationBundleId) in system anzugeben.&#xD;&#xA;&#xD;&#xA;Als system MUSS https://demis.rki.de/fhir/NamingSystem/NotificationBundleId verwendet werden.&#xD;&#xA;Als value MUSS für jede Nachricht (Meldevorgang) eine neue Random-UUID (v4) gemäß RFC4122 gebildet werden.&#xD;&#xA;&#xD;&#xA;Dabei ist zu beachten, dass der gesetzte Wert durch die Infrastruktur verworfen und neu generiert wird." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.identifier.use">
      <path value="Bundle.identifier.use" />
      <max value="0" />
    </element>
    <element id="Bundle.identifier.type">
      <path value="Bundle.identifier.type" />
      <max value="0" />
    </element>
    <element id="Bundle.identifier.system">
      <path value="Bundle.identifier.system" />
      <min value="1" />
      <fixedUri value="https://demis.rki.de/fhir/NamingSystem/NotificationBundleId" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.identifier.value">
      <path value="Bundle.identifier.value" />
      <short value="uuidv4" />
      <definition value="uuidv4" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.identifier.period">
      <path value="Bundle.identifier.period" />
      <max value="0" />
    </element>
    <element id="Bundle.identifier.assigner">
      <path value="Bundle.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Bundle.type">
      <path value="Bundle.type" />
      <short value="Typ der Bundle-Ressource." />
      <definition value="Typ der Bundle-Ressource. Für DEMIS ist der Typ grundsätzlich mit dem Wert „document“ aus dem referenzierten ValueSet (http://hl7.org/fhir/ValueSet/bundle-type|4.0.0) zu belegen." />
      <fixedCode value="document" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.total">
      <path value="Bundle.total" />
      <max value="0" />
    </element>
    <element id="Bundle.link">
      <path value="Bundle.link" />
      <max value="0" />
    </element>
    <element id="Bundle.entry">
      <path value="Bundle.entry" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="resource" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:notification">
      <path value="Bundle.entry" />
      <sliceName value="notification" />
      <short value="Enthaltene Meldungen." />
      <definition value="Enthaltene Meldungen. In einem Meldevorgang können mehrere Meldungen übermittelt werden. Dies trifft nicht auf jede Art von Meldevorgang zu und wird in abgeleiteten Profilen ggf. eingeschränkt. Ebenso wird der Typ der zu übermittelnden Meldung in den abgeleiteten Profilen vorgegeben." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:notification.resource">
      <path value="Bundle.entry.resource" />
      <short value="Enthält die Meldung" />
      <definition value="Enthält die Meldung. In davon abgeleiteten Profilen ist die Meldung vom erlaubten Typ enthalten." />
      <min value="1" />
      <type>
        <code value="Composition" />
        <profile value="https://demis.rki.de/fhir/StructureDefinition/Notification" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:notification.search">
      <path value="Bundle.entry.search" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:notification.request">
      <path value="Bundle.entry.request" />
      <max value="0" />
    </element>
    <element id="Bundle.entry:notification.response">
      <path value="Bundle.entry.response" />
      <max value="0" />
    </element>
    <element id="Bundle.signature">
      <path value="Bundle.signature" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>