Apollo

Medical device integrations

Apollo is a medical data analysis platform for physicians and patients. Over the course of PennApps, I built wireless integrations with a number of medical devices, including:

  • blood pressure monitor
  • heart rate monitor
  • pulse oximeter
  • glucose monitor

I also built integrations with a few wearables to track activity, sleep, and weight, including:

  • Fitbit Charge HR wristband
  • Aria weight scale

Over the weekend, I tracked all of these aspects of my health, and have transferred the data to the Apollo platform. We've also built an outlier detection system that flags readings that are abnormal - physicians can receive configurable alerts when a high risk patient is detected.

Population health diagnostics

Another exciting prospect of having this data is the ability to do population level analysis. I built a machine learning system to predict diabetes diagnoses based on 8 commonly measured factors.

I built a system to analyze 768 patient data profiles from the National Institute of Diabetes, Digestive, and Kidney Disease. Implemented in the sckit-learn wrapper to libsvm, I built a support vector machine to predict patients diagnoses with diabetes by analyzing 8 factors, including:

  • Plasma glucose concentration 2hrs in oral glucose tolerance test
  • Diastolic blood pressure (mm Hg)
  • Triceps skin fold thickness (mm)
  • 2-hour serum insulin (mu U/ml)
  • BMI (weight in kg/(height in m)^2)
  • Diabetes pedigree function (developed in Smith et al. - a tool to quantify family history of diabetes)
  • Age

Using scikit-learn's grid search helper, I tuned hyperparameters of the model and determined that using a linear kernel function and a C constant of 10 achieved a favorable balance between computational efficiency and predictive accuracy. For performance optimization, all data structures were implemented as numpy arrays, which provides a Python-wrapper to arrays implemented in C++. Using a randomly partitioned 5-fold cross validation metric, accuracy of 77.662% was achieved.

Share this project:

Updates