270 likes | 489 Views
Developing Fair and Feasible Schedules for Residents On-Call. Sarah Root University of Michigan Department of Industrial and Operations Engineering INFORMS Pittsburgh – November 5, 2006 Joint work with Amy Cohn. Outline. What is on-call resident scheduling?
E N D
Developing Fair and Feasible Schedules for Residents On-Call Sarah RootUniversity of Michigan Department of Industrial and Operations Engineering INFORMS Pittsburgh – November 5, 2006 Joint work with Amy Cohn
Outline • What is on-call resident scheduling? • Boston University School of Medicine Psychiatry Program • Literature • Modeling approach • Algorithm • Importance of collaboration • Conclusions and future research • Questions?
What is On-Call Resident Scheduling? • Residency – period of formal medical education designed to facilitate the transition from licensed medical doctor to practicing physician • Typically lasts 3-4 years • Advanced training in specialty area • Residents complete rotations through several different areas • Residents complete a series of calls or overnight shifts as part of their residency
Boston University School of Medicine Psychiatry Residency Program • Calls completed at three sites • Sites have different characteristics and must be scheduled differently • Different program requirements and availability for students in each class • Schedule primarily PGY2s and PGY3s; other miscellaneous residents with makeup requirements • Typically 6-8 residents per class • Must complete a pre-specified number of weekday and weekend calls at each site • Different day of week availability for each class
Boston University School of Medicine Psychiatry Residency Program • Feasibility rules • All calls must be covered • All residents must satisfy program requirements • Spacing between calls, maximum calls per month • Residents can only work on days they are available
Boston University School of Medicine Psychiatry Residency Program • Call schedule spans a year • Developed manually by chief residents • Typically created by scheduling one resident at a time • Difficult to satisfy all feasibility rules • Schedules implemented that did not satisfy feasibility rules • Want a good schedule that is fair • What is a “good schedule” and how do you assess whether or not it is fair? • Must satisfy feasibility rules • Should incorporate desirable characteristics • No resident should get a high-quality solution at the expense of a significantly poorer solution for another resident
Literature • Vast literature on medical scheduling • Burke, 2004; Cheang, 2003; Siferd, 1992 – Nurse scheduling survey papers • Beaulieu, 2000; Carter, 2001; Valouxis, 2000 – Emergency room physician scheduling • Ozkarahan, 1994; Franz and Miller, 1993 – Schedule residents for daytime locations • Sherali, 2002 – On-call schedules produced for 4-5 week periods • BUSM Problem • Schedule horizon is one year • Must schedule three sites simultaneously • Difficulty in defining objective function
On-Call Formulation • Notation • R – set of residents to be scheduled • RPGY2 – set of PGY2 residents • RPGY3 – set of PGY3 residents • D – set of days to be scheduled • Hospital A • Covered by two residency programs • V – set of days to be covered by BUSM • Must schedule primary and backup each day • xrd = 1 if resident r is scheduled for a primary call at Hospital A on day d 0 otherwise for all r in R, d in V • yrd = 1 if resident r is scheduled for a backup call at Hospital A on day d 0 otherwise for all r in R, d in V
On-Call Formulation • Hospital B • Can be covered by a resident or as an “extra on-call” (EOC) • zrd = 1 if resident r is scheduled for primary call at Hosptial B on day d 0 otherwise for all r in R, d in D • ed = 1 if day d is scheduled as an EOC 0 otherwise for all d in D • Hospital C • Each PGY2 must be scheduled for six consecutive weeks • Scheduled by chief resident prior to creation of the call schedule • qrd = 1 if resident r is scheduled at Hospital C on day d 0 otherwise
On-Call Formulation Hospitals A and B must be staffed: Σ xrd = 1 d in V Σ yrd = 1 d in V Σ zrd + ed = 1 d in D xrd + yrd + zrd ≤ 1 - qrd d in D, r in RPGY2 r in R r in R r in R
On-Call Formulation Training requirements for Hospitals A and B must be fulfilled: Σ xrd = vrPW r in R Σ xrd = vrPE r in R Σ yrd = vrBW r in R Σ yrd = vrBE r in R Σ zrd = brW r in R Σ zrd = brE r in R d in V d in V d in V d in V d in D d in D
On-Call Formulation PGY2s cannot work Tuesdays: Σ xrd + Σ yrd + Σ zrd = 0 r in RPGY2 PGY3s cannot work Tuesdays or Wednesdays: Σ xrd + Σ yrd + Σ zrd = 0 r in RPGY3 Each resident can work no more often than every fourth day: Σ xrd + Σ yrd + Σ zrd ≤ 1 r in R, d’ in {1…(|D|-3)} Each resident can work no more five calls each calendar month: Σ xrd + Σ yrd + Σ zrd ≤ 5 r in R, m in M d in T d in T d in T d in {TUW} d in {TUW} d in {TUW} d in {d’…d’+3} d in {d’…d’+3} d in {d’…d’+3} d in M d in M d in M
On-Call Formulation • What about the objective function? • Desirable characteristics • Vacation requests satisfied • Alternating primary and backup calls at Hospital A • PGY2 daytime-nighttime location match • PGY3 blocking • Day of week preferences honored • Many stakeholders with differing objectives • Individual residents want good schedules, but each have differing preferences • Chief residents want to ensure equity among residents
On-Call Formulation • Often handled by assigning weights for desired characteristics • wir = weight assigned by resident r to characteristic i • cir = amount of characteristic i present in resident r’s schedule max ΣΣ wir cir • How do we assign these weights? How are we ensured that the weights are correct? • People don’t know what they want!! • Similar problems in ensuring equity • Capturing metrics to measure each characteristics results in a larger, harder to solve mathematical program i r
On-Call Formulation Alternating Primary and Backup Calls • Ir – total number of calls resident r completes at Hospital A • crid = 1 if resident r’s ith Hospital A call is assigned on day d • prid = 1 if resident r’s ith Hospital A call is a primary call and takes place on day d • arid = 1 if resident r’s ith Hospital A call is a primary call and takes place on day d • gri = 1 if resident r’s ith Hospital A call is followed by an i+1th call of the same type • Gr = total number of non-alternated calls by resident r
On-Call Formulation Alternating Primary and Backup Calls, cont. Σ crid = 1 i in {1…Ir}, r in R Σ drid ≥ Σ d’cr(i-1)d’ i in {2…Ir}, r in R crid ≤ xrd + yrd i in {1…Ir}, r in R, d in V prid ≤ xrd i in {1…Ir}, r in R, d in V arid ≤ yrd i in {1…Ir}, r in R, d in V Σ prid +Σ pr(i+1)d ≤ 1 + gri i in {1…(Ir-1)}, r in R Σ arid +Σ ar(i+1)d ≤ 1 + gri i in {1…(Ir-1)}, r in R Gr = Σgri r in R
On-Call Formulation KEY INSIGHT: People have a hard time translating their preferences into weights, but they can easily identify what they don’t like about potential schedules
Algorithm to Solve On-Call Scheduling Problem • Find best case scenario for each characteristic in isolation. Vacation requests Total: 2 requests denied Max for individual: 1 request denied Sarah Root : 1 req. denied Shervin Williams: 0 req. denied Amy Smith: 0 req. denied Richard Chang: 1 req. denied Ada Johnson: 0 req. denied Yihan Clinton: 0 req. denied
Algorithm to Solve On-Call Scheduling Problem • Work with chief residents to establish an initial, generalized ordering of desirable characteristics. • Vacation requests satisfied • PGY2 daytime-nighttime location match • Alternating primary and backup calls at Hospital A • Day of week preferences honored • PGY3 blocking
Algorithm to Solve On-Call Scheduling Problem • For each criterion in sequence, find optimal solution while restricting the set of solutions to remain optimal or near-optimal with respect to previous characteristics. • Minimize unsatisfied vacation requests • 2 unsatisfied vacation requests • Maximize PGY2 daytime-nighttime location match • s.t. unsatisfied vacation requests ≤ 2 • 3 unmatched daytime-nighttime locations
Algorithm to Solve On-Call Scheduling Problem • If the chief resident is happy with the solution, terminate with a feasible schedule. Otherwise proceed to the Step 5.
Algorithm to Solve On-Call Scheduling Problem • Identify undesirable attributes in the schedule and introduce additional constraints to prevent them. Inequity in number of Fridays assigned to each resident • s.t. number of Fridays for each resident ≤ 8
Algorithm to Solve On-Call Scheduling Problem • Resolve problem with additional constraints to generate schedule. Return to Step 4.
Conclusions • Solution implemented in July 2006 and currently in use • No schedule modifications other than individual ad-hoc swaps • Defining a single, accurate objective function very difficult • Involvement of chief residents critical • Understanding tradeoffs in solution characteristics • Credibility and solution buy-in
Conclusions “We are using the schedule in its entirety, exactly as your program generated. There have been surprisingly few requests for call swaps so far. There were no errors that we could detect, and the residents had no complaints about it. It has been great, and greatly decreased our headaches as Chiefs!”
Future Research Directions • Understand other related problems • Resident scheduling problems for other schools and specialties • Medical scheduling problems • Generalize approach to solve related problems with unclear objective functions
Questions? Sarah Root seroot@umich.edu