Appointments & Scheduling Use Cases¶
Implementation Note: Appointment scheduling integrates with HL7 SIU messages for legacy systems and provides REST APIs for modern interfaces. All scheduling respects doctor availability, room/resource constraints, and patient preferences.
UC-APPT-001: Register New Patient¶
Purpose: Create patient record with demographics, ABHA verification, and duplicate detection.
| Property | Value |
|---|---|
| Actor | Registration Desk / Patient Portal |
| Trigger | New patient arrival or online registration |
| Priority | P0 |
Main Success Scenario:
1. Collect patient demographics:
- Name, DOB, Gender
- Phone, Email, Address
- Photo (optional)
2. Verify ABHA ID (if provided):
- Call ABDM ABHA verification API
- Fetch linked health records consent
3. Check for duplicates:
- Match on Name + DOB + Phone
- Fuzzy match on Aadhaar last 4 digits
4. If duplicate found:
- Present existing record for review
- Merge or create new based on staff decision
5. Generate MRN (Medical Record Number)
6. Create patient record in system
7. Issue registration receipt/token
Acceptance Criteria:
- [ ] ABHA verification in < 3 seconds
- [ ] Duplicate detection accuracy > 95%
- [ ] MRN format: HOSP-YYYY-NNNNN
- [ ] Patient photo capture (mobile/webcam)
- [ ] Aadhaar-based eKYC (optional)
India-Specific:
- ABHA ID verification via ABDM APIs
- Aadhaar eKYC integration (optional)
- PM-JAY beneficiary verification
- CGHS/ECHS beneficiary lookup
UC-APPT-002: Book OPD Appointment¶
Purpose: Schedule outpatient consultation with doctor availability check.
| Property | Value |
|---|---|
| Actor | Registration Desk / Patient App |
| Trigger | Patient requests appointment |
| Priority | P0 |
Main Success Scenario:
1. Select department and doctor (or "Any available")
2. Query doctor availability:
- Fetch schedule from roster
- Check existing appointments
- Account for buffer time between slots
3. Display available slots:
- Date, Time, Duration
- Consultation fee
4. Patient selects preferred slot
5. Collect appointment details:
- Reason for visit (optional)
- Insurance/payment mode
6. Create appointment record
7. Send confirmation:
- SMS/WhatsApp with details
- Calendar invite (optional)
8. Update doctor's schedule
Acceptance Criteria:
- [ ] Real-time availability check
- [ ] Slot duration configurable per doctor
- [ ] Buffer time between appointments
- [ ] Multi-language confirmation (English/Hindi)
- [ ] Cancellation/reschedule support
UC-APPT-003: Doctor Availability Management¶
Purpose: Configure and manage doctor schedules, leave, and availability.
| Property | Value |
|---|---|
| Actor | Admin / Doctor |
| Trigger | Schedule configuration or leave request |
| Priority | P1 |
Main Success Scenario:
1. Define regular schedule:
- Days of week
- Start/end times per day
- Slot duration (15/20/30 min)
- Max patients per slot
2. Configure recurring patterns:
- Weekly OPD schedule
- Monthly special clinics
3. Mark exceptions:
- Leave/holidays
- Conference days
- Emergency availability
4. Handle leave requests:
- Doctor submits leave request
- Admin approves/rejects
- System blocks affected slots
- Notify affected patients
5. Manage substitutions:
- Assign covering doctor
- Transfer appointments
Acceptance Criteria:
- [ ] Calendar view of doctor schedule
- [ ] Bulk slot creation
- [ ] Leave management workflow
- [ ] Patient notification on cancellation
- [ ] Audit trail for schedule changes
UC-APPT-004: Check-In Patient for Appointment¶
Purpose: Mark patient arrival and update queue for consultation.
| Property | Value |
|---|---|
| Actor | Registration Desk / Self-Service Kiosk |
| Trigger | Patient arrives for appointment |
| Priority | P0 |
Main Success Scenario:
1. Identify patient:
- Scan appointment QR code
- Search by name/phone/MRN
- ABHA ID lookup
2. Verify appointment:
- Confirm date/time/doctor
- Check payment status
3. Collect vitals (if nursing station):
- Weight, Height, BP, Temp
- Chief complaint
4. Update appointment status: "Checked In"
5. Add to doctor's queue:
- Calculate wait time
- Assign queue number
6. Issue token:
- Print token with queue number
- Display on waiting room screen
7. Notify doctor of patient arrival
Acceptance Criteria:
- [ ] QR-based fast check-in (< 30 sec)
- [ ] Real-time queue display
- [ ] Vital capture integration
- [ ] Wait time estimation
- [ ] Multi-doctor queue support
UC-APPT-005: OPD Queue Management¶
Purpose: Manage real-time patient queue and display wait times.
| Property | Value |
|---|---|
| Actor | Queue Display System / Staff |
| Trigger | Patient checked in or called |
| Priority | P1 |
Main Success Scenario:
1. Maintain queue per doctor/room:
- Ordered by check-in time
- Priority flags (elderly, emergency)
2. Display current queue:
- Now serving: Token #XXX
- Estimated wait times
3. Doctor calls next patient:
- Click "Next Patient" in UI
- Queue display updates
- Audio/visual announcement
4. Handle queue exceptions:
- Skip patient (not present)
- Emergency insertion
- Patient leaves without consultation
5. Calculate analytics:
- Average wait time
- Consultation duration
- No-show rate
Acceptance Criteria:
- [ ] Real-time queue display (TV/monitor)
- [ ] Audio call announcements
- [ ] Priority queue support
- [ ] Average wait time calculation
- [ ] Integration with consultation start/end
UC-APPT-006: Reschedule Appointment¶
Purpose: Allow patients or staff to reschedule existing appointments.
| Property | Value |
|---|---|
| Actor | Patient / Registration Desk |
| Trigger | Reschedule request |
| Priority | P1 |
Main Success Scenario:
1. Identify appointment:
- By confirmation number
- By patient lookup
2. Check reschedule policy:
- Minimum notice period (e.g., 4 hours)
- Maximum reschedules allowed
3. Show available alternative slots
4. Confirm new slot selection
5. Update appointment record:
- Mark original as rescheduled
- Create new appointment
- Link for audit trail
6. Send notifications:
- Confirmation to patient
- Update doctor calendar
7. Release original slot for rebooking
Acceptance Criteria:
- [ ] Policy-based reschedule limits
- [ ] No-fee reschedule within 24 hours
- [ ] Multi-channel reschedule (app, web, call)
- [ ] Audit trail of all changes
- [ ] Automatic slot release
UC-APPT-007: Cancel Appointment¶
Purpose: Process appointment cancellation with refund handling.
| Property | Value |
|---|---|
| Actor | Patient / Registration Desk |
| Trigger | Cancellation request |
| Priority | P1 |
Main Success Scenario:
1. Identify appointment
2. Check cancellation policy:
- Cancellation fee based on notice period
- Free cancellation window
3. Confirm cancellation with patient
4. Process refund (if applicable):
- Full refund within policy
- Partial refund with fee deduction
- No refund outside window
5. Update appointment status: "Cancelled"
6. Release slot for rebooking
7. Send cancellation confirmation
8. Update doctor's schedule
Acceptance Criteria:
- [ ] Configurable cancellation policies
- [ ] Automatic refund processing
- [ ] Slot immediately available for rebooking
- [ ] Cancellation reason capture
- [ ] No-show vs. cancellation differentiation
UC-APPT-008: Follow-Up Appointment Booking¶
Purpose: Schedule follow-up visits based on doctor recommendation.
| Property | Value |
|---|---|
| Actor | Doctor / Staff |
| Trigger | Doctor recommends follow-up |
| Priority | P1 |
Main Success Scenario:
1. Doctor indicates follow-up needed:
- Follow-up in X days/weeks
- Specific tests before follow-up
2. System suggests available slots:
- Same doctor preferred
- Time preference (same time of day)
3. Staff/patient confirms slot
4. Create appointment linked to original visit
5. If tests required:
- Create test orders
- Link test results to follow-up
6. Send reminder sequence:
- T-7 days: Pre-visit reminder
- T-1 day: Appointment reminder
- T-4 hours: Final reminder
Acceptance Criteria:
- [ ] Doctor-initiated follow-up workflow
- [ ] Pre-requisite test tracking
- [ ] Smart reminder sequence
- [ ] Visit linkage for continuity
- [ ] Follow-up compliance tracking
UC-APPT-009: Schedule Telemedicine Appointment¶
Purpose: Book video/audio consultation with doctor.
| Property | Value |
|---|---|
| Actor | Patient / Registration Staff |
| Trigger | Patient requests teleconsultation |
| Priority | P0 |
Main Success Scenario:
1. Patient selects telemedicine option:
- Department/Specialty
- Doctor (or any available)
2. Check telemedicine availability:
- Doctor's teleconsult slots
- Platform availability
3. Collect consultation details:
- Chief complaint
- Preferred language
- Device compatibility check
4. Payment processing:
- Consultation fee display
- Online payment
- Insurance/TPA if applicable
5. Confirm appointment:
- Generate meeting link
- Send confirmation with link
- Add to doctor's calendar
6. Pre-consultation:
- Share instructions (device setup)
- Symptom questionnaire link
- Document upload option
Acceptance Criteria:
- [ ] Multi-platform support (web, mobile)
- [ ] Device/bandwidth testing
- [ ] Secure meeting link generation
- [ ] Payment integration
- [ ] Reminder notifications
India-Specific:
- Telemedicine Guidelines 2020 compliance
- eSanjeevani integration (optional)
- ABDM consent for data sharing
UC-APPT-010: Schedule Surgery¶
Purpose: Book operation theatre slot with surgeon, anesthesiologist, and resource allocation.
| Property | Value |
|---|---|
| Actor | OT Coordinator / Surgeon |
| Trigger | Surgery request from doctor |
| Priority | P0 |
Main Success Scenario:
1. Receive surgery request:
- Patient details
- Procedure type (ICD-10-PCS / CPT)
- Surgeon preference
- Urgency (Elective/Urgent/Emergency)
2. Check OT availability:
- Theatre rooms
- Equipment requirements
- Estimated duration
3. Check personnel availability:
- Primary surgeon
- Anesthesiologist
- Nursing staff (scrub, circulating)
4. Validate pre-requisites:
- Pre-operative investigations complete
- Anesthesia fitness clearance
- Consent obtained
- Blood arranged (if required)
5. Allocate resources:
- Assign OT room
- Block equipment
- Reserve PACU/ICU bed
6. Create surgery schedule entry
7. Notify all stakeholders:
- Surgeon, Anesthesiologist
- OT nursing staff
- Ward nursing (patient prep)
- CSSD (instrument sterility)
Acceptance Criteria:
- [ ] Real-time OT calendar view
- [ ] Conflict detection (double-booking)
- [ ] Equipment availability check
- [ ] Pre-requisite checklist enforcement
- [ ] Multi-stakeholder notifications
India-Specific:
- NABH OT scheduling compliance
- MLC case flagging
- Ayushman Bharat package rate display
Scheduling Integration Architecture¶
flowchart TB
subgraph "Channels"
A["Patient App"]
B["Web Portal"]
C["Call Center"]
D["Kiosk"]
end
subgraph "Scheduling Engine"
E["Availability Service"]
F["Booking Service"]
G["Queue Manager"]
H["Notification Service"]
end
subgraph "External Systems"
I["HL7 SIU (ADT)"]
J["Doctor Calendar"]
K["Payment Gateway"]
L["ABDM (ABHA)"]
end
A --> F
B --> F
C --> F
D --> G
F --> E
F --> K
F --> H
G --> H
I --> F
E --> J
F --> L
Document Owner: Product Manager / Integration Lead
Last Updated: 2024-12-09
Related: Notifications | Ingestion - HL7