Operation: Terminbuchung absagen


Inhalt

  1. Beschreibung und fachlicher Kontext
  2. FHIR-Operation
  3. Request
  4. Response

Beschreibung und fachlicher Kontext

Beim Absagen einer Terminbuchung handelt es sich um eine custom operation in FHIR.

Mit dieser Operation kann eine Terminbuchung abgesagt werden, die über den 116117 Terminservice vorgenommen wurde. Dies kann im Namen des Patienten oder der Praxis / medizinischen Einrichtung geschehen.

Wird die Terminbuchung abgesagt, ändern die Systeme des 116117 Terminservices automatisch auch den Status des zugehörigen Terminslots:

  • Wenn die Absage im Namen des Patienten vorgenommen wird, ändert sich der Status des zugehörigen Terminslots auf frei.

  • Wenn die Absage im Namen der Praxis / medizinischen Einrichtung vorgenommen wird (bspw. aufgrund einer Erkrankung des Arztes), ändert sich der Status des zugehörigen Terminslots auf blockiert.

(Soll der Status des Terminslots manuell geändert werden, kann hierfür die Operation: Status eines Terminslots aktualisieren genutzt werden.)


FHIR-Operation

Name KBV_OD_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Appointment_Cancellation
Type OperationDefinition
Kind operation
Code termin_absagen
Canonical URL https://fhir.kbv.de/OperationDefinition/KBV_OD_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Appointment_Cancellation

Invocations

URL: [base]/Appointment/[id]/$termin_absagen

Parameters (In)

NameCardinalityTypeBindingDocumentation
abgesagtDurch1..1codeKBV_VS_116117_TERMINSERVICE_TVS_TERMINSYNCHRONISATION_Appointment_Cancelled_By (required)

Angabe, wer den Termin absagt


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 Absagen einer Terminbuchung erfordert einen POST-Request.

Die ID der Terminbuchung, die abgesagt werden soll, muss in der URL übergeben werden. In der folgenden Tabelle ist für die Terminbuchungs-ID der Platzhalter [id] in der Zeile URL eingetragen. Die Terminbuchungs-ID ist im Feld Appointment.id der Appointment-Ressource zu finden.

Die FHIR-Operation erfordert den Eingabeparameter abgesagtDurch. 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/Appointment/[id]/$termin_absagen
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.
  • 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
Accept nein Gibt an, welche Inhaltstypen die Systeme des Anfragenden verstehen.
  • Der 116117 Terminservice unterstützt 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 eine Parameters-Ressource mit dem Eingabeparameter abgesagtDurch enthalten. abgesagtDurch muss die Information enthalten, wer die Terminbuchung abgesagt hat. Hat bspw. der Patient in der Praxis / medizinischen Einrichtung angerufen und den Termin abgesagt, muss der Eingabeparameter abgesagtDurch den Wert pat für Patient (entsprechend dem zugrundeligenden CodeSystem haben) haben.


Folgende Werte können in der Parameters-Ressource für abgesagtDurch übergeben werden:

Status in FHIR Fachliche Bedeutung Erklärung
pat Patient Der Patient hat die Terminbuchung abgesagt.
prov Praxis Die Praxis / medizinische Einrichtung hat die Terminbuchung abgesagt.

Eine ausführliche Beschreibung des Parameters-Profils ist hier in der offiziellen HL7-Dokumentation zu finden.


Beispiel

# Sage die Terminbuchung mit der ID "1ec4f924-cd75-45eb-97df-8848ff792fd5" ab
POST https://terminsynchronisation.eterminservice.kv-safenet.de/tvs/terminsynchronisation/api/Appointment/1ec4f924-cd75-45eb-97df-8848ff792fd5/$termin_absagen
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 der aktualisierten Terminbuchung als Response Header zurück. Auf eine Rückgabe der geänderten Ressource wird hierbei verzichtet, da nur der Status der Terminbuchung auf den Wert cancelled gesetzt und der Wert für Appointment.cancelationReason 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="abgesagtDurch" />
        <valueCode value="pat" />
    </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&#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>