Chiefs build the call schedule by hand around limits the ACGME writes and the program answers for. VitalScheduler generates the call and shift schedule with the work-hour limits you set built into the generator, shows every resident their projected hours and their fair share within their class before the month starts, and checks manual edits and swaps against the same limits, citing the requirement. The annual block schedule lives in the same place: paste in the one you have, or generate it from each rotation's staffing and blocks per class, and every resident's rotation counts toward their hours too.
Everyone enters their requests in the app, and the solver builds the month around them. See it in about a minute.
Built to handle
Work-hour limits are constraints, not warnings: the generator will not build a schedule that breaks the limits you set. If your rotations make a limit impossible, the slot shows as unfilled and the report says why
Every resident sees projected hours, days off, call frequency, and fair share within their class on My Schedule, with a personal calendar feed
Build the annual block schedule from staffing minimums and blocks per class, or paste the sheet you have. Each resident's rotation counts toward their work hours, so the limits cover the whole week, and residents on away or research blocks drop out of call automatically
Manual edits, imported blocks, and swaps are checked against the same limits, each flagged with the requirement number it would break
Fairness by class: PGY-1s are compared with PGY-1s, and each resident sees what they worked earlier in the year alongside this month
The limits the generator enforces
At most 80 hours a week, averaged over four weeks, with vacation and leave taken out of the average (CPR VI.F.1)
One day in seven free of clinical work, averaged over four weeks (VI.F.2)
At most 24 hours of continuous scheduled clinical work, including a day shift stacked onto call (VI.F.3)
At least 14 hours free after 24 hours of in-house call (VI.F.2)
In-house call no more often than every third night, averaged over four weeks (VI.F.6)
Every number is a setting. The residency preset fills in the 2026 Common Program Requirements; your Review Committee's variations are edits, not code
What this is not
Not ACGME-approved. The ACGME does not endorse software, and compliance stays the program's responsibility. We show the rules we enforce with their requirement numbers so you can check them
Not a duty-hour log. Residents still attest actual hours in MedHub or New Innovations; scheduled-versus-actual attestation is on the roadmap
Not a service that builds your year for you. You set each rotation's staffing and blocks per class; the generator builds the block year and the monthly call from those rules, and you can change any cell
Your starting point, ready on day one
The Residency Program setup ships with Wards week (senior), Wards week (intern), Night float week, 24-hour call, Clinic, Backup (home call). Pick it in the two-minute setup wizard, adjust anything, and generate your first schedule the same afternoon. Or describe your group in plain English and let AI draft a custom setup.