Änderungen abrufen (Provenance Search)


Inhalt

  1. Beschreibung und fachlicher Kontext
  2. Request
  3. Response

Beschreibung und fachlicher Kontext

Um zu gewährleisten, dass sich das Software-System kontinuierlich mit dem 116117 Terminservice synchronisieren (d.h., regelmäßig alle Änderungen an abrechnungsrelevanten Informationen abrufen) kann, wird ein Endpunkt zur Verfügung gestellt, der nur die letzten Änderungen an den im System des 116117 Terminservice gespeicherten Terminbuchungen zurückgibt.

Hierfür dient die spezielle Ressource Provenance, die eine entsprechende Struktur abbildet, um die letzte Änderung an einer Terminbuchung zu dokumentieren. Details hierzu sind auf der Seite Profil: Änderung (Provenance) zu finden.


Beim Abrufen der Provenances handelt es sich um die FHIR-Standardinteraktion search.


Wie auf der Seite Interaktionen im Abschnitt Allgemeingültige Anmerkungen beschrieben, teilt der 116117 Terminservice die Suchergebnisse ggf. auf mehrere Seiten auf (paging), um die Datenmenge pro Response (Antwort auf eine Suchanfrage des PVS) zu begrenzen. Beim Abruf von Änderungen (Provenances) kann sich die Gesamtzahl der Seiten zwischen dem Abruf von bspw. Seite 1 und Seite 2 ändern, wenn zwischen den beiden Abrufen Änderungen vorgenommen wurden. Änderungen können dabei sowohl Aktualisierungen bestehender Terminbuchungen (bspw. Absage einer Terminbuchung) als auch das Erstellen neuer Terminbuchungen sein. Beispielhaft veranschaulicht, könnte dies wie folgt ablaufen:

  1. Um 12:00:00 Uhr ruft ein PVS die aktuellen Provenances ab.

  2. Die Systeme des 116117 Terminservices schicken eine Antwort mit Seite 1 der Suchergebnisse an das PVS zurück.

    In der Antwort sind folgende Informationen enthalten:

    • Suchergbenisse pro Seite: 5

    • Gesamtzahl der Suchergebnisse: 10

    • Link zur nächste Seite (hier also Seite 2) der Suchergebnisse

  3. Um 12:00:05 Uhr wird im 116117 Terminservice ein Termin gebucht.

    Dadurch werden folgende Änderungen von den Systemen des 116117 Terminservices vorgenommen:

    • Es wird eine neue Terminbuchung für den gebuchten Terminslot angelegt.

    • Es wird 1 neue Provenance für das Anlegen der Terminbuchung erzeugt.

  4. Um 12:00:11 Uhr ruft das PVS Seite 2 der Suchergebnisse ab.

  5. Die Systeme des 116117 Terminservices schicken eine Antwort mit Seite 2 der Suchergebnisse an das PVS zurück.

    In der Antwort sind folgende Informationen enthalten:

    • Suchergbenisse pro Seite: 5

    • Gesamtzahl der Suchergebnisse: 11

    • Der Link zur nächste Seite (hier also Seite 3) der Suchergebnisse

  6. Das PVS registriert, dass sich die Gesamtzahl der Suchergebnisse erhöht hat und es einen Link zur nächsten Seite der Suchergebnisse gibt. Somit erkennt das PVS, dass zwischen Abruf 1 (hier Schritt 1) und Abruf 2 (hier Schritt 4) neue Änderungen an den Terminbuchungen im 116117 Terminservice vorgenommen wurden. Das PVS ruft daher auch Seite 3 der Suchergebnisse ab.


Beim Abrufen von Änderungen (Provenances) sind die Suchergebnisse über alle Seiten hinweg chronologisch sortiert, wobei die älteste Änderung als erstes in den Suchergebnissen erscheint und die neuste Änderung als letztes. Die Systeme des 116117 Terminservice stellen sicher, dass die Suchergebnisse, auch über mehrere Seiten hinweg, immer in exakt derselben Reihenfolge zurückgegeben werden – also auch dann, wenn zwei Änderungen zum selben Zeitpunkt vorgenommen wurden.


Request

