Änderungen abrufen (Provenance Search)


Inhalt

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

Beschreibung und fachlicher Kontext

Für die kontinuierliche Synchronisation mit dem 116117 Terminservice ist es notwendig, dass ein TVS regelmäßig alle Änderungen an folgenden Ressourcen abruft:


Bitte beachten: Aktuell besteht KEINE Möglichkeit, Änderungen an Patientendaten (bspw. das Hinzufügen einer E-Mail-Adresse) über diesen Endpunkt abzurufen. Die Patientendaten werden nur beim Abrufen von Terminbuchungen mit zurückgeliefert, da nur in der Terminbuchung selbst der zugehörige Patient referenziert wird. Daher wird empfohlen, die Terminbuchung noch einmal direkt (bspw. anhand ihrer ID) abzurufen, wenn bspw. die Patientendaten eingesehen werden sollen. Details hierzu sind unter Terminbuchungen abrufen (Appointment Search) zu finden.


Ein TVS kann nur Änderungen an Ressourcen abrufen, die den im TVS hinterlegte Praxen / medizinischen Einrichtungen zugeordnet sind. Das können bspw. neue Terminbuchungen für Termine in dieser Praxis sein oder Änderungen der Daten eines Arztes, der in dieser Praxis tätig ist.

Die Systeme des 116117 Terminservices speichern für die oben aufgelisteten Ressourcen jeweils die letzte Änderung. Um diese Änderungen in FHIR abzubilden, wurde ein Provenance-Profil definiert. Die Systeme des 116117 Terminservices stellen einen Endpunkt zur Verfügung, der die gewünschten Provenances zurückgibt. Dadurch können die aktuellsten Änderungen aller oben aufgelisteten Ressourcen für eine oder mehrere Praxen / medizinischen Einrichtungen mit einem einzigen Request abgerufen werden.

Der Abruf der Provenance-Ressourcen muss automatisiert und in regelmäßigen Abständen erfolgen. Es müssen dabei nur Änderungen abgerufen werden, die seit dem letzten Abruf erfolgt sind. Der zeitliche Abstand zwischen den einzelnen Abrufen kann frei gewählt werden, darf jedoch 5 Minuten NICHT unterschreiten.

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


Entsprechend dem FHIR-Standard nutzen die Systeme des 116117 Terminservices paging bzw. page count for search results. Das bedeutet Folgendes:

  • Die Suchergebnisse sind in Seiten unterteilt. Ruft ein TVS die aktuellen Provenances ab, schicken die Systeme des 116117 Terminservices zunächst die erste Seite der Suchergebnisse zurück, also bspw. die ersten 10 Suchergebnisse. In der Antwort (Response) auf die Anfrage des TVS ist auch die Information enthalten, ob es noch weitere Seiten an Suchergebnissen gibt und wie diese abzurufen sind. Ein TVS muss also prüfen, ob es noch eine nächste Seite gibt. Ist dies der Fall, muss das TVS eine weitere Anfrage mit dem entsprechenden Suchparameter an die Systeme des 116117 Terminservices schicken, um auch die nächste Seite der Suchergebnisse zu bekommen.

  • Beim Abruf der Provenances wird nur eine bestimmte Anzahl an Suchergebnissen zurückgegeben. Die Anzahl der Suchergebnisse hängt von dem entsprechenden Suchparameter sowie davon ab, wie viele Suchergebnisse die Systeme des 116117 Terminservices insgesamt gefunden haben.


Bitte beachten: In der Antwort (Response) auf den Abruf ist sowohl die Gesamtzahl aller Suchergebnisse als auch der Link auf die nächste Seite (wenn vorhanden) inkludiert. Die Gesamtzahl der Suchergebnisse kann sich zwischen zwei Abrufen jedoch ändern. Voraussetzung dafür ist, dass zwischen diesen zwei Abrufen weitere Ressourcen-Änderungen vorgenommen wurden. Dadurch erhöht sich ggf. auch die Gesamtzahl der Seiten, in die die Suchergebnisse aufgeteilt sind. Das bedeutet, dass das TVS beim Abruf einer Seite der Suchergebnisse IMMER prüfen muss, ob ein Link zur nächsten Seite der Suchergebnisse vorhanden ist. Wenn ein solcher Link vorhanden ist, muss das TVS die nächste Seite der Suchergebnisse ebenfalls abrufen. Beispielhaft veranschaulicht, bedeutet das Folgendes:

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

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

    In der Antwort sind folgende Informationen enthalten:

    • Suchergbenisse pro Seite: 10

    • Gesamtzahl der Suchergebnisse: 20

    • 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.

    • Der Status des nun gebuchten Terminslots wird aktualisiert und auf gebucht gesetzt.

    • Es werden 2 neue Provenances erzeugt: 1 für das Anlegen der Terminbuchung und 1 für die Änderung am Terminslot.

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

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

    In der Antwort sind folgende Informationen enthalten:

    • Suchergbenisse pro Seite: 10

    • Gesamtzahl der Suchergebnisse: 22

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

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


