Residency and fellowship scheduling
A training programme schedules against more constraints than any other setting: service cover, educational requirements, duty-hour limits, supervision, and rotation blocks that are fixed months in advance.
Rotation blocks
A block is a period during which a trainee is assigned to a service. Blocks are the frame; the call and shift schedule is built inside them.
Schedule periods and request windows map onto this directly — a block is a schedule period, and the request window for it opens and closes before it is generated.
Duty hours as hard rules, not a report
The limits that constrain a residency schedule are expressible as rules the generator must satisfy:
- Maximum hours per week, averaged over a defined window.
- Maximum consecutive hours on duty.
- Minimum time free between scheduled duty periods.
- Required days free, averaged over four weeks.
- Limits on the frequency of in-house call.
Because these are hard rules, a generated schedule satisfies them by construction, and a swap or open-shift claim that would break one is refused with the specific rule named.
This is the difference that matters. Checking duty hours after the fact finds violations that have already happened; building against them produces a schedule that cannot contain one.
Limits that differ by training year
A PGY-1 and a PGY-3 are not under the same constraints and are frequently on the same rota. Training year is a staff category the programme defines, and rules are set per category — so one schedule carries both sets of limits without anyone maintaining two schedules.
Supervision
"A PGY-1 on this service must be scheduled alongside a senior" is an eligibility and co-staffing requirement, expressed against the categories the programme defines. The generator respects it; it is not a thing to check by eye on a printed grid.
What a programme can show
Every assignment is in the record, with its real span, including every swap. That means duty-hour counts per trainee per window, call frequency, days free, and who covered which service on a given date — the questions that arrive from outside the programme, months later.
Common questions
Does it enforce ACGME duty-hour limits?
Duty-hour requirements are expressible as hard rules — weekly averaged hours, consecutive-hour caps, minimum time free between shifts, days off averaged over four weeks — and the generator will not produce a schedule that breaks a hard rule. The programme remains responsible for its own compliance; what the software provides is a schedule built against the limits rather than checked afterwards.
Can limits differ by training year?
Yes. Training year is a staff category the programme defines, and rules are set against categories, so a PGY-1 can carry different limits from a PGY-3 in the same schedule.