{ "description": "OperationDefinition für die Buchung eines Termins. Die Operation überprüft ob der Termin noch verfügbar ist im Termin-Repository.", "_filename": "OperationDefinition-ISiKAppointmentBookOperation.json", "package_name": "de.gematik.isik-terminplanung", "date": "2024-11-19", "system": false, "publisher": "gematik GmbH", "instance": false, "name": "book", "type": "true", "experimental": "false", "resourceType": "OperationDefinition", "title": null, "package_version": "3.0.6", "status": "active", "id": "7e431bd0-d136-4927-8e3e-842753e0e588", "resource": [ "Appointment" ], "affectsState": true, "kind": "operation", "url": "https://gematik.de/fhir/isik/v3/Terminplanung/OperationDefinition/AppointmentBook", "code": "book", "version": "3.0.6", "parameter": [ { "max": "1", "min": 1, "use": "in", "name": "appt-resource", "type": "Appointment", "documentation": "Eine Appointment-Ressource entsprechend dem dazugehörigen ISiK-Profil MUSS übergeben werden. Falls das Parameter-Element 'Appointment' als einziges Parameter-Element verwendet wird, SOLL die Appointment-Ressource direkt im HTTP Body übergeben werden, alternativ zu einer Parameter-Ressource inklusive dem eingebetteten Appointment-Element. Invalide Ressourcen MÜSSEN abgelehnt werden durch das Termin Repository (zur Form der Ablehnung s.u.). Das Appointment MUSS den Status 'proposed' enthalten." }, { "max": "1", "min": 0, "use": "in", "name": "cancelled-appt-id", "type": "uri", "documentation": "Für die vorliegende Spezifikation ist die Verschiebung eines Termin eins zwei-stufiger Prozess, bei dem ein Termin storniert und ein neuer Termin neu gebucht wird. Dieser Parameter repräsentiert die Ressourcen-Id des stornierten Appointments. Der uri-Parameter kann eine absoulte URL enthalten, Server SOLLEN jedoch nur Termine für ihre eigene Domäne verwalten. Im neu-angelegten Appointment MUSS eine Reference auf den abgesagten Termin hinterlegt werden (vgl. Appointment.extension:replaces). Der Status der abgesagten Ressource MUSS durch den Server angepasst werden. Die Verschiebung ist als transaktionale Operation zu verstehen, d.h. die Absage des originalen Termins ist durch den Server nur bestätigt werden, wenn der neue vorgeschlagene Termin angenommen werden kann. Andernfalls ist die Terminverschiebung mit einem entsprechenden Hinweis abzulehnen." }, { "max": "1", "min": 0, "use": "in", "name": "schedule", "type": "Reference", "documentation": "Im Falle dass ein Appointment keine Referenz auf ein oder mehrere Slots enthält, MUSS der Server die benötigten Slots auf Basis der Referenz auf Schedule, sowie dem Start- und Endzeitpunkt im Appointment ermitteln.", "targetProfile": [ "https://gematik.de/fhir/isik/v3/Terminplanung/StructureDefinition/ISiKKalender" ] }, { "max": "1", "min": 0, "use": "out", "name": "return", "type": "Appointment", "documentation": "Falls die Interaktion erfolgreich ist, ist der Status Code HTTP 201 - Created zurückzugeben. Im Erfolgsfall MUSS als Return-Parameter eine Appointment-Ressource (entsprechend dem dazugehörigen ISiK-Profil) zurückgegeben werden. Das id-Element der Appointment-Ressource MUSS korrekt gefüllt werden. Der Server MUSS den Status der Appointment-Ressource auf 'booked' oder 'pending' ändern. Der Server MUSS die verwendeten Slot-Ressourcen als Referenz im Appointment angeben. Die Appointment-Ressource SOLL direkt im HTTP Body zurückgegeben werden, falls es sich um den einzigen Rückgabewert handelt. Alternativ kann die Appointment-Ressource innerhalb einer Parameter-Ressource zurückgegeben werden. Als Teil der Parameter-Ressource können zusätzlich Hinweise zum Termin als OperationOutcome zurückgegeben werden." }, { "max": "1", "min": 0, "use": "out", "name": "return", "type": "OperationOutcome", "documentation": "Falls die Interaktion fehlschlägt, MUSS als Return-Parameter eine OperationOutcome-Ressource zurückgegeben werden. Syntaktische Fehler in der Appointment-Ressource MUSS mit einem HTTP Status-Code 400 - Bad Request zurückgewiesen werden. Anderweitig invalide Appointment-Ressourcen MÜSSEN mit einer OperationOutcome-Ressource abgewiesen werden. In diesem Fall SOLL der HTTP Status-Code HTTP 422 - Unprocessable Entity verwendet werden. Eine OperationOutcome-Ressource KANN zu informativen Zwecken in jedem Fall zurückgegeben werden (s.o.)." } ] }