1 Department of Computer Science A CLOSED-LOOP SYSTEM FOR PERVASIVE HEALTH Jong Hyun Lim Defense Talk 19 October 2012 @ 2pm Maryland 214
2 Department of Computer Science Chronic Diseases and Outcomes Increased life expectancy, increased chronic diseases • Developing countries: estimated $84 billion spent by 2015 [1] Traditional model of episodic care in clinic and hospital settings is not optimal. Recently spotlighted method: low-cost longitudinal monitoring using consumer medical devices
3 Department of Computer Science Pervasive Health Devices Bayer Contour USB Jawbone UP Withings wireless weight scale The devices (mobile/static) continuously monitor peoples everyday condition.
4 Department of Computer Science Pervasive Health Applications Web Servers Fitbit Activity Monitor Web/Mobile apps to visualize/analyze collected data from underlying systems and devices
5 Department of Computer Science The Characteristic of Chronic diseases Chronic diseases are complex and multi-factorial in nature (e.g., Obesity). Pervasive health applications that can combine multiple sensing streams from devices are desirable.
6 Department of Computer Science Challenge: Combining multiple sensor data Developers Application for Obesity Data streams Web Web Web Server1 Server2 Server3 ..... ..... Weight Activity Dietary intake Device monitor & Location Owners
7 Department of Computer Science Challenge: low device utilization Developers Application for Obesity Data streams Web Web Web Caregivers Server1 Server2 Server3 No Connections to Caregivers !! (Open) Low device utilization ..... ..... Weight Activity Dietary intake Device monitor & Location Owners
8 Department of Computer Science Our Proposed Closed-Loop Model Developers Caregivers Applications Providers All streams Data Collection Intervention & & Application Event Detection Development Feedback/Alerts/ ..... ..... Triggers/Survey Weight Activity Dietary intake Device monitor & location Owners • Lim et al., A Closed-loop Approach for improving the Wellness of Low-income Elders at Home Using Game Consoles , IEEE Communications Magazine, Jan 2012.
9 Department of Computer Science Stovepipe Architecture [2] An architecture of existing pervasive health systems XML JSON HTTP, HTTP, Security, Security, Basic OAuth MySQL SQLite Device Device Driver Driver WiFi BlueTooth Wireless Activity Weight Scale Monitor
10 Department of Computer Science Impact on Application Development App for Obesity Closed-Interface • no/limited data accessibility for application N 1 development • At best, applications become a mixture of XML JSON heterogeneous protocols, message formats, and APIs HTTP, HTTP, Security, Security, Basic OAuth MySQL Low composability SQLite and maintenance challenge Device Device Driver Driver WiFi BlueTooth Wireless Activity Weight Scale Monitor
11 Department of Computer Science Impact on Application Development (Cont’d) Vertical-Integration App for Obesity • All systems components are tightly- coupled for custom purpose • To integrate heterogeneous devices, XML developers need to modify all components in the system HTTP, • Time and cost are non-negligible Security, Basic MySQL System extensibility Device challenge Driver New Devices: WiFi Activity Monitor Wireless Weight Scale
12 Department of Computer Science Question on Architecture What system architecture can improve application composability and system extensibility?
13 Department of Computer Science Our Approach Main Ideas • For extensibility • Providing a set of modules to interface and integrate heterogeneous devices easily • For composability • Open, uniform data access interfaces • Providing services that the application developers need
14 Department of Computer Science * HealthOS HealthOS is a platform that consists of clients and servers to collect sensor data and support application development. App Push Pipeline 1 Pipeline 2 Pipeline 3 A process running in HealthOS Internet (e.g., cloud) Server Storage Space PC or mobile HealthOS Adapter 1 Adapter 2 Adapter N platforms Client Physiological Smartphone Game Console Monitor * Lim et al., HealthOS: A Platform For Pervasive Health Applications , mHealthsys, Nov 2012
15 Department of Computer Science HealthOS: Resource Exposition • Resource : devices, users, sensing data • Principle: RE presentational S tate T ransfer (REST) [3] • Interfaces are uniform, universally available (HTTP) • Resource Hierarchy /<userID>/<device>/<deviceID>/<modality>/<command> ¡ http://lim.cs.jhu.edu/lim/fitbit/547945/activity ¡ (HTTP request from applications)
16 Department of Computer Science HealthOS: Further Simplifying Application Development RESTful Java APIs • Serialization (converts XML resources to Java Object) • Higher level abstraction (hides the details about communication and security in HealthOS)
17 Department of Computer Science HealthOS: Sample Code [Without ¡API ¡: ¡retrieving ¡user ¡ lim ¡device ¡information ¡ 1. HTTP requests to 2. Authentication/security http://lim.cs.jhu.edu/lim 3. Parse XML Messages from HealthOS 4. Use device information <User> <UserID>lim</UserID> <UserName> <LastName>Lim</LastName> <FirstName>Jonghyun</FirstName> </UserName> <DeviceName>Fitbit</DeviceName> <DeviceType>Activity Monitor</DeviceType> <DeviceID>547945</DeviceID> <DeviceName>Zeo Sleep Manager</DeviceName> … ..
18 Department of Computer Science HealthOS: Sample Code [With ¡RESTful ¡API ¡Code ¡Sample] ¡ HealthOS ¡healthos ¡= ¡new ¡HealthOS(“http://lim.cs.jhu.edu", ¡"lim", ¡"password"); ¡ User ¡user ¡= ¡healthos.getUserById("lim"); ¡ ¡ for(Device ¡device ¡: ¡user.getDevices()) ¡{ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡System.out.println(device.getName()); ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡System.out.println(device.getModalities()); ¡ } ¡ 6 lines of code
19 Department of Computer Science HealthOS: Applications’ Needs pervasive health applications and systems have diverse preferences/requirements for their purposes. Hospital 1. Message Formats (CCD EMR System [2] ) 1. Message formats (CCR [1] ) 2. Services (Push data) 2. Data Translation 3. Protocols (FTP) App Push Pull HealthOS Server [1] CCR (Continuity Care of Record) and [2] CCD (Continuity Care of Document)
20 Department of Computer Science HealthOS: Satisfying Applications’ Needs I want step counts data in CCR XML 5. Return data in XML CCR: <Body> … . <Description> step count .. Daily Activity Monitor … . <Value> 20 </Value> 1. HTTP request 4. Format in XML CCR 3. Change accelerometer to HealthOS step counts Server Database 2. Connect database Get accelerometer data Accelerometer data BioHarness
21 Department of Computer Science HealthOS: Pipeline Hospital EMR System App Push Pipeline 3 Pipeline 1 Pipeline 2 assemble HealthOS Server storage space components pool (HealthOS server) Reusable, configurable building blocks (called components) to support applications’ needs
22 Department of Computer Science HealthOS: Components in Pipeline Each components are built based on component-based software engineering (CBSE). Component: a software entity encapsulating its implementation and interacting with each other through well-defined interfaces: • Each component defines provided and required interfaces and functions. • Developers can easily reuse components. CCRData ReqDBData ProvDBData <<component>> <<component>> To client requesting DBConnector CCR_translator . data Provided Interface Required Interface
23 Department of Computer Science HealthOS: Adapters Adapters : modules to interface integrate heterogeneous devices into HealthOS HealthOS Server Encrypted data Tablet PC HealthOS HealthOS Adapter N Adapter 1 Adapter 2 Client 2 Client 1 Physiological Exercise monitor Game exercise monitor
24 Department of Computer Science HealthOS: Adapter Development • Device abstraction: JSON script describing the semantics of devices Zeo Sleep Managers’ sleep message: … time_in_deep time_in_light (2 bytes unsigned integer) { " packet ": { "sleep":[ ["time_in_deep", "uint", 2, 1], ["time_in_light", "uint", 2, 2], , … ] }, " devicename ":"zeo", " adaptername ":"zeo_adapter”, " interface ”:”Bluetooth” … . }
25 Department of Computer Science HealthOS: Adapter Development (Cont’d) Zeo ‘s Device Abstraction Input Macro Scripts Output [A new adapter for Zeo Sleep Manager] Message Parsing, Communication Communication Formatting and with Zeo with HealthOS Securing data
Recommend
More recommend