<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="NotificationBundleLaboratory" />
  <url value="https://demis.rki.de/fhir/StructureDefinition/NotificationBundleLaboratory" />
  <version value="2.0.0" />
  <name value="NotificationBundleLaboratory" />
  <title value="Erregernachweismeldevorgang" />
  <status value="active" />
  <date value="2025-06-15" />
  <publisher value="Robert Koch-Institut" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="demis-support@rki.de" />
    </telecom>
  </contact>
  <description value="Der Erregernachweismeldevorgang ist vom Meldevorgang abgeleitet und bildet den Container für eine Erregernachweismeldung 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="false" />
  <type value="Bundle" />
  <baseDefinition value="https://demis.rki.de/fhir/StructureDefinition/NotificationBundle" />
  <derivation value="constraint" />
  <differential>
    <element id="Bundle">
      <path value="Bundle" />
      <constraint>
        <key value="maxOneNotifiedPerson" />
        <severity value="error" />
        <human value="Im NotificationBundleLaboratory darf maximal eine betroffene Person (namentlich oder anonym) enthalten sein." />
        <expression value="(entry.where(resource.meta.profile='https://demis.rki.de/fhir/StructureDefinition/NotifiedPerson').count()&lt;=1) or (entry.where(resource.meta.profile='https://demis.rki.de/fhir/StructureDefinition/NotifiedPersonAnonymous').count()&lt;=1)" />
      </constraint>
      <constraint>
        <key value="exactlyOneSubmittingRole" />
        <severity value="error" />
        <human value="Im NotificationBundleLaboratory muss genau eine Einsender-Rolle enthalten sein." />
        <expression value="entry.where(resource.meta.profile='https://demis.rki.de/fhir/StructureDefinition/SubmittingRole').count()=1" />
      </constraint>
      <constraint>
        <key value="notifiedPersonAnonymousAndRelatesToTargetIdentifier" />
        <severity value="error" />
        <human value="Wenn im NotificationBundleLaboratory eine NotifiedPersonAnonymous enthalten ist, dann muss in der NotificationLaboratory die relatesTo-Referenz (relatesTo.target[x].identifier.value) gesetzt sein." />
        <expression value="(entry.where(resource.meta.profile='https://demis.rki.de/fhir/StructureDefinition/NotifiedPersonAnonymous').count()=0) or ((entry.where(resource.meta.profile='https://demis.rki.de/fhir/StructureDefinition/NotifiedPersonAnonymous').count()=1) and (entry.where(resource.relatesTo.target.identifier.value.count()=1)))" />
      </constraint>
    </element>
    <element id="Bundle.meta">
      <path value="Bundle.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.meta.profile">
      <path value="Bundle.meta.profile" />
      <min value="1" />
      <max value="1" />
      <patternCanonical value="https://demis.rki.de/fhir/StructureDefinition/NotificationBundleLaboratory" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.identifier.system">
      <path value="Bundle.identifier.system" />
      <fixedUri value="https://demis.rki.de/fhir/NamingSystem/NotificationBundleId" />
    </element>
    <element id="Bundle.entry:notification">
      <path value="Bundle.entry" />
      <sliceName value="notification" />
      <definition value="Enthaltene Meldungen. In einem Erregernachweismeldevorgang muss genau eine Erregernachweismeldung enthalten sein." />
      <max value="1" />
    </element>
    <element id="Bundle.entry:notification.resource">
      <path value="Bundle.entry.resource" />
      <min value="1" />
      <type>
        <code value="Composition" />
        <profile value="https://demis.rki.de/fhir/StructureDefinition/NotificationLaboratory" />
      </type>
    </element>
  </differential>
</StructureDefinition>