Das Abrufen der Änderungen erfordert einen POST-Request. Es können entweder alle noch vorhandenen Änderungen an Terminbuchungen von allen autorisierten Einrichtungen oder nur bestimmte Änderungen (bspw. nur Änderungen an Terminbuchungen von bestimmten autorisierten Einrichtungen) anhand entsprechender Suchparameter im Request Body abgefragt werden (siehe hierzu Abschnitt Request Body).


HTTP Method POST
URL https://abrechnungsinformation.eterminservice.kv-safenet.de/pvs​/abrechnungsinformation/api/Provenance/_search
Request Body [suchparameter]

Bitte beachten: Laut FHIR-Standard wäre auch eine Suche mit Suchparametern innerhalb der URL und/oder mittels GET-Request möglich. Dies wird durch die Systeme des 116117 Terminservices aktuell jedoch NICHT unterstützt. Ein GET-Request auf die oben angegebene URL führt zu einem Fehler. Suchparameter in der URL werden von den Systemen des 116117 Terminservices ignoriert, d.h. weder validiert noch verarbeitet.


Request Header

Folgende Request Header werden von den Systemen des 116117 Terminservices unterstützt und verarbeitet:

Header Verpflichtend? Beschreibung Wert
Authorization ja Im Authentisierungsverfahren erhaltener ACCESS_TOKEN als Bearer Token Bearer ey...
Content-Type ja Gibt den ursprünglichen Medien- bzw. Dateitypen der Ressource an. application/x-www-form-urlencoded
Accept nein Gibt an, welche Inhaltstypen die Systeme des Anfragenden verstehen.
  • Der 116117 Terminservice unterstützt die Werte fhir+xml und xml.
  • Es wird empfohlen, den Wert fhir+xml für diesen Header zu setzen.
application/fhir+xml

Request Body

Der Request Body muss alle Suchparameter enthalten, nach denen die Suchergebnisse gefiltert werden sollen.

In den folgenden Abschnitten werden die einzelnen Suchparameter im Detail beschrieben. Suchparameter, die hier nicht aufgelistet sind, aber dennoch im Request Body übergeben werden, werden von den Systemen des 116117 Terminservices ignoriert. Das bedeutet, dass die Systeme des 116117 Terminservice diese Suchparameter nicht verarbeiten. Es wird in diesem Fall kein Fehler geworfen; die Suche wird ohne die unbekannten Suchparameter durchgeführt.


Bitte beachten: Die Systeme des 116117 Terminservices prüfen bei Angabe mehrerer Suchparameter nur bedingt auf Plausibilität. Das bedeutet, dass nicht zwangsweise eine Fehlermeldung als Response zurückkommt, wenn sich mehrere Suchparameter gegenseitig ausschließen (bspw. UND-Verknüpfung bei mehreren BSNRs). In solch einem Fall kommt stattdessen der HTTP-Statuscode 200 OK mit einem leeren Suchergebnis zurück.


Suchparameter: Betriebsstättennummer (BSNR)

Parameter bsnr
Beschreibung 9-stellige BSNR der Praxis / medizinischen Einrichtung
Kardinalität 0..*
Erlaubte Verknüpfungen1 ODER-Verknüpfung
Erlaubte Präfixe2 -
Suchergebnis Alle Provenances, die Änderungen an Terminbuchungen betreffen, die von den Praxen / medizinischen Einrichtungen angeboten werden, zu denen die angegebenen BSNRs gehören.
Anmerkung

Bei der BSNR handelt es sich um einen custom search parameter, der auf der Seite Suchparameter: BSNR (SearchParameter) näher beschrieben ist.

Wird der Parameter nicht übergeben, werden alle BSNRs aus dem Access Token als Suchparameter übernommen.

Suchparameter: Änderungszeitpunkt

Parameter recorded
Beschreibung Zeitpunkt des letzten Abrufs
Kardinalität 0..1
Erlaubte Verknüpfungen1 -
Erlaubte Präfixe2 gt (greater than / größer als)
Suchergebnis Alle Provenances, die Änderungen betreffen, die nach dem definierten Zeitpunkt vorgenommen wurden.
Anmerkung

Der Änderungszeitpunkt ist im Element Provenance.recorded zu finden.

Wird der Parameter nicht übergeben, wird der Wert auf das Datum gesetzt, welches (vom heutigen Datum ausgehend) 60 Tage in der Vergangenheit liegt. Damit werden alle Provenances zurückgegeben, die noch im 116117 Terminservice gespeichert sind.

