Shi$ Scheduling in a Pediatric Emergency Department and Implica7ons for Beyond
Amy Cohn University of Michigan
Seminar at Mayo Clinic
October 2014
OVERVIEW
2
• My background • What is CHEPS? • Scheduling Medical Residents: The Problem • Mathema7cal Challenges • Mathema7cal Solu7ons • Non-‐Mathema7cal Challenges • Mathema7cal Solu7ons • Non-‐Mathema7cal Solu7ons
Overview
3
A LiSle Background
4
A LiSle Background
5
CHEPS: THE CENTER FOR HEALTHCARE ENGINEERING AND PATIENT SAFETY
6
CHEPS: Center for Healthcare Engineering and Pa7ent Safety
7
The mission of CHEPS is to improve the safety and quality of healthcare delivery through a mul<-‐disciplinary, systems engineering-‐based approach. We do so through: Collabora<on, Implementa<on, Innova<on, Educa<on, and Dissemina<on.
CHEPS: Center for Healthcare Engineering and Pa7ent Safety
8
Three-‐year old collabora7ve center between medicine, engineering, nursing, public health and more
• Formal: – Development of masters concentra7on – Cross-‐disciplinary seminar series
• Students: – Mul7-‐disciplinary, mul7-‐genera7onal group – Roughly 35 students from engineering (IOE, CSE), nursing, pre-‐med, public
health, medicine – Undergrad, masters, PhD, post-‐doc, resident, fellow
• Collaborators: – Emergency medicine – Pediatrics – Thoracic surgery – General surgery – Endocrinology – Oncology – …
My Current Ac7vi7es Within CHEPS
9
SCHEDULING MEDICAL RESIDENTS: THE PROBLEM
10
Collaborators
• PhD student Young-‐Chae Hong • Current and former Chief Residents in Pediatrics – Brian Jordan, Micah Long, Jenny Zank, Ed O’Brien
• Current CHEPS students – Billy Pozehl, Ji Wang, Zak VerSchure, Peter Mayoros
11
Acknowledgments
• The Bonder Founda7on • The Doctors Company Founda7on • UMHS Pediatrics • College of Engineering • CRLT • SURE
12
• A key issue: Dual role of residency – Learning experience: Residency (and Fellowship) are parts of the medical educa7on training process
– Pa7ent care: Residents/Fellows provide a significant amount of the pa7ent care in teaching hospitals and the associated clinical system
• A typical resident might engage in all of the following ac7vi7es: – “Con7nuity clinics” – Shi$s on service – Seminars, formal educa7onal ac7vi7es – Research
A Key Logis7cal Challenge of Medical Residency
13
• Staffing issues for residents can have all the complexity as for aSendings, plus a whole second level due to this duality – Impact on pa7ent care in the short term – Impact on pa7ent care in the long term – Impact on the pipeline of future physicians
A Key Logis7cal Challenge of Medical Residency
14
• How to schedule residents’ 7me – Need adequate pa7ent coverage with a limited pool of residents
– Need adequate training opportuni7es – Need adequate rest – fa7gue increases risk of error – Need to address resident sa7sfac7on, personal life
• Not just quan7ty of hours but paSern – Con7nuity of care – Sleep issues (especially associated with overnight shi$s)
– Opportuni7es for different medical experiences
Inherent Time Conflicts
15
Given a set of residents to be trained and a set of shiEs to be covered, build a schedule that saJsfies all paJent care, educaJonal, and other requirements
What is the general problem?
16
• Pediatric residency program at UM’s MoS Children’s Hospital • Residents from 2 – 5 different programs on any given month • 7 overlapping shi$s every day of the month • Every shi$ has to have exactly one resident assigned • Excep7ons: 10a – 7p and 12p – 9p shi$ coverage is op7onal
– Not all of these shi$s can be le$ uncovered for the en7re month – Ideally one of the two “flex shi$s” should be covered each day
• Certain shi$s cannot be assigned to an intern • Certain overlapping pairs of shi$s require a Peds resident on at
least one of the two shi$s – …
Some More Specifics
17
• Resident availability – Senior residents switch on the first of the month – Interns switch on the 27th of the preceding month – Pre-‐assigned vaca7on 7me must be respected – Con7nuity clinics/post CC – Some shi$s are pre-‐assigned to certain residents/programs
– 10-‐hour rule – First and last shi$s must recognize boundaries of other rota7ons
– …
And Even More Specifics
18
• Manually, by Chief Resident • Limited decision support tools • Best-‐case is some fundamental tracking and error-‐checking
• When we began working with MoS, the Chiefs o$en spent 20+ hours/month on the schedule and all were unsa7sfied with results – Chiefs, Residents, ASendings
How are schedules typically built?
19
MATHEMATICAL CHALLENGES
20
Why is it hard to schedule manually?
21
• The more squares you fill in, the fewer choices you have le$ for what is valid
• Once you make a mistake, you might not know it for a long 7me • Once you realize something is wrong, it can be very hard to back track and
correct • If a requirement changes, you have to start from scratch
• Tremendous computa7onal complexity • Enormously 7me consuming • Difficult to achieve feasibility – Par7cularly for mul7-‐event issues, such as rest rules
• Difficult to achieve high quality – Par7cularly for mul7-‐event issues, such as sleep paSerns
• Issues of percep7on of equity (or lack thereof)
Manual Scheduling Issues
22
MATHEMATICAL SOLUTIONS
23
• Mixed integer programming approach – xrsd = 1 if resident r is assigned to shi$ s on day d, else 0
• Can model virtually all “laws of physics” by linear equa7ons – E.g. Σr∈R xrsd = 1 ∀s∈S, d∈D
• Run 7me of at most a few few second using C++ and CPLEX on a standard PC to get a feasible solu7on
• But not all feasible schedules are equally good
How do we solve it?
24
NON-‐MATHEMATICAL CHALLENGES
25
• No one clear objec7ve func7on, but many important metrics – Equity across residents
• Number of shi$s • Number of night shi$s • General quality of schedule
– “Bad sleep paSerns” – Personal requests – Post-‐con7nuity clinic calls – Flex shi$ coverage – Transi7on shi$ coverage
How to “op7mize”?
26
• We could treat this as a mul7-‐criteria objec7ve func7on, assign weights to normalize, and solve – Weights are hard to find – Convergence can slow drama7cally
How to “op7mize”?
27
• Our approach thus far: – Set boundaries on the metrics – Define as hard constraints – Search for a feasible solu7on
• If found, review and decide what to 7ghten next • If not found, loosen the boundaries
– Repeat un7l sa7sfied
How to “op7mize”?
28
• Results thus far: – Drama7c decrease in 7me required to find solu7ons – Elimina7on of all errors and rule viola7ons – Significant improvement in resident sa7sfac7on (e.g. more day-‐off requests granted)
– Significant decrease in number of cancelled con7nuity clinics
– Significant decrease in number of post-‐CC shi$s – Significant decrease in number of “bad sleep paSerns”
How to “op7mize”?
29
• But this s7ll limits the search space and is driven by the pa7ence of the Chief Resident!
• Can we do even beSer?
How to “op7mize”?
30
MATHEMATICAL SOLUTIONS
31
• Challenge in mul7-‐criteria op7miza7on: only the user knows what trade-‐offs between criteria s/he is willing to make – This is o$en qualita7ve, intui7ve, and hard to ar7culate accurately
• Pareto dominance: – One schedule dominates another if it is as good or beSer in all categories
– Pareto dominant solu7ons cannot be made beSer under one metric without being made strictly worse in another
• Only need to propose Pareto-‐dominant solu7ons
Goal: Generate a Pareto-‐Dominant Set of Solu7ons
32
• Suppose we have a linear integer program with feasible region of the form:
Ax = b x ∈{0,1}n
• Suppose that we have objec7ve func7ons f1(x), f2(x), … fm(x)
• For the sake of exposi7on, assume objec7ve func7ons all have integer coefficients
Genera7ng a Pareto-‐Dominant Solu7on: The “Squeeze Method”
33
• First, we find any feasible solu7on x1 • Next, we solve the following feasibility problem to find a
solu7on x2 that Pareto-‐dominates x1 : Ax = b f1(x) < f1(x1) f2(x) < f2(x1) … fm(x) < fm(x1) f1(x) + f2(x) + … + fm(x) < f1(x1) + f2(x1) + … + fm(x1) -‐ 1 x ∈{0,1}n
Genera7ng a Pareto-‐Dominant Solu7on: The “Squeeze Method”
34
• We can repeat this process un7l, for a given solu7on x*, the associated problem is infeasible – this means x* is a Pareto dominant solu7on
• Phase I: Randomly generate “seed” solu7ons and, for each, find an equivalent Pareto-‐dominant solu7on – only need to provide these to the user (“random” might be based on sezng boundaries based on the user’s dissa7sfac7on with the current solu7on)
• Phase 2: Algorithm to generate the exhaus7ve Pareto fron7er of solu7ons
Genera7ng a Pareto-‐Dominant Solu7on: The “Squeeze Method”
35
Genera7ng Exhaus7ve Set with Two Metrics
• Find the best value for each metric by op7mizing exclusively over that metric
• Check the feasibility of achieving all op7mal values across all metrics – if yes, stop!
• If not, find the best value for each metric given the op7mal value of the other metric
• The Pareto fron7er is contained within this box (why?)
36
Genera7ng Exhaus7ve Set with Two Metrics
• Start with the PDS (Pareto-‐Dominant Solu7on) defined by metric 2 at its op7mal value and metric 1 at its associated op7mal value
• Require metric 1 to decrease by at least 1 unit and re-‐solve, op7mizing over metric 2 (which must strictly increase over its current op7mal value)
• “Squeeze” this solu7on – no PDS can be found in between
• Repeat
37
• What happens when we move to three metrics, i.e. three dimensions?
• Idea: Fix Metric 1 to its op7mal value and solve the resul7ng two-‐dimensional problem; repeat for increasing values of Metric 1
• Key: Can no longer use op7mal values of Metric 2 and 3; must condi7on them on the op7mal value of Metric 1 to ensure feasibility
• What is the stopping criteria for Metric 1?
Genera7ng Exhaus7ve Set with Three Metrics
38
Genera7ng Exhaus7ve Set with Three Metrics
39
NON-‐MATHEMATICAL SOLUTIONS
40
• Engagement with Chief Resident has been cri7cal every step of the way
• We have learned an enormous amount from him
• He has learned an enormous amount from us • Our approach to solving the problem – collabora7vely – depends completely on this
• How do we as a community facilitate and establish the value of such collabora7ons?
It’s Not Just About Algorithms
41
QUESTIONS AND DISCUSSION
42