HL7fiSched_REQ2: Book an appointment
This operation documentation is for a large part based on the one defined in US Argonaut Scheduling implementation guide.
An appointment can be stored either by providing (as a parameter):
- an appointment id for an appointment with suitable status (eg. proposed) already created and stored on the server or
- an actual constructed appointment resource proposal that is negotiable based on the resources needed (TO-BE-DEVELOPED).
The primary usage pattern is 1 after free appointments have been queried (ie. fetching proposed appointments).
The proper usage depends on the model of implementation (may support either or both).
Parameters
Use | Name | Cardinality | Type | Binding | Documentation |
---|---|---|---|---|---|
IN | appt-id | 0..1 | URI | A resource id for one of proposed Appointments returned by a prior Query for free appointments operation. Either this or appt-resource SHALL be provided | |
IN | appt-resource | 0..1 | FinnishSchedulingAppointment resource | AS A PLACEHOLDER CURRENTLY, to be defined. Either this or appt-id SHALL be provided | |
IN | cancelled-appt-id | 0..* | URI | For signifying rescheduling of appointment (instead of just cancellation). There may be technical checks on the client or server side whether the new appointment may be seen as corresponding to previously cancelled appointment in order to define the status to "siirretty" (moved) instead of "peruttu" (cancelled). | |
OUT | return | 0..1 | Bundle (base Bundle profile) | Bundle of type searchset of requested FinnishSchedulingAppointment resource. If the booking is accepted, the FinnishSchedulingAppointment resource will have an updated status of "booked" and the participants element updated to include the participants. If the booking is rejected, the FinnishSchedulingAppointment resource will have an updated status of "cancelled". |
Book an appointment is always HTTP POST operation as it aims to alter the resources in question.
Using POST
Syntax the operation can be invoked as follows:
POST [base]/FinnishSchedulingAppointment/[id]/$book
when using appt-id as an input parameter
POST [base]/FinnishSchedulingAppointment/$book
when using appt-resource as an input parameter