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
Add drill down views: Enable users to switch between monthly, weekly, and daily calendar views
Modal-based interaction: Replace page navigation with modals that keep users in their calendar context
Calendar system flexibility: Support non-Gregorian calendars (Ethiopian, Islamic, Hebrew, etc.) using
@internationalized/dateImproved UX: Better visual hierarchy, quick actions, and responsive design
Resources
Codebase
Libraries
@internationalized/date - Calendar system support
Carbon Design System - UI components
dayjs - Current date library
OpenMRS