Improved Appointments Calendar View

Improved Appointments Calendar View

 

 

Summary

The appointments calendar in O3 currently provides a basic monthly view showing appointment counts by service. However, it lacks several features that would make it more useful for clinical staff:

  • Limited drill down capability: Only a monthly view exists. Users cannot easily switch to weekly or daily views to get different levels of detail about their schedule.

  • Shows counts, not appointments: The calendar displays only the number of appointments per service (e.g., "Dental: 15") rather than showing actual patient appointments with names, times, and statuses.

  • Disruptive navigation: Clicking on a day navigates away from the calendar to a separate appointments list page, breaking the user's workflow and context.

  • Hard coded to Gregorian calendar: The implementation assumes a Gregorian calendar system, which doesn't work for organizations using Ethiopian, Islamic, Hebrew, or other calendar systems.



Project Goals

  1. Add drill down views: Enable users to switch between monthly, weekly, and daily calendar views

  2. Modal-based interaction: Replace page navigation with modals that keep users in their calendar context

  3. Calendar system flexibility: Support non-Gregorian calendars (Ethiopian, Islamic, Hebrew, etc.) using @internationalized/date

  4. Improved UX: Better visual hierarchy, quick actions, and responsive design


Resources

Codebase

  • esm-appointments-app

  • useAppointmentsCalendar hook

Libraries

OpenMRS

🎯Milestones:

Deliverables

Descriptions

Expected Date

Current Status

Evidence

Deliverables

Descriptions

Expected Date

Current Status

Evidence

Appointment Data Layer Foundation

  • useAppointmentsByDate hook

  • Dynamic period support for API requests

  • Reusable appointment-fetching utilities

09/06/2026

PR DONE
REVIEW DONE
MERGED

#PR 1

#PR 2

Weekly Calendar View

  • Weekly time-grid layout

  • Hour-slot appointment rendering

  • Current day highlighting

  • International calendar compatibility

  • Interactive appointment cells

11/06/2026

PR DONE
REVIEW DONE
MERGED

#PR 3

Daily Calendar View

  • Single-day appointment schedule

  • Hour-based appointment grouping

  • Appointment cards with patient, service, and status information

  • Loading and empty states

13/06/2026

PR DONE
REVIEW DONE
MERGED

#PR 4

Day Appointments Modal

  • Modal-based appointment details

  • Service-grouped appointment listing

  • Appointment status filtering

  • Drill-down navigation to Daily View

17/06/2026

PR DONE
REVIEW DONE
MERGED

#PR 5

Calendar Integration & Internationalization

  • Refactored existing monthly calendar interactions

  • Integrated international calendar systems

  • Introduced enhanced navigation controls

  • Unified calendar behavior across views.

25/06/2026

PR DONE
REVIEW DONE
MERGED

 

Final Calendar Integration

  • Connect all calendar views into a single orchestrated experience with state management, drill-down workflows, modal interactions, and localization support.

02/07/2026

PR DONE
REVIEW DONE
MERGED

 

Remove Weekly View

15/08/2026

PR DONE
REVIEW DONE
MERGED

 

Daily View

 

18/08/2026

PR DONE
REVIEW DONE
MERGED

 

Filters

 

14/08/2026

PR DONE
REVIEW DONE
MERGED

 

Localization