Residency · 9 min read · 2026-10-21

How to build the on-call schedule for a resident team.

To build a fair call schedule, the chief resident first works out the share of each resident on the service for the block, reduced for days of leave, then places the weekends before the weeknights. For the program's own residents, they keep a running count for the year: calls worked minus shares owed. That count decides who gets the leftover calls, block after block. I apply it here to a fictional service with eight program residents and two off-service residents, over two four-week blocks.

By Kamel Gorieze

Co-founder · product and user experience

In short

Before you start: who is on the service this block

A resident team changes every block. There are the program residents, who belong to the service and come back block after block during the year. There are the off-service residents, from other programs, who do a four-week rotation on the service: they arrive at the start of the block, like everyone else, and leave at the end. And there are program residents who are elsewhere this block, on another service or on an elective. Those aren't on your schedule.

The distinction matters for one reason. You can keep things fair over the year with program residents, because they come back. With an off-service resident, fairness has to happen within four weeks, and there is no next block to correct a gap.

The example is a fictional service. Blocks last 28 days and the schedule is built two blocks at a time: block 1 runs from Monday 2027-01-04 to Sunday 2027-01-31, block 2 from Monday 2027-02-01 to Sunday 2027-02-28. Eight program residents, Dr. A to Dr. H, are there for both blocks. In block 1, Dr. K and Dr. L are off-service. In block 2, they are replaced by Dr. M and Dr. N.

The agreement's rules, in practice

Call rules for Quebec residents come from the collective agreement between the FMRQ and the Ministry of Health. In the agreement's words, the resident coordinator (résident-coordonnateur), usually called the chief resident, prepares the call schedule. They have to spread the hours as fairly as possible among the available residents. Here is what the rules mean when you fill in the grid.

RuleWhat it changes in the grid
At most six in-house calls per 28-day periodCount by 28-day block, not by calendar month.
At least 48 hours between the end of one call and the start of the next, or 24 hours for two of the period's callsBetween two periods, it's 48 hours with no exception. Look at the end of the previous block.
Never more than 16 hours in-house in 24 hours, followed by 8 hours of restThe regular day and the call count together toward those 16 hours.
Two calls on the same weekend only if Saturday is at most 12 hours and Sunday at most 14 hours, with 8 hours of rest in betweenOtherwise each weekend day goes to a different person.
Two weekends off, with no clinical activity, per 28-day period, and never more than two weekends worked in a rowIn a block with four weekends, no one works more than two.
For home call, at most nine calls per 28 days. After 18 hours worked in 24, the resident is released the next day for at least 24 hoursHome call is counted separately, with its own maximum.
On a night system, at most 20 nights per 28 days and five in a row, followed by 48 hours offNights have their own maximum, separate from the one for calls.
Released from evening, overnight and weekend call for the seven days before an exam of the Collège des médecins du Québec, the Royal College, the College of Family Physicians or the Medical Council of CanadaThose seven days are unavailability, entered before placing calls.
On leave, the number of calls in the period is reduced in proportion to the days of leave, rounded to the nearest whole numberThe share of a resident on vacation for a week is worked out over 21 days.
In their first six months, an R1 on in-house call must be able to count on a physician or a resident other than an R1 being on siteFrom July to December, an R1 is never alone on call in the hospital.
The schedule is signed by the resident coordinator and the director of professional services, then sent to the residents and the association at least five working days before it startsSet the publication date by counting back from that limit.

These are maximums. Your program or your service may have stricter rules, and then its rule applies. In the example, all calls are in-house, and the service has two residents on call every day, on two call lines: weeknights Monday to Thursday, then Friday, Saturday and Sunday.

The seven-step method

1. List who is on the service, block by block

Before touching the calendar, write down who is there. For each block: the program residents on the service, the off-service residents who arrive on day one, and everyone's days of leave. For off-service residents, ask for their names and vacation early enough to have them before the deadline.

In the example, Dr. B is on vacation from Monday January 18 to Sunday January 24, one week of block 1. Dr. D has a Royal College exam on Wednesday February 24, so she can't be on call from February 17 to 23.

2. Collect unavailability before a deadline

Unavailability is a date when the resident can't be on call: approved vacation, an exam, parental leave, a mandatory academic activity. A preference like "I'd rather avoid Thursdays" is handled afterwards, if there's room. Ask for the two separately, or you'll end up negotiating every square.

Announce one date and one place to send requests, not three group chats. For our two blocks, requests close on Monday 2026-11-30 and the schedule comes out on Monday 2026-12-14, well ahead of the five-working-day limit. A request that arrives after November 30 no longer moves the grid. The resident finds a swap with a colleague.

3. Count the calls in each block

Start from the calls to cover. A 28-day block that starts on a Monday has four full weeks. With two residents on call every day, that gives this.

ColumnCalls per blockDetail
Weeknights32Monday to Thursday, two per night, four weeks
Weekends24Friday, Saturday and Sunday, two per day, four times
Total56Two calls per day

Keep the two columns separate. A Saturday call weighs more than a Tuesday call, and if you add them up, you can no longer see who spent their weekends in the hospital. In the example, a Friday call counts as a weekend worked, because it ends on Saturday morning.

