The Project

HealthSync is a medical information management app that allows users to collaborate conveniently when tracking and sharing important health information.
First of all, the application is intended for careminders, family members and therapists of the elderly people, or users with chronic medical conditions. The main goal of the application is to make medication management, doctor’s appointments and symptoms tracking easier.

healthsync preview

Our Task

The main target audience of this application is the elderly and people who care about their health status. Therefore, at the request of the client, the design of the application should be as simple and straightforward as possible. Our UX designers have made every effort to simplify user interaction with the application. The HealthSync app is convenient to use for users who rarely have extensive experience with gadgets. We emphasized the native clarity of the interface and all functions.

Our task was not just creating one more symptom tracker with a huge variety of unnecessary functions. We have assembled a team in order to make a reliable assistant for every family that is faced with the need to take care of the health status of the elder family members.

For this purpose, focus groups and representatives of the 50+ age were interviewed, on the basis of which a backlog of functions was compiled, which in the first place will be useful to such an application. At the moment, our marketing department, together with the UX designers, continues to conduct surveys among focus groups of the relevant target audience to make the application as convenient and useful as possible.

The Implementation

user roles
Based on the obtained portrait of the target audience, our client determined the need to create 3 types of user roles.
data owner healthcare
Data owner
data mantainer healthcare
Data maintainer
data reader healthcare
Data reader

Data Owner

Each registered user can create a dataset. This is a repository of all user health information. The dataset creator has a Data Owner access level. Each user can create an infinite number of datasets. This is a great opportunity to track not only your health status but to learn about the health status of loved ones in time.

healthsync pulse healthsync data owner step healthsync data owner step healthsync data owner step

The user profile displays all created datasets. Also, the user can independently fill in information about changes in the health status and current symptoms in all datasets created by him/her. Using this function, we solved the issue of tracking and managing current health information for those users who cannot do it on their own (for example, due to age).

healthsync pulse healthsync data owner step healthsync data owner step healthsync data owner step

Data Owner can share access to the created dataset with other users. In addition, he/she chooses what level of access needs to be set to the new user. If the user needs help in managing the dataset, for this case it is better to choose the Data Maintainer access level. If it is enough for a new user to view information about the health status in the dataset, he/she will be assigned the Data Reader access level.

Data Maintainer

The features available for the Data Maintainer are similar to the Data Owner access level. This user can also fill in and track any health information in the dataset. The only difference is the inability to share access to the data set with another user.
This level of access is suitable for both a family member and the therapist of the person whose indicators are tracked in the dataset.

Data reader

The user role of Data Reader has the most limited level of access. Such a user can view the information from the dataset, but cannot make changes or invite other people to the dataset.
This level of access is great for an elder person who may find it difficult to enter information about their health condition. Nevertheless, this solution is perfect for the user to get acquainted with the new prescriptions of the therapist or track the schedule for taking medications.

Symptoms Recording

One of the key features of the application is the ability to add symptoms to the dataset conveniently and quickly. For each symptom, such fields are available: name, degree of symptom intensity (from 1 to 5), the start date of the symptoms and the date when it has stopped.

Besides, you can add photographs that show the manifestation of a particular symptom. Thanks to this, the therapist can get a detailed picture of the patient’s symptomatology.
For each added symptom card any changes can be made. For example, if necessary, the user can increase or decrease the degree of intensity. There is also information about which Data Maintainer made the changes.

List of Prescriptions

The “Medications” block allows you to add the entire list of drugs that are taken by a person whose condition is monitored in a dataset. To add a new medicine, it is enough to indicate its name, the necessary dosage, frequency of taking. For each drug, you can also indicate whether it is a prescripted one or a supplement. You can specify the start date for taking the medication. In order to indicate the end date for taking the drug, you can choose several options: enter a specific date, indicate that the drug is taking continuously, or mark it as "as needed".

The user also has the opportunity to add any notes to any medications. This can be useful in cases where taking the drug caused a side effect, and this information must be marked in the dataset.
Users with Data Owner and Data Maintainer access can edit the list of all prescribed medications and supplements. All changes made by users will be saved in a detailed history

