Rota

Somebody in every department still builds the call schedule by hand.

Eight surgeons in one service, eight different things they want out of the year, and the hospital runs a dozen more services just like it. The year filling in around these words is a real one, and every recolour is a step the solver actually took.

0days covered 0/8people who got what they asked for 0options tried starting
Rota Open the demo

Why it is worth replacing

Five questions a call schedule should be able to answer.

  1. Why have I got Christmas again?

    By hand: because somebody remembers it differently to you.

    Rota: the big holidays are counted per person against their share, and the day names who else was capped or unavailable.

  2. Am I carrying more weekends than everyone else?

    By hand: nobody has counted, so it stays a feeling.

    Rota: weekends per person, next to what that person should have had.

  3. Can somebody take the fourteenth off me?

    By hand: yes, and nothing checks what that does to the rest of the year.

    Rota: the swap is re-checked against every rule before it saves, and refused if it breaks one.

  4. I told you in March I was away that week.

    By hand: it was in a text, and the year was built in a spreadsheet.

    Rota: approved time off is a rule the solver is not allowed to break.

  5. Why them and not me?

    By hand: no answer that anybody can check.

    Rota: who is on, and the reason every other person is not.

How it works

Three things, and the year is somebody else's problem.

  1. Write down how each person works

    The weekdays they take and the ones they avoid, how long a run should be, how many days off they need between runs, the most consecutive days they will do, their share if they are part time, how many big holidays they will take, and what they carried over from last year.

    The People tab: a card per surgeon with their rules on it
    One card per person. Everything past the basics is folded away.
  2. Build the whole year at once

    Not month by month. The solver lays out every day of the period, then spends the rest of its time trading days between people to even the year up. It is the same search you watched at the top of this page.

    The schedule: twelve months of call, colour-coded by surgeon, with one day open
    A year of primary and backup call, colour-coded by person.
  3. Everyone gets their own page

    Their days, their weekend and holiday counts, a form to book time off and a button to ask somebody to take a day. It is one link per person. No accounts, no passwords, nothing to install.

    A surgeon's own page: their call days, a time-off form and their swaps
    What a surgeon sees. Requests land in the office inbox.

One hospital, many call lists

OR, NICU, 911, anaesthesia. Same engine, separate years.

Each call list has its own people, its own rules and its own twelve months, and nothing crosses between them. What the person running several of them needs is not another year to read: it is which of them is unbuilt, which has a build nobody has published, and which is waiting on a decision. That is the screen below, and with more than one call list it is where the app opens.

The board: one card per call list, each showing whether it is built, published, and how many requests are waiting

The part people argue about

Fair stops being a feeling.

Days, weekends and the big holidays, each next to what that person should have had. Part time is counted as part time; what somebody carried over from last year is counted too. The table below came off a real build.

The who-works-what table: days, weekends and big holidays against each person's fair share

And any day will tell you why

Tap a date and it names who is on, and then goes through everybody else one at a time: approved time off, only takes Thursdays and Fridays, already covering something else that day, would run past their limit of consecutive days, at their cap of big holidays, or simply already further above their share than the person who got it.

You can change the day right there. The rules are re-checked before it saves, and the change is refused if it breaks one.

The why panel: who is on call, and the reason each other surgeon is not

What it will and will not bend

Some rules are never broken. The rest are weighed against each other.

Never broken

  • Approved time off
  • The weekdays a person is limited to
  • The most consecutive days a person will do
  • Who is allowed to hold which duty
  • A cap on somebody's big holidays
  • Nobody in two places on the same day

If those cannot all be met, it says so and names the day rather than quietly producing a schedule that breaks one.

Weighed, and these are the defaults

  • A day somebody asked off150
  • Share of the big holidays60
  • Share of all holidays30
  • Keeping somebody on their own weekdays30
  • Share of weekends25
  • Runs the length people want25
  • Not moving what is already published25
  • Share of days20
  • No stray single days15
  • Rest between runs12
  • Weekdays somebody would rather avoid10
  • Weekdays somebody prefers5

Every one of those is a slider in the app. Raise one and the schedule changes.

Worth being clear about

It never sees a patient.

Rota holds names of the people on call and the dates they are on. No patients, no cases, no notes, no record numbers. There is nowhere in it to put them. It is a staff rota, and that is the whole of it.

Also true