Allmedica is a local network of clinics in southern Poland. The company's goal is to provide medical services at the same level as clinics from large cities. The Allmedica group includes general clinics, aesthetic medicine and dentistry.
The client came to us with a demanding task: to design a system of active patient allocation that works based on their preferences.
What does it mean for us - IT people? Business intelligence + suitable algorithms. We have to find a way to turn patient information into "useful" data for further processing by the system.
The idea for the functionality of the system is as follows: with genetic algorithms, data mining and analysis of data related to patient visits in real time, the system will be able to use doctors' time more effectively and eliminate "empty slots".
Based on patients' preferences, the system, in real time, moves appointments to earlier available dates, suggests control visits or applies price promotions according to strictly defined algorithms, with the aim of filling all visit time slots.
This way everyone benefits: patients wait for appointments less, doctors have their schedules better arranged, and the clinic becomes more competitive. Win-win-win.
Our team started by collecting the client's business requirements. During the online workshop we learned how the current visit reservation system works and what the client expects from our solution. Important: our system was not meant to replace the current system.
The second step was to establish KPIs and deadlines. We developed the software in weekly sprints, but during the work it turned out that due to parallel projects on the client's side and the involvement of the technical team the schedule had to be changed.
The third step was to design the system architecture and communication between systems. We used the Swagger tool to establish the APIs.
We decided on a set of serverless services from Google: Google DataStudio, BigQuery, TensorFlow, which allowed us to implement data analysis faster and cheaper.
As we mentioned, the client's technical team worked on other projects in parallel, so we decided to take the initiative in proposing solutions or if you prefer: process innovation. Thanks to this, the client was able to carry out their projects and the system implementation was moving forward anyway.
The concept was simple: we get a short feedback (yes or no) on the ideas and the work continues. As a result, the client's team did not have to go into the details of the implementation but could focus on defining and verifying goals.
Effective, is it?
To collect the feedback to the code we were using GitLab issues and Slack. Perfect combo for this project.
The Client has approached us with a business problem that looked complex and having a lot of edge cases. The algorithm and metrics we proposed not only helped the Client understand their processes better, but also quantify and measure the outcomes. Implementation was a breeze.
The result of the project is a prototype of a heuristic system that actively allocates patients and shortens the waiting time for an appointment.
Thanks to the system the efficiency of the clinic will be increased and "empty slots" will be minimized, which will allow to serve more patients and achieve higher profits.
Doctors are also satisfied with the new system: they do not wait for absent patients and are more productive.
The system has also implemented control visits and promotions, which additionally help to fill the clinic calendar.