healthsync data owner step
healthsync data owner step healthsync data owner step healthsync data owner step

Appointments Recording

Another important feature that we implemented in the application was adding appointments. In this block, users have the opportunity to indicate the date, time of meeting with the doctor, the address of the clinic and the name of the doctor. For users' convenience, a doctor can be selected from the available list, or it is possible to add a new one. The "Appointment" block also displays information about how many days are left before the upcoming event.
Both the patient and the doctor with the appropriate level of access can record upcoming appointments.

Diagnosed Conditions

The tab “Current data” contains all the necessary health information for this dataset. One of the most important features that we implemented primarily is the current diagnosed condition. All diseases that have been diagnosed can be added to this card. The following fields are available here: condition name, condition code, the initial date of diagnosis. In the "treating health professional" field, you can select the doctor who made the diagnosis. The user can enter the name of the specialist, or select someone from saved medical contacts. If necessary, the user can add any notes.
healthsync diagnose healthsync diagnose

Health metrics

Adding the necessary health-related measurements and tracking their dynamics is one of the most important functions for a healthcare application.
At the moment, we have implemented the ability to track blood pressure, blood sugar and weight. All added metrics can edit dataset owners and dataset maintainers, if necessary.

healthsync pulse healthsync metrics step healthsync metrics step healthsync metrics step

Health Report and Emailing

The user can generate a health report for any available dataset. At the moment, it is possible to create a report on the following filters: symptoms, medications, appointments, doctors, diagnosed conditions, measurements. After the user marks the necessary filters, the collected information for the selected period displays immediately.

healthsync email report healthsync email report healthsync email report

The user can send all this information by email. To do this, click the “Share this report” button, sticked in the footer of the screen, and specify the necessary email address or multiple recipients. For example, in this way, you can provide your new doctor with all the necessary information about the health conditions in advance.

healthsync data owner step healthsync data owner step healthsync data owner step

Insurance details, Medical and Family Contacts

HealthSync allows you to store all the necessary medical information in one place. By clicking the “Contacts” tab, the user can add the contacts of family members, medical contacts (family therapist, for example), address and phone number of preferred pharmacy and also current insurance data.
The user can call the desired phone number directly from the application.
For users’ convenience, we have implemented integration with Google API, so that the user does not need to enter the long name of the pharmacy, or completely type in the address. As soon as the user begins to enter the necessary data, a prompt appears.
Thus, the owner of the dataset can transfer to his doctor any information about his type of insurance. And the doctor can quickly get the phone numbers of the patient’s relatives in an emergency.

healthsync pulse healthsync insurance healthsync insurance healthsync insurance

Notifications

HealthSync also has in-app alerts, which are triggered in a number of cases. For example, if one of the users changed the information in the dataset. This may be an updated prescription, appointment, or a symptom. All users who have access to the dataset where changes were made immediately receive a notification.
The notification also works if the user was invited or accepted the invitation to the dataset, if the user’s role was changed, or someone transferred dataset ownership.

healthsync signup healthsync signup

Easier sign-up process

When the user signs in the application in the first, it displays only one field - with the email. The application will automatically recognize whether this user is new the new one, previously registered, or invited. And, depending on this, sends it to the next screen.

Technology stack

Frontend (React Native)
React-redux
redux-thunk
Immutable
Crashlytics
Testflight
GitLab CI/CD Pipeline
Instabug
Backend (nodeJS and Typescript)
PostgreSQL
Firebase
AWS
socket.io
3rd Parties
Google API
iCloud Keychain

Our Input

Since the development team was faced with the task of creating a mobile application for iOS and Android, React Native was chosen as the main technology. This significantly accelerated the development time. At the moment, we continue to work on the product, constantly improving it and adding new features.

Design
Business Analysis
Project Management
Front-end dev
Back-end dev
QA manual
DevOps

Need help with your project? Contact our developers' team!