Developing Innovative Application for Scheduling Medical Appointments

The Customer that asked us for cooperation is one of the biggest health enterprises in Europe. It enables patients to contact doctors through telephone, chat, or video calls. This company has been in existence for 6 years, and helps to resolve problems of over 40 000 patients a month. It won a lot of international and national prizes for being modern, innovative, and helping people initiative. They’re still growing, and looking for more opportunities to develop.

  • Cost range: 200 000 -999 999 Є
  • Industry: Healthcare
  • Company size: enterprise
  • Number of employees: > 200
  • Action area: Europe

We all know how irritating scheduling doctor's appointments can be. Nobody likes waiting and wasting time. When we first heard the idea of this project, we were really interested, but when we found out some more details about it, we knew we wanted to be a part of it! Read the Case Study about the process of developing an Innovative Application for scheduling Medical Appointments which can be used not only by regular patients but albo by companies and their bosses.

Spinbits - Case studies

Steps

1

Workshops

As usual, we began from the ground up. First, we held sessions with the Client to discuss the project and the Client's concept in depth. The workshops lasted 5 business days, because of the high complexity of the project. The spinbits team (business analyst, tech lead, senior backend engineer, and project manager) established technical documentation after determining how the work process should look. All that remained was waiting for the Client’s acceptance.

2

Building the team

The customer had some requirements: the technology stack that will be used and the seniority of the team that will be working on the project. In accordance with his wishes, we built a team of Senior Backend Engineers that was working on the project based on the workshops and documentation. The team has considerable technical expertise and years of expertise in the medical industry's technical aspects.

3

Development

We knew that it had to be unfailing and dependable when we were selecting the technology for this project. We decided to work with the use of PHP, Symfony, API Platform, Rabbit MQ, RocketChat, MariaDB, Docker, MySQL, and Google Cloud Storage.

During the whole project, we worked on 4 different modules.

1. House visit module

This module allows people to schedule a home visit through telephone contact with an operator. The biggest challenges in this module were creating a custom chat solution that enables the communication between entities, integrating with non-existing customer systems, and preparing infrastructure for the projects.

How does it work?

A patient calls the operator and gives him the date of birth and Personal ID. If the patient is already in the system - he finds him. If he’s not - it’s time to create a new patient’s profile. The patient gives his address, preferred time of the visit, and doctor’s specialization. Using geolocation, the system finds the nearest clinics within a radius of 50 kilometers from the patient’s home that meets his requirements. The operator schedules the home visit in the nearest clinic. They set the date that is appropriate for the patient. The appointment is automatically scheduled if the clinic is integrated into the system. If the clinic is not integrated into the system, it sends a message to the doctor. To confirm the home visit, the doctor has to text back “yes” to the message he received. The operator can choose several doctors and clinics that are not integrated into the system - which increases the chances to schedule an appointment. “The winner” is the one who texts back first. The messages are sent sequentially to successive doctors, at the intervals selected by the operator. If none of the doctors accept the appointment, the additional process starts - then the goal is to find the date for the appointment outside the system.

The system is equipped with an embedded chat, through which doctors and operators contact each other. Each scheduled appointment has an activity log to track the process history (automatic and manual).

Technology stack used in this module:

  • PHP 8
  • Symfony 5.4
  • API Platform
  • Rabbit MQ
  • RocketChat
  • MariaDB
  • Docker

Integrations used in this module:

  • Twilio - to send text messages
  • API - to obtain data about clinics, doctors, and patients

Biggest challenges:

  • custom chat solution, based on RocketChat, that needed a custom implementation - in this kind of application, chat solutions have to be unfailing because they are one of the most important aspects of a well-functioning system. We decided to implement a solution with the use of Rocket Chat because it’s the world's largest open-source communications platform, which enables communication between patients, clinics, doctors, employers,
  • integration with non-existing customer systems - we had to integrate the system with non-existing customers profiles, to make sure if the application will work properly after delivering,
  • preparing infrastructure for the projects - we didn’t exactly know, how big the interest in this product will be, so we worked with a team of analysts, that helped us to predict some dependencies

2. Medical Certificates Module

The medical certificates module allows patients to schedule appointments with a doctor to get a medical certificate. The biggest challenges in this module were definitely integration with non-existing customer systems, preparing infrastructure for the projects, and integration with the client’s SSO systems.

How does it work?

