Client Context
The Emory Dunwoody Family Medicine Clinic is a high-volume outpatient clinic within Emory Healthcare, providing over 36,000 visits per year. It serves as both a primary care site and a core training clinic for 30 family medicine residents across three years. Resident clinic schedules are currently built manually each quarter based on availability and coverage needs. This process does not explicitly consider projected case-type demand or structured educational exposure, which contributes to uneven competency development across residents.
Project Objective
The primary objective is to reduce variation in case exposure across residents within each PGY and case type, using the clinic’s existing visits as intentional training opportunities. We aim to smooth exposure over time so that residents do not need to “scramble” for key cases at the end of an evaluation period. The project also seeks to better align resident learning goals with operational and demand constraints, rather than treating education and clinic performance as separate problems. Historical cohort means for key case types are treated as practical targets, and the model focuses on shrinking large deviations from those means.
Design Strategy
We combined demand forecasting, optimization, and simulation to design fair and feasible resident schedules. Using two years of appointment data, we fit a Poisson log-linear model with a time trend and seasonal terms to forecast weekly demand. Then, we allocated these forecasts to shift–case-type cells using stable historical proportions. These expected demands feed a mixed-integer linear program that assigns residents to AM/PM shifts and expected case exposures subject to availability, team size, per-resident year caps, and minimum-load constraints, while explicitly modeling cohort means and deviations to enforce fairness. We solved the model with a CBC MILP solver and then tested its schedules in a calibrated Simio simulation with sensitivity analyses to confirm that clinic performance is preserved.
Deliverables
Our primary deliverable is a Python-based Scheduling Tool with a simple GUI that administrators can run inside Emory’s network. It accepts five CSV inputs: employees, availability, shifts, demand statistics, and current resident competencies. Then, it produces CSV outputs for the schedule and exposure metrics, with previews available in the interface. Our second deliverable, the Impact Analysis Report, compares optimized schedules to current practice using Simio results, overtime costs, utilization, and queue and wait-time measures. The third deliverable is a Standard Operating Procedure that explains the tool’s purpose, defines inputs and outputs, lists assumptions and data formatting rules, and walks users through running and troubleshooting the tool.
Value and Impact
The project turns fairness and competency goals into a data-driven scheduling framework that proactively shapes resident exposure instead of reacting to gaps at the end of each evaluation cycle. By assigning residents to shifts where high-value case types are most likely to appear, the tool reduces large within-cohort disparities and lowers the need for last-minute scrambling. Simulation shows that exposure variability can be meaningfully reduced over a single quarter while maintaining or slightly improving wait times, system times, queue lengths, and provider utilization relative to baseline. The model also cuts annual overtime by about 56 hours, or roughly 13%, translating to an estimated $3,600 in yearly labor savings without new licensing costs. Over time, the clinic can track absolute exposure deviations and decreases in end-of-cycle catch-up behavior while extending the framework to broader capacity and staffing analyses.
Project Information
Student Team
Madhumita Subramanian
Gayatri Kumar
Alina Lee
Bennett McKinney
Sarah Kilgore
Zain Akram