Terminprofil löschen (Schedule Delete)
Inhalt
Beschreibung und fachlicher Kontext
Beim Löschen eines Terminprofils handelt es sich um die FHIR-Standardinteraktion delete.
Diese Interaktion ermöglicht das Löschen eines Terminprofils im 116117 Terminservice. Nach der Löschung ist das Terminrprofil nicht mehr für die Erstellung neuer Terminslots verfügbar. Das bedeutet, wenn ein neuer Terminslot erstellt werden soll, kann das gelöschte Terminprofil nicht mehr als Grundlage für diesen neuen Terminslot ausgewählt bzw. angegeben werden.
Ein Terminprofil darf nur dann gelöscht werden, wenn keine zukünftigen Terminbuchungen existieren, die auf Terminslots basieren, die mit diesem Terminprofil verknüpft sind. Für Terminprofile vom Typ AUTOMATISCH
, die einem konkreten Arzt zugewiesen sind, muss zusätzlich die Bedingung erfüllt sein, dass der zugewiesene Arzt nicht mehr in der Praxis gemeldet ist; erst dann können diese Terminprofile gelöscht werden.
Das Löschen eines Terminprofils ist zudem versionsabhängig. Das bedeutet, dass das TVS die Version des Terminprofils in der Lösch-Anfrage an den 116117 Terminservice übermitteln muss. Stimmt die Version nicht mit der Version überein, die im 116117 Terminservice für dieses Terminprofil hinterelegt ist, bekommt der Anfragende einen Fehler zurück.
Request
Das Löschen eines Terminprofils erfordert einen DELETE-Request.
Die ID des zu löschenden Terminprofils muss in der URL übergeben werden. In der folgenden Tabelle ist für die Terminprofil-ID der Platzhalter [id]
in der Zeile URL
eingetragen. Die Terminprofil-ID ist im Feld Schedule.id
der Schedule-Ressource zu finden.
Die aktuelle Version des zu löschenden Terminprofils muss als Request Header übergeben werden. In der folgenden Tabelle ist für die Version des Terminprofils der Platzhalter [version]
in der Zeile Request Header
eingetragen. Die Version des Terminprofils ist im Feld Schedule.meta.versionId
der Schedule-Ressource zu finden.
HTTP Method | DELETE |
URL | https://terminsynchronisation.eterminservice.kv-safenet.de/tvs/terminsynchronisation/api/Schedule/[id] |
Request Header | If-Match: [version] |
Request Header
Folgende Request Header werden von den Systemen des 116117 Terminservices unterstützt und verarbeitet:
Header | Verpflichtend? | Beschreibung | Wert |
---|---|---|---|
If-Match |
ja | Aktuelle Version des zu löschenden Terminprofils, zu finden im Feld Schedule.meta.versionId . |
1 |
Authorization |
ja | Im Authentisierungsverfahren erhaltener ACCESS_TOKEN als Bearer Token | Bearer ey... |
Request Body
Ein Request Body ist NICHT erforderlich.
Beispiele
# Lösche das Terminprofil mit der ID "1ec4f924-cd75-45eb-97df-8848ff792fd5" und der aktuelle Version "1"
DELETE https://terminsynchronisation.eterminservice.kv-safenet.de/tvs/terminsynchronisation/api/Schedule/1ec4f924-cd75-45eb-97df-8848ff792fd5
If-Match: 1
Response
Für das Löschen eines Terminprofils wird im Erfolgsfall der HTTP-Statuscode 204 No Content
zurückgegeben. Wurde das Terminprofil bereits zu einem früheren Zeitpunkt gelöscht, wird ebenfalls der HTTP-Statuscode 204 No Content
zurückgegeben.
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
Es werden KEINE Response Header von den Systemen des 116117 Terminservices gesetzt und an den Anfragenden zurückgesendet.
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.
<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>