Operation: Status eines Terminslots aktualisieren


Inhalt

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

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 Feld Slot.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)

NameCardinalityTypeBindingDocumentation
status1..1codeKBV_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.
  • 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 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&#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>