<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="VSDMBundle" />
  <url value="https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMBundle" />
  <version value="1.0.0" />
  <name value="VSDMBundle" />
  <title value="Versichertenstammdaten" />
  <status value="active" />
  <experimental value="false" />
  <date value="2026-04-17" />
  <publisher value="gematik GmbH" />
  <description value="Bundle zur Übermittlung der Ressourcen im Versichertenstammdatenmanagement (VSDM) 2.0" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Bundle" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Bundle" />
  <derivation value="constraint" />
  <differential>
    <element id="Bundle">
      <path value="Bundle" />
      <short value="Versichertenstammdaten" />
      <definition value="Bundle zur Übermittlung der Ressourcen im Versichertenstammdatenmanagement (VSDM) 2.0" />
    </element>
    <element id="Bundle.meta">
      <path value="Bundle.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.meta.lastUpdated">
      <path value="Bundle.meta.lastUpdated" />
      <short value="Aktualisierungszeitpunkt (inhaltlich)" />
      <definition value="Dieser Zeitpunkt gibt an, wann die Versichertenstammdaten zuletzt inhaltlich aktualisiert wurden." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.type">
      <path value="Bundle.type" />
      <comment value="Die im VSDM 2.0 übermittelten Versichertenstammdaten stellen nicht - wie bei anderen Diensten der Telematikinfrastruktur - ein zusammenhängendes [Dokument im Sinne der FHIR-Spezifikation](https://hl7.org/fhir/R4/documents.html) dar.&#xA;Sie bestehen lediglich aus administrativen Daten, die zur Abbildung in FHIR auf mehrere miteinander verbundene Ressourcen verteilt sind.&#xA;Aus diesem Grund wird auf den Overhead eines Document-Bundles verzichtet und lediglich eine Collection verwendet." />
      <fixedCode value="collection" />
    </element>
    <element id="Bundle.timestamp">
      <path value="Bundle.timestamp" />
      <short value="Aktualisierungszeitpunkt (technisch)" />
      <definition value="Dieser Zeitpunkt gibt an, wann das gesamte Bundle erstellt wurde." />
      <comment value="Wenn der VSDM 2.0 Resource Server das gesamte Bundle speichert, darf dieser Zeitpunkt gleich der Angabe in meta.lastUpdated sein. &#xA;Wenn der Resource Server das Bundle bei jeder Anfrage neu erstellt, wird hier jeweils der aktuelle Erstellungszeitpunkt angegeben." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry">
      <path value="Bundle.entry" />
      <slicing>
        <discriminator>
          <type value="profile" />
          <path value="resource" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="3" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:VSDMPatient">
      <path value="Bundle.entry" />
      <sliceName value="VSDMPatient" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:VSDMPatient.resource">
      <path value="Bundle.entry.resource" />
      <min value="1" />
      <type>
        <code value="Patient" />
        <profile value="https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMPatient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:VSDMCoverage">
      <path value="Bundle.entry" />
      <sliceName value="VSDMCoverage" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:VSDMCoverage.resource">
      <path value="Bundle.entry.resource" />
      <min value="1" />
      <type>
        <code value="Coverage" />
        <profile value="https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMCoverageGKV" />
        <profile value="https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMCoveragePKV" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:VSDMPayorOrganization">
      <path value="Bundle.entry" />
      <sliceName value="VSDMPayorOrganization" />
      <min value="1" />
      <max value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Bundle.entry:VSDMPayorOrganization.resource">
      <path value="Bundle.entry.resource" />
      <min value="1" />
      <type>
        <code value="Organization" />
        <profile value="https://gematik.de/fhir/vsdm2/StructureDefinition/VSDMPayorOrganization" />
      </type>
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>