Cradle VSA: Patient Referral Management System

Sachin Raturi
6 min readFeb 4, 2020

--

The Cradle VSA (Vital Signs Alert) is a portable medical device that can read a patient’s blood pressure and heart rate. It is mainly used to detect abnormalities during pregnancy. The Cradle VSA device has undergone many different trials in refugee camps as well as remote villages throughout Africa. The portability of the device makes it a powerful adequate health-care tool for remote and isolated regions.

As a team project for a Computer Science class at Simon Fraser University, we created a robust, secure, and intuitive technology solution for the Cradle VSA that replaces the current paper-based patient tracking system. Our team consisted of Chloe Huang, Simran Gulati, Matt Doyle, Kevin Le, Vinson Ly, Sachin Raturi (me!), Kat Siu, and Jeffrey Leung.

How Cradle VSA is currently used

Throughout Uganda, villages and refugee camps are visited by VHTs (Village Health Teams). VHTs take medical readings of patients and if the medical reading indicates any abnormality, the VHT refers the patient to a local health center.

When the patient visits the health center, a medically trained professional performs diagnosis and provides treatment information. This process is currently paper-based, so we built a technological system to replace and augment this information flow.

The CRADLE Vital Signs Alert device.

How our System works

A VHT can take a reading through the mobile application and upload it to the server, allowing health care workers to access the patient’s data and relay important treatment information back to the VHT’s mobile application.

The application is designed to be used in remote areas with an unstable internet connection, so we implemented an SMS feature. If a patient needs to be referred to a health center immediately, the VHT can send a referral to the server via SMS, thus minimizing data usage when out in the field.

The web application has an interface for accounts with different levels of permissions. The web application and mobile application both calculate statistics for all patients, as well as for individual patients so that medical staff can follow higher-level analyses and trends.

Technology Stack

  • Android (Application)
  • React and Javascript (front-end web development)
  • Python and Flask (back-end web server)
  • Twilio (Text messaging server)
  • MySql (Database)
  • nginx (Deployment)
  • Git and GitLab (Version control)

Iteration 1

The first iteration primarily consisted of the requirements gathering phase. Our understanding of the product became clearer with each interaction with the client.

When we were evaluating different backend frameworks, we narrowed down our options to Spring Boot, NodeJS, and Flask. After establishing that the main goal of the project was to provide as much value to our client as possible, we weighed our options. Spring Boot would have presented fewer challenges for our team, as many of our members have had prior experience with Java and Spring Boot. However, its drawbacks ultimately overshadowed its advantages, as it is tedious to set up and configure. Additionally, this project would be an excellent learning opportunity for team members that are not already familiar with Python. Ultimately, we decided to use Flask as our back-end framework due to its simple configuration, unopinionated nature, and all the other benefits of Python.

Initially, a default Android application was provided to us. Android was chosen for the application because of its market share dominance over iOS in Uganda. We decided to support Android 4.2 while focusing mainly on Android 5.0 and above.

We also set up a basic flow between the mobile application and the web app. We were able to send patient data to the server, and display it on the front end. We also decided to send referrals for patients through the internet to the server for this iteration. In future iterations, the customer wanted to prioritize time over cost and send the referral through SMS.

Iteration 2

Our group decided to focus on the user interface and user experience during the second iteration. By discussing and building a brief branding guide, we decided that we wanted users to describe their experience using the system as simple, clear, and understandable. Check out the article on the design of the system below.

During the first iteration, I mostly worked on the mobile application. For this iteration, I wanted to familiarize myself with the back end and front end as well. I did so but taking on a couple of small tasks for the front end, such as making the patient profile page editable.

At the end of the second iteration, we had completely redesigned the mobile application and web application. Check out the links at the end for screenshots and the code.

A screenshot of web application

Iteration 3

By the third iteration, our team was confident in working with each other and our efficiency had reached new levels. The third iteration saw the completion of features to provide maximum peace of mind to the user and system administrator, including the following:

  • Security through the HTTPS protocol
  • User roles of a Community Health Officer and System Administrator,
  • Intuitively ordered and validated user input fields,
  • Carefully designed error handling,
  • The ability to send a referral through SMS when a VHT has an unstable internet connection.
  • Help pages and buttons for new users.

The system was completed, allowing VHTs and health care workers to monitor and share vital patient medical data with incredible ease of use, and making our project feature-complete.

10 minutes before the final presentation. Everybody is feeling the pressure!

Result

After each iteration, we received targeted feedback from the client. Overall the client loved our design and functionality.

This really is an excellent piece of work all round. You seem to have really understood the need here and it is reflected in the intuitive and professional design of both your app and web interface. Well done. We are impressed.
— Client

Out of 8 different teams working on this project, our team was chosen to be the best. We will continue working on the project in the current semester (spring 2020) to get the project ready for field testing and potentially deploying the system in Uganda.

My Experience

Initially, I was expecting the project to be a regular academic project. However, after our initial meeting with the clients, I realized the potential for this project. Growing up in a remote place in northern India with inadequate health facilities, I recognized the impact Cradle VSA could have in small and remote communities across the globe. This realization motivated me to do my best.

Working with a group of eight students on my team came with its own set of benefits and challenges. One of the advantages was every member bringing a diverse set of technical skills, which further allowed us to work efficiently and help each other simultaneously. Every member was committed to the project (4 a.m. code commits!). Communication within our team was excellent, as everyone was able to contribute to team discussions and have meetings regularly.

Working in a group of this size presented a few challenges, such as task management and adhering to deadlines. Initially, we used the GitLab Issues for tasks but soon realized that they needed to be broken down and be much more specific.

“Chaos isn’t a pit, chaos is a ladder.”
Lord Baelish

Overall, I learned a great deal from this project. Some of my biggest takeaways are:

  • Giving and receiving constructive feedback
  • Task management
  • Trusting the team
  • Delegating tasks and responsibilities
  • Open group discussion helps the team move forward
  • Dagger (a dependency injection framework for Android) is MAGIC!!

Lastly, I want to thank our professor for allowing us to work on this project and guiding us through the challenges.

The Team

The Team — from top-left to bottom-right: Chloe Huang, Simran Gulati, Jeffrey Leung, Matt Doyle, Kevin Le, Vinson Ly, Sachin Raturi, Kat Siu

Additional Links

Click here to read the article on the design.
Click here to read about a product owner’s perspective(Coming soon)
Checkout the article by SFU

Click here to see the final demo
Click here to see the official Cradle VSA website
Checkout GitHub for screenshots and more.

--

--