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

Post on 08-Jul-2015

331 views 3 download

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

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

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

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

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

Architecture

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.

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

Architecture

• Data Processing Manager– Online mode

– Offline mode

– Modular

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

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

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

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

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

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

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

mHealthDroid

• System Manager– Wifi– Bluetooth– Screen Brigthness

• Service Enablers– Notifications

– Alerts

• Phone Calls

• Messages

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

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

mHealthApp

• Visualization Tab

mHealthApp

• Notifications Tab

mHealthApp

• Guidelines Tab • Remote Storage Tab

mHealthApp

• Activity Recognition Tab

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

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: alejandrosaez3@gmail.comPhone: +353 083 185 8701