As many as 1 million Americans live with Parkinson's disease. Almost 60,000 Americans are diagnosed with this serious disease annually, and this doesn't even count the thousands cases that go undetected. Furthermore, almost 10 million people worldwide live with the disease...including those in underdeveloped countries. Given these saddening statistics, there is a large need in the community from doctors who claim that monitoring patient response to medication is difficult, as drug interactions vary greatly from patient to patient. Furthermore, when appointments are completely booked, or if a patient is unable to travel to the doctor's office easily (e.g., they live in a village far away), then doctors are unable to correct the medication with sufficient ease.
Now, in this day and age, most people own smartphones. In fact, 77% of Americans own smartphones, and globally, about 44% of people own smartphones.
It only makes sense to leverage this technology to solve the aforementioned problem, among many others. So, we set forth to make a mobile app to facilitate this issue.
What it does
We created a mobile app that takes 10-second accelerometer measurements of the Parkinson's patient with their hands in postural tremor position. Essentially, they keep their arms outstretched with their palms facing upward, with the phone in their hand experiencing a tremor after pressing the "record" button on our app. The user also enters basic medication information: what medication they've been prescribed, when they last took it, and how long they've been taking it for.
The app returns the severity of the tremors the patient is experiencing on a scale of 0-3, with 0 being the absence of tremors, and 1-3 being the presence of low, medium, and high severity tremors, respectively. This result has an 87% accuracy. This information is then sent to the patient's doctor via SMS or email, along with their medication data, so that the doctor can effectively see whether the medication is improving, worsening, or doing nothing to the patient's condition. This is crucial for getting the patient off a drug that isn't working ASAP or confirming that it is working.
If the user is unsure of whether they have Parkinson's, there's an option in the app to get a preliminary diagnosis. We modified the convolutional neural network to output whether the patient is suspected to have Parkinson's or not, and have achieved a 95% accuracy.
How we built it
Python - TensorFlow: Convolutional neural network of 70 layers; 87% accuracy for Parkinson’s severity prediction; 95% accuracy for Parkinson’s diagnostics Android app: Android Studio, Java Firebase backend: SQL, Python
Challenges we ran into
Datasets were very difficult to come across; we finally found open source data from Michael Fox Foundation, and took our own measurements for control data. We had to pivot multiple times until we found a suitable and sufficient dataset.
Accomplishments that we're proud of
We achieved an 87% accuracy on prediction of Parkinson's tremor severity, and 95% accuracy on Parkinson's diagnoses.
What we learned
Convolutional neural networks are very powerful for classifying accelerometer data in the context of disease. There is untapped potential in telemedicine. Most people own smartphones, and combining this with machine learning can yield a strong system for real-time monitoring of patients, which can eliminate needless visits and empower doctors to take action as soon as possible.
What's next for Parkinson's Telemonitoring
We hope to improve our machine learning accuracy from enrolling more patients in the app so that a wider and more diverse dataset may be utilized to power unique neural networks. In addition, we aim to integrate voice based analysis of Parkinson’s patients as well as gait walking tests to provide an enhanced comprehensive measure of quantitative diagnostic analysis for doctors to use in providing quality care. We could integrate this with other devices as well, such as FitBits, and expand to other diseases, such as bipolar disorder, depression, and dementia.
Log in or sign up for Devpost to join the conversation.