Lessons Learned from Nanbar Health: Developing a Multi-System Software Suite for Predictive Algorithms and Remote Monitoring for People Living with Sickle Cell Disease
Authors: Mallikarjunan Arvind , Hensley Elizabeth , Gundala Abhinav , Parikh Jhana , Fernandez Olivia , Utkarsh Kumar , Vuong Caroline , Ford Shannon , Shah Nirmish 
Published: December 2023

Background:
Sickle cell disease (SCD) is a genetic disorder that alters the shape of red blood cells, leading to significant complications and requiring highly complex care. Efforts often focus on prevention and early diagnosis of pain to improve outcomes for those with SCD. Remote monitoring (RPM) and predictive algorithms has grown exponentially in the last decade as a support tool for managing chronic diseases like heart failure and diabetes. Implementing similar technology for SCD care could improve patient outcomes through early detection of complications and providing physicians with longitudinal data to support clinical decisions. Our team previously used mobile health (mHealth) as RPM in this population and developed a machine learning algorithm to predict pain scores with 86% accuracy. Here, we describe the development process for the Nanbar Health software alongside the lessons learned from its development.
Objectives: Describe the methods necessary to build a comprehensive mHealth remote monitoring system (Nanbar Health) that facilitates SCD health management. Develop a set of lessons for other developers when building a remote monitoring software suite.
Methods:
Nanbar Health's development process has taken 2 years. First, our team reviewed feedback and “bug” reports from patients and providers of other mobile applications our team built at Duke University. Using the feedback collected an user-interface (UI) interface (mock-ups) was created for the Nanbar Health mobile app using Figma. These mock-ups were then shown to healthcare providers with expertise in caring for individuals with SCD for feedback. Upon approval of mock-ups, our team developed the mobile application using Swift and Apple HealthKit. The team also built a physician-facing dashboard using React, NodeJS, and Python. The backend software for this system utilized Docker containers mounted on AWS EC2 instances, a Parse server, MongoDB and PostgreSQL databases, and Nginx for deployment and load balancing. Next, the dashboard was reviewed by medical providers for feedback. The analytics portion of the dashboard processed data in Python backend scripts and interactive visualizations were built using the Plotly library in NodeJS. The analytics portion of the tool is currently being reviewed for feedback.
Throughout the process of developing and piloting the Nanbar Health Software, our team identified several challenges. These challenges were collected into a comprehensive index named, “Lessons Learned”.
Results:
The lessons learned include:
1. Overall Gain user feedback and place yourself in the shoes of the user: At every step of your software's development ensure you are continuously getting feedback from your users.
2. Mobile Application Engagement is key to acquiring good data: Ensure your team uses a variety of methods methods to engage your users.No mobile app is one size fits all, but one app can customize to all: The development team should create re-usable, dynamic components wherever possible.
3. Provider Dashboard Testing to build: Developers should build a user interface that is easy to run and test as a “pseudo-user” while they are building it, making it easier for the developer to understand the user experience and build a user-friendly application.Building to test: Plan for beta testers from the beginning and ensure that they have access to continuously-updated and fake but realistic data.
4. Network Analysis Complex analytics are computationally demanding - Advanced analytical tools incur more complications when incorporated into a High-Usage SystemFor heavy data processing, go serverless - Isolating heavy data processing from the rest of the application saves tremendous time and money.
5. Research and Operations Don't cry over spilt code: Mistakes and bugs are part of the process when developing any software, and part of the research process.Lack of engagement is not a reason for disappointment, but rather an opportunity for growth and improvement: Our tool has continuously experienced changes and improvements to increase patient engagement.
Conclusion: Our team was successfully able to create and deploy a SCD care-focused Nanbar Health. These tools show promise of improving care for people living with SCD through the usage of RPM and predictive models. Further research should be conducted to determine methods to increase user engagement, and maintain large predictive models in cloud-based systems.