ACGME duty-hour limits apply to residents and fellows in accredited training programs — not to attending physicians or APPs. So this guide is specifically about scheduling resident shifts in an emergency-medicine program. If your group has no residents, these rules don’t apply to you (though the general rest and fatigue principles in our EM scheduling guide still do).
What the duty-hour limits require
The ACGME Common Program Requirements set the boundaries every program must schedule within. Always confirm the current edition and any EM-specific requirements, but the load-bearing limits are:
- 80-hour week — clinical and educational work averaged over four weeks, including in-house call and moonlighting.
- One day in seven free — averaged over four weeks (a full 24 hours free of clinical and educational duties).
- Maximum shift length — duty periods are capped (with distinct expectations for first-year residents), so EM’s shift-based model must respect a per-shift ceiling.
- Rest between scheduled duty — adequate time free between shifts; programs should schedule meaningful turnaround rather than back-to-back duty.
- Night-float limits — caps on consecutive nights of night float.
Because these are averaged over four weeks, a single week can run hot as long as the block averages out — which is exactly the kind of bookkeeping that’s painful by hand and easy to get wrong.
Why this is hard to schedule manually
A resident schedule has to satisfy the duty-hour limits and cover the department and keep enough supervising attendings on for the residents working — all at once. Tighten one and another slips. A spreadsheet can show you the hours after the fact; it can’t build a month that respects all of the limits simultaneously.
How to enforce duty hours automatically
Treat the duty-hour limits as hard constraints in a real optimizer: the weekly-hours cap, one-in-seven off, shift-length ceiling, rest turnaround, and consecutive-night limit become rules the schedule mathematically cannot violate. For teaching services, add a supervision ratio so the number of residents on never exceeds what your on-duty attendings can supervise. Everything else — circadian-friendly rotation, fair distribution of nights and weekends, individual preferences — becomes a weighted goal the optimizer balances on top.
This is how StaffShiftr handles academic programs: ACGME resident duty-hour limits and attending-supervision ratios are top-priority rules for resident shifts (and can be set as hard caps where your program requires), alongside ACEP shift-length caps for attendings, with per-site rule profiles so a mixed academic/community group can run different rules at each site in the same build — and every trade-off the optimizer makes is shown, not hidden.
A practical checklist
- Encode the 80-hour week as a four-week average, not a hard weekly cap.
- Guarantee one-in-seven off across the block.
- Set the per-shift length ceiling (and a tighter one for interns where required).
- Require real rest turnaround between shifts and recovery after night float.
- Cap consecutive night-float shifts.
- Add a supervision ratio so residents are never on without enough attending coverage.
- Confirm everything against the current ACGME requirements for your specialty.
This guide is general information, not compliance advice — verify the current ACGME Common Program Requirements and your program’s policies before relying on any schedule.