Für den ersten kontinuierlichen Abruf der Änderungen kann dieser Parameter entweder weggelassen oder auf einen Wert gesetzt werden, der mindestens 60 Tage in der Vergangenheit liegt, um sicherzustellen, dass alle Änderungen zurückgegeben werden. Bei allen folgenden kontinuierlichen Abrufen kann dieser Parameter auf einen der beiden folgenden Wert gesetzt werden:

  • Provenance.recorded der letzten Provenance-Ressource auf der letzten Seite der Suchergebnisse
  • Appointment.meta.lastUpdated vom letzten Eintrag (welcher immer eine Appointment-Ressource ist) der letzten Seite der Suchergebnisse

Beide Varianten garantieren eine nahtlose Synchronisation mit dem 116117 Terminservice. Wenn der vorherige Abruf der Provenances keine Suchergerbnisse zurückgeliefert hat, kann der Wert des Parameters unverändert bleiben. D.h., es wird derselbe Wert für diesen Parameter wie beim vorherigen Abruf gesetzt.

Wie nach Zeitpunkten gefiltert werden kann, ist in der HL7-FHIR-Dokumentation unter Search – Standard Parameters: date beschrieben.

Suchparameter: Anzahl der Suchergebnisse

Parameter _count
Beschreibung Anzahl der Suchergebnisse pro Seite
Kardinalität 0..1
Erlaubte Verknüpfungen1 -
Erlaubte Präfixe2 -
Suchergebnis Es werden maximal so viele Provenances im Response Body zurückgegeben, wie in _count angegeben wurde.
Anmerkung

Wird der Parameter nicht übergeben, wird der Standardwert von 10 als Suchparameter übernommen.

Erlaubte Werte sind alle natürlichen Zahlen zwischen 1 und 10, wobei 1 und 10 ebenfalls erlaubt sind.
Bitte beachten: Laut FHIR-Standard wäre auch ein Wert von 0 zulässig, um nur die Anzahl aller Suchergebnisse als Antwort zu bekommen. Dies wird von den Systeme des 116117 Terminservices jedoch NICHT unterstützt. Das bedeutet, der Parameter _count=0 führt zu einem Fehler aufgrund eines unzulässigen Wertes für diesen Parameter.

Es kann sein, dass insgesamt mehr Suchergebnisse gefunden werden, als in _count angegeben wurden. In diesem Fall gibt es mehrere Seiten mit Suchergebnissen; die anderen Seiten können über weitere Requests mit dem entsprechenden Wert für den Suchparameter page abgerufen werden.

Suchparameter: Seite der Suchergebnisse

Parameter page
Beschreibung Seite der Suchergebnisse, die zurückgegeben werden soll.
Kardinalität 0..1
Erlaubte Verknüpfungen1 -
Erlaubte Präfixe2 -
Suchergebnis Es wird die angegebene Seite der Suchergebnisse zurückgegeben.
Anmerkung

Wird der Parameter nicht übergeben, wird der Standardwert von 1 als Suchparameter übernommen. Es wird dann also immer die erste Seite zurückgegeben.

Welche Suchergebnisse zurückgegeben werden, hängt auch vom Wert des Suchparameters _count ab. Wird bspw. mit _count=5 und page=2 gesucht, werden die Suchergebnisse 6 bis 10 zurückgegeben.

Wird eine nicht existente Seitenzahl angegeben, enhält die Response keine Suchergebnisse. In diesem Fall wird KEIN Fehler zurückgegeben, da der Request an sich valide ist.
Beispielhaft veranschaulicht, bedeutet das: Angenommen es gibt insgesamt 15 Suchergebnisse und pro Seite sollen 10 Suchergebnisse übermittelt werden. Wenn der Anfragende nun den Parameter page=999 übergibt, enthält die Response ein Bundle, in dem keine Einträge im Element Bundle.entry enthalten sind. Im Element Bundle.link gibt es einen Link zur vorherigen Seite (also einen Eintrag, bei dem das Element Bundle.link.relation den Wert previous hat). Im genannten Fall würde der Link also page=998 enthalten, auch wenn diese Seite ebenfalls keine Suchergebnisse enthalten würde. Um zu ermitteln, welches die letzte befüllte Seite ist, können die Werte des Elementes Bundle.total und des Suchparameters _count genutzt werden. Bundle.total enthält die Gesamtzahl aller Suchergebnisse, im genannten Fall also 15, und _count die Anzahl der Suchergebnisse pro Seite, im genannten Fall also 10. Daraus ergibt sich, dass es nur 2 Seiten mit Suchergebnissen gibt.

