Terminprofil anlegen (Schedule Create)
Inhalt
Beschreibung und fachlicher Kontext
Beim Anlegen eines Terminprofils handelt es sich um die FHIR-Standardinteraktion create.
Diese Interaktion ermöglicht die Übermittlung eines neu angelegten Terminprofils an die Systeme des 116117 Terminservices. Dadurch kann eine Praxis / medizinische Einrichtung individuelle Terminprofile definieren und diese zum Erstellen neuer Terminslots im 116117 Terminservice nutzen. Solche Terminprofile haben immer den Typ EXTERN. Es gibt auch andere Arten von Terminprofilen, die ebenfalls für die Erstellung neuer Terminslots genutzt werden können. (Details hierzu sind auf der Seite Profil: Terminprofil (Schedule) im Abschnitt Fachlicher Kontext
zu finden.) Übermittelt ein TVS einen neu erstellten Terminslot mit einem unbekannten Terminprofil an den 116117 Terminservice, geben die Systeme des 116117 Terminservices einen Fehler zurück.
Ein Terminprofil muss immer einer Praxis / medizinischen Einrichtung zugeordnet sein. Darüber hinaus kann ein Terminprofil optional auch einem konkreten Arzt, der in dieser Praxis / medizinischen Einrichtung tätig ist, zugeordnet werden. Die Zuordnung zu einer Praxis / medizinischen Einrichtung oder einem konkreten Arzt hat folgende Auswirkungen:
Ist ein Terminprofil einem konkreten Arzt zugeordnet ...
... können beim Erstellen dieses Terminprofils nur Leistungsmerkmale und Diagnosefremdsprachen ausgewählt werden, die dieser Arzt besitzt bzw. anbietet.
... sind auch die Terminslots, die auf Basis dieses Terminprofils erstellt werden, diesem Arzt zugeordnet.
Ist ein Terminprofil nur
einer Praxis / medizinischen Einrichtung zugeordnet...
... können beim Erstellen dieses Terminprofils alle Leistungsmerkmale und Diagnosefremdsprachen ausgewählt werden, die die dort tätigen Ärzte besitzen bzw. anbieten.
... sind auch die Terminslots, die auf Basis dieses Terminprofils erstellt werden, KEINEM konkreten Arzt zugeordnet.
Die Zuordnung zu einer Praxis / medizinischen Einrichtung und ggf. einem Arzt erfolgt über eine PractitionerRole. Dadurch wird ersichtlich, welche Praxis / medizinische Einrichtung das Terminprofil angelegt hat und (wenn angegeben) auch, welchem dort tätigen Arzt das Terminprofil zugeordnet ist. Im neu zu erstellenden Terminprofil ist die zugehörige PractitionerRole über eine absolute URL referenziert, die wie folgt aufgebaut ist: https://fhir.kbv.de/PractitionerRole/[PractitionerRoleID]
Bitte beachten: Die URL der PractitionerRole-Referenz beginnt somit NICHT wie die Request-URLs! Stattdessen leitet sich der erste Teil der URL für eine PractitionerRole-Referenz aus der canonical URL des PractitionerRole-Profils ab: https://fhir.kbv.de/. Dahinter wird der Ressourcentyp (also PractitionerRole) und anschließend die ID der PractitionerRole angegeben.
Die PractitionerRole-ID wird ausschließlich von den Systemen des 116117 Terminservices festgelegt. Es ist daher notwendig, dass ein TVS die korrekte PractitionerRole-ID kennt, um ein neues Terminprofil anlegen zu können. Details zum Aufbau der PractitionerRole-ID sind unter Profil: PractitionerRole im Abschnitt Fachlicher Kontext
zu finden. Die PractitionerRole-ID kann mithilfe der Interaktion PractitionerRole abrufen (PractitionerRole Search) ermittelt werden.
Weiterhin muss bei der Erstellung eines neuen Terminprofils mindestens ein gültiges Leistungsmerkmal ausgewählt werden, welches für die Terminslots übernommen wird, die mit dem neuen Terminprofil verknüpft werden.
Die Gültigkeit eines Leistungsmerkmals bei der Erstellung eines neuen Terminprofils ist abhängig von PractitionerRole-Referenz:
Ohne Arztzuordnung: Wird auf eine PractitionerRole referenziert, welche wiederum KEINE Arzt-Referenz enthält, so bezieht sich das neue Terminprofil auf die gesamte Praxis. Daher kann in diesem Fall aus allen Leistungsmerkmalen ausgewählt werden, welche die dort tätigen Ärzte anbieten.
Mit Arztzuordnung: Wird auf eine PractitionerRole referenziert, welche eine Arzt-Referenz enthält, so bezieht sich das neue Terminprofil ausschließlich auf diesen Arzt. In diesem Fall kann nur aus den Leistungsmerkmalen des referenzierten Arztes ausgewählt werden.
Request
Das Anlegen eines Terminprofils erfordert einen POST-Request.
Das neu anzulegende Terminprofil muss im Request Body übergeben werden (siehe hierzu Abschnitt Request Body
).
| HTTP Method | POST |
| URL | https://terminsynchronisation.eterminservice.kv-safenet.de/pvs/terminsynchronisation/api/Schedule |
| Request Body | [schedule] |
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 |
Bitte beachten: Laut FHIR-Standard kann über den Prefer Header vom Anfragenden festgelegt werden, ob die neu angelegte Ressource im Response Body enthalten sein soll. Die Systeme des 116117 Terminservices werten diesen Header NICHT aus. Das im 116117 Terminservice neu erstellte Terminprofil wird in der Antwort (Response) auf einen create-Request IMMER mit zurückgegeben.
Request Body
Der Request Body muss das Terminprofil enthalten, das im 116117 Terminservice erstellt werden soll. Eine ausführliche Beschreibung des Terminprofil-Profils sowie Beispiele sind unter Profil: Terminprofil (Schedule) zu finden.
Bitte beachten:
Die ID eines Terminprofils (zu finden im Feld
Schedule.id) wird ausschließlich durch die Systeme des 116117 Terminservices festgelegt. Wird in einem create-Request ein Terminprofil mit ID übergeben, so wird diese ID von den Systemen des 116117 Terminservices NICHT verarbeitet.Der Terminprofil-Typ (zu finden im Feld
Schedule.extension:weitereParameter.extension:terminprofiltyp) wird ausschließlich durch die Systeme des 116117 Terminservices festgelegt. Wird in einem create-Request ein Terminprofil mit Terminprofiltyp übergeben, so wird dieser Wert von den Systemen des 116117 Terminservices NICHT verarbeitet.Ein Terminprofil muss immer einer PractitionerRole zugeordnet sein. Die PractitionerRole wird im Feld
Schedule.actorüber eine absolute URL referenziert (siehe hierzu AbschnittBeschreibung und fachlicher Kontext
auf dieser Seite). Die dafür notwendige PractitionerRole-ID kann mithilfe der Interaktion PractitionerRole abrufen (PractitionerRole Search) ermittelt werden.Für ein neues Terminprofil muss immer mindestens ein gültiges Leistungsmerkmal übermittelt werden, ansonsten antwortet das System des 116117 Terminservices mit einem Fehler. Zur Gültigkeit der Leistungsmerkmale in Abhängigkeit zur PractitionerRole siehe die Erklärung im Abschnitt
Beschreibung und fachlicher Kontext
auf dieser Seite.
Beispiele
Beispiele für Terminprofile sind hier im vorliegenden Projekt zu finden. Einige Beispiele sind auch noch einmal am Ende dieser Seite dargestellt.
Response
Für das Anlegen von Terminprofilen wird im Erfolgsfall der HTTP-Statuscode 201 Created sowie das neu erstellte Terminprofil im Response Body 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
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 |
Location |
Gibt die URL zur neu erstellten Ressource an. | https://terminsynchronisation.eterminservice.kv-safenet.de/pvs/terminsynchronisation/api/Schedule/c98db2da-9cf5-4370-b54b-ef981c53abxx |
ETag |
Gibt die Version der neu erstellten Ressource an. | 1 |
Response Body
Im Erfolgsfall ist im Response Body das neu erstellte Terminprofil enthalten. Beim Erstellen des Terminprofils im 116117 Terminservice wird dem Terminprofil automatisch eine ID (im Feld Schedule.id) und eine Version (im Feld Schedule.meta.versionId) zugewiesen. Beide Felder sind im Terminprofil, das im Response Body enthalten ist, befüllt. Weitere Details zum Terminprofil-Profil sind unter Profil: Terminprofil (Schedule) zu finden.
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.