Project scope and technology
Ruby on Rails Development, Machine Learning Engineers, Data Engineers, Big Data, TensorFlow
2 Ruby on Rails Developers, 1 Machine Learning Engineer
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 that mean for us IT people? Business intelligence + suitable algorithms. We had 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 was 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 arranged better 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 worked and what the client expected 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 and 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 got 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, isn't it?
To collect the feedback on the code, we used GitLab issues and Slack, a 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 was a prototype of a heuristic system that actively allocated patients and shortened the waiting time for an appointment.
Thanks to the system, the efficiency of the clinic was increased and "empty slots" were minimized, allowing the clinic to serve more patients and achieve higher profits.
Doctors were also satisfied with the new system: they no longer had to wait for absent patients and are more productive.
The system also implemented control visits and promotions, which helped to fill the clinic calendar.