Inspiration
Detecting Abnormalities in Heart Beats is quite a difficult challenge. According to research that is being done by major Doctors and Physicians all over the world, heart abnormalities is, in fact predictable. With the availability of cheap wearables, data has become easier to accumulate thus facilitating prediction algorithms that could hopefully save human lives.
What it does
Our system uses the platform offered by IBM Watson IoT, IBM Watson Machine Learning Services, and IBM BlueMix for data analysis, and Amazon AWS for hosting. The machine algorithm, UI and database interactions were written with a bit of Python, PHP and MySQL.
How we built it
We used Node-Red server to simulate an IoT device for emitting periodic heart rate (bpm) data. We found real heart rate samples from MIT ( http://ecg.mit.edu/time-series/ )
This simulated data was then sent to IBM Watson IoT Analytics on Bluemix dashboard and rules were set up to filter and analyze the data we received. This analytics thus helped us scrape a lot of redundant data and store only the important ones.
Edge case warnings and emergencies were posted to the database and an emergency module was developed to call a pre-listed contact in case of an emergency using Twilio APIs.
We then used pattern analysis and machine learning (Linear Regression) to match incoming heartbeat data with the heart conditions. We used python packages such as mathplotlib, numpy, pandas etc.
i) Atrial Fibrillation: An Irregularly Irregular Arrhythmia - [high absolute variability (a range of 30+ bpm), a higher fraction missing measurements (anywhere without a colored vertical bar), and a lack of periodicity in heart rate variability.]
ii) Atrial Flutter: A Regular Arrhythmia - [Abnormal heart rhythms can also be exceptionally regular. In atrial flutter, an electrical loop within the atria causes them to contract at around 300 beats per minute. ]
Plots of the magnitude differences were drawn using Python. This is the analytics image that is plotted periodically based on the data fed by the IoT simulator.
Atrial Fibrillation and Atrial Flutter are extreme cases. It is required to immediate alert emergency contacts in order to reduce the risk of the patient from major health damage such as stroke or heart attack by integrating the data with various communication sources.
Challenges we ran into
- IBM Bluemix was new to all the team members. After meeting the IBM representative, reading about it capabilities, we were able to have a few instances running in a few hours simulating a whole subsystem.
- Analyzing the data related to heart diseases and coupling them with the linear regression concepts.
- Working with subdomains, AWS services and separating concerns of data and services by using different services, thus reducing the overall load on the system.
What we learned
- Pulling data in and out of Watson.
- Separation of Concerns by using services of AWS and IBM Watson.
- Building a linear regression machine learning of a vast amount of continuously changing data.
- A device is not always required to model and solve real world problems, results and behaviour can be simulated.
In the Future
- We intend to extend the capabilities of IBM Watson and Bluemix to various other data that is available for the betterment of healthcare ecosystem.
- Focus on enhanced predictive algorithms that will polish the existing machine learning algorithms thus making it more and more accurate.
- Use of better and secure technologies. (Since this is just a prototype, we have used less secure languages in exchange for time)
Log in or sign up for Devpost to join the conversation.