Endpoints
Create Appointment
Admin can book for any practitioner. Practitioners can only book their own appointments.
Must be
"Appointment"proposed, pending, booked, arrived, fulfilled, cancelled, noshow, entered-in-error, checked-in, waitlistCategory of appointment (Outpatient, Follow-up, etc.)
Type of appointment
Reason for appointment
Brief description of the appointment
Start time (must be on 15-minute boundary, 09:00-12:00, Mon-Sat)
End time (must be 15 minutes after start)
Must be 15
Patient and practitioner references
Additional comments
Example Request
cURL
Response
List Appointments
Filter by appointment date (YYYY-MM-DD format)
Filter by practitioner:
Practitioner/{id}Filter by patient:
Patient/{id}Filter by status
Example Request
Get Appointment by ID
Update Appointment
Updates are subject to the same scheduling rules: 15-minute slots, 09:00-12:00, Mon-Sat, no conflicts.
Scheduling Rules
Appointment Statuses
| Status | Description | Blocks Slot? |
|---|---|---|
proposed | Appointment is proposed | ❌ |
pending | Waiting for confirmation | ❌ |
booked | Confirmed appointment | ✅ |
arrived | Patient has arrived | ✅ |
fulfilled | Appointment completed | ✅ |
cancelled | Appointment cancelled | ❌ |
noshow | Patient didn’t show | ❌ |
entered-in-error | Created by mistake | ❌ |
Service Categories
Outpatient
Regular outpatient visits
Follow-up
Follow-up appointments
Preventive Care
Wellness and screening
Acute Care
Urgent care visits
Chronic Management
Ongoing condition management
Specialist Referral
Specialist consultations
Role Permissions
| Role | Create | Read | Update | Scope |
|---|---|---|---|---|
| Admin | ✅ | ✅ | ✅ | All practitioners |
| Practitioner | ✅ | ✅ | ✅ | Own schedule only |
| Auditor | ❌ | ✅ | ❌ | All appointments |
Error Responses
| Status | Error | Description |
|---|---|---|
| 400 | Invalid slot | Time not on 15-min boundary or outside 09:00-12:00 |
| 409 | Practitioner unavailable | Overlapping appointment exists |
| 403 | Permission denied | Practitioner trying to book for another practitioner |