Symptom Tracking App
Need help tracking your symptoms? Planning to start a fitness routine? Want to be reminded of your appointments? Medician is here to help.
Medician is a health tracking app that is intuitive and easy to use. You will be able to record details about your symptoms and set notifications for your medical + fitness routines. Whether you just want a simple tracker to store your gym routine, be reminded for your next appointment, or somewhere to keep the cycle of your medication, our app can do all of that and more!
- Medication / Supplements Reminders
- Exercise Reminders
- Appointment Reminders
- Symptom Tracking
- Symptom Overview
In keeping with the trends, our app feels simple yet functional, minimal yet jam-packed with all the features that you need to keep your health on track. Medician features an easy-to-use interface so that you can spend less time looking for things and more time doing the things that matter in life.
Everything you save in the app is stored locally. With the ability to secure your records through biometrics, Medician ensures that only you can view your medical information and history. For your eyes only.
When adding symptoms, the app will ask you a set of targeted questions - just like your family doctor would. These questions come from all the most commonly asked clinical questions. By using our app, you’ll be recording all the relevant details about your situation. During your consultation, you can open up Medician to aid you in describing the details about your symptoms to your health professional.
There are three ways you can install Medician.
- Through the Apple App Store (for iOS users)
- Through downloading the Android APK (for Android users)
- Using Expo Go on your phone while the source code is running on your local machine (outlined below)
-
nodejs, npm/yarn
-
Expo and React Native
- Follow the instructions here to install expo.
-
Expo Go
- Follow the instructions here to install Expo Go on your mobile device.
- Clone the repo
git clone https://github.com/fxlui/medician.git && cd medician
- Install packages
yarn install
- Run with Expo
expo start
- Navigate to pop-up tab created by Expo in your browser
- Scan the QR code with your camera app (iOS) or scan the QR code with Expo Go (Android)
Medician provides a solution to the common clinical problem of effectively tracking PROs (Patient Reported Outcomes). The design implementation was based upon interviews conducted on two medical doctors about their clinical experience. First was a senior cancer specialist working at Westmead Hospital and the second a general practitioner working in a private clinic located in Strathfield.
Each physician were asked questions regarding:
- Their clinical interaction with patients
- The important details to monitor for patients
- How patients currently keep track of their health
- How can an app help the doctor and patient
The research findings show that patients often forget details about their symptoms and treatments. Patients with chronic diseases such as cancer and diabetes would be encouraged to keep a physical diary to record PROs such as pain, medicine taken, and more. The diary records will then be used to gauge a treatment’s toxicity and effectiveness. When a patient enters the consultation with their diaries, the doctors find that it is are often disorganised, cluttered and missing certain critical information. Furthermore, there is no standardised way of bookkeeping, some patients give a qualitative description of their symptoms while others would have a quantitative description. In the past paper forms used to be handed out to patients, however this has now been phased out in many clinics.
It is evident from the findings above that there is a need for a standardised way to track PROs. With a shift in how people document, there arises a need for an effective digital solution that patients can use to document their experience of a treatment.
Medician provide users with the ability to document different aspects of the symptoms they experience. Depending on which symptom they choose within the app, a specific question flow will be selected that will ask targeted questions about the situation. This feature aims to help physicians better understand how a patient’s health evolves over the course of their treatment. The app provides a standardised way for patients to record their outcomes, achieved through the requirement of quantitative answers. Users are also able to set up a routine to remind them to take medicine, exercises and appointments. During the consultation, the patient is able to show the doctor an overview page that provides a summary of everything the user entered regarding a certain symptom.
- SQLite
- We currently use SQLite to store user’s data. To provide users with full control over their data, we store everything locally on device. SQLite is used as it is the most supported relational database system for the current Expo SDK. However, due to its limitation, we plan to switch to RealmDB/other NoSQL solutions after the next Expo SDK release, as mentioned in #1.
- Expo
- Expo is a framework and a platform for universal React applications, providing a set of tools and services built around React Native. Expo avoids the need for us to write native code for each platforms, and provides a single codebase for both iOS and Android.
- React Native
- React Native is a framework for building native apps with React. It uses the same design as React, and is used by Facebook, Instagram, and other large companies. It is open source and maintained by a large community of developers, and can be used with any modern JavaScript framework, such as React.
- TypeScript
- TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
- MobX-State-Tree
- Managing state is arguably the hardest part of our application. Since Medician has a large navigation tree that includes several stacks of screens, there is a lot of data that needs to be stored, mutated, and shared across screens. MobX-State-Tree (MST) was our solution for state management. MST provides a centralised place to store and process all of our data outside the component tree, allowing us to connect to the SQLite database and the subscribed UI elements. With MobX-State-Tree, we are able to isolate most of our logic from the UI components to deliver a more robust and scalable solution.
Designs for the screens were completed in Figma.
The symptom question flows are mapped using MindMeister.
The following is a basic outline of how to use the features of the app.
- Switch to NoSQL database
- Graphs and analysis
- Usability improvements for Add Flow
- More specific options for exercises
- Ability to select date period for reminders
- Unit tests
Special thanks to:
- Dr. Mark Wong
- Dr. Joseph Lee
for agreeing to be interviewed and providing us with their medical expertise.