4. Work out each resident's share

In block 1, ten residents are on the service, but Dr. B is only there 21 days out of 28. So you count 9.75 residents. Fifty-six calls divided by 9.75 gives 5.74 calls for each resident who is there the whole block, and 4.31 for Dr. B. Rounded to whole numbers, that makes six calls each and four for Dr. B, or 58. Two too many.

This is where the running count comes in. For each program resident, the service has recorded two numbers since July: the calls worked, and the sum of the shares owed in each block they were on the service. The gap between the two shows who is ahead. Dr. G has worked 17 calls while his shares owed add up to 15.7: he is 1.3 calls ahead, the largest gap on the team. He and Dr. F, the second furthest ahead, do five instead of six. The count also handles blocks spent elsewhere, since a resident rotating on another service owes zero during that block.

Weekends work the same way. Twenty-four weekend calls for ten residents gives two each and four extra. They go to the four program residents furthest behind in the weekend count: Dr. C, Dr. E, Dr. A and Dr. H.

ResidentTotal gap at January 3Weekend gapCalls in block 1Of which weekends
Dr. A+0.2−0.163
Dr. B (vacation)−0.3+0.142
Dr. C−0.4−1.163
Dr. D+0.1+0.262
Dr. E−0.2−0.863
Dr. F+0.3+0.352
Dr. G+1.3+0.652
Dr. H−0.50.063
Dr. K (off-service)nonenone62
Dr. L (off-service)nonenone62

The last two columns add up to 56 and 24, what there is to cover. Dr. K and Dr. L get their rounded share, six calls including two on weekends, because they have no count on the service and you can't give a call back to them next block.

With two residents on call every day, almost everyone is at the agreement's maximum of six calls. No one can take an extra call, so rounding is always settled downward: the residents furthest ahead are the ones who do five.

5. Place the weekends, then the weeknights

Weekends go first because there are fewer of them and the rules constrain them more. Here they are tight. Each resident is entitled to two weekends off out of four, so they work at most two. Ten residents working two weekends each makes 20 places for 24 calls.

The four residents with three weekend calls therefore do two on the same weekend, for example Friday and Sunday. That leaves 24 hours between them, the exception the agreement allows once in the period. The service could also use a Saturday of at most 12 hours and a Sunday of at most 14 hours, with 8 hours of rest in between. Dr. C takes, for example, Friday January 8 and Sunday January 10, then Saturday the 23rd. Dr. B can't take the weekend of January 22, which falls in his vacation. He takes Friday January 8 and Sunday the 31st.

Weeknights are placed next, at the share worked out in step 4 minus the weekends already given. With six calls in 28 days, one every four or five days on average, the 48-hour interval takes some care. Residents who have already used their 24-hour exception on a weekend can no longer do a Thursday night followed by a Saturday. For the others it's allowed once, but the simplest thing is not to do it.

6. Check the grid resident by resident

Reading the calendar day by day shows that every call has a name. To see what each resident will live through, you have to read their whole line. For each of the ten, ask four questions.

The third question is the one people forget. If Dr. B is on call on Sunday January 31, he can't be on call on Monday February 1 or Tuesday February 2. Between two periods, the agreement requires 48 hours without the 24-hour exception, and each block on its own would look fine.

7. Publish, then carry the count to the next block

Publish on the announced date, with the swap rule on the same page. When the block ends, update the count with what was actually worked, swaps included: the calls worked, and the share owed you worked out in step 4. For Dr. B, the share owed for the block is 4.31, not 5.74. Otherwise his vacation would make him look behind in the next block. Dr. K's and Dr. L's lines don't go into the count. They leave on January 31.

The second block, with the count carried over

In block 2, Dr. M and Dr. N arrive on February 1 and Dr. B is there for the whole block. Ten residents for the whole block, 56 calls: 5.6 each. Six do six and four do five. The four who do five are the furthest ahead in the count at January 31: Dr. G, Dr. A, Dr. D and Dr. E. The four extra weekend calls go to those furthest behind on weekends: Dr. C, Dr. D, Dr. E and Dr. F.

Dr. D keeps her full share. The agreement reduces the share for leave, and the seven days before an exam are a release from call. So the service in the example doesn't reduce her share. She does her five calls in the other three weeks, and her two weekends are those of February 5 and February 26.

ResidentGap at January 31 (total, weekends)Calls in block 2 (of which weekends)Gap at February 28 (total, weekends)
Dr. A+0.5, +0.45 (2)−0.1, 0.0
Dr. B−0.6, +0.36 (2)−0.2, −0.1
Dr. C−0.1, −0.66 (3)+0.3, 0.0
Dr. D+0.4, −0.35 (3)−0.2, +0.3
Dr. E+0.1, −0.35 (3)−0.5, +0.3
Dr. F−0.4, −0.26 (3)0.0, +0.4
Dr. G+0.6, +0.15 (2)0.0, −0.3
Dr. H−0.2, +0.56 (2)+0.2, +0.1

On January 3, there were 1.8 calls between the furthest behind and the furthest ahead, and 1.7 weekends. On February 28, 0.8 and 0.7 remain. Every remaining gap is recorded, and the next block starts from these numbers.