Request

Das Abrufen der Provenances erfordert einen POST-Request. Es können entweder alle Änderungen an Ressourcen von allen autorisierten Einrichtungen oder nur Änderungen an Ressourcen von bestimmten autorisierten Einrichtungen anhand eines entsprechenden Suchparameters im Request Body abgefragt werden (siehe hierzu Abschnitt Request Body).


HTTP Method POST
URL https://terminsynchronisation.eterminservice.kv-safenet.de/tvs​/terminsynchronisation/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, was durch die Systeme des 116117 Terminservices jedoch NICHT unterstützt wird. 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 Ressourcen abbilden, die den Praxen / medizinischen Einrichtungen zugeordnet sind, 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 keine BSNR ü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, deren Zeitpunkt der vorgenommenen Änderung nach dem definierten Zeitpunkt liegt.
Anmerkung

Wird der Parameter nicht übergeben, werden alle Provenances zurückgegeben, die noch im 116117 Terminservice gespeichert sind.

Für den nächsten kontinuierlichen Abruf (also min. 5 Minuten nach dem letzten Abruf) kann dieser Parameter auf folgenden Wert gesetzt werden: Provenance.recorded der letzten Provenance-Ressource auf der letzten Seite der Suchergebnisse. 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 keine Anzahl angegeben, so 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 hier angegeben wurden. In diesem Fall ist ein weiterer Request mit dem entsprechenden Wert für den Suchparameter page notwendig, um auch die anderen Suchergebnisse abzurufen.

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 keine Anzahl angegeben, so 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.

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 Ressourcen enthalten, die der Praxis mit der BSNR 123456789 zugeordnet sind
POST https://terminsynchronisation.eterminservice.kv-safenet.de/tvs​/terminsynchronisation/api/Provenance/_search
Content-Type: application/x-www-form-urlencoded
bsnr=123456789

Beispiel 2: Suche anhand eines Änderungszeitpunktes

# Suche alle Provenances, die Änderungen an Ressourcen enthalten, deren Änderungszeitpunkt zeitlich nach dem 14.01.2024, 12:11:17 Uhr liegt
POST https://terminsynchronisation.eterminservice.kv-safenet.de/tvs​/terminsynchronisation/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 Ressourcen enthalten, die der Praxis mit der BSNR 123456789 zugeordnet sind und bei denen der Änderungszeitpunkt zeitlich nach dem 14.01.2024, 12:11:17 Uhr liegt
POST https://terminsynchronisation.eterminservice.kv-safenet.de/tvs​/terminsynchronisation/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 Provenances mit Änderungen an Ressourcen, die der Haupt- oder Nebenbetriebsstätte der in der Autorisierung übergebenen BSNRs zugeordnet sind.

  • 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.

