BioMaxis Implementation Guide - Local Development build (v0.0.0-semantic-release) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Scheduling
This specification defines implementation guidance for booking and managing healthcare appointments within the BioMaxis Scheduling module. This specification is built on FHIR Version 4.0.1 and primarily utilizes the Schedule, Slot, and Appointment resources.
Booking an Appointment
The process of booking an appointment by a patient involves selecting a desired practitioner, and booking an available time slot in which the practitioner is available for the patient's desired service. For this, the following steps are recommended:
- A patient first chooses the specialty which they want an appointment for (eg: Cardiology).
- The patient is asked to select a practitioner from the available practitioners within the chosen specialty.
- The patient is then prompted to select an appointment date, filtered by the practitioner's availability.
- Available booking windows for the selected date are displayed based on:
- The patient can select from a list of available booking windows.
- PractitionerRole resources based on the BioMaxis PractitionerRole profile also contain an estimated visiting duration defined by the visitDuration extension.
- Slot resources can be booked within the booking window based on:
- the duration of the booking window, and
- the configured visit duration.
- Example: A 30-minute booking window starting at 10:00 with visit duration of 10 minutes can have three Slots (10:00-10:10, 10:10-10:20, 10:20-10:30).
- The patient is assigned an appropriate Slot from within the selected booking window.
- Finally, an Appointment resource is created for the assigned Slot after confirmation from the patient.
Computing Booking Windows and Slots
Booking windows and available time slots are internally computed when a patient selects the requested specialty, practitioner, and date. Using these inputs, booking windows with available slots need to be displayed to the patient. The following steps can be used to implement this functionality:
- A practitioner has availability information for the specialty service they provide within their associated PractitionerRole Resource.
- The PractitionerRole resource conforms to the BioMaxis PractitionerRole profile, and has the extensions: bookingWindow and visitDuration in every availableTime element.
- Using the availability, bookingWindow, and visitDuration, a list of booking windows with available Slots can be created as follows:
- Create a list of virtual Slots by dividing the availability duration on the basis of visit duration minutes.
- Create a list of booking windows by dividing the availability duration on the basis of booking window minutes.
- For each booking window, check if slots that are contained within it have already been booked.
- If slots are available within a booking window, display the booking window to the patient for selection along with the number of slots available.