> ## Documentation Index
> Fetch the complete documentation index at: https://www.planmyrounds.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# How coverage requirements work

> Coverage requirements set the minimum headcount and seniority mix PlanMyRounds must staff on every shift — here's where they're set and how the engine treats them.

A coverage requirement is the minimum staffing PlanMyRounds must hit on a shift. It's made of two numbers, both **hard constraints**: if the engine can't meet them, generation fails rather than publishing a short-staffed schedule.

## The two numbers

> **Required doctors**
>
> The total headcount needed to cover the shift each time it occurs.

> **Min seniors required**
>
> How many of those doctors must be senior, out of the total required.

## Where it's set

Both numbers are defined once, on the [Shift Requirement](https://www.planmyrounds.com/docs/shifts/overview.md) itself, not per roster. Every [Shift Schedule](https://www.planmyrounds.com/docs/shifts/shift-schedules.md) and Duty Plan that uses that shift inherits the same staffing requirement — you don't set it again when building a roster.

> [!NOTE]
>
> Changing a Shift Requirement's staffing numbers only affects Duty Plans generated afterward. See [What changes when you edit something](https://www.planmyrounds.com/docs/what-changes-when-you-edit-something.md).

## How the engine treats it

Coverage requirements sit near the top of the engine's [priority order](https://www.planmyrounds.com/docs/scheduling-engine.md#constraint-priority-order): after no-overlap and approved-leave blocks, minimum staffing and minimum senior staffing are checked before any work-pattern or fairness rule. If your team can't meet a shift's coverage requirement across the full period, generation fails — see [Duty Plan generation failed](https://www.planmyrounds.com/docs/troubleshooting/duty-plan-generation-failed.md).

The [wizard's team-selection step](https://www.planmyrounds.com/docs/rosters/creating-a-roster.md) runs a live coverage check as you pick doctors, so you can catch a shortfall before you even generate.

## Next steps

> **[Create a shift](https://www.planmyrounds.com/docs/shifts/creating-shifts.md)**
>
> Set required doctors and minimum seniors on a Shift Requirement.

> **[Duty Plan generation failed](https://www.planmyrounds.com/docs/troubleshooting/duty-plan-generation-failed.md)**
>
> What to check when coverage can't be met.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.