Nursing & Scheduling

How to Build a Nurse Duty Roster for a 100+ Bed Hospital

How nurse duty rosters work at scale — who schedules them, cyclic patterns, coverage ratios, and what happens when a nurse takes leave.

SK

Subash Kandasamy

Founder, Uyirly

11 min readUpdated 4 August 2026

Ask a nurse in-charge how the duty roster gets made and you will rarely hear “software does it”. More often it is a WhatsApp group, a sheet on the notice board, and a lot of memory. That works for fifteen nurses. Somewhere past forty it stops, and past a hundred it becomes a patient-safety problem rather than an inconvenience.

The roster is not one big problem

The common mistake is to imagine that rostering a thousand nurses means scheduling a thousand nurses. Nobody does that. Rostering is owned per unit, by someone who knows that team.

1,000

nurses in a large hospital

~30

units, each with its own in-charge

20–40

nurses per in-charge to roster

Software should mirror that, and Uyirly does: the roster is scoped to a nursing unit— a block, floor and wing — and a nurse named as that unit's in-charge can build, publish and approve leave for it without being an administrator of the whole hospital.

Step 1 — The week grid

Nurse roster week grid for unit A · 1 · East, 21 to 27 September, with two nurses down the side and each day a dropdown showing Night or Morning, a tick on covered days and 2 short on the uncovered Sunday
One unit, one week. Each cell is a shift; each column says whether that day is covered.

Nurses down the side, days across the top, a shift in each cell. Two things in this picture are worth pointing at:

  • The unit selector. The grid is always one unit at a time, because that is the scope a person can actually hold in their head.
  • The header under each day. A tick means the day meets its required staffing; 2 short means it does not. That number is computed, not typed — more on it below.

A nurse can hold only one shift per day across the whole hospital, which the database enforces rather than trusting the grid. You cannot accidentally roster the same person into two units on the same morning.

Step 2 — Not building it from scratch

How a week actually gets built

Copy last week

Most nurses repeat

Apply a pattern

For cyclic teams

Auto-fill

Close the ratio gaps

Publish

Drafts become the rota

  • Copy last week clones the previous week into the empty slots. It leaves anything already filled alone, so it is safe to press on a half-built week.
  • Patterns stamp a repeating rotation — say seven mornings, two off, seven nights, three off — across the weeks for the nurses assigned to it, anchored to a start date so the cycle stays in phase from one month to the next.
  • Auto-fill works out what each shift needs, counts who is already on, and assigns the shortfall from available nurses — picking the nurse with the fewest shifts so far, so the machine does not quietly overwork whoever happens to sort first.

All three skip anyone on approved leave

Whichever route builds the week, a nurse with approved leave covering that date is never staged into it. That is the difference between leave being recorded and leave being respected — and the thing to test in a demo rather than take on faith.

Everything built this way lands as a draft, shown dashed on the grid. Publishing is a separate, deliberate act, because a roster staff can see is a promise and a half-finished one causes more trouble than no roster at all.

Step 3 — How “2 short” is calculated

Shifts and coverage settings showing morning, evening and night shift types with their hours, a coverage ratios card, and a unit in-charges card
Shift types, the ratio each unit runs at, and who is allowed to roster it.

Required staff for a shift is occupied beds ÷ ratio, rounded up, with a minimum so a quiet ward is never left empty. Both the ratio and the minimum are set per unit and per shift, because an intensive care unit at 1:2 and a general ward at 1:6 are not the same question. Units with nothing set fall back to 1:6.

The bed count is live — it is the patients actually admitted into that unit's rooms right now, not the ward's capacity. A ward that is half empty does not demand a full complement, and one that has filled up says so on the roster before the shift starts rather than after.

Note the shift types in the screenshot: this hospital runs two twelve-hour shifts, so eveningis switched off and does not count towards coverage. Turning a shift off is how a ward says which pattern it runs, rather than showing a permanent shortfall for a shift nobody works.

For the ward-by-ward ratio table and the NABH context behind it, see our nurse-to-patient ratio guide.

Step 4 — Leave

Leave requests list showing an approved annual leave for one nurse and a pending casual leave for another with approve and reject buttons
Requested ahead, approved or rejected by the in-charge, and then honoured by the roster.

Planned leave is requested with a type and a date range and approved by the in-charge or an admin. From that moment it is a fact the roster respects: the generator will not place that nurse on those days, and the shortfall shows up in the week header where someone can still do something about it.

Same-day sickness is the harder case, and no scheduler can plan for it. What helps is speed — seeing immediately who else is free. That is exactly what the nurse picker does when a patient is assigned (below).

From roster to patient assignment

The roster answers “who is on duty”. A separate question is “who is looking after this patient”, and the assignment is roster-aware: the picker lists nurses rostered to that unit and shift first, then everyone else, with anyone on approved leave sorted to the bottom and marked. Each nurse shows how many patients they already hold against the unit's ratio, so an overloaded nurse is visible before another patient is added.

It warns rather than blocks. A patient can never be refused care because the ward is short — the job of the software is to make the overload visible so help gets pulled in.

For the admission and bed side of this, see the IPD admission and bed management guide; for attendance on the day, see staff attendance.

What Uyirly does

  • A week grid per nursing unit, built and published by that unit's in-charge.
  • One shift per nurse per day, enforced in the database rather than by convention.
  • Copy last week, cyclic patterns anchored to a start date, and ratio-driven auto-fill.
  • Auto-fill that spreads work by who has the fewest shifts so far.
  • Approved leave excluded from every generation route.
  • Per-day shortfall from live occupied beds against a per-unit, per-shift ratio and minimum.
  • Shift types a ward can switch off when it does not run them.
  • Drafts until published, so staff never read a half-built rota.
  • A roster-aware nurse picker showing load against capacity at patient assignment.

Getting started

Rostering is part of Uyirly's hospital management software. See the nurse-to-patient ratio guide for the NABH context, or start a 30-day free trial with no credit card.

Frequently asked questions

Who is responsible for making the nurse duty roster in a hospital?

In most hospitals rostering is decentralised to each unit’s nurse in-charge, not a single central scheduler. A hospital with 1,000 nurses across 30 wards has around 30 in-charges, each rostering their own 20–40 nurses — which keeps the problem small and local instead of one impossible global puzzle.

How many nurses should be on duty per shift?

It depends on the unit and on how many beds are actually occupied. Required headcount = occupied beds ÷ the nurse-to-patient ratio, rounded up, with a floor so a near-empty ward is never left unstaffed. NABH-informed ratios run from about 1:6 in a general ward to 1:1 in intensive care.

Can nurse rostering be automated?

Partly, and that is usually enough. Copying last week forward, stamping a cyclic pattern, and filling the remaining gaps against the coverage ratio handle most routine scheduling. Full constraint-solver optimisation exists but is overkill for hospitals under a few hundred beds.

What happens to the roster when a nurse takes leave?

Approved leave should be excluded automatically — the generator must not schedule someone who is already off, and the resulting gap should be flagged. Same-day sick leave is a different problem: nothing can plan for it, so what matters is how quickly the in-charge can see who else is free.

See this in your own hospital

Uyirly runs OPD, IPD, pharmacy, lab, billing and staff scheduling in one platform. 30-day free trial, no credit card.

Start free trial

Related guides