1 Wie Parameter mit UND bzw. ODER verknüpft werden können, ist in der HL7-FHIR-Dokumentation unter Search – Standard Parameters: Composite Search Parameters beschrieben.

2 Die Präfixe sind in der HL7-FHIR-Dokumentation unter Search – Standard Parameters: Prefixes beschrieben.


Beispiele

Beispiel 1: Suche anhand einer BSNR

# Suche alle Provenances, die Änderungen an Terminbuchungen enthalten, die von der Praxis mit der BSNR 123456789 angeboten werden
POST https://abrechnungsinformation.eterminservice.kv-safenet.de/pvs​/abrechnungsinformation/api/Provenance/_search
Content-Type: application/x-www-form-urlencoded
bsnr=123456789

Beispiel 2: Suche anhand eines Änderungszeitpunktes

# Suche alle Provenances, die Änderungen an Terminbuchungen enthalten, deren Änderungszeitpunkt zeitlich nach dem 14.01.2024, 12:11:17 Uhr liegt
POST https://abrechnungsinformation.eterminservice.kv-safenet.de/pvs​/abrechnungsinformation/api/Provenance/_search
Content-Type: application/x-www-form-urlencoded
recorded=gt2024-01-14T12:11:17-01:00

Beispiel 3: Suche anhand einer BSNR und eines Änderungszeitpunktes

# Suche alle Provenances, die Änderungen an Terminbuchungen enthalten, die von der Praxis mit der BSNR 123456789 angeboten werden und wo der Änderungszeitpunkt zeitlich nach dem 14.01.2024, 12:11:17 Uhr liegt
POST https://abrechnungsinformation.eterminservice.kv-safenet.de/pvs​/abrechnungsinformation/api/Provenance/_search
Content-Type: application/x-www-form-urlencoded
recorded=gt2024-01-14T12:11:17-01:00&bsnr=123456789

Response

Für die Suche von Provenances wird im Erfolgsfall der HTTP-Statuscode 200 OK sowie ein Searchset Bundle im Response Body zurückgegeben.

  • Wurden bei der Suche keine Suchparameter übergeben, enthält das zurückgegebene Searchset alle noch vorhandenen Provenanes mit Änderungen an Terminbuchungen der Haupt- und Nebenbetriebsstätten der in der Autorisierung übergebenen BSNR.

  • Wurde bei der Suche min. ein Suchparameter übergeben, enthält dieses Searchset alle Provenances, die anhand der Suchparameter in Verbindung mit den autorisierten BSNRs ermittelt werden konnten.

Wie auf der Seite Interaktionen beschrieben, sortieren die Systeme des 116117 Terminservices die Suchergebnisse über alle Seiten hinweg. Dadurch wird sichergestellt, dass die Suchergebnisse auch bei mehrfachem Abschicken desselben Requests immer in derselben Reihenfolge zurückkommen. Dies gilt für alle Seiten der Suchergebnisse – also auch wenn bspw. der Änderungszeitpunkt des letzten Eintrags der ersten Seite exakt mit dem Änderungszeitpunkt des ersten Eintrags der zweiten Seite übereinstimmt.


Im Fehlerfall wird ein dem Fehler entsprechender HTTP-Statuscode (bspw. 400 Bad Request oder 500 Internal Server Error) sowie ein OperationOutcome im Response Body zurückgegeben. Dieses OperationOutcome enthält Details zum aufgetretenen Fehler.


Response Header

Folgende Response Header werden von den Systemen des 116117 Terminservices gesetzt und an den Anfragenden zurückgesendet:

Header Beschreibung Wert
Content-Type Gibt den ursprünglichen Medien- bzw. Dateitypen der Ressource an. application/fhir+xml

Response Body

