A physician on-call schedule template with the weekends already counted.
One workbook. It opens in Excel and in Google Sheets. You type initials on a calendar. It counts weekdays, Fridays, weekend days, Fri–Sun blocks, and holidays for each person, and it tells you who is ahead of the group and who is behind.
The file is free. It does not build the month for you. That part is still your judgment. The sheet only stops you doing the arithmetic in the margin.
What’s in the file
- Start. The year follows today’s date. Change that one cell if you are building next year. The calendar and the holidays follow it, including February 29 in a leap year.
- Roster. Name and initials for up to 20 people. Active = No keeps someone on the list and off the average.
- Holidays. Seven start as Yes: New Year’s Day, MLK Jr. Day, Memorial Day, Independence Day, Labor Day, Thanksgiving, Christmas Day. Juneteenth, the day after Thanksgiving, Christmas Eve, and New Year’s Eve are on the sheet and set to No until you turn them on. Three blank rows are for a holiday this list doesn’t have. Only rows marked Yes count. July 4 stays on July 4. If your group takes the observed weekday instead, add that date yourself.
- Calendar. One row per day. The yellow column is the only place you type a name. Green rows are holidays you marked Yes. Blue rows are Saturdays and Sundays that are not holidays.
- Counts. Ahead means they have taken more than the average of the people still in the pool. Behind means less. Even is within a twentieth of a day, so a rounding hair doesn’t get labeled.
Google Sheets
- In Google Drive, choose New, then File upload, and upload On_Call_Schedule_Template.xlsx.
- Double-click it and choose Open with Google Sheets. Or, from a blank Sheet: File, Import, Upload, and Replace spreadsheet.
- Do not download it back as a CSV. A CSV keeps the numbers and throws away the formulas.
Yellow cells are the ones you edit. Everything else is a formula. If a whole column looks like text starting with an equals sign, you opened a CSV. Go back to the xlsx.
How to build a fair month with it
This is the order that keeps the argument short. The sheet will not do steps 3 through 5 for you.
- Write down who is actually in the pool. Not the people who only need to look at the schedule. If someone is gone for the whole year, put them on the roster and set Active to No. They stay visible. They do not pull the average down.
- Mark the holidays your group really observes. A holiday on Saturday is worse than a normal Saturday. The sheet counts it as a holiday only, not as a holiday and a weekend day. That is deliberate, so it is not double-counted.
- Place weekends before weekdays. When one person takes Friday, Saturday, and Sunday, the sheet counts one Fri–Sun block, and it also counts Saturday and Sunday as weekend days. You can have the argument in either unit. A weekend that crosses January 1 is not a block, because the other days are in the other year. A Friday that is also a holiday still counts as a holiday. If they also took Saturday and Sunday, you still get the block.
- Give the next open weekend to someone marked Behind. Then do holidays as their own list, the same way. Do not pay a holiday back with an easy Monday and call it even. The Monday is not what hurt.
- Fill weekdays last. If someone has a standing day off, don’t put them on call that day, and don’t put them on the day before if your group treats that as a protected day. This sheet does not know days off. The note column on the roster is a reminder for you, not a rule the formulas enforce.
- Read the warning on Counts before you send it. Initials that aren’t on the roster are counted there. One typo makes a ghost person, and everyone else’s average is then wrong. The “days on the calendar” number should match the sum of Total days once the initials are clean.
- Publish it where the group already looks. This file is how you build the month. It is not a pager, and it will not update anyone’s phone.
A month, as the sheet sees it
These are the rules, not a sample we hid in the file. The file you download is empty.
| You type | What Counts adds |
|---|---|
| Monday–Thursday, not a holiday | 1 weekday |
| Friday, not a holiday | 1 Friday. It is not lumped in with clinic days. |
| Saturday or Sunday, not a holiday | 1 weekend day |
| Any day you marked as a holiday | 1 holiday, and not also a weekday, Friday, or weekend day |
| The same initials on Friday, Saturday, and Sunday | 1 Fri–Sun block, on top of the days |
Questions
Is the file free?
Yes. Keep it, change it, pass it to the next person who inherits the schedule.
Which year is it?
Whatever year it is today, until you change the year cell on Start. You do not need a new file in January.
Does it know who was on call last year?
No. The average is this year only. If someone is owed a holiday from last year, write it down and assign with that in mind. The sheet will not remember it.
Can I trust it with a leap year?
Yes. The calendar has 366 rows and leaves the last row blank when the year is not a leap year. February 29 gets its own row when the year has one.
When you are tired of typing the initials
Callwell builds this month from the same kind of rules: who is in the pool, which holidays count, weekend and holiday blocks before the other days. It is free for up to 3 people in the call pool, and on that plan you still place the days yourself, the way this sheet works. Auto-Build, which places them and keeps the counts, is Pro: $299/year or $29.99/month for the whole group, not per person. The annual plan includes a 3-month trial. The monthly plan does not. Viewers are free. iPhone and iPad. It stores no patient information.
Callwell is in App Store review. Until it is released, the web version is invite-only.
See how Callwell works Download the template againIf you are comparing the app with what you use now: Amion is the lookup tool a lot of departments already have. QGenda is the enterprise contract. Neither page is a reason to skip the file. The file works either way.