An Intelligent System for the Low-Cost Early Diagnosis and Real-Time Monitoring of Parkinson’s Disease using Machine Learning, Signal Processing and Wearable Technology.

by Shreyas Kar

I built an intelligent system, which I named NextCare to diagnose Parkinson’s Disease early and to monitor motor disease progression in real-time to improve the care of patients suffering with Parkinson’s Disease, abbreviated as PD, which is the second most common neurodegenerative disease affecting over a million Americans.


Before I go into greater detail, I would like to talk about the motivation behind NextCare. I became interested in this subject when one of my family friends was diagnosed with late stage PD. After researching further on this topic, I learned that Parkinson’s diagnosis had two major problems, late diagnosis and inaccurate diagnosis. Most patients with PD receive their diagnosis late in the disease course when treatments are far less effective as they lose 60% of dopamine by then. Further, according to a study by Hughes and associates, PD diagnosis was inaccurate 25 percent of the time.

Once a diagnosis is made, doctors prescribe treatments to reduce symptoms of Parkinson’s Disease. However, treatment needs to be monitored regularly for effectiveness. Elderly PD patients cannot make many trips to clinics. As you can understand, these problems have gotten much worse due to the COVID-19 pandemic. Further, Recent studies concluded that there is a huge shortage of neurologists in the US than the demand.

To help solve these problems, I built NextCare. NextCare is an intelligent system consisting of a 3D printed wearable device and an app for data collection and monitoring. I developed algorithms to detect PD from a 30 second voice sample and to visualize and quantify the most common symptom of Parkinson’s Disease and put these together in the NextCare system. NextCare provides a mobile app, so neurologists can continuously monitor disease progression remotely and get instant diagnosis results.

Specifically, This is a flowchart of the system. NextCare performs two major functions - diagnosis and monitoring of Parkinson’s Disease. Diagnosis is performed via voice patterns, because this is one of the first biomarkers of Parkinson’s Disease. For monitoring disease progression and efficacy of treatment, tremor is monitored.


I will first talk about diagnosis followed by monitoring. As I mentioned earlier, NextCare uses voice for diagnosis of PD. Voice is used because, according to a study by researchers from MIT, changes in speech patterns is one of the first biomarkers of Parkinson’s Disease, coming out almost 5 years before motor symptoms and stays relatively constant since then.

Further, the voice of patients with Parkinson’s sounds almost exactly the same to the naked ear as that of patients without Parkinson’s. In this research, I used a computational approach, utilizing signal processing and machine learning, to be able to perform this discrimination and thus diagnosis Parkinson’s early using voice features.

With that being said, in the first step I computed over 50 attributes of the voice sample that could help diagnose Parkinson’s Disease. They include Shimmer, recurrence period density entropy, pitch period entropy, and Spread1 and many more. However, all the features cannot be of the same importance, and so I used a method called Principal Component Analysis to Heat Map, which is shown on the screen, to find the most optimum features to detect PD from a voice sample, which were found to be Pitch Period Entropy and Spread1.

Using these features, I built and trained 3 machine learning models using an Artificial Neural Network, Support Vector Machine and a Logistic Regression with 117 voice samples in Octave.The models were tested on a disjoint randomly chosen representative sample of 78 voice samples with and without Parkinson’s Disease from the University of Oxford. The table on the screen illustrates the results of my model. Most importantly, the Logistic Regression model and the Support Vector Machine had an F2 score, which is a measure of accuracy, of 0.93 and the Neural Network had an F2 score of 0.94, far exceeding by success criterion of 0.87, which I set up in the beginning of my investigation.


Now I would like to talk about the monitoring component of NextCare. NextCare performs monitoring using a 3D printed wearable device equipped with an Inertial Measurement Unit sensor. This streaming data is sent to the NextCare app to visualize tremor in real-time and the data is also synched to a Google Cloud Firestore database. Next, through my signal processing algorithm, NextCare replicates what a neurologist would do to monitor motor disease progression. Specifically, my algorithm quantifies tremor amplitude, which measures the severity of tremor and tremor constancy, which measures the frequency of tremors because they are by far the most common symptoms of Parkinson’s Disease. This data is converted to a format, know as the UPDRS, to convert these quantifications into a form easily understood by neurologists. Next, this amplitude and constancy UPDRS formatted data is fed into the NextCare app and can be seen in a visual and tabular format so neurologists can remotely monitor motor disease progression of a patient and thus see the effectiveness of treatment.

I will depict how tremor is quantified. Tremor Amplitude is quantified using signal processing techniques. Specifically, a measure known as the Peak Power is computed on all axes of the IMU. Peak Power essentially measures the “energy” of each axis of the IMU. Finally, these values are normalized and are given as the amplitude. Tremor Constancy is computed by performing amplitude quantification and determining if a rest tremor has occurred every 15 minutes for a span of a week. These quantifications are then used with the UPDRS scale to format it in a format easily understood by neurologists. These algorithms are implemented in python.

I ran my algorithm earlier which attempted to replicate what a neurologist would do in making an assessment of tremor. Specifically, I tested them on the wearable sensor data from a dataset from the Michael J Fox Foundation. The results of this are displayed on the graph. Out of 68 rest tremor constancy the algorithm output matched with the neurologists 64 times showing a 94.1% accuracy . Rest tremor constancy has 91.1% accuracy.

Use Cases:

Specifically, these are two important use cases for my model that can dramatically benefit PD patients. If the monitoring system produces a graph similar to the ones on the left, showing an increasing trend in rest tremor amplitude over time, it would be indicative that they need to change treatment prompting a proactive treatment by the neurologist with an office visit by the patient. A graph similar to the one on the right isn’t indicative of an increase in rest tremor levels and the small spike here can just be a patient having a bad day because of missed medicine or something and if a patient visits the office on that day this might be interpreted as a permanent problem, causing neurologists to prescribe an inappropriate treatment. NextCare will help neurologists to take an informed decision by looking at the data as a whole.

3D printing the device:

The wearable device was created using Google Sketchup software with an Ender 3 Pro 3D printer using PLA filament. This device is made to be non-invasive for the patient and is low-cost, costing only 40 dollars and can be worn all the time.

NextCare Mobile App:

I built the NextCare mobile app using XCode and figma to help with voice sample collection, data syncing between the device and the cloud database and for monitoring motor symptoms by a doctor.

NextCare in a clinical settings:

To summarize my work, This is how NextCare will work in a clinical setting. In the diagnosis system, a patient will provide a 30 second voice sample either through the NextCare app or a phone call to the neurologist. The sound file will then be inputted into the early diagnosis algorithm and results will be shown on the NextCare app. The Early Diagnosis Algorithm can diagnose Parkinson's 5 years before existing methods with 19% better accuracy than the current clinical trial accuracy.

On the other hand, the monitoring system consists of a low-cost 3D printed wearable device equipped with inertial sensors which a patient will wear in his/her home. The data from the device gets synched to the cloud database via the NextCare app and My algorithms convert them to UPDRS scores.

By providing an effective low-cost system for the early diagnosis and monitoring of Parkinson’s Disease, NextCare can revolutionize the care of Parkinson’s Patients and provide a valuable tool to neurologists.