Im Erfolgsfall ist im Response Body ein Searchset Bundle enthalten, welches folgende Ressourcen und Informationen enthält:

  • Suchergebnisse als Set: Dieses Set kann auch leer sein, wenn anhand der gesetzten Suchparameter keine passenden Provenances gefunden werden konnten.

  • Alle Suchparameter, die durch die Systeme des 116117 Terminservices verarbeitet und für die Suche genutzt wurden (im Element Bundle.link).

  • Verweis auf die vorherige und/oder nächste Seite der Suchergebnisse, wenn vorhanden (im Element Bundle.link).

  • In der Provenance referenzierte Ressourcen (im Element Provenance.target.reference), die neu angelegt oder aktualisiert wurden:

Details zum Searchset Bundle sind unter Profil: Suchergebnisse (Bundle) zu finden.


Bitte beachten:

  • Sollte ein Appointment gelöscht worden sein, ist das gelöschte Appointment NICHT im Response Body enthalten. Welches Appointment gelöscht wurde, kann anhand der ID identifiziert werden, die in der zugehörigen Provenance-Ressource im Feld Provenance.target.reference enthalten ist.

    • Der Wert im Feld Provenance.target.reference hat immer folgenden Aufbau: urn:uuid:[Appointment-ID]

    • Die Appointment-ID ist immer eine UUID und entspricht dem Wert des Feldes Appointment.id.

  • Wie im ersten Abschnitt Beschreibung und fachlicher Kontext auf dieser Seite beschrieben, kann sich die Gesamtzahl der Suchergebnisse zwischen zwei Abrufen ändern. Das bedeutet, dass sich der Wert Bundle.total im Searchset Bundle ändern kann. Die neue Gesamtzahl der Suchergebnisse kann auch weitere Seiten an Suchergebnissen erfordern. In diesem Fall ist im Feld Bundle.link auf der zuvor letzten Seite der Suchergebnisse dann auch ein Link zur nächsten Seite zu finden. Es ist daher notwendig, dass bei jedem Abruf min. eines der beiden Felder Bundle.total und Bundle.link durch das PVS ausgewertet wird.


Im Fehlerfall ist im Response Body ein OperationOutcome enthalten. Details hierzu sind unter Profil: Fehler (OperationOutcome) zu finden.


Beispiele

Alle Beispiele für den Erfolgsfall sind hier im vorliegenden Projekt zu finden.

Alle Beispiele für den Fehlerfall sind hier im vorliegenden Projekt zu finden.