Swaps after publication

There will be swaps: a wedding, an appointment, a resident who gets sick. Write a single rule and put it on the schedule page. A swap is made between two residents, who let the chief resident know. The call counts for whoever works it, in the column of the call swapped. And the swap has to respect the same rules as the grid: a swap that gives someone a seventh call, or puts two calls 24 hours apart, doesn't go through.

Record swaps in the same place as the schedule, not in the group chat. That's what lets you update the count at the end of the block without rereading three weeks of messages. Our article on on-call replacement shows how to handle a dropout without making ten phone calls.

Where the Excel file breaks

Most chief residents inherit an Excel file from the previous chief, and the method works in an Excel file. Three things break it. The off-service rows change every block, and the formulas that counted calls end up pointing at the wrong cells. The running count for the year lives in another tab, or in the head of whoever built the file. And swaps made by text message never make it back into the file, so the count is wrong at the end of the block. Our article on the limits of Excel covers the question for a medical team.

If your next block starts soon

You don't need a count going back to July to start. Pull out the schedules from past blocks, count the calls and weekends of each program resident, and work out what they owed block by block. One evening is enough, and the count exists for the rest of the year.

  1. List who is on the service, block by block. Program residents, the off-service residents who arrive at the start of the block, and everyone's days of leave.
  2. Collect unavailability before a deadline. Vacation, exams, leave. One date, one place. A late request is handled with a swap.
  3. Count the calls in each block. Weeknights and weekends, in two separate columns.
  4. Work out each resident's share. Divide by the number of residents on the service, reducing the share of anyone with days of leave. Rounding is settled using the program residents' running count for the year.
  5. Place the weekends, then the weeknights. Extra weekend calls go to the program residents furthest behind. Weeknights fill the rest.
  6. Check the grid resident by resident. The share, the collective agreement maximums, the interval between two calls (looking at the end of the previous block) and the unavailability.
  7. Publish, then carry the count to the next block. Publish with the swap rule. When the block ends, record the calls worked and the share owed for each program resident.

Where Synchro fits

Synchro follows this method for every schedule. The service chooses what it wants to even out, for example weekends and weeknights, and Synchro distributes the calls accordingly, carrying the count from one period to the next. Each resident writes their unavailability in plain language, such as "no call from February 17 to 23, my exam is on the 24th". Call maximums are applied when the schedule is generated. When a resident looks for a swap, the call is offered to all eligible residents at once, and the count follows for both. Everyone sees the counters. When a resident feels they do more than the others, they look at the number.

At the start of each block, you add the off-service residents and remove those who are leaving. Our GMF-U page also says what is still missing for the teaching side of family medicine residency.

Further reading

Frequently asked questions about resident call schedules

I'm a chief resident. How do I build a fair call schedule for my team?

First work out the share of each resident on the service for the block, reduced for days of leave, then place the weekends before the weeknights. For the program's own residents, keep a running count for the year: calls worked minus shares owed. Each block's leftover calls go to whoever is furthest behind in that count, which keeps the year fair even when a block doesn't divide evenly.

How do you count off-service residents in the call schedule?

They arrive at the start of the block and leave at the end. During the block they get their share like everyone else, based on the days they are on the service. They don't go into the service's running count for the year, since they won't be back for the next block. Adjustments from one block to the next are therefore made among the program's own residents.

How many calls can a resident do per 28-day period in Quebec?

Under the collective agreement between the FMRQ and the Ministry, at most six in-house calls per 28-day period, with at least 48 hours between the end of one call and the start of the next (two of the period's calls may be only 24 hours apart). For home call, the maximum is nine per 28 days. Residents are also entitled to two weekends off, with no clinical activity, per 28-day period.

Does a resident on vacation do fewer calls in the block?

Yes. The collective agreement reduces the number of calls in the period in proportion to the days of leave, rounded to the nearest whole number. A resident on vacation one week out of four therefore does about three quarters of everyone else's share. In the running count, that reduced share is recorded as what they owe, so they don't look behind.

Can a resident with an exam be on call the week before?

Not in the evening, overnight or on the weekend. During the seven days before an exam of the Collège des médecins du Québec, the Royal College, the College of Family Physicians of Canada or the Medical Council of Canada, the resident is released from call. Enter those seven days as unavailability before placing any calls.

How much does Synchro cost for a resident team?

Nothing. Synchro is free for residents. The chief resident writes to us through the contact page, and we look at how their service runs its call together.

Public sources cited: 2021-2028 collective agreement between the Fédération des médecins résidents du Québec (FMRQ) and the Minister of Health, section on schedules and call service, for the call maximums, intervals, weekends off, release before exams, reduction for leave and preparation of the schedule by the resident coordinator. The service, residents, counts and unavailability described are examples built for illustration, not identifiable real cases. Product names belong to their respective owners and this site is not affiliated with any of them.

About the author

Kamel Gorieze

Co-founder · product and user experience

Co-founder of Synchro. He works on the product, runs the demos and sets up new clinics.

All his articles[email protected]

Chief resident?

Write to us. Synchro is free for residents.

Write to us