
Case Study - Call Assignment Optimization
Problem Statements:
-
Phone calls needed to be made to obtain patients' medical charts are assigned manually several times daily to 15+ schedulers, which is extremely time consuming
-
These calls are not all the same priority, however, there is no mechanism in the system to assign priority

Background
A team of 15+ schedulers make phone calls to thousands of medical offices to obtain patients' medical charts. For a given client, there may be over 100,000 medical charts to procure. Clients require an attempt at an initial phone call for each members' medical chart is made within the first 3-4 weeks once the campaign starts. The company needs to report the the client on the current 'status' of each member on a weekly basis.
​
In order for the schedulers to know which medical offices they are required to call, a team of procurement managers will create lists several times a day via a spreadsheet and email each scheduler their call list. Then, each scheduler is required to go into an application, find those medical offices, and move them to their queue. The order in which these calls are in the queue is not based on any priority when they need to be.
Thinking Through the Problem
Thinking back to the 2 main problem statements, I realized a couple of important decisions needed to be made by the business. First, should a solution be completely automated; whereas the procurement management team would have no ability to change how calls are assigned and to whom they are assigned. The second decision would be what mechanism would be used to ensure all of the initial phone calls were made within the time frame set forth by the client. I began the thought process by just trying to understand how things worked currently.
-
Conducted interviews with both the procurement managers and several schedulers to learn the as-is state
-
Created workflow diagrams on each process from each set of stakeholders
Requirements Process
I figured to begin the requirements gathering process, it was important that whatever the requirements turned out to be, the solution had to be scalable. We were dealing with hundreds of thousands of records and while the business grew, the data would grow accordingly. I first reached out to each of the procurement managers and spent a couple of sessions getting their requirements.
​
-
The solution must spread the number of charts to procure somewhat evenly across the scheduling team
-
Calls to be made by each scheduler on a given day will be in a priority order (based on a set of priority rules given by the procurement managers)
-
The solution must allow the procurement managers to change the priority of calls at any time and for any scheduler
-
The solution must allow the calls to be assigned whenever the procurement managers decide to do so
-
The solution must allow calls to be assigned by each campaign (i.e. by client)
-
When the procurement manager pulls the trigger to assign or re-assign calls, it must be done quickly
-
Calls must display in each schedulers' queue according to priority order​
​
Once I gathered all the requirements, it became clear a new solution was needed. The new solution would allow for the calls to be assigned, and to allow for call priorities to be changed as needed.
​
The schedulers currently had an application that would display the calls to be made but the solution must show the list in the priority order.
The Solution
Always keeping in mind the solution needed to solve for the problem statements and also meet the business requirements, I began to create stories that focused on prioritizing these calls. In the legacy system, there was a concept called a 'status', which simply was a way to visualize the result of the last phone call made to the medical office. These statuses were the basis of how the procurement management team wanted calls to be prioritized.
​
While development was in progress on prioritizing these calls, I switched to creating mockups for a new role-based solution. This new solution would allow for the following:
​
-
Ability to select a campaign
-
Ability to prioritize each status
-
Ability to select which schedulers would be assigned to a certain status
-
Ability to preview how many charts each scheduler would be assigned to procure prior to actually assigning them
-
Ability to 'commit' the calls for each campaign at any time
-
Run reporting on the current status of each campaign
The Result
The result of this solution was better than expected.
​
-
Using the new application, the procurement managers were able to set the call priorities and have the calls assigned to the schedulers within a few minutes
-
The schedulers would immediately see their list of calls to make in the legacy application in the exact priority order as set forth by the procurement managers
-
The first time this solution was in production, all of the initial calls were made much quicker than in previous campaigns; which met the client expectations