<Bundle xmlns="http://hl7.org/fhir">
    <meta>
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Bundle_Searchset|1.0.0" />
    </meta>
    <type value="searchset" />
    <timestamp value="2024-09-02T12:34:56+02:00" />
    <total value="2" />
    <link>
        <relation value="self" />
        <url value="https://fhir.kbv.de/pvs/abrechnungsinformation/api/Provenance?bsnr=123456789&amp;recorded=gt2024-09-01T00:00:00+01:00&amp;_count=10&amp;page=1" />
    </link>
    <entry>
        <fullUrl value="urn:uuid:dd4c41b2-7b25-4019-a3b6-d63514439519" />
        <resource>
            <Provenance>
                <id value="dd4c41b2-7b25-4019-a3b6-d63514439519" />
                <meta>
                    <profile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Provenance|1.0.0" />
                </meta>
                <text>
                    <status value="extensions" />
                    <div xmlns="http://www.w3.org/1999/xhtml"><h1>Provenance dd4c41b2-7b25-4019-a3b6-d63514439519</h1><p>Änderung: Update</p><p>Geänderte Ressource: Slot/4a758a29-bd28-4970-a08a-91bf91b82cd3</p><p>Geändert durch: Terminservicestelle (TSS) der 116117 Hotline</p><p>Zeitpunkt: 2024-09-03T04:43:25</p></div>
                </text>
                <target>
                    <reference value="urn:uuid:ac613a2c-91c5-4eb4-9ab4-e99629a1fa15" />
                    <type value="Appointment" />
                </target>
                <recorded value="2024-09-03T04:43:25+02:00" />
                <activity>
                    <coding>
                        <system value="http://terminology.hl7.org/CodeSystem/v3-DataOperation" />
                        <code value="UPDATE" />
                        <display value="revise" />
                    </coding>
                </activity>
                <agent>
                    <who>
                        <display value="Terminservicestelle (TSS) der 116117 Hotline" />
                    </who>
                </agent>
            </Provenance>
        </resource>
        <search>
            <mode value="match" />
        </search>
    </entry>
    <entry>
        <fullUrl value="urn:uuid:0f5606a5-6a59-4ff3-b4f2-f3a6a1b6d20c" />
        <resource>
            <Provenance>
                <id value="0f5606a5-6a59-4ff3-b4f2-f3a6a1b6d20c" />
                <meta>
                    <profile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Provenance|1.0.0" />
                </meta>
                <text>
                    <status value="extensions" />
                    <div xmlns="http://www.w3.org/1999/xhtml"><h1>Provenance 0f5606a5-6a59-4ff3-b4f2-f3a6a1b6d20c</h1><p>Änderung: Create</p><p>Geänderte Ressource: Appointment/3545c894-1a5c-4ef6-9b68-9e4595c2bf71</p><p>Geändert durch: 116117 Terminservice</p><p>Zeitpunkt: 2024-09-03T04:43:25</p></div>
                </text>
                <target>
                    <reference value="urn:uuid:eac5e3b4-9d20-4fa1-a900-cb27f4ea8fb6" />
                    <type value="Appointment" />
                </target>
                <recorded value="2024-09-03T04:43:25+02:00" />
                <activity>
                    <coding>
                        <system value="http://terminology.hl7.org/CodeSystem/v3-DataOperation" />
                        <code value="CREATE" />
                        <display value="create" />
                    </coding>
                </activity>
                <agent>
                    <who>
                        <display value="116117 Terminservice" />
                    </who>
                </agent>
            </Provenance>
        </resource>
        <search>
            <mode value="match" />
        </search>
    </entry>
    <entry>
        <fullUrl value="urn:uuid:ac613a2c-91c5-4eb4-9ab4-e99629a1fa15" />
        <resource>
            <Appointment>
                <id value="ac613a2c-91c5-4eb4-9ab4-e99629a1fa15" />
                <meta>
                    <versionId value="1" />
                    <profile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Appointment|1.0.0" />
                </meta>
                <text>
                    <status value="extensions" />
                    <div xmlns="http://www.w3.org/1999/xhtml">Diese Appointment-Instanz enthält einen Termin am 2024-01-14 von 12:15 bis 12:45 Uhr für das Leistungsmerkmal 20 (Arztgruppe)</div>
                </text>
                <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Appointment_Booked_By">
                    <valueCodeableConcept>
                        <coding>
                            <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Roles" />
                            <version value="1.0.0" />
                            <code value="​Patient" />
                            <display value="Patient" />
                        </coding>
                    </valueCodeableConcept>
                </extension>
                <status value="booked" />
                <serviceType>
                    <coding>
                        <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BAS_FACHGEBIET_GROB" />
                        <code value="20" />
                        <display value="Humangenetik" />
                    </coding>
                </serviceType>
                <priority>
                    <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Urgency">
                        <valueCoding>
                            <system value="http://snomed.info/sct" />
                            <code value="709122007" />
                            <display value="As soon as possible" />
                        </valueCoding>
                    </extension>
                </priority>
                <start value="2024-01-14T12:15:00+01:00" />
                <end value="2024-01-14T12:45:00+01:00" />
                <created value="2024-01-29T09:23:05+02:00" />
                <basedOn>
                    <identifier>
                        <system value="https://fhir.kbv.de/NamingSystem/KBV_NS_116117_TERMINSERVICE_Vermittlungscode" />
                        <value value="XN6PF4HPZ5KX" />
                    </identifier>
                </basedOn>
                <participant>
                    <actor>
                        <reference value="https://fhir.kbv.de/PractitionerRole/123456789" />
                        <type value="PractitionerRole" />
                    </actor>
                    <status value="accepted" />
                </participant>
                <participant>
                    <actor>
                        <reference value="urn:uuid:529c2a3a-7f3c-4d17-9f15-595b29b4cf9c" />
                        <type value="Patient" />
                    </actor>
                    <status value="accepted" />
                </participant>
            </Appointment>
        </resource>
        <search>
            <mode value="include" />
        </search>
    </entry>
    <entry>
        <fullUrl value="urn:uuid:eac5e3b4-9d20-4fa1-a900-cb27f4ea8fb6" />
        <resource>
            <Appointment>
                <id value="eac5e3b4-9d20-4fa1-a900-cb27f4ea8fb6" />
                <meta>
                    <versionId value="2" />
                    <profile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Appointment|1.0.0" />
                </meta>
                <text>
                    <status value="extensions" />
                    <div xmlns="http://www.w3.org/1999/xhtml">Diese Appointment-Instanz enthält einen Termin am 2024-01-27 von 10:15 bis 10:30 Uhr für die Leistungsmerkmale 09 (Arztgruppe) und 341 (WBO)</div>
                </text>
                <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Appointment_Booked_By">
                    <valueCodeableConcept>
                        <coding>
                            <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_Base_Role_Care_Team" />
                            <version value="1.7.0" />
                            <code value="HA" />
                            <display value="Hausarzt/-&#228;rztin" />
                        </coding>
                    </valueCodeableConcept>
                </extension>
                <status value="cancelled" />
                <cancelationReason>
                    <coding>
                        <system value="http://terminology.hl7.org/CodeSystem/appointment-cancellation-reason" />
                        <code value="pat" />
                        <display value="Patient" />
                    </coding>
                </cancelationReason>
                <serviceType>
                    <coding>
                        <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BAS_FACHGEBIET_GROB" />
                        <code value="09" />
                        <display value="Kinderarzt / Kinder&#228;rztin" />
                    </coding>
                </serviceType>
                <serviceType>
                    <coding>
                        <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BAR2_WBO" />
                        <code value="341" />
                        <display value="F&#196;/FA Kinder- und Jugendmedizin" />
                    </coding>
                </serviceType>
                <priority>
                    <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Urgency">
                        <valueCoding>
                            <system value="http://snomed.info/sct" />
                            <code value="103391001" />
                            <display value="Urgent" />
                        </valueCoding>
                    </extension>
                </priority>
                <start value="2024-01-27T10:15:00+01:00" />
                <end value="2024-01-27T10:30:00+01:00" />
                <created value="2024-01-05T11:34:15+02:00" />
                <comment value="Patient allergisch gegen Latex" />
                <basedOn>
                    <identifier>
                        <system value="https://fhir.kbv.de/NamingSystem/KBV_NS_116117_TERMINSERVICE_Vermittlungscode" />
                        <value value="XN6P-F4HP-Z5KX" />
                    </identifier>
                </basedOn>
                <participant>
                    <actor>
                        <reference value="https://fhir.kbv.de/PractitionerRole/123456789" />
                        <type value="PractitionerRole" />
                    </actor>
                    <status value="accepted" />
                </participant>
                <participant>
                    <actor>
                        <reference value="urn:uuid:f28714b1-627d-426e-88ae-e348076d9738" />
                        <type value="Patient" />
                    </actor>
                    <status value="accepted" />
                </participant>
            </Appointment>
        </resource>
        <search>
            <mode value="include" />
        </search>
    </entry>
