GET /Appointment
Returns the patient’s next upcoming appointment. Past and cancelled appointments aren’t returned. Query parameterpatient (required): Patient/{id}. Missing returns 400.
Response
200 OK, a FHIR Bundle withtotal of 0 (empty entry) or 1:
status is one of booked, cancelled, or fulfilled.
POST /Appointment/$book
Books an open slot.Request body
A FHIR Parameters resource wrapping an Appointment:serviceType[0].text defaults to Follow-up consultation if omitted. start, and both a Patient/ and Practitioner/ participant reference, are required. Missing any of them returns 400.
Response
200 OK, the booked Appointment resource (same shape as above).POST /Appointment/{id}/$reschedule
Moves an existing appointment to a new time.Epic itself frequently models a reschedule as cancel-then-rebook rather than a dedicated operation. This sandbox exposes reschedule as one convenience call instead.
Request body
start is required. Missing or invalid returns 400.
Response
200 OK, the updated Appointment,status: "booked".
404 Not Found for an unknown or cross-clinic appointment id:
POST /Appointment/{id}/$cancel
Cancels an existing appointment. No request body.Response
200 OK, the Appointment,status: "cancelled". Same 404 behavior as $reschedule for an unknown or cross-clinic id.
