Add a new appointment for a specific practitioner and location. By default, the appointment is booked even if the practitioner already has an appointment at that time. To prevent a double booking, include the fail-on-double-booking parameter set to true. If the practitioner already has an appointment at that time, the request returns a 409 Conflict and no appointment is created. Leaving the parameter out or setting it to false keeps the default behaviour.
This endpoint uses the $book operation, which functions differently from other standard POST endpoints. This is because creating an appointment automatically involves multiple other actions, such as creating an invoice, clinical note and reminder.
The request structure for the $book operation requires the appointment properties to be created as separate entries under the parameter property.
Use our recipe
As an example, refer to our recipe to view how to structure a request for this endpoint.
Request schema
| Parameter Name | Description / Contents |
|---|---|
| appt-resource | The general details for the appointment start end minutesDuration resourceType participant > actor |
| appt-id (optional) | An existing appointment to book this patient, such as for group appointments Note: If adding to a group appointment, use this parameter instead of See also: Appointment |
| patient-id | The patient this appointment is booked for See also: Patient |
| healthcare-service-id (optional) | The appointment type used for this appointment See also: HealthcareService |
| location-type | The method used for this appointment Only |
| status | The appointment status (e.g. booked confirmed pending) |
| charge-item-definition-id | The fee booked for this appointment See also: ChargeItemDefinition |
| fail-on-double-booking (optional) | Whether to stop the booking if the practitioner already has an appointment at that time Set to |
Parameters
400Invalid input
403Forbidden
422Unprocessable entity
