A new Design Approach for Developing Electronic Health Record Application on Android H. Sarojadevi 1,, Pallavi Munihanumaiah 2,B.A.Mohan 1,S.Ramya 1 and M. Sushma 1 1 Department of CSE, Nitte Meenakshi Institute of Technology, Yelahanka, Bangalore 560 064, India. 2 Project Scientist, Karnataka State Remote Sensing Application Centre, MS Building 4th phase 6th floor, Bangalore 560 001, India. e-mail: hsarojadevi@gmail.com Abstract. Android is an operating system for mobile devices such as mobile phones, handheld computers and netbooks. Android is developed by Google and is based upon the Linux kernel and GNU software. The main advantage of Android is a rich library to enhance and ease communication as well as networking. PHP is compatible with almost all servers used today (Apache, IIS, etc.), easy to learn and it runs efficiently on the server side. In the development of any simple Android-client application, PHP is being used as the serverside scripting language. This paper presents details of design and development of Electronic Health Record application using Android mobile client and PHP application server, adopting service oriented architecture. Purpose of this kind of mobile deployment is to provide health services remotely for normal and emergency conditions. The developed application was tested for correct functionality and analyzed for performance using Android tracing and profiling feature. The methodology and the design presented find use in many other Android application developments, offering user convenience as well as flexibility for adding more features. Keywords: Electronic health record, Service-oriented architecture, Android, PHP, HTTP, Performance. 1. Introduction and Background Android is the most emerging open platform [2] today for mobile application development and its growth rate is high. It is based on Linux operating system [1] providing wide range of features and a lot of scope for high quality Android application development. PHP is considered perfect backend for client- server implementation, highly scalable and light weight. Over 35% of the web runs PHP today. Android allows service based deployment and development of mobile internet applications [3], which are of increased use. Developing Android based medical information services using Google Maps [6] is gaining increased importance. An Electronic Health Record (EHR) [5] is a computerized health record created in an organization that delivers health care, in an environment such as a hospital or physician s office. Electronic health record tends to be a part of a local stand-alone health information system that allows storage, retrieval and modification of records. The EHR provides the essential infrastructure required to enable the adoption and effective use of new healthcare modalities [7] and information management tools such as integrated care, evidence-based medicine, computer-based decision support, care planning and pathways, and outcome analysis. The EHR ensures quality of patient care and safety. Accessing and processing the EHR information through the mobile handheld devices provide increased flexibility and speed, besides enhancing the real-time support, which is critical for life in applications pertaining to health. Main purpose behind this kind of mobile deployment is to provide remote field operations like medical services for normal and medical emergency conditions. While such work on EHR can be found in literature [5], thrust for its wider deployment and optimized performance is increasing. Adding functionalities such as accessing and transferring of CT, MRI or ultrasound images instantly to/from the other handheld device or server has become the need of the hour, which was addressed in the project work presented in this paper. Corresponding author Elsevier Publications 2013.
H. Sarojadevi, et al. Figure 1. Software architecture for the EHR application. 2. Design Designing mobile based medical services over an interconnect network is challenging because of the daunting constraints of a mobile environment. Bandwidth, processor speed, screen size and resolution, memory consumption, battery life, and user interfaces are the major issues. Security for login and user authentication is also an important issue [4]. The electronic health record as proposed in this project is an approach to access and process patient related information from the database as and when required. Further, the information is made available across the network on mobile devices and vice-versa. Overall architecture designed for the proposed work is described below, with dataflow diagrams of Electronic Health Record (EHR) in figure 2. Security is ensured by providing login feature and patient bracelet ID based method of authentication. 2.1 Architecture The software architecture designed for the proposed EHR application is based on service oriented architecture as shown in figure 1, which is a multi-tier architecture comprising mobile client, app-server and database server. The database connectivity is from the server side. The app-server comprises the layer with application processing and interfaces (2nd layer) and the application management layer (3rd layer). The topmost (first) layer is Client-Side Android SDK based software, which is specific to certain roles for individual user, for instance, doctors and field operators (lab technicians, clinicians) in Electronic Health Record Application. In the second layer Android applications make the data transfer using XML (Extensible Mark-Up language) and Java; and get connected to PHP server through the HTTP services provided in the third layer. On the server side, PHP sends/receives data to/from MySQL database using the APIs in the database layer. 2.2 Data flow diagram Figure 2 is a data flow diagram of Electronic Health Record [EHR] application, wherein Doctor or Field Operators can view the patient details from their Android Mobiles, which is connected to centralised EHR system provided by hospital/clinic. Patient detail includes personal information and medical history, diagnostic images etc. This information can be accessed by just entering Patient ID or by showing bar-coded Patient s bracelet image. 3. Implementation Details 3.1 Software used Operating System (Windows 7) JDK 1.7.0 & JRE 7 ANT-1.7.0 Android SDK ADT-10.0.1 Eclipse IDE 640 Elsevier Publications 2013.
A new Design Approach for Developing Electronic Health Record Application on Android Figure 2. Electronic health record application-data flow diagram. PHP: the implementation of scripts. MySQL DBMS Apache: a web server (Wamp Server). We have used Android SDK that supports Java 1.5 and translated the byte code to its own custom Dalvik byte code optimized for mobile devices and tested the output on emulator as well as by porting on to Samsung mobile device. 3.2 Steps followed in electronic health record application Connection from mobile app to the server is established. Login Verification for Doctor or Field Operators is done. On successful login, Patient bracelet barcode image is captured from the mobile camera and decoded. The obtained decoded data (Patient ID) is sent via the network to the server. After verification of Patient ID by the server, obtain the required information such as Patient personal details, diagnosis, prescription (available only for doctors) etc. Field operators are allowed to upload the patient details and images. Result or Ack is sent back to the Doctor or Field Operator Connection is terminated from the mobile app with the server 4. Results And Analysis Home page of EHR application navigates to the main page wherein desired designation i.e., Doctor or Field Operator can be selected. After selecting Doctor as designation, doctor s workflow and corresponding login page would be selected; IP Address of the system must be given. If the username and password match with the server s database, login authentication is given. Next, uploaded bar-coded Patient s bracelet image is decoded and Patient ID is fetched and displayed, provided the patient ID matches with that in the server database. On clicking the Proceed button, next page for Patient ID verification is displayed. The dynamic button Proceed will navigate the user to the next page in which patient details are available as shown in figure 3. A number of options are displayed in the patient details page, viz., Basic Patient Details, Diagnosis, Prescription etc. To view details about a patient, we need to click on a particular radio button, which displays desired contents, including the CT/MRI/Ultrasound kind of medical images. Figure 4 displays a medical image of a patient. Doctor can prescribe (provide treatment/management) for the patient based on the previous diagnosis page, as shown in figure 5. The presciption detail can be added to the patient database at this point, for which an acknowledgement will be generated. Performance of Android application is determined by using Android trace view profiling. The profiling panel includes time panel and profile panel. Time panel indicates time taken by each thread in a module such as Patient s bracelet decoding module, to execute. Profile panel shows inclusive time, which is the time spent in module/method Elsevier Publications 2013. 641
H. Sarojadevi, et al. Figure 3. Patient s Personal information. Figure 4. Patient s Diagnosis information. Figure 5. Doctor s prescription. and in any called function; and exclusive time, which is the time spent in each method, along with the percentage time taken, total number of calls and recursive calls, and lastly number of calls, out of total number of calls to this module. Figure 6 shows the performance of various workflows of the EHR application for which the profile information is given in table 1. The workflows are corresponding to Patient bracelet image decoding (workflow1), Patient ID verification (workflow2), Diagnostic image retrieval (workflow3), and Text information retrieval (workflow4). Time indicated along the vertical axis in the graph denotes the execution time taken by these modules. Timing performance depends on various parameters such as the network, event actions, data size, text and image. It can be observed from the graph in figure 6 that there is increased execution time whenever images are involved, which indicates potential 642 Elsevier Publications 2013.
A new Design Approach for Developing Electronic Health Record Application on Android Figure 6. Performance of typical workflows of the EHR application. Table 1. Application workflows and their execution time. Application workflow Time taken in milliseconds EHR Application Workflow1 610 EHR Application Workflow2 560 EHR Application Workflow3 630 EHR Application Workflow4 480 parts of the application for performance improvement. The performance analysis approach given in this work can be useful for other Android application development work as well. 5. Conclusion Android Mobile technologies represent convenient, fast and popular technology. Developing Consumer applications on Android with MySQL through PHP provides fast, high quality and innovative services, immediate access to information anytime and anywhere. Android is more realistic mobile device open-source software and enables quick application porting on to the device with interactive features and rich JAVA libraries. In this project an electronic health record application has been designed and developed on Android in a Client-Server mobile network environment. An Electronic Health Record application deals with the processing of patient information, which is communicated between remote field points and hospital environment using service oriented architecture. The application developed is tested for correct functionality and analyzed for timing performance using Android tracing and profiling feature. Performance measurement indicates that text or simple data processing consumes less time and resource, whereas images take more time and resource. The performance analysis carried out is useful for further performance optimization of the application. The methodology and the design presented can be adopted for many other Android developments as well, which offer user convenience and flexibility for implementing added features into mobile application. References [1] Abhyudai Shanker and Somya Lal, Android Porting Concepts, IEEE 3rd International Conference Electronics Computer Technology, 2011, pp. 129 133. [2] Yonghong Wu, Jianchao Luo and Lei Luo, Porting mobile web application engine to the Android platform, IEEE 10th International conference on Computer and Information Technology (CIT), June 29 July 1, 2010, pp. 2157 2161. [3] Hyun Jung La and Soo Dong Kim, Department of Computer Science Soongsil University, A Service-based Approach to Developing Android Mobile Internet Device (MID) Applications, IEEE International conference, Jan14 15, 2009, pp. 1 7. [4] William Enck, Machigar Ongtang and Patrick McDaniel, Pennsylvania State University, Understanding Android Security, Security and privacy by IEEE Computer Society, January/February 2009, pp. 50 57. Elsevier Publications 2013. 643
H. Sarojadevi, et al. [5] Dimitris Tychalas and Athanasios Kakarountas, Dept. of Computer Science and Biomedical Informatics, Planning and Development of an Electronic Health Record Client based on the Android Platform, 14th Panhellenic conference, Sept. 10 12, 2010, pp. 3 6. [6] Chao-Tung Yang, Yen-Yu Chu and Shyh-Chang Tsaur, Implementation of a Medical Information Service on Android Mobile Devices, 4th International Conference on New Trends in Information Science and Service Science (NISS), May 11 13, 2010, pp. 72 77. [7] Rob Rimbold, Scott Wilson and Steve Wilson, Accessing Medical Records on Mobile Devices Part I, 2011 Pegasus Imaging Corporation, DBA Accusoft Pegasus. 644 Elsevier Publications 2013.