A patient calls an operator and gives him his Personal ID and date of birth. The operator finds him in the system or creates a new profile for him. The patient makes a choice between a remote or stationary visit in a clinic. He chooses the time of the visit and the medical specialization of the doctor. The operator can add additional comments, and documents to the scheduled appointment in the system. In the case of the stationary visit - the operator chooses a particular doctor. In the case of the remote visit - the operator determines only the date when the medical certificate needs to be issued, defining the priority at the same time.

When the doctor gets into the system, he sees the list of pending stationary medical certificates assigned to him, and the list of remote medical certificates unassigned. If he decides to realize a remote medical certificate, he needs to reserve it by assigning himself to it. He gives an opinion on a patient's health by determining the level of health damage. What’s more, he can attach additional documents and a description.

Technology stack used in this module:

  • PHP 8
  • Symfony 5.4
  • API Platform
  • MariaDB
  • Docker
  • Google Cloud Storage

Integrations used in this module:

  • API - to obtain data about clinics, doctors, and patients

Biggest challenges:

  • integration with non-existing customer systems - we had to integrate the system with non-existing customers profiles, to make sure if the application will work properly after delivering,
  • preparing infrastructure for the projects - we didn’t exactly know, how big the interest in this product will be, so we worked with a team of analysts, that helped us to predict some dependencies,
  • integration with the client’s SSO system enabling support of different users (operators, doctors, patients).

What is SSO?

SSO - Single Sign-On - it’s a technology that combines several different application login screens into one. Thanks to this authentication method, the user can securely authenticate with multiple applications and websites by using just one set of credentials. The perfect and most common example of an SSO system is Google - by logging into Gmail, you’ve got access to YouTube, Google Document, Google Drive, and Google Calendar.

3. Human Resources Module

How does it work?

This module enables employers to issue a referral for a periodic examination. As you see, it’s a huge advantage of this system, because everything is connected and works unfailingly. First, the employer issues the referral for a periodic examination for his employee. Then, the employee receives a notification, when the appointment takes place. Then, a doctor conducts an examination and issues a medical certificate, so the employer can easily find it in the system. All the costs of examinations are covered by the employer as a part of a chosen package of services.

The second useful option to take advantage of this system is the fact that employers no longer have to remember dates and deadlines. The system will do it for them! How does it work? When the expiry date of the referral is coming, the system sends an email notification to the employer, so he knows he has to issue the referral for a periodic examination for this employee. It couldn’t be easier!

Technology stack used in this module:

  • PHP 8
  • Symfony 5.4
  • API Platform
  • MySQL 8.0
  • Docker

Integrations used in this module:

  • API - to obtain data about clinics, doctors, employers, and packages of services

Biggest challenges:

  • creating custom filters for paginators that search for referrals,
  • preparing the system for deployment,
  • acquiring detailed business requirements.

4. Sites, partners, and pricing management Module

How does it work?

The partner company which already has a profile in the system generates an excel file. Then it fills it in and selects all the services he’s interested in receiving, the average age of his employees, and the languages in which he needs the appointments to be conducted. After completing the table, he uploaded the file into the system again. Then, the system chooses the most suitable medical institute, which is the best fit for this company and suggests it to him.

Technology stack used in this module:

  • PHP
  • Symfony
  • API Platform
  • Rabbit MQ
  • RocketChat
  • MariaDB
  • Docker
  • MySQL
  • Google Cloud Storage

Integrations used in this module:

  • API - to obtain data about clinics, doctors, employers, and packages of services

Biggest challenges:

acquiring detailed business requirements.

By building one of the most Innovative Medical systems and Applications, scheduling medical appointments and taking care of employees’ referrals is no more burdensome and time-consuming. We’re glad we had the opportunity to create another project that makes our lives easier.

Project Results

CS - result 5.webp

+100 000 NEW ACCOUNTS

More than 100 000 new accounts were created during the quarter of releasing the app.

CSresult1.png

200% MORE APP DOWNLOADS THAN EXPECTED

We knew this project was a game changer, but we didn’t expect that much!

CS - result 8.webp

+60 000 POSITIVE REVIEWS

Over 70 000 patients are satisfied with the level of provided services.

Check out other projects

Get a free quote in 24 hours

Eryk Gąszczyk

Eryk Gąszczyk

Chief Executive Officer

Marcin Hubert

Marcin Hubert

Chief Technology Officer

Spinbits - logo

spinbits Sp. z o.o.

VAT ID: PL5223112402

KRS: 0000716319
REGON: 369374045
D-U-N-S: 439444328

Let's build your business together!