Elegant IT
Healthcare SaaS · UX and UI Design · Web Development

Physician scheduling
should not run on spreadsheets.

Across six hospitals, a scheduling coordination team was spending more than fourteen hours every week resolving conflicts that a better system would have prevented automatically. The tool was not the problem. The absence of one was.

0%
Conflict reduction
0 hrs
Saved weekly
0
Hospitals unified
0 wks
To live product
UX ResearchProduct DesignFrontend EngineeringBackend DevelopmentInteraction Design
app.hospitalflow.com / scheduling
St. Mary's · ICU rotation
Week of March 18 · 2026
DayWeekMonth
MON 18
TUE 19
WED 20
THU 21
FRI 22
SAT 23
SUN 24
Dr. Patel
Dr. Chen
Dr. Reyes
Dr. Okafor
Dr. Hossain

The first thing we asked when we started this project was not “what do you want us to design.” We asked to watch the scheduling team work for two days.

What we saw was a team of highly skilled coordinators doing the right things with the wrong tools. They had color-coded the spreadsheets. They had created their own naming conventions. They had built informal systems on top of the formal ones because the formal ones were not sufficient. When someone went on leave, they sent a WhatsApp message to three people.

This told us something important. The problem was not behavior. The people were working exactly as hard as they should. The problem was that nothing about their environment was designed for what they were doing. Our job was to give the environment a shape that matched the work.

The problem was not behavior. The problem was that nothing about their environment was designed for what they were doing.

What we found
01

The calendar and the availability roster were separate documents.

Physicians recorded their availability in one document. The weekly schedule was built in another. These two were never automatically compared. Every conflict began here.

02

Conflict detection happened after the schedule was finished.

Coordinators would complete a full schedule draft, then manually scan it for problems. The system created no friction at the moment a conflict was being made.

03

Approvals happened over email and phone with no audit trail.

Schedule changes requiring department head approval were managed by email chain. Who approved what and when existed only in inboxes.

The product we built
Real-time conflict detection

The system flags problems before they become problems.

We built conflict detection that runs with every scheduling action. If a physician is assigned to two overlapping shifts, or if leave conflicts with a rotation, the system flags it immediately, before the schedule is saved.

/schedule/icu/week-12
MON
TUE
WED
THU
FRI
Dr. Patel
Dr. Chen
Dr. Reyes
Dr. Okafor
!
Conflict detected
Dr. Patel · Tuesday 14:00 – 22:00
Existing shiftICU rotation · 14:00 – 22:00
Conflicting assignmentER on-call · 18:00 – 06:00
Overlap4 hours
Reassign ER to Dr. Chen (available)
Split shift, reassign 18:00 onward
Override (requires approval)
/physicians/dr-patel
RP
Dr. Rajiv Patel
Senior Consultant · ICU
HospitalSt. Mary's
Hire dateAug 2019
Shifts / wk4
PTO balance11 days
Next leaveApr 12 – 18
Availability · next 14 daysSynced live
Upcoming shifts
ICU · Tue Mar 1914:00 – 22:00
ICU · Thu Mar 2106:00 – 14:00
ICU · Fri Mar 2214:00 – 22:00
Unified availability management

One source of truth. For all six hospitals.

Physician availability now updates the scheduling view automatically. The coordinator no longer maintains a separate roster. The calendar and the availability data are always in sync.

Built-in approval workflows

Every change has a complete audit trail.

Email-based approvals replaced with a structured in-platform workflow. Department heads receive notifications, review in context, approve or reject with a comment. Every decision is logged with a timestamp.

/approvals/CR-2841
Pending change · CR-2841
Submitted 24m ago
SH
Dr. Sara Hossain
Requesting swap with Dr. Reyes
Awaiting
Change requested
Move ICU rotation from Sat Mar 23 (14:00 – 22:00) to Mon Mar 25 (06:00 – 14:00). Dr. Reyes confirmed.
Approve
Reject with comment
Submitted by Coordinator Lee · Mar 18, 09:42
Notified Department Head · Mar 18, 09:42
Awaiting decision · Dr. Marcus Ortega
/dashboard/overview
Health system overview
Sterling Health · 6 hospitals · Today
St. Mary's
North campus
2
Conflicts
14
Pending
Riverside
East campus
0
Conflicts
3
Pending
Northside
North campus
1
Conflicts
7
Pending
Pinewood
West campus
0
Conflicts
2
Pending
Westfield
Central
3
Conflicts
19
Pending
Lakeshore
South campus
0
Conflicts
5
Pending
Multi-hospital overview

