Turbota. Personal Healthcare App
About the project
This app allows patients to store and use their or their loved ones’ medical data in one Health Wallet.
Nowadays, Turbota is a personal healthcare app for patients fully compatible with the Ukrainian eHealth ecosystem and at the same time allows the user to accumulate and use medical history from other sources
The perfect app for patients’ needs simply didn’t exist. The Ukrainian national eHealth system development covered services for doctors and medical providers, but not for patients. Though during the creation of Turbota several applications of the same kind were issued, all of them have one drawback – incomplete medical data due to the natural source of their collection: medical facilities. And our goal was to create an application where the patient could collect his full medical history and manage it at his own discretion
only off-line registration via doctor to get medical services
lack of possibility to change patients data without doctor
e-Prescription & e-Referral existed only as a code in SMS: patient has to read the code from SMS to get medicines or service in the medical facility, also doctor has to print the paper versions of the documents so that patient saw what exactly was prescribed
declaration signing only in the hospital
lack of possibility to manage access to the medical data from the patient side without doctor
Step 1: Sign Up/Sign In, Medical data from eHealth, searching and sorting
From the very beginning of the project, we wanted to allow our user to choose one or multiple FHIR-compatible sources to get medical records from or not to use any source at all. So we had to abstract Turbota from the particular source of medical data – in our case e-Health.
Data we were going to store is one of the most sensitive ones, we had to protect it but to make the user onboarding process as easy as possible.
Medical data in the Ukrainian e-Health system is stored in FHIR format, it is highly structured and allows to describe almost any medical condition or event, but at the moment of Turbota development it lacked a Composition object which could allow its consumers to represent medical data in the human readable format.
We used the most common third-party services – Google and Apple to authenticate our user, thus our user gets access to the basic functionality of the application in a couple of seconds, but his account is protected as well as his Google or Apple account is.
We encrypt personal data of the user on our backend.
We built our architecture based on the account-linking paradigm: it allows linking as many health accounts as needed, all medical data will be combined in the context of its owner.
We implemented federated APIs to get and show data from different microservices (or sources) to the user using one call to the backend
Step 2: e-Prescription, e-Referral from Ukrainian eHealth, signing of the contract with the Primary Healthcare doctor
Ukrainian eHealth system medical service provider directory has limited possibility of filtering data, the result of the filtering returns employee records, which means that if some doctor works in more than one medical facility – he will appear in the results more than once.
We decided to have a medical providers directory on our side at this early stage of the project – this decision is in line with our next steps of Turbota development. So we build ETL process (is a process that extracts the data from different source systems) of PHC doctors from e-Health to our backend which allowed to cover most common use cases of searching for a doctor to sign a contract in Turbota
Step 3: Allow user to download his medical history from the local source (file, image) and to share any medical data from Turbota into third party applications
We have to combine two different sources of data – the data that we’re already getting from eHealth in on-line mode and the data that users can possibly download – to display them in the application as one set of medical records organized in a user-friendly way and with a common search engine.
Since our target is to allow to technically connect as many medical data sources as needed, maintaining (and somewhere adding) interoperability of the data, it was decided to use FHIR server developed by Edenlab to store medical data from different sources
Core features and functionality
- Receive complete medical history from the central eHealth database of Ukraine.
- Find any document in the patient's medical history, review it, and share it if needed
- Find the most suitable primary healthcare doctors and sign declarations with them.
- Get prescribed medicine or medical services using their e-prescriptions and e-referrals for medical services
- Personalized health trackers with easy-to-understand graphics and health diary
- E-Assistant - our bot will give advice or suggest what to do depending on your symptoms or request
- Since Turbota’s development is still going on, our future plan is to gradually expand its functionality by adding the following features
- Upload medical documents: clinical notes, diagnostic reports, procedure reports
- Search for & order medications and as its evolution - first aid kit tracker and medication reminders
- Search for a specialized care doctor or a service, make an appointment and as its evolution - medical service directory, meaning that it should be the service with rating system for medical service providers
- Tied accounts - ability to manage loved ones medical records & events