Appointment
Scheduling
The Appointments module manages patient bookings with doctors. It handles scheduling, rescheduling, cancellations, check-ins, and the public booking portal where patients can book their own appointments online.
What is Appointment Management?
Appointment Management is the system that schedules patient visits with doctors. It allows staff to book appointments (select doctor, date, time slot),check patients in when they arrive, reschedule orcancel appointments, and track no-shows. It also provides a public booking portal where patients can book their own appointments online without calling the hospital.
The system shows doctors' available slots in real-time, prevents double-booking, and sends reminders to patients about upcoming appointments.
Why Does It Exist?
- → Eliminate double-booking — Without a system, two patients can be booked for the same doctor at the same time
- → Reduce wait times — Proper scheduling spreads patients evenly throughout the day
- → Reduce no-shows — Automated reminders decrease the number of patients who forget their appointments
- → Online booking — Patients can book 24/7 without calling the busy front desk
How Appointment Booking Works
Select Doctor & Slot
The patient (or front desk staff) selects a doctor from the available list. The system shows the doctor's available slots for the next few days. Each slot has a start time and an estimated duration (e.g., 15 minutes for a general consultation).
Patient Confirmation
The patient's details are confirmed (existing patient found by MRN/phone, or new patient registered). The appointment is booked and locked. The patient receives a confirmation with date, time, doctor name, and location.
Check-In & Queue
On the day of the appointment, the patient arrives and checks in at the front desk. The appointment status changes to 'checked_in'. The patient appears in the doctor's queue. Walk-in patients without appointments are added to the queue at the end.
Completion or Reschedule
After the consultation, the appointment is marked 'completed'. If the patient doesn't show up, it's marked 'no_show'. Patients can reschedule or cancel appointments before the scheduled time.
Every Feature Explained
Doctor Scheduling
Configure each doctor's available days and times.
Doctors have different schedules. The system needs to know when each doctor is available.
Each doctor has a weekly schedule (e.g., Mon/Wed/Fri 9AM-5PM). Breaks and buffer times between appointments are configurable. Vacations block out entire days.
Online Public Booking
Patients can book appointments through a public web portal.
Reduces phone calls to the front desk. Patients can book 24/7.
The public portal shows available doctors and slots. Patients select a doctor and time, enter their details, and confirm. The appointment appears in the hospital's system immediately.
Check-in & Queue Management
Track which patients have arrived and are waiting.
Ensures patients are seen in order and doctors know who is waiting.
Front desk marks patients as 'Arrived'. They appear in the doctor's queue. The queue can be sorted by appointment time or priority.
Reschedule & Cancel
Change or cancel appointments.
Plans change. Patients need flexibility without calling.
Rescheduling opens the slot for others and books a new slot. Cancellation frees the slot immediately. Both actions log the reason and staff member.
Status Tracking
Track appointments through their lifecycle: booked, checked-in, in-progress, completed, cancelled, no-show.
Provides visibility into clinic flow and helps identify bottlenecks.
Each status change is timestamped. Reports show no-show rates, average consultation times, and wait times. Helps optimize scheduling.
Technical Architecture
| Field | Type | Institutional Role |
|---|---|---|
| id | UUID | Primary unique identifier for the appointment. |
| doctorId | UUID | Foreign key to the assigned doctor. |
| patientId | UUID | Foreign key to the patient. |
| dateTime | DateTime | Scheduled start time of the appointment. |
| status | Enum | booked, checked_in, in_progress, completed, cancelled, no_show. |
Note: Sensitive fields use AES-256 field-level encryption where applicable.
Governance & Power
appointments:viewappointments:createappointments:checkinappointments:rescheduleappointments:cancelSlot Locking
Once an appointment is booked, the slot is locked and invisible to other patients. Cancellation immediately releases the slot back to the pool.
Emergency Override
Emergency slots are reserved in each doctor's schedule. These can only be used for urgent cases and require special authorization.
Reminder Notifications
Automated reminders can be sent via SMS or in-app notification before the appointment to reduce no-shows.