</Bundle>
<OperationOutcome xmlns="http://hl7.org/fhir">
    <id value="cc8e9f90-31ad-4021-9639-e5b940a88a94" />
    <meta>
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_OperationOutcome_Error|1.0.0" />
    </meta>
    <text>
        <status value="extensions" />
        --- We have skipped the narrative for better readability of the resource ---
    </text>
    <issue>
        <severity value="fatal" />
        <code value="value" />
        <details>
            <coding>
                <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Errors" />
                <code value="TVSTS0000" />
                <display value="Sonstiger Fehler. Unter diagnostics finden Sie n&#228;here Informationen zum Fehler." />
            </coding>
        </details>
        <diagnostics value="Ung&#252;ltiger Input-Parameter" />
    </issue>
</OperationOutcome>
<OperationOutcome xmlns="http://hl7.org/fhir">
    <id value="81758936-362c-411f-9d95-7fac5b19deb6" />
    <meta>
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_OperationOutcome_Error|1.0.0" />
    </meta>
    <text>
        <status value="extensions" />
        --- We have skipped the narrative for better readability of the resource ---
    </text>
    <issue>
        <severity value="fatal" />
        <code value="value" />
        <details>
            <coding>
                <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Errors" />
                <code value="TVSTS0018" />
                <display value="Die Dringlichkeit ist ung&#252;ltig." />
            </coding>
        </details>
    </issue>
</OperationOutcome>