Die Systeme des 116117 Terminservices sortieren die Suchergebnisse über alle Seiten hinweg. Dadurch werden zwei Dinge sichergestellt:

  • Jedes Suchergebnis ist nur exakt 1x im Searchset Bundle enthalten. D.h., es gibt keine Duplikate im Searchset Bundle.

  • Bei jedem Abruf der Suchergebnisse ist die Reihenfolge der Ressourcen im Searchset Bundle identisch. D.h., wenn der Anfragende mehrfach denselben Request abschickt, sind die Ressourcen im Searchset Bundle in exakt derselben Reihenfolge enthalten. 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. Anders ausgedrückt, bedeutet ein leeres Set, dass keine Änderungen seit dem letzten Abruf vorgenommen wurden.

  • 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:

  • Wenn eine Ressource gelöscht wurde, ist die gelöschte Ressource NICHT im Response Body enthalten. Welche Ressource gelöscht wurde, kann anhand des Typs und der ID der Ressource identifiziert werden.

    • Der Typ der Ressource ist im Feld Provenance.target.type angegeben und kann einen der folgenden Werte enthalten: Slot, Appointment, Practitioner, PractitionerRole, Schedule.

    • Die ID der Ressource ist im Feld Provenance.target.reference enthalten und entspricht dem Wert des Feldes id der jeweiligen Ressource, also bspw. Slot.id bei einem Slot. Es handelt sich bei allen Ressourcen – mit Ausnahme der PractitionerRole – um eine UUID. Wie die ID der PractitionerRole aufgebaut ist, im Feld PractitionerRole.id des zugehörigen PractitionerRole-Profils erklärt.

    • Ist die gelöschte Ressource eine PractitionerRole, hat der Wert im Feld Provenance.target.reference folgenden Aufbau: [baseURL]/PractitionerRole/[id]

    • Ist die gelöschte Ressource KEINE PractitionerRole hat der Wert im Feld Provenance.target.reference folgenden Aufbau: urn:uuid:[uuid]

  • 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 also notwendig, dass die beiden Felder Bundle.total und Bundle.link bei jedem Abruf durch das TVS ausgewertet werden.


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="3" />
    <link>
        <relation value="self" />
        <url value="https://fhir.kbv.de/Provenance?recorded=gt2024-09-01T00:00:00+01:00&amp;_count=10" />
    </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:4a758a29-bd28-4970-a08a-91bf91b82cd3" />
                    <type value="Slot" />
                </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:3545c894-1a5c-4ef6-9b68-9e4595c2bf71" />
                    <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:5077e486-62dd-46a7-9daa-c1a5f86e2056" />
        <resource>
            <Provenance>
                <id value="5077e486-62dd-46a7-9daa-c1a5f86e2056" />
                <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 5077e486-62dd-46a7-9daa-c1a5f86e2056</h1><p>Änderung: Delete</p><p>Geänderte Ressource: Schedule/842b8ffa-b89c-4f19-8111-bd9297ea68e0</p><p>Geändert durch: Organization/48da1f9f-9d76-4242-849e-d9416819c5b7</p><p>Zeitpunkt: 2024-09-03T04:43:25</p></div>
                </text>
                <target>
                    <reference value="urn:uuid:842b8ffa-b89c-4f19-8111-bd9297ea68e0" />
                    <type value="Schedule" />
                </target>
                <recorded value="2024-09-03T04:43:25+02:00" />
                <activity>
                    <coding>
                        <system value="http://terminology.hl7.org/CodeSystem/v3-DataOperation" />
                        <version value="4.0.0" />
                        <code value="DELETE" />
                        <display value="delete" />
                    </coding>
                </activity>
                <agent>
                    <who>
                        <reference value="urn:uuid:48da1f9f-9d76-4242-849e-d9416819c5b7" />
                        <type value="Organization" />
                    </who>
                </agent>
            </Provenance>
        </resource>
        <search>
            <mode value="match" />
        </search>
    </entry>
    <entry>
        <fullUrl value="urn:uuid:4a758a29-bd28-4970-a08a-91bf91b82cd3" />
        <resource>
            <Slot>
                <id value="4a758a29-bd28-4970-a08a-91bf91b82cd3" />
                <meta>
                    <versionId value="2" />
                    <profile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Slot|1.0.0" />
                </meta>
                <text>
                    <status value="extensions" />
                    <div xmlns="http://www.w3.org/1999/xhtml">Diese Slot-Instanz enthält einen blockierten Terminslot am 27.01.2024, von 10:15 bis 10:30 Uhr.</div>
                </text>
                <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Urgency">
                    <valueCoding>
                        <system value="http://snomed.info/sct" />
                        <code value="50811001" />
                        <display value="Routine" />
                    </valueCoding>
                </extension>
                <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>
                <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>
                <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Slot_Bookable_Through">
                    <valueCoding>
                        <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" />
                    </valueCoding>
                </extension>
                <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Slot_Bookable_Through">
                    <valueCoding>
                        <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Roles" />
                        <version value="1.0.0" />
                        <code value="Praxis" />
                        <display value="Praxis" />
                    </valueCoding>
                </extension>
                <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Slot_Bookable_Through">
                    <valueCoding>
                        <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Roles" />
                        <version value="1.0.0" />
                        <code value="TSS" />
                        <display value="Terminservicestellen" />
                    </valueCoding>
                </extension>
                <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Slot_Bookable_Through">
                    <valueCoding>
                        <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Roles" />
                        <version value="1.0.0" />
                        <code value="Dritte" />
                        <display value="Anwendungen von Drittanbietern" />
                    </valueCoding>
                </extension>
                <extension url="https://fhir.kbv.de/StructureDefinition/KBV_EX_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Foreign_Languages_For_Diagnostic_Outcome">
                    <valueCoding>
                        <system value="https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_BAR_FREMDSPRACHE" />
                        <code value="83" />
                        <display value="Thai (Thailand)" />
                    </valueCoding>
                </extension>
                <serviceCategory>
                    <coding>
                        <system value="http://terminology.hl7.org/CodeSystem/v3-ActCode" />
                        <code value="VR" />
                        <display value="virtual" />
                    </coding>
                </serviceCategory>
                <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>
                <schedule>
                    <reference value="urn:uuid:3b6b4224-8ba0-4e8a-8dae-6f0a772d5cb4" />
                </schedule>
                <status value="busy-unavailable" />
                <start value="2024-09-27T10:15:00+01:00" />
                <end value="2024-09-27T10:30:00+01:00" />
            </Slot>
        </resource>
        <search>
            <mode value="include" />
        </search>
    </entry>
    <entry>
        <fullUrl value="urn:uuid:3545c894-1a5c-4ef6-9b68-9e4595c2bf71" />
        <resource>
            <Appointment>
                <id value="3545c894-1a5c-4ef6-9b68-9e4595c2bf71" />
                <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" />
                <slot>
                    <reference value="urn:uuid:643dc2af-2ba0-4fdd-bcd5-d0aac69c700f" />
                </slot>
                <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>