mHealthDroid: a novel framework for agile development of mobile health applications

22
mHealthDroid: a novel framework for agile development of mobile health applications UCAmI & IWAAL 2014 (Belfast) Oresti Baños, Rafael Garcia, Juan A. Holgado-Terriza, Miguel Damas, Hector Pomares, Ignacio Rojas, Alejandro Saez and Claudia Villalonga

description

Mobile health is an emerging field which is attracting much attention. Nevertheless, tools for the development of mobile health applications are lacking. This work presents mHealthDroid, an open source Android implementation of a mHealth Framework designed to facilitate the rapid and easy development of biomedical apps. The framework is devised to leverage the potential of mobile devices like smartphones or tablets, wearable sensors and portable biomedical devices. The framework provides functionalities for resource and communication abstraction, biomedical data acquisition, health knowledge extraction, persistent data storage, adaptive visualization, system management and value-added services such as intelligent alerts, recommendations and guidelines.

Transcript of mHealthDroid: a novel framework for agile development of mobile health applications

Page 1: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthDroid: a novel framework for agile

development of mobile health applications

UCAmI & IWAAL 2014 (Belfast)

Oresti Baños, Rafael Garcia, Juan A. Holgado-Terriza, Miguel Damas, Hector Pomares, Ignacio Rojas, Alejandro Saez and Claudia Villalonga

Page 2: mHealthDroid: a novel framework for agile development of mobile health applications

Context

• Technology has changed the healthcare paradigm– Growing tendency in the use of mobile health applications

– Most of the apps are devoted to learning and formative purposes

– User report VS wearable monitors

Page 3: mHealthDroid: a novel framework for agile development of mobile health applications

Context

• Mobile health is far from mature

– Scientists still need to build and validate mHealthsolutions

– mHealth apps focus on a special domain or lack of essential features for health services

– Powerful frameworks and tools that support the development are required A mHealth framework

Page 4: mHealthDroid: a novel framework for agile development of mobile health applications

Requirements of a mHealth Framework

• Provide rapid development

• Certain level of abstraction– Support different devices

– Define a unified model

• Data storage and visualization

• Guidelines and Knowledge inference– Signal processing

– Machine learning

– Intelligent recommendations

Page 5: mHealthDroid: a novel framework for agile development of mobile health applications

Architecture

Page 6: mHealthDroid: a novel framework for agile development of mobile health applications

Architecture

• Communication Manager– Abstraction

• Provides the abstraction level required to enable the functioning of applications independently of the underlying health technologies.

– Adapters• Modules devised to support the use of an specific mobile or

biomedical device• The Adapter manages the connection with the device,

interprets the received data and maps it to the unified data model

– Extensible• The modularity of the Adapters makes the Communication

Manager extensible and evolvable to future devices and technologies.

Page 7: mHealthDroid: a novel framework for agile development of mobile health applications

Architecture

• Storage Manager– Persistence

• Provides data persistence both locally and remotely abstracting the queries from the underlying storage system

• Visualization Manager– Online mode

• The data is provided by the Communication Manager at runtime

– Offline mode

• The data is provided by the Storage Manager

Page 8: mHealthDroid: a novel framework for agile development of mobile health applications

Architecture

• Data Processing Manager– Online mode

– Offline mode

– Modular

• The manager includes four independent modules typically used in data processing.

Page 9: mHealthDroid: a novel framework for agile development of mobile health applications

Architecture

• Data Processing Manager– Preprocessing

• This module is devised to apply mechanisms to clean, transform and ultimately adequate the data to the specific needs.

– Segmentation

• This module provides diverse techniques to split the data.

– Feature Extraction

• This module permits to transform the input data into a reduced representation set of features or feature vector.

– Classification

• This module categorizes the data using the features extracted by the Feature Extraction module

Page 10: mHealthDroid: a novel framework for agile development of mobile health applications

Architecture

• System Manager– Provides functionalities to manage general resources of the mobile device Wifi, GPS, Bluetooth, etc.

• Service Enablers– Alerts Enabler

• Alerts procedures when abnormalities or risk situations are detected

– Notification Enabler

• Prescheduled or event-based user-friendly notifications

– Guidelines Enabler

• Multimedia tools for displaying personalized guidelines

– Medical Report Enabler

• Structuring the medical knowledge in an expert-oriented format

Page 11: mHealthDroid: a novel framework for agile development of mobile health applications

Data Model

• Must be– Generic

– Flexible

– Extensible

• Data collected by the sensorData

• Packages with the data fromall sensorsSession

• Sample rate, start time, end time

SessionMetadata

• Different supported sensorsSensors

Page 12: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthDroid

• Android implementation of the mHealth framework– Target to Android 4.2 but back compatibility from Android 2.3.3

– Released under the GNU GPLv3 license

– Source code github.com/mHealthTechnologies/mHealthDroid

• Communication Manager– Provides adapters

for Android devices and

Shimmer devices

Page 13: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthDroid

• Storage Manager– SQLite for the local data management

– JSON for the transmission to a remote storage

• Visualization Manager– External library for visualization (GraphView)

• Multiplot visualization

• Multisignal representation

• Graph customization

Page 14: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthDroid

• Data Processing Manager– Preprocessing

• Upsampling

• Downsampling

– Features Extraction

• Mean

• Variance

• Standard Deviation

• Zero and Mean Crossing Rate

• Maximum and Minimum

– Segmentation

• Sliding window

– Classification

• External library for machine learning (WEKA) NaivesBayes, Adaboost, DecisionsTree, Linear Regression and ZeroR

Page 15: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthDroid

• System Manager– Wifi– Bluetooth– Screen Brigthness

• Service Enablers– Notifications

– Alerts

• Phone Calls

• Messages

– Guidelines• Audio reproduction• Video reproduction• Youtube videos player

Page 16: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthApp

• Exemplary app– Composed by 6 tabs to illustrate the potential of mHealthDroid

– Available on Google Play

– Source code github.com/mHealthTechnologies/mHealthAPP

• Connectivity Tab

Page 17: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthApp

• Visualization Tab

Page 18: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthApp

• Notifications Tab

Page 19: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthApp

• Guidelines Tab • Remote Storage Tab

Page 20: mHealthDroid: a novel framework for agile development of mobile health applications

mHealthApp

• Activity Recognition Tab

Page 21: mHealthDroid: a novel framework for agile development of mobile health applications

Conclusions

• mHealth is a very prominent field; however, there is a lack of toolsfor the development of mHealth applications

• A novel mHealth framework which embraces the key requirementsof mHealth applications, namely, communication abstraction, biomedical data acquisition, knowledge inference, data storage and visualization, system management and services such as intelligent alerts, recommendations and guidelines, is presented in this work

• mHealthDroid, an Android implementation of the mHealthframework is described and made publicly available to thecommunity

• An application, particularly devoted to detect and track human behavior, is developed to showcase the potential of mHealtDroid

Page 22: mHealthDroid: a novel framework for agile development of mobile health applications

Thank you for your attention.Questions?

Alejandro Sáez FernándezMaster student at the Computer Technology Faculty of Computer

Science & Electrical Engineering (ETSIIT)University of Granada, Granada (Spain)

Email: [email protected]: +353 083 185 8701