Inspiration
Type 2 diabetes is a serious disease that numerous people have to face, including the families of members in our team. No one wants to watch loved ones suffer at the hands of this debilitating disease. Diabetic (neuropathic) foot ulcers are also an unfortunate condition that diabetes patients often face. Since diabetes can lead to reduced nerve sensitivity in one’s feet, many patients often are unaware of small foot cuts/injuries that eventually lead to infection, ulcers, and even amputation. Our project is aimed at providing support and aid to those suffering from diabetes, to help them make better decisions and be conscious of their current condition.
What it does
This project, through creative and predictive algorithms, provides a holistic set of tools to help patients manage their diabetes. A main concern of diabetic patients is the numbness in the extremities, primarily, the feet. As the numbness spreads, simple cuts and bruises on the feet go unnoticed, leading to infection and the development of foot ulcers. Obesity, a common symptom of diabetes, makes it increasingly difficult to observe one’s lower extremities. First, Penninsula uses machine learning to detect the presence of diabetic foot ulcers (neuropathic foot ulcers). Specifically, it uses a Decision Tree Classifier trained with multiple image samples from a variety of online databases. Feature extraction was performed using histograms of oriented gradients, and after training was cross-validated, we achieved a respectable training and testing accuracy. The user submits an image of his/her feet using the app, and the server analyzes the image, and returns information and a prediction on the presence and severity of an ulcer or a small cut that can become infected.
Moreover, the app uses the patient's current blood glucose level to determine how much of that food the patient can eat by utilizing nutritional information from variety of foods. Predictions are made using the “Rule of 500,” the standard agreed upon by medical professionals.
Penninsula also collects data on the user’s blood glucose level history using Johnson & Johnson technology, and performs various machine-learning regressions and customized analyses to detect common daily times of erratic blood glucose levels, and warns the patient of possible upcoming spikes/drops in blood glucose.
Lastly, Penninsula provides detailed directions and tips on how to safely live with diabetes, and provides voice-command functionality across its numerous services.
How we built it
The main component of Penninsula is an iOS app that links and controls all the functionality. Pictures and data are collected with the app, and then sent off to a server that runs various machine learning algorithms using the SKLearn toolkit in Python. Results are stored to a Mongo database, and are made available to the app. Voice communication and nutritional data was implemented via Houndify API, and data was provided via the Johnson & Johnson API for diabetic care.
Challenges we ran into
Some challenges we ran into were finding the best classifier for the job. We tried Support Vector Machines, Logistic Regression, Decision Trees, and various Ensemble techniques, but found that Decision Trees provided the best accuracy. We also ran into issues of design, on how to best communicate the data between the app, server, and database. Moreover, we needed to optimize some of our techniques for speed and resource management, given that we were working with big data.
Another major challenge was building a well-designed technology, while balancing the needs of our users. Patients using our app may not have full control of their appendages or may be visually impaired. Because of this, we designed warm, soothing colors that connote a feeling of relaxation. All buttons, objects, and screens are clear, large, and symmetrical. Furthermore, voice commands allow users to interact with the app in a more convenient manner.
Accomplishments that we're proud of
We have a fully functional app that can detect the presence of a foot ulcer and/or foot injury with reasonable accuracy. Moreover, our app correctly calculates whether a patient can consume a food, and visualizes patient records both over a daily and monthly scale in a way that is meaningful to the patient. We also had time to design an elegant front-end design for the app, and also managed to add robustness to the backend server and database. We hope people find this useful.
What we learned
We learned a lot about diabetes and the daily struggles of patients. Moreover, we learned a lot about how an app can greatly assist those who have to suffer with the disease in their daily lives. Additionally, we learned key concepts of product design and to empathize with all of our users.
What's next for Penninsula
We want to expand Penninsula to track other symptoms of diabetes, and create full meal plans that our server can verify if all nutritional needs are met. We will also optimize our algorithms to improve accuracy, and attach hardware sensors to aggregate more information on the patient.
Built With
- houndify
- http
- ios
- iphone-sdk
- javascript
- johnson-&-johnson-api
- machine-learning
- mongodb
- networking
- objective-c
- python
- sklearn
Log in or sign up for Devpost to join the conversation.