Resident Doctor Scheduling Tool
A tool for reading, comparing, and exporting residency schedules.
My wife, Clare, is an OB/GYN resident. Her schedule came in an Excel spreadsheet that was hard to read. I started by parsing it into a Google Calendar.
She also wanted to know who she was working with, who was on call, how many night shifts she had left, and how often she worked with another resident. I added views to answer those questions. When other residents’ partners wanted access, I added accounts.
Reading the schedule
The original spreadsheet covered 32 residents across 107 date slots. The app has a grid for the whole program, month/week/day calendars, a page for each resident, and a comparison view for two residents. It also exports personal iCal feeds.
I built it with Elixir, Phoenix LiveView, and Postgres/Ecto. GitHub Actions deploys it to DigitalOcean.
Importing corrections
Importing a schedule replaces the assignments and rotations for that academic year. It keeps the resident records and leaves other years alone. The replacement runs in a database transaction, so an error doesn’t leave half the schedule loaded.
This means an import replaces any rotation edits made in the app for that year. It doesn’t try to merge them with the spreadsheet.
Screenshots