Optimising Doctor Term Assignments for Minimal Dissatisfaction
- levonrush
- May 27, 2024
- 2 min read
As a data scientist, I’ve had the opportunity to work on projects that directly improve operational efficiency in healthcare. One such project, "Optimising Doctor Term Assignments," involved creating a balanced schedule that aligns with individual doctor preferences and institutional constraints. This project aimed to minimise dissatisfaction by considering doctors' preferences, specialty constraints, and other requirements.

Project Overview
The objective was to optimise the scheduling of doctor assignments across multiple terms, ensuring minimal dissatisfaction. This was achieved by considering doctors’ preferences, specialty constraints, and institutional requirements. The goal was to create a balanced and efficient schedule that met individual and organisational needs.
Key Steps:
Doctor Preferences Matrix: Indicates each doctor’s preference for different terms.
Specialty and Sub-specialty Status Lists: Categorize each term by specialty and sub-specialty.
Maximum Doctors per Term Vectors: Define the maximum number of doctors assigned to each term.
Survey Data: Additional information such as desired career pathways and planned leaves.
2. Methodology:
Calculate Dissatisfaction: Using the preference matrix to determine dissatisfaction values and converting them into a vector for the LP model’s objective function.
Linear Programming Model: Developing an LP model with binary decision variables to indicate term assignments, integrating slack variables with a high penalty to allow limited flexibility in constraints.
Incorporate Constraints: Ensure one assignment per doctor, consider top preferences, limit the number of doctors per term, prevent reassignment, and maintain specialty and team-based constraints.
Iterative Assignment Process: Executing the assignment process iteratively and updating the assignment matrix after each iteration.
Post-Processing and Validation: Compiling results into a detailed assignment table, validating compliance with constraints, and generating reports using tidyverse and gt for clear output.
Results
The project resulted in a final assignment table detailing each doctor’s assigned terms across multiple iterations, validated for compliance with specialty and sub-specialty constraints. The approach effectively balanced individual preferences with institutional needs, providing a fair and efficient scheduling process.
My Role
Throughout the project, I was pivotal in understanding optimisation algorithms, developing core algorithms for the optimisation model, and ensuring the final product was functional and user-friendly. Here’s how I contributed:
Understanding Optimisation Algorithms: Leveraged my expertise in optimisation to shape the core approach and algorithms used in the project.
Developing Core Algorithms: Created the fundamental algorithms that powered our optimisation model, integrating various constraints to ensure robustness and efficiency.
Ensuring Functionality and User-Friendliness: Focused on making the final product functional and easy to use, validating compliance with constraints and generating clear, structured reports.
Conclusion
The "Optimising Doctor Term Assignments" project successfully created a balanced schedule that minimised dissatisfaction by considering individual doctor preferences and institutional constraints. This project highlights the importance of using advanced optimisation techniques to address complex scheduling problems in healthcare. By leveraging data science and linear programming, we developed a solution that meets the needs of doctors and the institution, ensuring a fair and efficient scheduling process.
Comments