Communications and Network, 2013, 5, 584-589
http://dx.doi.org/10.4236/cn.2013.53B2105 Published Online September 2013 (http://www.scirp.org/journal/cn)
Copyright © 2013 SciRes. CN
An ECG Monitoring and Alarming System Based On
Android Smart Phone
Xiaoqiang Guo, Xiaohui Duan, Hongqiao Gao, Anpeng Huang, Bingli Jiao
Center for Wireless Communication and Signal Processing, Peking University, Beijing, China
Email: gxq@pku.edu.cn, duan@pku.edu.cn
Received June 2013
ABSTRACT
ECG monitoring in daily life is an important means of treating heart disease. To make it easier for the medical to moni-
tor the ECG of their patients outside the hospital, we designed and developed an ECG monitoring and alarming system
based on Android smart phone. In our system, an ECG device collects the ECG signal and transmits it to an Android
phone. The Android phone detects alarms which come from the ECG devices. When alarms occur, Android phone will
capture the ECG images and the details about the alarms, and sends them to the cloud Alarm Server (AS). Once re-
ceived, AS push the messages to doctors’ phone, so the doctors could see the ECG images and alarm details on their
mobile phone. In our system, high resolution ECG pictures are transmitted to doctors’ phone in a user-friendly way,
which can help doctors keep track of their patient’s cond ition ea s ily.
Keywords: ECG Monitoring System; Android Smart Phone; Alarm
1. Introduction
Heart disease is the leading cause of death in the world
over the past 10 years. According to European Public
Health Alliance’s report, heart attacks, strokes and other
circulatory diseases account for 41% of all death [1].
Treatment and prevention of heart disease are important
issues for modern medicine. ECG monitoring in daily life
is a necessary way for curing heart disease, and it is also
a hot issue in medical and engineering fields. With the
widespread popularity of smart phones and its portability,
smart phone plays a role in monitoring heart nowadays.
Many researchers have done some studies on the applica-
tion of smart phone in ECG monitoring, such as [2,3]. In
[2], the author shows us an ECG monitor system based
on android smart phone. ECG signal is transmitted to an
android phone and then be forwarded to a remote server.
Using a PC, doctors can view the ECG after logging in
the server. In this system, Android phone is sending ECG
signal all the time when the system is running, which
could cause a lot of power and network consumption.
Besides, the author does not offer an alarm program.
There are some researchers proposed the way of alarm-
ing, most of them use the SMS or calls such as [3-6]. In
[6], pulse alarms details are described in a SMS. But for
an ECG image, it is hard to describe in a SMS. In [3],
author use the MMS and email to send the abnormal
ECG images. The disadvantage of this way is that MMS
is not able to carry a picture in high resolution, and if
using email as the transmitting way, doctors may not see
the email timely, and it also causes inconvenience.
To solve the above problems, we designed and devel-
oped an Android based system which focuses on ECG
monitoring and alarming. In our system, real-time ECG
is collected and monitored by the ECG device (we have
developed and tested it in [7]). By detecting alarms, an
android phone sends the alarm messages and ECG pic-
tures to the Alarm Server. Once received a message,
alarm server would push it to the doctors’ phone by the
Android Notification way. So doctors could see the alarm
details and a high resolution ECG picture through this
Notification. By this way, doctors could access the ECG
alarm information almost everywhere in time only by a
phone.
The paper is organized as follows. In Section 2, we
briefly describe the system architecture and its working
mode. In Section 3, we present the implementation of the
system, inc l uding ECG data proces sing on Android phone,
Alarm Server, and Alarming process. In Section4, We
show the operating results in real environment. Besides,
we test its reliability and time delay. In Section 5, a con-
clusion is made to summarize the advantages and disad-
vantages.
2. System Model
Our system is composed of four parts: a portable device
X. Q. GUO ET AL.
Copyright © 2013 SciRes. CN
585
with an ECG senor for collecting and analyzing ECG
signal, an android phone to be a processing center for
detecting and sending alarms, an alarm server for han-
dling the alarm messages and report to doctors, and an-
droid phones which are held by doctors and family to
receive alarm message. The system architecture is shown
in Figure 1.
Between the ECG device and the Android phone, a
wireless transmission channel is maintained to transport
real-time ECG signal. Here we chose Bluetooth because
of its good performance on Android phone. When an
alarm occurs, a TCP connection is established between
the Android phone and Alarm Server, which is used to
transmit alarm messages and ECG pictures. As for the
connection between Alarm Server and client phones, a
long IP connection is maintained all the time, which
could ensure the timely arrival of the alarm messages.
When an alarm Notification is read on a client phon e, the
ECG alarm image could be browsed via a HTTP connec-
tion to Alarm Server. In this way, high-quality ECG im-
age is transmitted to doctors’ mobile phone.
3. System Design and Implementation
3.1. ECG Data Processing On Android Phone
The ECG data frame format is defined in [7]. 7-lead ECG
with three kinds of alarms is carried by the ECG data
frame. The Android phone reads and extracts the ECG
data and alarms data the ECG data from the Bluetooth
input stream. We build two to buffer on Android phone
to buffer these data. ECG data is read from the Bluetooth
channel and is put in BUFFER1. An alarm detecting
thread performs a detecting operation on the data in
BUFFER1. If an alarm is detected, the Android phone
starts the alarming program. Its process is described in
the next section. By detecting alarms, the ala rm detecting
thread transfers the ECG data from BUFFER1 to BUF-
FER2. The UI thread gets ECG data from BUFFER2 to
draw dynamic ECG on screen. Figu re 2 shows the process.
3.2. Alarm Server Design and Implement
Alarm Server provides reliable cloud services in the sys-
tem. It handles the alarm messages which are come from
Android phone and deliver them to doctors’ phone. Our
Alarm Server consists of four parts: Message Receive
Server, Alarm Information Management, Message Push
Server and Web Server, as is described in Figure 3.
Message Receive Server is used to receive the alarm
messages. If an alarm was received, a copy will be store
in Alarm Information Management. The ECG image will
be put under the Web Server, Push Server push this
alarm message to doctors’ phone. After getting this mes-
sage, the doctor could browse the ECG image from Web
Server by his/her ph one.
Medical data are personal privacy data, so the system’s
security is very important. At the two sides of Alarm
Server for user accessing, 1) and 2) in Figure 3, we set
authentication keys. Only the authenticated phone could
access the alarm server. For 3), Web Se rver main tains an
IP list, which is authenticated by Key1 and Key2. Only
those IP could browse the ECG image under the Web
Server.
3.3. Alarm Processing
After the Android processing center detected an alarm, it
extracted the relevant parameters, and r ead 5s’ ECG data
in both BUFFER1 and BUFFER2, so 10s’ ECG data is
obtained. And then draw the waveform on a bitmap which
resolution is 1400 × 600. At the same time, Android
called the Location API to get the geographic informa-
tion. In our system, we use the BAIDU’s free location
API, because it integrated Android Location API well
and it offers text location message service.
Figure 1. System Architecture.
X. Q. GUO ET AL.
Copyright © 2013 SciRes. CN
586
Figure 2. Processing of ECG data.
Figure 3. Alarm Server Architecture.
Alarm message could be defined in xml format, like:
<? xml version = “1.0” encoding=UTF-8” ?>
<AlarmMessage>
<type>alarm type</type>
<time>alarm time(UTC)</time>
<location>City/District/Street/Number</location>
<locationUrl>
http://api.map.baidu.com/geocoder?location=
</loactionUrl>
</AlarmMessage>
The Android phone requests a TCP connection to
Alarm Server to send this message. After validating its
identity, Alarm Server establishes the connection. Then
the alarm message is sent through the channel. After that,
the ECG image is uploaded to a specified directory under
the Web Server. We use TCP protocol to transport the
alarm messages and ECG images to alarm server, be-
cause TCP is a reliable protocol that could make sure
alarm messages and ECG pictures arrived safe and or-
derly. Between Alarm Server and doctor’s phone, a long
IP connection is maintained so that the Push Server could
push the message and the ECG image URL to doctors’
phone in time. When the doctor read the message on his
phone, an Android WebView could be used to show the
ECG image by the URL. So an HTTP connection is built
to transport high resolution ECG image. The whole process
X. Q. GUO ET AL.
Copyright © 2013 SciRes. CN
587
of alarming in the system is shown in Figure 4.
Taking into account that the message receiver is a mo-
bile phone but not a PC, the power and network resource
is limited, instead of making the phone pull messages
from alarm server initiatively, we must use a reasonable
mode to push messages to the client phone. So we inte-
grated the open source project Androidpn in the Push
Server [8]. Androidpn implements an excellent push me-
chanism on Android platform. In our system, it was re-
formed to adapt to our needs, and it showed good per-
formance on maintaining IP long connection, multi-user
management, and resource consumption.
4. Experiment Results
Figure 5 shows the actual test environment, and a scene
of ST segment abnormalities alarm. We used Samsung
GT-N7000 as the test Android processing center. It catches
the alarms and sends them to Alarm Server. The Moto-
rola phone is the client phone to receive alarm messages.
It receives the message as a Notification with ringing and
vibrating, as is shown in Figure 6. When the Notification
is displayed, the details about this alarm and the ECG
image are shown on the screen. Figure 7 shows the op-
erating results on doc tors’ ph one.
In this test environment, we performed 10 times alarms
both under China Mobile (CMCC) and China Unicom’s
(CU) mobile networks to test its reliability and time de-
lay. Table 1 shows the results. From the test results, we
can see the system’s reliability and alarm time delay is
good enough for being applied in a practical application.
Figure 4. Process of an alarm in the system.
Figure 5. ECG De vice and Androi d sm art phone.
X. Q. GUO ET AL.
Copyright © 2013 SciRes. CN
588
Figure 6. Alarms come as Notifications.
Figure 7. Browse the alarm details.
Table 1. Alarm reliability and time delay test.
CU/WCDMA CMCC/EDGE
No. Time delay (ms) No. Time delay (ms)
1 762 1 2360
2 3165 2 1620
3 5906 3 1981
4 472 4 1613
5 3226 5 1943
6 388 6 7379
7 440 7 1635
8 2674 8 1636
9 2439 9 1903
10 2844 10 1707
5. Conclusion
In this paper, we designed and developed an Android
based ECG monitoring and alarming system, which fo-
cuses on the system architecture and alarm processing,
also we tested its reliability and time delay in a real en-
vironment. From the result, we could see the system re-
flects user -friendly design and strong reliability. Of course,
it based on a stable mobile operators network environ-
ment. And on the side of client Android phone to receive
messages, there is some room for improvement in power
consumption. Anyway, we believe it has a certain appli-
cation value for medical professionals to treat cardiovas-
cular and heart disease.
REFERENCES
[1] M. Shouman, T. Turner and R. Stocker, “Using Data
Mining Techniques In Heart Disease Diagnosis and
Treatment,Electronics, Communications and Computers
(JEC-ECC), 2012, pp. 173-177.
[2] C.-C. Chan, C.-W. Chen, W.-C. Chou, Y.-L. Ho, Y.-H.
Lin and H.-P. Ma, “Live demonstration: A Mobile ECG
Healthcare Platform,2012 IEEE Biomedical Circuits
and Systems Conference (BioCAS), 2012, p. 87.
[3] P. K. Gakare, A. M. Patel, J. R. Vaghela and R. N. Awale,
“Real Time Feature Extraction of ECG Signal on Android
Platform,2012 International Conference on Communi-
cation, Information & Computing Technology (ICCICT),
2012, pp. 1-5.
[4] Y. Y. Du, Y. Chen, D. Wang, J. Z. Liu and Y. Q. Lu, “An
Android-Based Emergency Alarm and Healthcare Man-
X. Q. GUO ET AL.
Copyright © 2013 SciRes. CN
589
agement System,” 2011 International Symposium on IT in
Medicine and Education (ITME), Vol. 1, 2011, pp. 375-
379.
[5] Z. Lv, F. Xia, G. W. Wu, L. Y ao and Z. K. Chen, “iCare
A Mobile Health Monitoring System for the Elderly,
Green Computing and Communications (GreenCom),
2010 IEEE/ACM International Conference & Interna-
tional Conference on Cyber, Physical and Social Compu-
ting (CPSCom), 2010, pp. 699-705.
[6] A. H. Zhang and L. H. Hu, “The System of Pulse Moni-
toring Based on Windows Mobile” Business Management
and Electronic Information (BMEI ), Vol. 4, 2011, pp.
519-522.
[7] H. Q. Gao, X. H. Duan, X. Q. Guo, A. P. Huang and B. L.
Jiao, “Design and Tests of a Smartphones-based Mul-
ti-Lead ECG Monitoring System,” 35th Annual Interna-
tional Conference of the IEEE Engineering in Medical
and Biology Society (EMBC), 2013, In Press.
[8] “Androidpn,” 2013.
http://sourceforge.net/projects/androidpn