Type: ubiquitous healthcare system
Purpose: mobile gateway to enable vital sign collection, processing and remote monitoring from a heteroneneous body area network
Place: Multimedia Networking Lab, Ajou University
Technologies: Client: Java on Nokia N810, Bluetooth; server: PHP, MySQL; ZigBee wireless sensor network
Contributors: Teemu H. Laine, Sejin Oh and Chaewoo Lee
This prototype of a U-Healthcare system was created as a collaboration project between Prof. Teemu H. Laine (at that time a doctoral student) and Prof. Chaewoo Lee at Ajou University. The core of the U-Healthcare system is an intelligent mobile gateway running on Nokia N810 that can capture and process vital signals from a ZigBee-based wireless sensor body area network (BAN) via Bluetooth connection. The mobile gateway, carried by a patient, mediates sensor data between the BAN and a TCP/IP network. Each sensor node is responsible of sensing a particular type of data (e.g. ECG, heart rate, body temperature) and propagating data packets to a sink node over ZigBee protocol. The sink node communicates with the mobile gateway using a Bluetooth module. After receiving a data packet, the mobile gateway parses and preprocesses the data before sending it to a remote database server. Server connection is established over the Internet via WiFi, 3G or 4G connection. The system users can use healthcare services such as real-time signal monitoring directly on the mobile device or through a website. Furthermore, the patient is able to contact doctors by SMS or voice call. The mobile gateway can also be programmed to analyse retrieved data and send alarms to medical professionals. At the same time, medical professionals can monitor the user’s health remotely with their mobile devices or through a web interface. Data in a centralized database can be made available for third party users such as other researchers. The concept of the U-Healthcare system is illustrated below.
The internal gateway architecture consists of three main modules: Bluetooth Module, Data Module and User Interface Module (see figures below). Bluetooth Module takes care of discovering devices and services, connecting to a sensor network and sending control messages to and receiving sensor data from a ZigBee sink node. This process is handled by the BTManager which runs two components for outgoing and incoming communication (BTSender and BTReceiver). These components interact with the local data manager and the user interface. Data Module’s responsibility is to store data first locally and then remotely to a centralized database over the Internet connection. DBManager takes care of transferring local data to a remote database. DataManager acts as a mediator between BTReceiver and local data storage (SensorDataRepository). SensorDataRepository consists of multiple SensorNode objects each of which represents a physical sensor node such as ECG or temperature. A SensorNode stores locally SensorData objects which are captured from that particular node. We designed the SensorNode component so that it can hold one or more sensor data values and it can be extended to meet the requirements of a specific physical sensor node. This makes the system adaptable for any kind of ZigBee sensors is feasible. SensorNode also provides an event listening mechanism which allows other components to be notified when a particular type of data is updated. In our design, DBManager and Monitor components are listening for changes in the SensorNodes. Once data is in remote database, it can be accessed by any other application, such as a web monitoring system, with appropriate credentials. While SensorNodes store only recent data for fast retrieval, older data can be retrieved from remote database when needed. User interface module is responsible of receiving commands from the user and plotting a real-time graph of sensor data (Monitor). The graph can also be traversed chronologically. The user can change preferences and properties of the gateway (e.g. database connection details), choose a Bluetooth device for connection (BTConfig), capture images and send control messages to sink node (Tools), and send an SMS or call doctor (Communications).