Scheduling and Appointments
Context and Objective
In India, primary care facilities typically see 20-50 patients each day. Most patients walk-in for an unscheduled appointment, usually for acute . A few patients may have scheduled appointments β usually for those with chronic conditions like diabetes and hypertension.
Agni needs to serve both scheduled and unscheduled visits, in an intuitive and operationally-flexible manner.
Overview
Queue
Even if the facility has only one healthcare professional, they shall manage a queue. A queue is necessary to see unscheduled patients in the order of their arrival. Also, those with appointments have to be enqueued once they arrive at the facility. The position of a patient in the queue shall be changeable as long as they are yet to be seen by a Practitioner
β to address situations where one patient has to be seen more urgently than another.
Walk-in (unscheduled) visit - scope
A walk-in patient shall be added to the end of the queue for that day.
Front-office shall be able to remove them from the queue, as long as an
Encounter
has not started.Front-office shall be able to change their position in the queue.
Scheduled visit - how it is created
Suppose, at the end of the consultation, the doctor asks the patient to return for a checkup in 2 weeks. Then, one of two things shall happen:
The doctor shall directly enter follow-up date via the Android app, or
The patient shall convey this information to the front-office, who shall enter it into the Android app.
Once the appointment is created, the patient shall receive an SMS with the appointment date and time β if their mobile number is inputted in the system. The patient shall also receive SMS reminders 3 days and 1 day before the appointment. These reminders shall also be sent via email. The reminder schedule shall be configurable, and can change from one deployment to another.
In case the patientβs mobile number has not been entered, the system shall prompt the app user to add it while creating the follow-up appointment.
Scheduled visit - scope
When a patient with a prior appointment visits the facility, their status shall be changed to indicate that they have arrived.
Their visit time shall be visible to the front-office.
Front-office shall be able to remove them from the queue, as long as an
Encounter
has not started.Front-office shall be able to change their position in the queue β even if that means that they are seen later or earlier than their scheduled time.
Optional feature: Configuring facility hours
A facility should have the ability to enter their working hours, capacity (slots per day), and holiday schedule. This feature can be developed at a later date.
If developed, access to this feature must be configurable via user roles. This configuration can be set to βall usersβ for the demo implementation.
Model design
Ref: There are four resources of interest:
A Schedule
belongs to a person, facility or equipment. Because LatticeOnFHIR targets primary care, we will link Schedule
to primary care facilities, and not to an individual workstation or Practitioner
.
A Slot
splits up the schedule into bookable segments. One slot can accept multiple bookings.
Default configuration
16 slots of 30-minute duration each day, from 0900 hrs to 1700 hrs, 7 days a week.
Each slot shall accommodate 5 patients β thus, we assume a maximum of 80 patients in a day, with a cycle time of 5 minutes per patient.
1 of 4 (25%) of slots shall be reserved for appointments. Hence, each facility shall be able to pre-book 16 appointments a day, and the remaining 64 slots shall be available for walk-ins.
Notable Resource elements
Appointment
status
From within the appointmentstatus FHIR valueset, LatticeOnFHIR shall use status proposed
, arrived
, cancelled
, noshow
and entered-in-error
cancellationReason
Only used for appointments that are cancelled
or noshow
appointmentType
Value sets defined by Fhir to be used default value should be βROUTINEβ
description
not required - appears in subject line of calendars
start
Planned start date & time. In cases where appointments are mapped to slots, do not fill it.
end
Planned end date & time. In cases where appointments are mapped to slots, do not fill it.
created
To capture datetime of the appointment creation
subject
To link Patient
to the appointment
participant
To link details of actor which will be location and participant type
calcellationDate
When the appointment was cancelled
Statuses
proposed
: Applied when anAppointment
is created, either for follow-up in the same facility, or a referral to another facility. In case of referrals, the start date and time are empty, because LatticeOnFHIR shall not support referral visit scheduling. Operationally, it is the patient who decides when to go to the other facility.arrived
: Applied whenever a patient arrives at the PHC.cancelled
: Applied only to cancellations of scheduled appointmentsnoshow
: Applied automatically by the app, when the patient does not visit on the day of the scheduled visit, i.e. by 11:59 pm local time.entered-in-error
: There is no user workflow that ends up in this status. However, the provision for such a status shall be retained, to enable administrators to make changes with an audit trail.
Exclusions
.recurrenceTemplate
: LatticeOnFHIR shall not support recurring appointments workflows..serviceType
: indicates the type of service sought; not relevant to primary care..reason
: shall not be used because the related ValueSet, a list of conditions & diseases, is principally captured in theEncounter
resource.
Rules
Only proposed or cancelled appointments can be missing start/end dates.
Schedule
actor
It shall refer to a location resource of the healthcare facility
planningHorizon
As mentioned in default configuration
Exclusions
Schedule.serviceCategory
,Schedule.serviceType
and Schedule.specialty
shall not be utilized as LatticeOnFHIR does not require this level of detail.
Slot
schedule
The Schedule
resource which is split into bookable segments by this Slot
resource
status
Use binding slot status as this definition to be utilized checking availability for booking appointments
overbooked
This slot has already been overbooked, appointments are unlikely to be accepted for this time
start
Slot start date & time, mandatory
end
Slot end date & time, mandatory
Exclusions
Slot.specialty
, Slot.serviceType
, Slot.serviceCategory
and Slot.appointmentType
shall not be utilized as LatticeOnFHIR does not require this level of specificity.
Limitations
Appointment
is used to book a slot, and AppointmentResponse is used to confirm the booking. We shall not use theAppointmentResponse
resource because appointment confirmation lies outside the system scope.If we introduce telemedicine, then individual Practitioners shall need their own schedules. At that time, the schedule shall have to be changed from a facility-centric design to a practitioner-centric design.
Last updated
Was this helpful?