Mhealthdroid is an open-source mobile framework designed to help developers build medical and biomedical mobile applications quickly and easily. The framework includes many modules for data acquisition, data management, Remote Storage, signal processing, and multidimensional data visualization, and its core definition is running on Android, but to some extent it can be used with any portable device. In addition, the core modules and components of the mhealthdroid framework are completely independent of the underlying sensing and communication technologies.
Key Features:
Rapid development of medical health applications.
facilitates rapid and effective communication between portable biomedical devices and mobile devices, facilitating the collection of patient physiology and movement data.
Developed applications can be used on different portable medical devices at the same time.
Efficient data transfer between the entire framework manager.
Fast data storage (both locally and remotely).
Visualize multi-modal data streams, such as patient vital signs or motion data.
Inference is done by using machine learning and pattern recognition modules.
Through the System Configuration tool to the WiFi, 3G, Bluetooth, screen brightness, telephone SMS and other management.
User logs and data privacy protection mechanisms.
Architecture of the Mhealthdroid
Communication Manager: Responsible for connecting mobile devices (smartphones, tablets) and biomedical devices, acquisition of important data, local data storage, etc.
Remote Storage Manager: Used to upload data that is available in the local database to remote Storage. The current framework contains only client communication, but the server-side implementation is under development.
Visualization Manager: Supports both online and offline visualizations. It is built on an extension of the original Graphview library.
Data Processing Manager: responsible for overseeing and coordinating all processes related to inferred knowledge. This manager provides signal processing, data mining, and machine learning techniques to extract knowledge from biomedical data.
System Manager: Used to configure and monitor the inherent aspects of mobile and external devices.
===============================================================================mhealthapp
The purpose of this sample program is to show the usefulness and potential of mhealthdroid, a healthy framework for implementation. We want to point out that this application is developed in a very short time and almost efortless thanks to the abstraction level that makes the mhealthdroid API. In fact, most of the development time is invested in graphical interfaces. The app can be in Google's Mhealthapp software name activity or here.
Key Features
- Human health data management (physiology and movement) is recorded through portable biomedical devices (specific light-level sensors are used here) or sensors embedded into mobile devices (inertial sensors).
- Online visualization of data collected through portable biomedical devices and mobile devices.
- Local and Remote storage of the collected data.
- Online human activity tracking and detection uses an expert system through a built-in application section.
- Guide to help users maintain a healthy lifestyle and support notifications via online video broadcast scheduling.
Demo Video
In the following video mhealthdroid the program and its main features are described:
Application uses
You can browse through the tabs provided on the screen that the application uses. Each tab provides a specific feature, namely: connectivity, visualization, behavioral recognition, Remote Storage, Notification Manager and YouTube guidelines.
Connectivity of
This table provides the user with all the connection functions and the configuration of the device. The tag has a button to add a new device, and a ListView visualization.
In order to add a new device, the "+" button must be pressed. Then, the message will be requested by the device name. This pop-up contains two buttons to select this type of device. It can be a mobile phone (ie, a smartphone or tablet) or shimmer (ie, portable biomedical devices are used here).
Once the appliance is added, it will be displayed in the list view. Three tabs display each device: the first is the name of the device, the second is the type of the device, and the third corresponds to its actual state. The country is represented by a colored circle. This will be red when the device disconnects, orange or green streams when the device is connected instead of streaming data.
A special device in the select list with multiple Display Options menu. This depends on the type of device and the status of the option. The possible options are as follows:
- Connect/Disconnect . It allows you to connect or disconnect the device. Since the mobile device does not need to be connected or disconnected, this feature is only available for low-light devices.
- start/Stop stream . It allows the process to initialize or complete the data flow.
- sensor . This option opens a window to set the Enable sensor. The available sensors can be different for each type of device. This option only shows when the device is not flowing.
- configuration . This option opens a window to set the configuration of the device. Here, it also sets whether the data must be stored in the database. The device configuration can be different for each type of device. It only indicates when the device is not in the flow.
- Remove the . This option removes an appliance from the list of devices.
Visualization of
This tab allows visualization of signals recorded through the enabled sensors. The label is made up of two buttons of a graph: configuration button and start button
When the configuration button is pressed, the menu is displayed as a graph structure. The option is initially disabled (the default configuration). Configuration menu visualization is not available, so the diagram feature must be set before. Configuration options:
- view Ports . This option sets the graph view port. Yes, is the number of samples shown in the figure.
- The y-coordinate . This option is set to the maximum and minimum values for the y-axis.
- legend . This option allows a series of legends to display graphics. It can be aligned in three different locations. In the above figure, in the middle, or at the bottom.
Once the start button is pressed, the list of devices displays the current stream. The user from this list can select the visualization of the sensor data stream. If there is no device flow, an error message is displayed. When a device is selected, it displays a list of available sensors. The visualization is started by selecting the sensor and pressing the OK button.
Activity recognition
This label uses the knowledge reasoning to carry out the identification tasks of human activities.
Activities specifically considered are the following: standing, sitting, relaxing, lying down, walking, climbing stairs, waist forward bending, front (vertical) up/down, knees, biking, jogging, running, jumping forward and back.
In order to perform activity recognition some wearable devices must be placed in the user's body as shown:
These sensors can capture the user's body dynamics. In order to train the recognizer (see "Documentation" for more details) a suitable and accurate sensor deployment study is defined. Some of the scientific background of the experiments used are available here.
The process of starting the activity recognition is necessary for each device in the body group to connect to its location (chest, right wrist or ankle). For this purpose, there are three people on the screen, every location. Once this is done, the button starts to start the activity recognition process. An image and text will appear at the top of the screen to indicate the activity performed by the user. If no streaming device error message is displayed.
Notice
This tab allows you to create different types of notifications. When the label is selected, it appears in a form that it must be populated to create the notification. This game consists of:
- title . The title of the notification.
- description . The full description text of the notification.
- 's voice . When a three different sounds can be reproduced, notifications are launched: alarms, ringtones and notification sounds. It is also possible to make this "no".
- launch of the proposal . This is a check box, in case of being checked, when notified click on YouTube guidelines to expand.
- Notice of the plan . It allows scheduling notifications to specify the date and time.
As an example, it can be a problem with the back and need to remind yourself to practice using the app every day. Therefore, for this purpose, users can create a notification and customize to notify the title and description, as well as set the hours of its appearance. In addition, if the user wants to imagine some suggested exercises he can mark the launch of the suggested option, click on the notification will automatically open the YouTube guide tag.
YouTube guidelines
This tag allows users to use video to maintain a healthy habit or to learn the visualization of new sports and physical therapy uses. There are five different playlists that you can select by using the button user :
- General health: Play about how to keep healthy living habits and how to maintain a healthy diet.
- Knee: Knee rehabilitation with video playback, targeting the user to the knee problem.
- Back: Back rehabilitation video playback, positioning the back of the user with problems.
- Ankle: Ankle Rehabilitation video playlist, questions to the user and ankle joint.
- Neck: Neck Rehabilitation Video playlist, the user has problems locating to the neck.
Once a playlist has been selected, a scrollable list of videos will appear on the screen. This list can be extended by pressing the push button on the extension list and crashing down. When the user chooses a video to be copied, it seems that the player can be reproduced when the icon starts to click. Players can also use the button extension to extend the player or click it again to crash.
Remote Storage
This tab allows user applications to upload data collected from portable biomedical devices to a remote storage. It is a WiFi connection set up by a device that is available in the application and a list of buttons (for the sake of simplicity, because the 3G connection can be as good).
When a list of devices is pressed, a dialog box appears allowing the user-defined table to be uploaded. There are three options: units, metadata and signals. Press the OK button to start after the selected data is uploaded. A message will appear at the end of the screen notification upload process.
Copyrights and Licenses
Items published under the GPL V.3 license.
Open Source Mobile Medical application framework: Mhealhdroid and Apps