There exist many situations in daily activities where people are exposed to hazardous environment including biohazard sites such as nuclear power plants, chemical laboratories, and fire sites. Every year, approximately 5000 US laborers working in hazardous environment are injured, and lose their lives when they are not found immediately   . These workers may lose their lives due to direct external injuries. In addition to people who face dangerous situations in their working environment, elderly people may encounter emergency medical situations and/or may fall leading to accidental injuries. When a person falls, it is commonly defined as an activity that results in coming to rest on the ground, excluding intentional change in body positions  . A falling incident takes place mainly in medical emergency situations, such as cardiac arrest, hypoxia, hypoglycemia, arthritis, dizzy spells and other immediate life-threatening symptoms  . Falls and consequent injuries are major public health problems that often require medical attention especially to elderly population  -  . In addition, falls lead to 20% - 30% of mild to severe injuries, and are underlying cause of 10% - 15% of all emergency department visits  . Thus, it is crucial to identify the cause of the fall for accurate and prompt medical treatments. The cause can be identified by analyzing accelerometer and gyroscope data on the patient, but surrounding environment conditions must be also identified. The surrounding environment conditions include but not limited to temperature of the atmosphere, air pressure caused by elevation, humidity and GPS coordinates.
Monitoring above examples of emergency conditions can be achieved by utilizing a wearable and/or implantable Wireless Body Sensor Network (WBSN). The major goal of a WBSN system is to monitor a patient remotely by collecting and analyzing sensor data to assess health conditions in real-time. The data pro- duced from implantable or wearable body sensors are transmitted to the sensor data coordinator through wireless communications. Figure 1 describes a typical WBSN structure. The sensor data coordinator in the WBSN is the central node to receive information from multiple body sensors. In addition, the data coordinator is the gateway to transmit the sensor data to a central server for remote access and storage.
In this paper, we introduce a patient centered mobile health monitoring (PCMHM) system that combines multiple body and environmental sensors to determine the physiological condition of the patient in real-time. The term “patient centered” is used to express that the diagnosis result is dependent on the patient’s physiological characteristics and the surrounding environment that affects the patient’s condition. This remote health monitoring system connects to the Internet via the Android smartphone to establish real-time data transmission to a remote location, in order to keep track of the patient’s medical history and to remotely access his/her records on demand. By utilizing the communication capability on the Android smartphone, it is possible to alert other persons and/or a remote system in case of an emergency via voice call, text messages, and/or sending alert signals to the remote server requesting for immediate help.
Figure 1. System overview of wireless body sensor network.
In addition to relaying the medical and environmental sensor data to the remote server system, we introduce a dedicated central node, called Wireless Intelligent Personal Communication Node (W-iPCN), that analyzes the patient’s health status from multiple body and environmental sensors. The W-iPCN is capable of communicating with multiple wireless sensors, processing the acquired data, and delivering information to the Android smartphone. The server software application in the system acts as the remote accessible data center with a web interface for both patients and physicians.
The paper is organized as follows. Section 2 describes the overview of the system configuration including body and environmental sensors and wireless communication protocols. Section 3 explains methods of detection postures and fall events. Section 4 provides the mechanism on how the heart activity can be detected using electrocardiography (ECG) data. Section 5 introduces mobile sensor data processors in our system design. Section 6 describes the real-time fall detection health monitoring system with experimental results, and Section 7 concludes this paper.
2. System Design Overview
There are four major components in our system design: wireless sensor nodes, a central node known as the W-iPCN, an Android smartphone, and a central database server. In this paper, we use the notion of the W-iPCN as a central node to communicate with the wireless sensor nodes and the Android smartphone, and integrate all collected sensor data  . The customized Android software application can be loaded to any standard Android smartphone to interface with the central W-iPCN via the Bluetooth connection, and to transmit valuable physiological and surrounding environmental information to the central database server via the Internet connection. Both raw and analyzed sensor data are sent to the central database server for data archival and chronological data analysis. The stored patients’ data can be accessed by medical personnel or physicians through personal login credentials and privileges. For remotely accessing raw sensor data and processed patient information, a Java-based web application is introduced to allow communication with the database to display real-time sensor information, and to make diagnosis of a remote patient health condition. Figure 2 is the overview of the system architecture. Each sensor is equipped with a wireless transceiver that can communicate with the W-iPCN, and the data connection can be established including but not limited to Bluetooth.
2.1. Medical and Environmental Sensors
In our design, we aim to determine as much information as possible using the patient-specific body sensors and from surrounding environmental sensors. There are many different types of medical sensors and motion detection sensors available for detecting a patient’s current vital signs and/or movements. Medical sensors include electrocardiography (ECG) sensor for collecting heart information, electromyography (EMG) sensor for monitoring body muscle activities,
Figure 2. Overview of the system architecture.
electroencephalography (EEG) sensor for brain activity data, respiration sensor for detecting breathing pattern, or pulse oximeter for monitoring the patient's oxygen saturation. More internal symptoms can be determined by utilizing other medical body sensors as shown in Table 1. These medical sensors in the WBSN are designed as a wearable device with wireless communication capability to transmit data for sensor data analysis. Table 2 is the list of non-medical related sensors that can be utilized in the WBSN system design. Motion sensors such as accelerometer and gyroscope sensors can detect and monitor body movements and postures. These sensors can be attached to the wireless transceiver to deliver useful data to the smartphone for analysis and transmission to a central server for archival and expert diagnosis. Environmental sensors such as temperature sensor, barometer and GPS receiver can be helpful to determine the surrounding conditions of the patient. Sensors listed in Table 1 and Table 2 can be customized as a wireless wearable/portable device. With this configuration, it is possible to determine the current condition of the patient in real-time using analytic algorithms for each sensor data.
2.2. Maintaining the Integrity of the Specifications
To maintain a real-time data communication in the WBSN system, it is important to have an adequate amount of bandwidth available to the wireless devices. Multiple types of wireless protocols utilized in this system design include the Bluetooth and Internet connection using Wi-Fi and cellular data network. The Bluetooth protocol is commonly used in the Android smartphone for streaming music, wireless keyboard and mouse, or voice calls using the hands-free headset. There are four different Bluetooth versions available in the market, and all four versions are used in different generations of smartphones. Most common versions are Bluetooth 2.0 + EDR and Bluetooth 4.0. Bluetooth 2.0 + EDR has the maximum data rate of 3 Mbps where the maximum application throughput that can be achieved exceeds 80 Kbps. This Bluetooth version performs well for serial
Table 1. Medical body sensors.
Table 2. Non-medical body and environmental sensors.
data communication, telephony control, music control and adopted protocols. For sensor data transmission in the PCMHM system design, the Bluetooth Serial Port Profile (SPP) is utilized to transmit sensor data from the sensor node to the Android smartphone. The Bluetooth SPP can be adopted to Bluetooth 2.0 + EDR and higher versions, which provides a maximum data rate of 2 Mbps. With respect to Table 1 and Table 2, this type of Bluetooth communication protocol is more than adequate to provide real-time data transmission. In contrast to Bluetooth 2.0 + EDR, the Bluetooth 4.0 consumes less power than the previous Bluetooth version and it is compatible with the previous generation of the Bluetooth versions including the SPP handling capability. The Bluetooth 4.0 comes with a technology that consume less power than the Bluetooth 2.0 + EDR. By its specification, the maximum data rate is 1 Mbps for Bluetooth 4.0  . However, many manufacturers who utilize this technology limit the bandwidth to 20 - 100 Kbps for even more power reduction  . This data rate is still adequate to keep up with most of the sensors defined in Table 1 and Table 2.
Smartphones can connect to the Internet using two different methods, Wi-Fi or cellular data network. In the United States, 3G and 4G networks are used to connect the smartphone to the Internet. In our design, the Internet connection is important to provide enough bandwidth to deliver sensor data, as well as other useful information to the central server in real-time. Table 3 presents the maximum bandwidth for wireless Internet connection technologies on the Android
Table 3. Typical US cellular data network speeds.
smartphone commonly in use in the United States  .
As seen in Table 3, using the cellular data network for transmitting real-time sensor data to the central database server is well above the required bandwidth of the PCMHM system. The maximum bandwidth for Wi-Fi depends on the connected Internet service line on the wireless router. Considering the average Internet connection speed in the United States, which is approximately 11 Mbps  , this bandwidth is still sufficient to transmit real-time sensor data to the central database server.
3. Posture and Fall Detection
One of the important examples for real-time patient monitoring is fall detection. Several different methods can be used for fall detection     . One method is to place a single accelerometer on the chest to determine the fall by observing unusual sensor data events such as a rapid decrease or increase in the intensity of the accelerometer data. This can be achieved by adjusting thresholds on the accelerometer data to decide if it is a fall or not. Note that, it is difficult to enhance the accuracy of the fall detection with only a single motion sensor. Also, it is important to determine a fall in both stationary state and mobile state. Thus, we place two different sensor nodes on the patient to produce more accurate results for posture and fall detection. Figure 3 shows the placement of the accelerometers and gyroscope sensors on the chest and on the thigh.
As shown in Figure 3, one device on the chest combines an accelerometer and a gyroscope, and another device on the thigh has an accelerometer. An accelerometer measures the gravitational force (g-force) on X, Y, and Z axes in 3D. The body orientation (posture) can be determined by analyzing 3 axes g-force data obtained from the chest and thigh accelerometers. A gyroscope measures the angular speed on X, Y, and Z axes in 3D. The gyroscope X and Z axes data can be used to specify the direction of the fall  . In this study, translated directional accelerometer data are used to detect postures: standing upright, sitting down, and lying down. Also, the translated directional gyroscope data are used to detect four directions of the fall: forward, backward, left and right falls.
4. ECG Data Processing and Analysis
It is important to have a computationally powerful device to analyze the ECG data. The ECG data can be analyzed by using different types of complex mathematical operations such as Fourier transform, subband decompositions, and the QRS (Q, R, S waves) detection. These operations can be realized using the
Figure 3. Sensor configuration for posture and fall detection.
W-iPCN as described in Section 2. These methods are critical to determine the heart beat  , to monitor bradycardia and tachycardia   , and to identify atrial fibrillation  .
To find QRS waves in real-time, the Pan-Tompkins algorithm  can be implemented on the W-iPCN. For embedded baseline drift noise, high frequency noise and power line interference, the ECG data is filtered prior to using this algorithm. The Pan-Tompkins algorithm utilizes a differentiator to identify the rapid transition in the slope of the QRS complex. Through a squaring operation followed by a moving average integrator, the peak for the QRS complex is detected. Finally, the heart beat rate can be calculated by observing the difference between two or more sequential peak points of the QRS complexes. Figure 4 describes step-by-step sequence of signal processing of Pan-Tompkins algorithm for QRS detection.
5. Mobile Sensor Data Processors
5.1. W-iPCN Design
The Android smartphone can be used for receiving and processing the sensor data through the Bluetooth connection. Even though currently available standard Android smartphones are equipped with powerful RISC processors, the majority of users prefer longer battery life than miscellaneous computational features. Thus, to reduce the processing workload on the Android smartphone, we introduce the Wireless Intelligent Personal Communication Node (W- iPCN). The W-iPCN tasks include data processing and routing of collected data from the sensor nodes. The W-iPCN needs to have flexibility in handling multiple wireless communications, as well as computing power and device mobility. The W-iPCN can be realized in any type of reconfigurable computing device with signal processing capability and low power consumption. Switching signal processing features from the Android smartphone to the W-iPCN results in saving battery life of the Android smartphone. Furthermore, this configuration allows the W-iPCN to concentrate on processing complex algorithms and efficient
Figure 4. Pan-tompkins algorithm results where (a) ECG with noise; (b) ECG after denoising; (c) ECG after bandpass filter; (d) ECG after notch filter; (e) ECG after differentiation; (f) Rectified ECG for QRS detection.
wireless data transmission to the Android smartphone. The Android software application can simply center on displaying received physiological information and relaying it to a remote server for data archival, data analysis and diagnosis.
In this study, the W-iPCN design utilizes the Raspberry Pi 2 Model B  to illustrate the efficiency of our design flow. The W-iPCN is the central device that communicates between the sensor nodes and the Android smartphone (see Figure 2). Raspberry Pi in this study embeds a Broadcom BCM2836 System-on- Chip which integrates 900 MHz quad-core ARM Cortex-A7 and 1GB of RAM. Four USB ports are also available for USB dongles such as Bluetooth and Wi-Fi modules. In addition to USB ports, there is a 40-pin input/output port on the Raspberry Pi where external modules can be attached through General Purpose Input/Output (GPIO), Inter-integrated Circuit (I2C), Universal Asynchronous Receiver/Transmitter (UART) and Serial Peripheral Interface (SPI).
5.2. Android Smartphone
Standard smartphones on the market today are equipped with at least quad-core ARM RISC processors with an average clock speed at 2.0 GHz and 2 GB RAM. We have evaluated the feasibility of the smartphone as a data processing device, and it proves that it is possible to perform computationally intense operations on the Android smartphone   . Also, it is possible to connect with the wireless sensor nodes to receive real-time sensor data  . The biggest advantage of using the Android smartphone is in the open source developing environment. Using the Bluetooth protocol, it is easy to form the Personal Area Network (PAN) with the wireless sensor node. Theoretically, it is possible to connect up to 7 slave Bluetooth devices to 1 master Bluetooth device  . We have tested the multi-connectivity on the Android software application by connecting multiple sensor nodes via the Bluetooth protocol. The experiment revealed that the Android software application becomes unstable after a few devices are connected simultaneously. As an alternative solution, multiple Bluetooth sensor connections on the Android software application can be achieved by connecting to multiple devices in timeshared slots  . The Android smartphone in our design is used for two purposes; intuitive Graphical User Interface (GUI) and easy application development using the open-source tools. Reconfiguring the implemented software can be modified easily and does not require any other special resources to customize the Android software application. Furthermore, the Android smartphone has the most up-to-date communication capability to access the Internet, and to form a PAN to connect to other devices close to each other. In the system design, sensor data is transmitted to the patient’s smartphone in real-time through the Bluetooth connection from the W-iPCN. Using the Bluetooth dongle on the W-iPCN, it is possible to establish direct serial communication over the Bluetooth. Then, through either the data cellular network or the Wi-Fi connection of the smartphone, received data can be transferred and relayed to the central database server (see Figure 2).
5.3. Central Database Server
The purpose of a central database server in the WBSN system is to provide a web interface to store and access patients’ information on demand by patients, physicians or authorized individuals. In this paper, we demonstrate both a text-based Java server application and a web application database server to present their functionality and feasibility as a real-time remote accessible system.
The text-based Java server application is implemented on a PC with a static IP address to perform the basic operation of a central server in our system design. The Android software application uses the UDP connection to communicate with the server to achieve real-time data transmission. The server application interprets incoming binary data to readable texts with a timestamp for display and storage.
The web application server is implemented using the Apache Tomcat, Java web server and MySQL database   . The Apache Tomcat is an open- source web application server that contains both web server and web container features. The web server handles HTTP requests and responds to the client using a web page. HTTP requests are forwarded to the web container, which manages the Java runtime environment for Java servlets and Java Server Pages (JSP). Results from the Java program execution are returned back to the client as HTTP responses   . MySQL is a well-known open-source database system that can be interfaced with the web application server. MySQL database can be accessed by using PHP scripts for clients to read and/or write data from/to the database. In this paper, the Android software application uses the Internet connection to access the PHP script located on the central server for parsing the desired sensor data using HTTP POST requests  . Figure 5 describes the sensor data flow from the Android smartphone to the central data server in details.
6. Fall Detection and Health Monitoring System
In this paper, we focus on people such as elderly people with the risk of collapse,
Figure 5. Overview of the patient data flow.
and workers who function in unsafe environment. To detect a collapse or fall, accelerometers and gyroscopes worn by the patient can determine body movements, postures and sudden falls in real-time by monitoring the deployed sensors. For an accurate medical diagnosis, ECG sensor data may help to determine whether the person has experienced a cardiac-related symptom at the time of the fall. In other cases, body temperature and surrounding temperature measurements can be useful to determine the cause of the fall. Also, surrounding environmental sensors such as an altimeter and barometer may deliver useful information to help medical staff determine the cause of the emergency. Finally, to locate the patient, geolocation data (based on the GPS coordinates from the Android smartphone) can provide the patient’s current location.
We study how one can provide valuable data with an alert system based on using accelerometers and gyroscopes for posture and fall detection, ECG sensor data for detecting heart activities, and utilize the Android smartphone for receivingsensor data from the W-iPCN as well as the GPS coordinates to determine geolocation (see Figure 2). Figure 6 describes the system design flow when a fall is detected. The system receives and analyzes multiple body sensor data until it detects a sudden fall. When a sudden fall is detected, the system combines all sensor data into one package, and reports it to the central server and connects to a prearranged emergency contact person.
Figure 6. Design flow chart for real-time fall detection and health monitoring system.
As described in Section 3, the detection of the posture and fall detection is achieved using an accelerometer on the thigh, and a combination of one accelerometer and one gyroscope on the patient’s chest (see Figure 3). This is an optimum combination because the accuracy is much higher than using a single sensor, and there is a manageable amount of data to process to detect the fall at the same time. The chest and the thigh are sufficiently rigid parts of the body and we can detect falls by setting up threshold levels and monitoring the incoming data to determine if the threshold is being crossed. From the contribution of the three sensors, we can detect basic postures of the patient’s body such as standing straight, sitting down, or lying down. If the patient is suspected to have fallen, the timestamp of the movement is examined to determine whether the patient has fallen or is voluntarily lying down and there has been a false alarm. It has been observed that a fall has certain characteristics; a fall lasts for at most one or two seconds, a fall mostly occurs from an upright position and ends up in a lying down position, and a fall almost always occurs in a single direction. There is a condition to check for false alarm. A false alarm is a situation in which a fall is detected, but the patient is able to be upright again shortly after the fall occurs.
The implemented fall detection program accepts a set of input readings of the accelerometers and the gyroscope every 20 milliseconds. This time interval is determined and evaluated based on the conducted experiments for a valid fall. The program further analyzes the movement data to determine the direction of the fall. The direction of a fall can be either on the patient’s front, back, left or right. Table 4 shows the determined thresholds for each sensor in the event of the fall. Threshold values shown in Table 4 are each axis output from sensors used in this study. Also, based on the result obtained, the W-iPCN processes the data in real-time, and generates the output including data entry ID, timestamp and posture assessment as shown in Figure 7. The time stamped output can be observed on the W-iPCN by connecting through the SSH connection. Following Figure 8 is the screenshot of the Android software application, where it displays raw and analyzed data received from the W-iPCN. Raw sensor data includes
Table 4. Threshold values for posture and fall detection.
Figure 7. Posture and fall detection analysis displayed on the W-iPCN (Entry ID, timestamp, posture assessment).
Figure 8. Recevied posture and fall detection data displayed on the android software application.
each X, Y, Z axis data of the accelerometer (denoted as Ax, Ay, Az, respectively), and each X, Y, Z axis data of the gyroscope (denoted as Gyro_X, Gyro_Y, Gyro_Z, respectively). Analyzed data includes the posture and fall direction data (denoted as Current Position and Fall Direction, respectively).
In the event of a sudden fall, the information is delivered to the Android software application and to the central database server, as well as a designated contact person using the cellular service. Received ECG sensor data on the W-iPCN can be used to calculate a real-time heart beat rate, denoted as beats per minute (BPM), and displayed on the Android software application as shown in Figure 9. Figure 10 is an example of an alert text message sent from the remote patient’s smartphone to a designated emergency contact person. Utilizing the built-in GPS receiver in the Android smartphone, the GPS coordinate values can
Figure 9. Real-time ECG signal and HBR in BPM displayed on the android software application.
Figure 10. Alert text message received on the emer- gency contact Person’s Phone.
be translated into addressable information through the geolocation service. If the patient being inside the building, the Android smartphone would still use the available Wi-Fi or other Internet connection source to determine the best location information possible. Even if the Android smartphone is not connected to the Wi-Fi access point, it has a dedicated feature where it can request and utilize nearby Wi-Fi access points for location information. In addition, in the presence of the cellular data network on the Android smartphone, it can utilize the connected cell tower location to predict the closest location. This translated geolocation information can be sent to alert other designated persons in an emergency event. That is the advantage of having a cellular service on the Android smartphone. Figure 11 is an example of how the server would react upon receiving the user data. The user data includes current location, last known posture, direction of the fall, current body temperature and the heart beat rate. The body temperature is denoted as in degrees Celsius, and the heart beat rate is denoted as BPM in this example. As shown in our experimental example outputs in Figures 7-11, combining these data is valuable for making crucial decisions about the patient’s medical condition in an emergency event.
Environmental conditions of a fallen patient can be valuable to determine accurately the cause of the fall. As an example, the patient could have fallen due to insufficient of oxygen at a high-altitude location or severe temperature and wind. These environmental conditions can be determined by using a barometer, temperature sensor and GPS coordinates, and they can be used as complimentary information to infer the cause of the fall. Thus, a separate device that contains multiple environmental sensors is desirable for the patient to log real-time surrounding information. In this paper, we implemented a web application database server to demonstrate how patients’ information can be stored and retrieved remotely. Each patient can be identified using their own unique ID within the database, where the database holds their full name, gender, age, height and weight as shown in Figure 12. Also, individual IDs are assigned to
Figure 11. Received patient data displayed on the text-based java server.
different types of environmental sensors in the database. As shown in Figure 13, environmental sensors that are utilized in this paper include a magnetometer, a gyroscope, ambient and body temperature sensors, a humidity sensor and a barometer. Figure 14 is an example of real-time sensor data received and logged on the central server, where PID is the unique patient ID, SID is the sensor ID, and Value is the sensor data. For magnetometer and gyroscope, 3 axes (x, y, z axis) data are stored in Value, Value_y and Value_z respectively. Latitude and longitude fields are for real-time GPS coordinates received from the Android software application. Figures 12-14 are observable remotely by accessing them through a web browser and retrieving real-time patient information from the central database.
We introduced an architecture for a patient centered mobile health monitoring system using a standard Android smartphone, a dedicated central node (W- iPCN), and a central database server. The PCMHM system described in this paper provides the flexibility and compatibility of the remote health monitoring system, which can be modified according to different users. For example, we have introduced two different types of remote users. Elderly people have a high risk of falling due to their chronic diseases or other causes that might be possible. The system is designed to place multiple sensors on the patient not only to
Figure 12. Patient list displayed on the central database server.
Figure 13. Sensor list displayed on the central database server.
Figure 14. Patient data displayed on the central database server.
monitor a possible sudden fall, but also to determine the cause of the fall. Other sensors that can be applied to the system include ECG sensors, temperature sensors, and GPS receiver from the Android smartphone. The other example that we described in this paper is for monitoring people working in the hazardous environment. The system can adapt to monitor these workers who are potentially exposed to danger by acquiring data from different types of wearable sensors. We introduced a central node called the W-iPCN to the system design for analyzing both medical and environmental sensor data. The W-iPCN is designed to be reconfigurable and able to adapt to various types of wireless communication protocols. We have implemented core sensing, computing and com- munication parts to demonstrate the system feasibility of sensor data processing on the W-iPCN, user-interface application on the Android smartphone, and the server program for storing and displaying real-time patient data. The designed system is not only useful for remote monitoring elderly people and but also for remote users who require constant monitoring and analysis of their fitness status including potential patients and patients requiring post-operative care.