Scheduling
Scheduling platform that supports clinical workflows such as clinician or location filtering, patient slot selection, custom notifications, pre-appointment forms and more. Medplum supports the full range of scheduling scenarios from very simple single schedule with slots, to a complex scheduling requirements with facilities, equipment and constraints requirements.
Features
The Medplum scheduling implementation is a very standards compliant implementation of the FHIR Schedule. It has the following features.
- Schedule creation: create a schedule on app.medplum.com or via API. Associate the appropriate metadata with the schedule, for example, what service type, location and practitioner is associated with this schedule.
- Slot creation: once a schedule is in place, creating slots at a certain time is the next step. Slots are commonly created via API, but can also be made on app.medplum.com. Slots belong to a schedule and represent an opening on that schedule that can be booked.
- Calendar scheduler for patients: when allowing patients to book their appointments you can embed a schedule in your application that corresponds to a schedule. Here is the React component. When the patient selects a slot, create an appointment that references that slot programmatically and mark the
Slot.status=busy
and create an Appointment that references that slot. An appointment can take one or more slots. - Embedded questionnaires: you can require patients to fill out a questionnaire before scheduling, and to do so embed the questionnaire in the React component. The filled out questionnaire will be available as a FHIR QuestionnaireResponse.
- Schedule search: It's common to require that a patient be matched to a provider in a specific location or with a specific credential. Use the search API to match a schedule to a patient as needed.
Common Configurations
When enabling scheduling by patients or referring physicians, it's critical that scheduling is only enabled under the correct conditions.
- Geographic scheduling: Medplum supports searching for schedules by location, and using that feature can ensure that patients are matched with providers in the appropriate location.
- Scheduling for a specific doctor or practitioner: schedule search can ensure that a patient only meets with their practitioner or CareTeam. (See
Schedule.actor
in documentation.) - Requiring a form, payment active insurance to be filled out before scheduling an appointment can be accomplished by showing users schedules or allowing them to book slots only when data is complete and verified.
- Best Practices for billing include tagging schedules and appointments with the appropriate service type
- Reminders and communications regarding scheduling can be implemented using bots, and SMS reminders, emails, and calendar appointments are common.
- Video conferencing for virtual care is common and providers use the a one "meeting room with waiting area" per schedule model to provide a streamlined experience for providers, for example one Zoom Meeting Room per schedule.
FHIR Resources
Resource | App Link | Create New | API Documentation |
---|---|---|---|
Schedule | View All | Create New | API |
Slot | View All | Create via API or workflow | API |
Appointment | View All | Create via API or workflow | API |
In general one Schedule has many Slots, one Appointment takes one or more Slots.
Demos and Reference Material
- Scheduling API and Workflow Video on Youtube
- Storybook Scheduler React Component
- Foo Medical Scheduling sample patient portal with appointment booking experience.
- Provider Demo sample simple EHR with provider calendar and slot creation.
- Sample Code sample code for searching for and creating schedules and slots.