Generating Your On-Call Schedule: Iterative Scheduling

By Amy Engebretson, Senior Customer Project Manager

Using Physician scheduling software is only part of the solution for on-call scheduling. Obviously, the software takes much of the guesswork out of creating a fair, efficient schedule, but scheduling is still part art, part science, and part evaluation by a skilled Scheduler before final release to ensure the overall “Gestalt” works.

The science… the software scheduling engine, rules, time-frame for an optimal schedule, balanced tallies, equitable spread, various reports

The art… certain decisions are better handled by human beings who can understand the entire picture, repercussions of a certain scheduling event, and Provider preferences. Seasoned schedulers use software and reports to evaluate the situation and make tie-breaker executive decisions. Software tools allow transparency to justify the decisions made.

Everyone agrees creating a physician on-call schedule is complex, and an optimal solution is a combination of art and science that takes time. Not everything will be covered by rules and preferences. Human touch is needed to evaluate the over-all end results no matter what software is used. Scheduling software is a tool, and as such does not totally replace a skilled scheduler with intimate knowledge of his/her group.

Time is money. The goal is to save a scheduler’s time overall while generating a fair and equitable schedule. Part of that time is staying in the “flow” of schedule evaluation.

One critical conversation we frequently have with Schedulers is which rules should be automated, and which should be handled via Templates, rule-chains or even manually. This balance will impact how long the overall scheduling process will take and how much of the time will be server-time vs scheduler-time.

The hazard of the “we want everything, and we want it all at once” mindset. It would seem that there should be a rule or policy for everything regarding on-call assignments. There should be a way to automate EVERY request off and create rules for EVERY preference and eventuality. It would also seem to make sense that all of the jobs would be scheduled all at once and the Scheduler should simply evaluate the results when it’s all over… even if it takes hours to see the first results.


In real-life, scheduling is a complex, multi-step operation. Yes, many preferences, rules, and policies can be automated, and by following a scheduling assistant process, many hours of hair-pulling decision-making can be eliminated.

However, with some software, the more rules, and preferences you have, the longer an automated schedule takes to generate, and the more likely you will find you have exceptions after it is completed. Also, evaluating the results of “everything” can be overwhelming.

Even complex programming is moving away from this “do-it-all” multi-tasking approach to a more iterative one. In an iterative programming scenario, smaller sub-sets are programmed, evaluated, and tweaked with the Big Picture results in mind before moving on. These tweaks may be none too minor, but the pause affirms that continuing to build is okay.

When automated on-call scheduling is done this way, each “layer” of scheduling takes only a few minutes before it is ready for evaluation. If the results look good… move on to the next layer. If it needs a tweak, do it right away so the next layer can be built on good information. The Scheduler does not need to disengage from being in the flow of the “scheduling thought process”, and can handle the occasional changes that may be uniquely in play for this particular schedule. Certainly, he does not need to wait hours for the server to deliver results.

What if you get several layers in, and then realize you want to start over? Well, for sure, you haven’t waited hours for the FIRST result… you can simply swap/tweak as needed, or unschedule layers back to where you want to re-run results… or even REALLY start all over.

So… use the server for what it does best… honoring rules, requests, percent loads, evening tallies/spreads, and the like… and use the human Schedulers for what they do best.

Key Takeaway

Comparing server-time needed to generate a schedule automatically vs scheduler-time needed to generate a schedule is a false choice. The real choice is where to spend the Scheduler’s time overall… waiting for results to evaluate, or evaluating the results as they are generated with the opportunity to intervene as needed.


TigerSchedule: Automated On-Call Scheduling Software

Discover the Benefits of Cloud-Based Scheduling. “TigerSchedule” a Demo Today!

TigerSchedule Call Scheduling Software Image


Tags: ,