Logo of Dynamic Solution Innovators Ltd.
Olwel
Olwel bridges the gap in healthcare service delivery, leveraging ICT and service innovation. The Olwel integrated platform combines an EHR (Electronic Health Record), a call centre and an automated dispatch system based on geo-mapping.

About The Project

DSi has been the development partner of Olwel, a Finland based startup company. Olwel application was developed with the aim to provide essential doorstep healthcare services for patients who prefer to receive medical consultation at the comfort of their home. It is an ideal solution for patients with movement difficulties and anyone who wants to avoid traffic and long queues at the doctor’s office. Using the Olwel mobile application, users are able to request for in-home doctor services. This innovative service platform connects qualified and trained general practitioners with patients to ensure that the medical services can be delivered directly to the patient's home.

Technical Challenges

The biggest technical challenge in the system was the real-time coordination process between a dispatched doctor, the patient, and the medical operator. There is a lot of data that flows between the doctor app, patient app, central server and the medical operator console. The data has to be processed in real-time (i.e. almost instantaneously) and the map view and status view at the medical operators console must be updated instantly. The system is designed to handle thousands of doctors and hundreds of thousands of patients.

Our Solution

To solve this problem, the system uses a special real-time database called RethinkDB. Being a real-time database, it pushes data to the central server whenever a change is made by clients (doctor app, patient app and consoles). RethinkDB is also scaled horizontally by using a cluster.

The server uses WebRTC technology to push the updates to the clients in real-time. The server tier is also clustered, using redis technology to synchronize between nodes. The server is implemented using node.js, utilizing its reactive execution model perfectly for this application. This results in a highly optimized system that is snappy in responsiveness even under a load of thousands of simultaneous connections.