Software

Most of our software is open-source. For the full listing, check our GitHub repository.

OpenMRS

OpenMRS Security Testing

OpenMRS is an Electronic Medical Record System which was specifically developed curtail the uprising of diseases such as HIV and some of other diseases battling developing nations in the world. Researchers at Purkayastha Laboratory played a pivotal role in the development of various modules of OpenMRS, such as the Radiological Module. We have worked on security testing of OpenMRS.

The research by Purkayastha et al. (2020) published at ICSSA, introduces a formal and continuous approach to security testing for OpenMRS. Recognizing that security is often an afterthought in many digital health applications, their work aims to integrate security testing directly into the software development lifecycle.

The Concept of "Continuous Security"

The research builds upon the concepts of Continuous Integration (CI) and Continuous Deployment (CD), introducing the idea of Continuous Security (CS). Instead of just testing individual components, CS involves deploying the system in a realistic environment and simulating various types of attacks. This allows for the identification and fixing of vulnerabilities during the development process itself, making security an integral part of software development rather than a final, often rushed, step. The project utilizes a popular Python unit testing framework to implement a formal method of security testing. The key components of their methodology include:

  • Behavior-Driven Development (BDD): This approach allows for the creation of testing scripts that can be easily read and understood by both developers and non-technical stakeholders.
  • Gherkin Files: These are simple, English-like files that describe the behavior of the system. They serve a dual purpose: acting as project documentation and automating the tests.
  • Pytest: This is the framework used to run the BDD scripts.
  • Common Vulnerability Scoring System (CVSS): The project uses CVSS to calculate objective metrics that represent the state of security of the deployed system. This provides a clear and consistent way to measure and compare the security of the system after every code change.

NeoRoo

NeoRoo App

NeoRoo is a mobile application developed as part of LibreHealth's mobile Helping Babies Survive (mHBS) initiative. The app connects to the NeoWarm sensor and provides real-time updates to nurses and caregivers about kangaroo mother care (KMC) metrics.

Kangaroo mother care, which involves prolonged skin-to-skin contact between a mother and her newborn, is a proven intervention for improving outcomes in preterm and low-birth-weight infants. NeoRoo helps healthcare providers monitor and track KMC sessions by integrating with the NeoWarm sensor to capture temperature and duration data in real-time.

Key features of NeoRoo include:

  • Real-time sensor integration with the NeoWarm device for continuous monitoring
  • Live updates on kangaroo mother care metrics for nurses and caregivers
  • Support for tracking and documenting KMC sessions
  • Cross-platform compatibility for Android and iOS devices

By providing objective, real-time data on KMC practices, NeoRoo aims to improve adherence to kangaroo mother care protocols and ultimately contribute to better neonatal outcomes, especially in resource-limited settings.

View on GitLab →

FitWisdom App

FitWisdom App

FitWisdom is a Flutter-based mobile application designed to promote regular physical activity and help users, particularly those with chronic health conditions, develop sustainable exercise habits. The app's core is a novel recommender system, detailed in a recent publication, which addresses critical challenges in health-focused apps like the "cold start" problem and user motivation.

FitWisdom's recommender system employs a sophisticated two-stage process:

  • Deep Q-Network (DQN), a type of reinforcement learning, generates 2,000 synthetic user profiles. These profiles are created based on clinical guidelines from authoritative sources like the American Heart Association, ensuring they are medically safe and appropriate. This innovative method effectively solves the "cold start" problem without needing initial data from real users.
  • Multi-Armed Contextual Bandit (MAB) algorithm uses these clinically-validated profiles to deliver personalized exercise recommendations. The recommendations are tailored to each user's specific persona, considering their age, comorbidities, and exercise preferences.

A key feature of FitWisdom is its Explainable AI (XAI) layer, which provides transparent justifications for each exercise suggestion. By helping users understand why a particular activity is recommended for their specific health profile, the app aims to increase trust, enhance motivation, and improve long-term adherence to their fitness routines.

Built with Flutter for cross-platform compatibility and Hive for efficient on-device data management, FitWisdom provides tailored, clinically-backed guidance and progress tracking to overcome common barriers to exercise.

View on GitHub →

mHBS Trainer

mHBS Trainer App

The mobile Helping Babies Survive (mHBS) Training App is a digital health solution designed to empower community health workers with life-saving skills in neonatal resuscitation. Developed through a collaboration between the Indiana University School of Medicine and the Luddy School of Informatics, Computing, and Engineering, this app transforms how essential training is delivered to healthcare workers, especially in resource-limited settings.

Every year, millions of newborns require assistance to begin breathing at birth. The first 60 seconds of life, often called the "Golden Minute," are absolutely critical for intervention. The mHBS app directly addresses this challenge by providing accessible, standardized, and high-quality training based on the evidence-based Helping Babies Survive curriculum. Its primary mission is to equip frontline health workers with the knowledge and practical skills needed to act confidently and effectively during these crucial moments.

Key features for effective training:

  • Interactive Learning Modules: Step-by-step guides, instructional videos, and simulations covering essential principles of neonatal resuscitation.
  • Skill Assessment Checklists: Digital checklists for trainers to conduct and record practical skills evaluations, such as Objective Structured Clinical Examinations (OSCEs).
  • Knowledge Quizzes: Integrated tests and quizzes to reinforce key concepts and assess learner comprehension.
  • Offline Functionality: Full offline capability with automatic data sync when connectivity is restored.

The app integrates with the District Health Information Software (DHIS2), enabling health officials to systematically track progress, monitor course completion rates, and manage certifications at scale. This integration makes the mHBS training program sustainable and scalable at regional and national levels.

View on GitHub →

Human Activity Recognition for Parkinson's Disease

Human Activity Recognition Project

This Human Activity Recognition (HAR) project utilizes machine learning models to identify and analyze daily living and exercise activities in both healthy individuals and patients with Parkinson's Disease (PD). This innovative system uses advanced ML algorithms to analyze movement patterns, aiming to create a "gold standard" for activity recognition that can be generalized from a healthy population to individuals with PD, whose movements are affected by motor dysfunctions like tremors.

The methodology involved collecting high-precision data with three medically validated BioStamp MC10 sensors placed on the chest, forearm, and calf. Data was collected from 8 healthy subjects performing 33 exercises and 8 PD patients performing 21 exercises. The research team tested four ML models: Random Forest (RF), XGBoost, Long-Short Term Memory (LSTM), and Bidirectional LSTM (BiLSTM).

The study achieved F1-scores between 0.88 and 0.94 when trained and tested on the same group, and successfully identified a core set of high-intensity exercises that can be reliably predicted across both healthy individuals and PD patients. The dataset and code are publicly available to encourage further research.

View on GitHub →

ECEB (Essential Care for Every Baby)

ECEB App

The Essential Care for Every Baby (ECEB) mobile application is a clinical decision support tool designed to reduce the cognitive load on healthcare workers in busy, resource-limited settings. As part of the broader mobile Helping Babies Survive (mHBS) initiative, the app empowers nurses, midwives, and other providers by translating essential newborn care guidelines into an accessible, easy-to-use digital format.

The app provides clear, step-by-step guidance through interactive action plans and clinical workflows, serving as a digital job aid for crucial protocols including immediate drying, skin-to-skin contact for warmth, timely initiation of breastfeeding, and infection prevention.

Key features include:

  • Interactive Action Plans: Step-by-step clinical workflows for routine newborn care
  • Assessment Tools: Digital checklists for systematic newborn examination and danger sign recognition
  • Visual Aids: Instructional videos and illustrations to reinforce training
  • Offline Functionality: Full capability without internet connection
View on GitLab →