Six hospitals. One administrator. One dashboard.

Before this project there was no way to see across all six hospitals at once. The new multi-hospital view shows the scheduling health of the entire organisation in one screen.

The design system
01 · Color system
Active state
#A78BFA
Current selection · primary actions
Confirmed state
#D4FF3D
Approved shifts · resolved items
Pending state
#8B5CF6
Awaiting review · in-progress
Tentative state
#FB923C
Draft assignments · proposals
02 · The calendar component
Week view
MON
TUE
WED
THU
FRI
SAT
SUN
Patel
Chen
Reyes
Okafor
Day view
06:00
Dr. Patel · ICU 06:00 – 14:00
14:00
Dr. Chen · ICU 14:00 – 22:00
22:00
Dr. Hossain · Night 22:00 – 06:00
06:00Mar 19
Open · ICU 06:00 – 14:00
03 · Typography scale
Display
Space Grotesk · 700 · 56px
Heading 1
Space Grotesk · 700 · 40px
Heading 2
Space Grotesk · 600 · 28px
Heading 3
Space Grotesk · 600 · 20px
Body · all running text, descriptions, and notes throughout the app.
Space Grotesk · 400 · 16px
Caption · labels & metadata
Space Grotesk · 500 · 12px · upper
04 · Status pills · Notification pattern
Status pill system
ActiveConfirmedPendingTentativeCancelledArchived
Notification patterns
!
Conflict detected
Dr. Patel · Tue 14:00
Change approved
Dr. Hossain · swap confirmed
?
Awaiting your review
CR-2841 · 12 minutes

What the data showed after thirty days.

0%
Reduction in scheduling conflicts in the first month. The conflict detection system caught and resolved issues before they were confirmed.
14 hrs
Saved per week by the scheduling coordination team across all six hospitals. Time previously spent on phone and email conflict resolution.
0%
Coordinator satisfaction score in the post-launch survey. The team asked if they could train the other hospital groups on the system themselves.

“We had people who had been doing scheduling for years tell us this was the first tool that actually made sense for how they work. We did not expect that.”

Head of Scheduling OperationsName withheld by request
Eight weeks, one process
01Discovery and researchWeek 1+
User interviews, process mapping, friction analysis across three hospital locations. We watched two days of work before we asked any questions. By Friday we had documented every informal workaround the coordinators had built on top of the spreadsheets.
02UX architectureWeek 2+
Information architecture, user flows, wireframes, coordinator feedback session. We mapped every conflict path and every approval branch. The coordinators reviewed wireframes on Thursday and rejected two before we ever moved to design.
03Visual designWeek 3+
High-fidelity UI, component library, interactive Figma prototype, design system. The four-state color system was decided here. Active pink, confirmed lime, pending violet, tentative amber. Every status in the product maps to one of those four.
04Frontend engineeringWeek 4+
Calendar component build, responsive framework, component library implementation. The week-view calendar was the hardest single component, with conflict overlays, drag-to-reassign, and keyboard navigation for coordinators who never touch a mouse.
05Backend engineeringWeeks 5–6+
Conflict detection engine, availability sync, multi-hospital data model, approval workflow API. Conflict detection runs as a server-side validator on every write. The same logic is exposed to the client so the UI can warn before the API call.
06QA and deploymentWeeks 7–8+
Multi-hospital testing, coordinator training, staged rollout, production deployment. Two hospitals on Monday. Two more on Wednesday. Final two on Friday. By the end of week eight, every spreadsheet was archived.
Tech stack
React
Frontend and calendar component rendering
Next.js
Server-side rendering and routing
Node.js
Backend API, conflict detection engine, notification dispatch
PostgreSQL
Multi-hospital relational schema, availability and scheduling data
WebSockets
Real-time availability sync across all hospitals
Figma
Design system, 340 components, interactive prototype

Ready to build something like this?

Book a free 15-minute call. We will look at what you are building and tell you honestly what it takes and whether we are the right fit.