Advertisement
Advertisement

More Related Content

Similar to Using The Internet of Things for Population Health Management - StampedeCon 2016(20)

Advertisement

More from StampedeCon(20)

Advertisement

Using The Internet of Things for Population Health Management - StampedeCon 2016

  1. IoT for Population Health Paul Boal, Amitech Solutions, @paulboal StampedeCon 2016 1
  2. Topics •IoT Across Healthcare •IoT Technologies •An IoT and Population Health Example •Wearable Fitness Devices in Apache NiFi 2
  3. IoT in Healthcare 3 http://mynutratek.com/welcome/health-providers-healthcare-plans/
  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
  13. IoT Data Processing • Twitter • Groupon • The Weather Channel • Yahoo! • WebMD • Spotify • Klout • NaviSite • PARC • Wayfair • Cerner • Yelp 13
  14. IoT Data Processing • NSA • Dar Group • MD Anderson • Xavient Information System • Lowes • Schlumberger 14
  15. IoT Data Processing • LinkedIn • Intuit • MobileAware • Project Florida • Happy Pancake • TiVo • Uber • Netflix 15
  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
  18. From Accelerometers to Cash 18
  19. Future Data Ingest Architecture 19
  20. Introduction to NiFi 20 Flow File Processor Connections Flow Controller
  21. Introduction to NiFi 21 Data Transformation Routing and Mediation Database Access Attribute Extraction System Interaction Data Ingestion Data Egress / Sending Splitting Aggregation HTTP Flow File Processor Connections Flow Controller
  22. Introduction to NiFi 22 Flow File Processor Connections Flow Controller
  23. Introduction to NiFi 23 Flow File Processor Connections Flow Controller
  24. From POJO to NiFi Processor 1. Extend AbstractProcessor 2. Configure pom.xml for NiFi 3. Build and Deploy 24
  25. Code Walk Through 25 Properties and Relationships Initialize Read Config Process Request Return Results POM and Metadata
  26. Code Walk Through 26 Properties and Relationships Initialize Read Config Process Request Return Results POM and Metadata
  27. Code Walk Through 27 Properties and Relationships Initialize Read Config Process Request Return Results POM and Metadata
  28. Code Walk Through 28 Properties and Relationships Initialize Read Config Process Request Return Results POM and Metadata
  29. Code Walk Through 29 Properties and Relationships Initialize Read Config Process Request Return Results POM and Metadata
  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
  31. NiFi Configuration 31 Flow Controller Extract Properties Processor Config
  32. NiFi Configuration 32 bca.device=Garmin bca.username=me@me.com bca.password=XXX bca.startdate=2016-04-01 bca.enddate=2016-04-02 Flow Controller Extract Properties Processor Config
  33. NiFi Configuration 33 Properties match the properties in the WearableDeviceProcessor class Flow Controller Extract Properties Processor Config
  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
  37. References • https://www.cbinsights.com/blog/iot-healthcare-market-map-company-list/ • http://www.cakesolutions.net/teamblogs/comparison-of-apache-stream-processing- frameworks-part-1 • http://www.kdnuggets.com/2016/03/top-big-data-processing-frameworks.html • http://events.linuxfoundation.org/sites/events/files/slides/JoeWitt_apr2015_apachecon_be tteranalytics-betterdataflow_v1.pdf • http://www.slideshare.net/JenAman/airstream-spark-streaming-at-airbnb • http://www.slideshare.net/edvorkin/learning-stream-processing-with-apache-storm • http://www.slideshare.net/HadoopSummit/from-zero-to-data-flow-in-hours-with-apache- nifi-64032731 • https://qconsf.com/system/files/presentation-slides/qconsf-2015- stream_processing_in_uber.pdf • https://techblog.king.com/rbea-scalable-real-time-analytics-king/ • http://www.zdnet.com/article/nsa-partners-with-apache-to-release-open-source-data- traffic-program/ • https://samza.apache.org/learn/documentation/0.10/comparisons/storm.html 37
  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

Editor's Notes

  1. 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.
  2. Starting in the clinical setting…
  3. 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.
  4. 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.
  5. 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.
  6. This prototype device provides similar data wirelessly.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. Let’s start with a little background on how NiFi works.
  18. There are lots of different types of built-in processors (including HL7) and it’s an ever growing list.
  19. Connectors enable not just the pass-through on success / failure, but splitting and routing in many cases.
  20. 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.
  21. 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.
  22. 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.
  23. Our output? 110kB of information about my activity on April Fool’s Day!
  24. Our output? 110kB of information about my activity on April Fool’s Day!
Advertisement