The Internet of (Human) Things is just beginning to take shape. The human body is an inexhaustible source of data about personal health, and the healthcare industry is just beginning to scratch the surface of the potential insights and value that will come from that data. While much of healthcare traditionally focuses on the episodic delivery of services, the Affordable Care Act is pushing healthcare providers, payers, and self-funded employer groups to look at ways to proactively encourage healthy behaviors. Providing personal health devices as a way to promote individual health is one way that healthcare is beginning to take advantage of IoT technologies. This session provides insight into how IoT is being leveraged in population health management through a solution jointly delivered by Amitech Solutions and Big Cloud Analytics. Attendees will learn how Hadoop is being used to gather personal device from various vendors, integrate and analyze that information, differentiate trends across regional and cultural diversity, and provide personal recommendations and insights into health risks. This session presents one important way the healthcare industry is leveraging IoT.
4. IoT in Healthcare
• Smart beds
• Smart pumps
• Robots
• Smart Monitors
• Smart Soap Dispensers
4
Clinical Monitoring
R/T Location Systems
At Home Monitoring
Personal Fitness
Ingestible Devices
5. IoT in Healthcare
5
Clinical Monitoring
R/T Location Systems
At Home Monitoring
Personal Fitness
Ingestible Devices
• Assets
• Inventory
• Patients
• Visitors
• Clinicians
6. IoT in Healthcare
6
Clinical Monitoring
R/T Location Systems
At Home Monitoring
Personal Fitness
Ingestible Devices
7. IoT in Healthcare
• Clinical monitoring
• Real-time location systems
• EHR transactions
• At home monitoring
7
8. IoT in Healthcare
• Clinical monitoring
• Real-time location systems
• EHR transactions
• At home monitoring
8
https://www.researchgate.net/figure/272386643_fig2_Figure-3-Left-demo-
set-up-with-belt-prototype-worn-by-a-12-week-old-baby-Right
9. IoT in Healthcare
• Heart rate
• Sleep
• Perspiration
• Temperature
• Activity
9
Clinical Monitoring
R/T Location Systems
At Home Monitoring
Personal Fitness
Ingestible Devices
10. IoT in Healthcare
• Chemistry Sensors
• Medicine Dispenser
• Cameras
10
Clinical Monitoring
R/T Location Systems
At Home Monitoring
Personal Fitness
Ingestible Devices
11. IoT Data Processing
•Transactional vs Micro-batch
•Development Environment
•Connectors and Processors
•Durability
•Out of Order Processing
•Scalability
11
12. IoT Data Processing
• UC Berkley AMPLab
• Databricks
• Airbnb
• Autodesk
• Concur
• eBay
• MyFitnessPal
• NASA JPL
• Opentable
• University of MO
12
16. IoT Data Processing
• dataArtisans
• Capital One
• Ericsson
• king.com (CandyCrush)
• Portugal Telecom
• ResearchGate
• Okkam SRL
• Google Gloud Dataflow
16
17. Amitech Solutions and
Big Cloud Analytics
• Collects millions of data points from thousands of
deployed wearable devices that capture 50+
biometric data points
• Computes advanced population health management
analytics, scores and coefficients
• Manages population’s wellness
• Groups cohorts by sleep, activity level and resting
heart rate
• Alerts and triggers for conditions such as device
abandonment, elevated resting heart rate and others
• Guides users to better health with event-triggered
messaging
17
30. Code Walk Through
• pom.xml configuration
• Processor file for nar metadata
30
com.bca.etl.nifi.processors.WearableDeviceProcessor
Properties and
Relationships
Initialize
Read Config
Process Request
Return Results
POM and Metadata
34. NiFi Output
Data from vendor API output
• Write the JSON to a file
• Write to NoSQL DB
• Write to Hbase
• Make a REST call with this payload
• Send to Kafka queue
• Extract with JSON Path
• Process with Spark or Storm
35. NiFi Results
• Easy to setup and run locally for development.
• From existing code to NiFi processor took less
than a day (including making several dump
mistakes along the way).
• Framework will enable scale.
• Lots of flexibility in where the data goes next.
36. Summary
•IoT will save the healthcare industry
•It doesn’t have be like Y2K
•Go try something other than Twitter!
36
38. Paul Boal
paul.boal@amitechsolutions.com
@paulboal
Paul has been architecting healthcare analytics solutions for 15
years, implementing a range of technologies from traditional
data warehouses to Hadoop-based solutions, advanced
analytics, and real-time clinical data integration. Paul is now a
practice lead with Amitech Solutions focused on delivering big
data solutions for healthcare, including a
healthcare IoT platform that leverages data from personal
wearable devices for population health management.
38
Notas do Editor
IoT is turning the way we think about healthcare inside out. For a very long time, the industry has been based on a model where patients come for services when something is wrong, and healthcare providers get paid when they provide a treatment for that ailment. Over the past several years, we’ve seen regulations and consumer expectations shifting toward a model that reward healthcare providers for keeping customers from having to come in for treatment.
In the past, though, healthcare providers didn’t have any reliable or timely information about patient behavior outside of a clinical setting. Consumer IoT devices are making that possible.
And when you do still have to go to the hospital for a treatment, IoT devices are making a huge different in improving the quality of care while you’re there.
Starting in the clinical setting…
Real-time location systems aren’t quite as hot a topic as they were 10 years ago, but because of wayfinding solutions from folks like Aisle411 (who’s also speaking here), RTLS is already moving from novelty or differentiator to an expected capability.
On of the most exciting areas in health IoT is all of the new clinical or near-clinical grade devices that are being made available for at-home monitoring. These are especially useful for patients returning home for recovery or people living with chronic conditions that need to be monitored closely.
This is a traditional Holter Monitor that an infant with a heart defect might wear at home for monitoring. A parent might be required to take their baby home wearing one of these for a week while data is recorded in a small box that the leads are attached to. After bringing the device back, only then can a clinician read the data and provide a diagnosis.
This prototype device provides similar data wirelessly.
The area that Amitech and Big Cloud Analytics are working together in, is the use of fitness data from wearable devices like these. Some of the most sophisticated ones track not only your motion and heartrate, but also perspiration through the electrical conductivity of your skin, your body temperature, and the ambient air temperature around you.
Finally, we’ve got what are probably the most intimate health IoT devices. These are things that you swallow and they go inside your body.
There are also possibilities in nanotechnology that are still works in progress. Maybe someday, we’ll be getting a stream of data from a swarm of artificial immune cells attacking cancer cells, or repairing an ulcer in your stomach.
So, with all of the data available from these devices, we have to have technology to capture and process that data. In the streaming data space, we’ve go a slew of technologies that have different programming paradigms and technical strengths and weaknesses. This presentation isn’t about telling you how to pick which one is right for you use case. The point here is to encourage you to do some research, pick one, and try something out. Chances are good that in several years, you’ll have two or three in production, each being used very appropriately.
Spark is one of the hottest topics in big data right now, probably. Spark Streaming is the specific mechanism for real-time data processing, and while it’s technical “micro-batch” rather than “transactional,” a response time of a few seconds is still sufficient for many applications. Airbnb uses Spark Streaming to process and provide analytics on all of their incoming transactions.
Unlike Spark Streaming, Storm is a true transaction-level streaming technology. There are lots of companies using Storm for streaming data ingest and it’s topology of spouts and bolts is fairly easy to pick up. Here’s an example of the MedPulse topology at WebMD.
There aren’t nearly as many NiFi stories out there to talk about because NiFi has only been out in the public for not even a couple of years after coming out of the NSA and being sponsored by Hortonworks. In the time I’ve spent with NiFi, I think that it’s main strengths are the number of prebuilt processors and the strong emphasis on data provenance features.
One of the early adopters has been Schlumberger, who provides equipment for oil drilling rigs. They’re capturing data from all of their remote devices and collecting them for multiple uses via NiFi. In fact, there’s a project called MiniNiFi that they are actually deploying out to the devices on the rigs.
Samza is similar to Storm in many ways. It provides the same transaction level processing and is probably a bit less mature than Storm, still. But it has the advantages of being a bit more flexible with how data is stored and is more closely tied to YARN for process management.
Uber uses Samza as a major part of it’s real-time pricing calculations.
Flink also falls right in line with Storm and Samza. Two things that Flink does natively that the others don’t do as well are stateful processing and guaranteed in-order processing.
The company behind Candy Crush (and other related games) uses Flink at the core of their data processing.
So, what are we doing with IoT and healthcare at Amitech Solutions? We’re working with a partner of ours, Big Cloud Analytics, to refine and scale a population health management platform they built over the course of 2015.
One of the place we know will have to scale is going to be the data ingest. While this part of the platform will never likely have sub-second latency as a requirement, it will be required to processing multiple readings per second from multiple sensors for every user every day. Every user generates more than 100kB of data per day, including as many as individual 432,000 transactions.
Today, the ingest behaves in a typical batch mode. Every day we kick off a batch job for each client. It loops through the list of users who need to be processed, collects data from the vendor for their device, processes that, does some calculations, and stores the results in an RDBMS.
Not show here is the web application on the other side of the databases, where users and program administrators can see progress and create targeted incentive programs for the users.
I knew about Storm, Spark Streaming, and NiFi when I started looking at this. So, I thought I’d try it with NiFi first.
Let’s start with a little background on how NiFi works.
There are lots of different types of built-in processors (including HL7) and it’s an ever growing list.
Connectors enable not just the pass-through on success / failure, but splitting and routing in many cases.
And everything comes together in the Flow Controller, where connections are made between processors. For those of you familiar with traditional ETL, this can feel very similar to that.
What I wanted to NOT do was have to rewrite all of our existing code. The first thing I looked at was using the HTTP/REST, JSON, and string parsing features native in NiFi, but then I did a little research and saw how easy it would be to take my existing code and wrap part of it into a NiFi processor.
For my first demo version, I decided to just pass in the variables I need using a simple properties file. Eventually, we’ll have a trigger or queueing mechanism in the front here, telling us when to go get data for a particular user; or the user data simply flowing into NiFi from the vendor, though most of them don’t support a push model, yet.
Our output? 110kB of information about my activity on April Fool’s Day!
Our output? 110kB of information about my activity on April Fool’s Day!