Turbota. Personal Healthcare App

Turbota is a personal healthcare app (private beta) that allows patients to store and use own or their loved ones’ medical data in one Health Wallet.
The current version of Turbota is fully compatible with the Ukrainian eHealth ecosystem. It also allows users to accumulate and view medical history from other sources.


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 – since medical data comes from a natural source (i.e., medical facilities), it’s incomplete.
Our goal was to create a perfect app for patients’ needs where they could see their full medical history and manage it at their own discretion.


  • Most patients only have access to off-line medical service agreements with primary healthcare doctors.
  • Hospitals require a personal visit to sign an agreement for medical services.
  • There’s no possibility to change patient data without a doctor.
  • There’s no possibility to manage access to the medical data from the patient side without a doctor.
  • e-Prescription & e-Referrals exist only as a code in SMS: patients need a code from SMS to get medicine or services in a medical facility.
  • Doctors have to print paper versions of documents so that patients can have a copy of information about a visit.

The process

Sign Up/Sign In, Medical data from eHealth, searching, and sorting


  • Allowing users to choose one or multiple FHIR-compatible sources to get medical records from, or none at all. And therefore abstracting Turbota from the particular source of medical data — in our case, e-Health.
  • High sensitivity of the data we were going to store and thus incorporating safety protocols in a way that won’t complicate the user onboarding process.
  • Though medical data in the Ukrainian eHealth system is stored in FHIR format that is highly structured and allows to describe almost any medical condition or event, there was a lack of a Composition object at the time of Turbota’s development. This object allows consumers to represent medical data in the human readable format.


  • We used the most common third-party services, Google and Apple, to authenticate users. This allows access to the basic functionality of the application in a couple of seconds, as well as Google or Apple account’s protection.
  • We incorporated personal user data encryption in the applications’ backend code.
  • We built the architecture based on the account-linking paradigm. This allows linking as many health accounts as needed and combining all medical data in the context of its owner.
  • We implemented federated APIs to get and show data from different microservices (or sources) to the user with one call to the app’s backend.

e-Prescription, e-Referral from Ukrainian eHealth, signing of the agreement with the primary healthcare doctor


  • Ukrainian eHealth system medical service provider directory has limited possibility of filtering data.
  • The filtering result returns employee records, which means that if a doctor works in more than one medical facility, their search will come up with an equal number of entries.


  • 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.
  • We built the ETL process — a process that extracts the data from different source systems — of PHC doctors from e-Health to our backend. This allowed to cover most common use cases of searching for a doctor to sign an agreement in Turbota

Downloading medical history from the local source (file, image) and sharing medical data from Turbota to third party applications


  • The need to combine two different sources of data – that we’re already getting from eHealth in online mode and that users can possibly download.
  • The need to display different sources of data in the application as one set of medical records organized in a user-friendly way and with a common search engine.


  • We used the FHIR server developed by Edenlab to store medical data from different sources. This allows us to technically connect as many medical data sources as needed, maintaining (and somewhere adding) interoperability of the data.

Technology stack

  • PostgreSQL logo
  • React logo
  • TypeScript logo
  • Kotlin logo
  • TypeGraphQL logo
  • OpenID logo
  • GraphQL logo
  • MongoDB logo
  • Kubernetes logo
  • Apollo logo
  • Objective - C logo

Turbota has the following core features and functionality:

  • Access to the central eHealth database of Ukraine
  • eHealth account registration
  • Access to complete medical history
  • Patient medical history search, revision, and sharing
  • Primary healthcare doctor search
  • Signing online agreements for provision of primary health care
  • E-prescriptions and e-referrals for medical services

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 and order medications; as its evolution, a first-aid-kit tracker and medication reminders
  • Search for a specialized care doctor or a service, make an appointment; as its evolution, a medical service directory with a rating system for medical service providers
  • Personalized health trackers with easy-to-understand graphics and a health diary
  • Tied accounts – an ability to manage loved ones medical records and events
  • e-Assistant – a bot that will give advice or suggest what to do depending on your symptoms or request

Contact us

Get your experienced FHIR developers for hire, schedule Kodjin FHIR server demo, or request a consultation





    Your form has been submitted successfully

    We will contact you shortly

    Write us: [email protected]

    33 T. Shevchenko blvd, 11 th floor Kiev, Ukraine


    Creative State of Arsenal 2 Moskovska st 8, Kyiv, Ukraine

    We use cookies to provide the best site experience. The cookies cannot identify you. By continuing your usage of the website, you agree to the Privacy policy.

    I agree