Operation: Status eines Terminslots aktualisieren
Inhalt
Beschreibung und fachlicher Kontext
Beim Aktualisieren des Terminslot-Status' handelt es sich um eine custom operation in FHIR.
Mit dieser Operation kann der Status eines dem 116117 Terminservice gemeldeten Terminslots aktualisiert werden:
Terminslots, welche über diese Operation als
frei
gemeldet werden, sind anschließend durch die im FeldSlot.extension:buchbarDurch
definierten Systeme buchbar.Terminslots, welche über diese Operation als
blockiert
gemeldet werden, sind für die Terminsuche und -buchung blockiert. Das bedeutet, dass sie weder über eine Suche zu finden sind noch eine Buchung für sie erfolgen kann.Dies kann sinnvoll sein, wenn eine Praxis / medizinische Einrichtung bspw. eine Weiterbildung plant, das genaue Datum aber noch nicht zu 100% sicher feststeht. In diesem Fall kann die Praxis Terminslots an dem geplanten Tag blockieren. Wenn sich das Datum der Weiterbildung dann noch einmal ändert, können die blockierten Terminslots einfach wieder freigegeben werden und müssen nicht neu angelegt werden.
Terminslots, welche über diese Operation als
gebucht
gemeldet werden, sind in der Terminsuche des 116117 Terminservice nicht mehr buchbar.Bitte beachten: Wird ein Terminslot, der dem 116117 Terminservice gemeldet wurde, in der Praxis / medizinischen Einrichtung gebucht (bspw. durch einen Anruf eines Patienten in der Praxis), ist es zwingend notwendig, dass der 116117 Terminservice über die Buchung informiert wird. Geschieht dies nicht, kann es zu einer Doppelbuchung kommen, wenn ein Patient den vermeintlich freien Terminslot über den 116117 Terminservice bucht.
FHIR-Operation
Name | KBV_OD_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Slot_Status_Update |
---|---|
Type | OperationDefinition |
Kind | operation |
Code | slotstatus_aktualisieren |
Canonical URL | https://fhir.kbv.de/OperationDefinition/KBV_OD_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Slot_Status_Update |
Invocations
URL: [base]/Slot/[id]/$slotstatus_aktualisieren
Parameters (In)
Name | Cardinality | Type | Binding | Documentation |
status | 1..1 | code | KBV_VS_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Slot_Status_Update (required) | Neuer Status des Terminslots: free | busy | busy-unavailable free = Der Termin ist frei und kann gebucht werden. busy = Der Termin wurde gebucht. busy-unavailable = Der Termin wurde für die Terminsuche und -buchung blockiert. |
BITTE BEACHTEN: Diese Operation hat keinen Output-Parameter. Im Erfolgsfall kommt also eine Antwort ohne Response Body zurück. Im Fehelrfall kommt dennoch ein OperationOutcome im Response Body zurück.
Request
Die FHIR-Operation zum Aktualisieren des Terminslot-Status erfordert einen POST-Request.
Die ID des Terminslots, dessen Status aktualisiert werden soll, muss in der URL übergeben werden. In der folgenden Tabelle ist für die Terminslot-ID der Platzhalter [id]
in der Zeile URL
eingetragen. Die Terminprofil-ID ist im Feld Slot.id
der Slot-Ressource zu finden.
Die FHIR-Operation erfordert den Eingabeparameter status
. Dieser Eingabeparameter muss in einer Parameters-Ressource im Request Body übergeben werden (siehe hierzu Abschnitt Request Body
).
HTTP Method | POST |
URL | https://terminsynchronisation.eterminservice.kv-safenet.de/tvs/terminsynchronisation/api/Slot/[id]/$slotstatus_aktualisieren |
Request Body | [parameters] |
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/fhir+xml |
Accept |
nein | Gibt an, welche Inhaltstypen die Systeme des Anfragenden verstehen.
|
application/fhir+xml |
Request Body
Der Request Body muss eine Parameters-Ressource mit dem Eingabeparameter status
enthalten. status
muss den Wert des neuen Status' des Terminslots besitzen. Soll also bspw. ein Terminslot auf den Status free
gesetzt werden, muss der Eingabeparameter status
genau diesen Wert (entsprechend dem zugrundeligenden CodeSystem) haben.
Folgende Status können in der Parameters-Ressource übergeben werden:
Status in FHIR | Fachliche Bedeutung | Erklärung |
---|---|---|
free |
frei | Der Termin ist frei und kann gebucht werden. |
busy |
gebucht | Der Termin wurde gebucht. |
busy-unavailable |
blockiert | Der Termin wurde für die Terminsuche und -buchung blockiert. |
Eine ausführliche Beschreibung des Parameters-Profils ist hier in der offiziellen HL7-Dokumentation zu finden.
Beispiel
# Aktualisiere den Status des Terminslots mit der ID "1ec4f924-cd75-45eb-97df-8848ff792fd5"
POST https://terminsynchronisation.eterminservice.kv-safenet.de/tvs/terminsynchronisation/api/Slot/1ec4f924-cd75-45eb-97df-8848ff792fd5/$slotstatus_aktualisieren
Content-Type: application/fhir+xml
WICHTIG: Der Request Body mit der Parameters-Ressource ist in diesem Beispiel NICHT enthalten. Ein Beispiel für eine Parameters-Ressource ist hier im vorliegenden Projekt zu finden. Das Beispiel ist auch noch einmal am Ende dieser Seite dargestellt.
Response
Die FHIR-Operation gibt bei Erfolg den HTTP-Statuscode 200 OK
und die neue Version des aktualisierten Terminslots als Response Header zurück. Auf eine Rückgabe der geänderten Ressource wird hierbei verzichtet, da nur der Status des Terminslots entsprechend des Eingabeparameters geändert wird.
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 |
ETag |
Gibt die Version der aktualisierten Ressource an. | 2 |
Response Body
Im Erfolgsfall wird KEIN Response Body zurückgegeben.
Im Fehlerfall ist im Response Body ein OperationOutcome enthalten. Details hierzu sind unter Profil: Fehler (OperationOutcome) zu finden.
Beispiele
Alle Beispiele für den Fehlerfall sind hier im vorliegenden Projekt zu finden.
<Parameters xmlns="http://hl7.org/fhir"> <parameter> <name value="status" /> <valueCode value="busy-unavailable" /> </parameter> </Parameters>
<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ähere Informationen zum Fehler." /> </coding> </details> <diagnostics value="Ungü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ültig." /> </coding> </details> </issue> </OperationOutcome>