Designing an Embedded Electronic-Prescription Application for Home-Based Telemedicine using OSGi Framework Q



Similar documents
OPEN SERVICE RESIDENTIAL GATEWAY FOR SMART HOMES

Rotorcraft Health Management System (RHMS)

Home Gateway Enabling Evolution of Network Services

Skynax. Mobility Management System. System Manual

A Middleware-Based Approach to Mobile Web Services

Developing XML Solutions with JavaServer Pages Technology

emedyx Emergeny Smart Card EMR System: Card Holder Module

The Ubiquitous Web, UPnP and Smart Homes

Deploying QoS sensitive services in OSGi enabled home networks based on UPnP

Wireless ATA: A New Data Transport Protocol for Wireless Storage

Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting

SIP Protocol as a Communication Bus to Control Embedded Devices

Development of Integrated Management System based on Mobile and Cloud service for preventing various dangerous situations

UPnP Control Point for Mobile Phones in Residential Networks

Remote Monitoring and Controlling System Based on ZigBee Networks

PDA DRIVEN WAREHOUSE INVENTORY MANAGEMENT SYSTEM Sebastian Albert Master of Science in Technology

Data Collection and Analysis: Get End-to-End Security with Cisco Connected Analytics for Network Deployment

Development of Integrated Management System based on Mobile and Cloud Service for Preventing Various Hazards

Heterogeneous Tools for Heterogeneous Network Management with WBEM

Remote Access Platform. Architecture and Security Overview

A Study on Design of Health Device for U-Health System

Detailed Table of Contents

A Monitored Student Testing Application Using Cloud Computing

THE CHALLENGE OF ADMINISTERING WEBSITES OR APPLICATIONS THAT REQUIRE 24/7 ACCESSIBILITY

Chapter 2 Database System Concepts and Architecture

M2M & Internet of Things Opportunities

Sensors and actuators are ubiquitous. They are used

mate of your wit Case Study 1

Introduction to Web Services

COMPANIES REGISTRY. Third Party Software Interface Specification. (Part 1 Overview)

Avid. Interfacing with Avid inews. Including inews Web Services Version 1.0

Smart Shopping- An Android Based Shopping Application

Java ME Clients for XML Web Services

A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

An Architecture for Home-Oriented IPTV Service Platform on Residential Gateway

An XML Based Data Exchange Model for Power System Studies

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Deploying Print and Fax Services Lesson 4

Management of VMware ESXi. on HP ProLiant Servers

Client/server is a network architecture that divides functions into client and server

1. Introduction 1.1 Methodology

Mobile Operating Systems. Week I

Wlan Monitoring Using Android Phone

Deployment Pattern. Youngsu Son 1,JiwonKim 2, DongukKim 3, Jinho Jang 4

Designing Ubiquitous Personalized TV-Anytime Services

XMPP A Perfect Protocol for the New Era of Volunteer Cloud Computing

Internet accessible facilities management

SmartTV User Interface Development for SmartTV using Web technology and CEA2014. George Sarosi

PART I: The Pros and Cons of Public Cloud Computing

Firewall Builder Architecture Overview

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

PocketDroid - A PC Remote Control

EMC Documentum Composer

White Paper: OSGi-based E-Health / Assisted Living

Enabling Smart Data on M2M Gateways and Aggregators

IBM WebSphere Adapter for Quick Start Tutorials

An ECG Monitoring and Alarming System Based On Android Smart Phone

Introduction to XML Applications

Living Requirements Document: Sniffit

TECHNICAL REPORT onem2m; Application Developer Guide (onem2m TR-0025 version Release 1)

Bluetooth Health Device Profile and the IEEE Medical Device Frame Work

In this chapter, we lay the foundation for all our further discussions. We start

A proposal for a payment system for public transport based on the ubiquitous paradigm

Java and the Internet of Things

Fall 2011 SYSTEM ARCHITECTURE DESIGN TEAM MEMBERS: PROJECT OWNERS: AMIR 15 ECTS) EKAMBAR

Technical. Overview. ~ a ~ irods version 4.x

A Generic Database Web Service

Alliance Key Manager A Solution Brief for Technical Implementers

Eclipse Open Healthcare Framework

OSGi Service Platform in Integrated Management Environments Telefonica I+D, DIT-UPM, Telvent. copyright 2004 by OSGi Alliance All rights reserved.

SecureD Technical Overview

WEB SERVICES FOR MOBILE COMPUTING

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

Smart Queue Management System Using GSM Technology

IBM InfoSphere Master Data Management Server

Novell Access Manager

A SMART, LOCATION BASED TIME AND ATTENDANCE TRACKING SYSTEM USING ANDROID APPLICATION

TPM Key Backup and Recovery. For Trusted Platforms

REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES. Jesse Wright Jet Propulsion Laboratory,

Home Appliance Control and Monitoring System Model Based on Cloud Computing Technology

Instrumentation for Linux Event Log Analysis

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

Technical Overview Emif Connector

M 2 M IWG. Eclipse, M2M and the Internet of Things. Overview. M 2 M Industry WorkGroup! M2M?

Chapter 3: Operating-System Structures. Common System Components

SSL CONFIGURATION GUIDE

Transcription:

Designing an Embedded Electronic-Prescription Application for Home-Based Telemedicine using OSGi Framework Q Patrick O. Bobbie Sailaja H. Ramisetty Abdul-Lateef Yussiff Sagar Pujari School of Computing and Software Engineering Southern Polytechnic State University (SPSU) 00 South Marietta Parkway, Marietta, GA 30060 pbobbie@spsu.edu Abstract The combined benefits of Open Services Gateway Initiative (OSGi) and Smart card technologies in embedded devices have made the two technologies suitable for developing middleware applications for home appliances. In this paper, we describe an electronic-prescription (erx) system currently under development for home-based telemedicine. The erx system is intended to support a home cared patient who would like to order a refill of prescription by sending a request to the doctor via a home gateway without making direct phone call to the office. The design of the erx system is based on the OSGi environment, which serves as the service framework between the home gateway (a set-top box) and the external wide area network that provides services to the home. The set-top box allows the patient to communicate to the doctor at the hospital or the pharmacist at the pharmacy stores. The system, if successfully deployed, will eliminate the waiting and frustration endured by home-cared patients, in particular those who are bed-ridden or not dexterous, for Rx order and refilling. The paper describes aspects or bundles in OSGi, which we are using, XML as a means of data storage format, smart card technology for storing and accessing patient prescription and personal information, and a wireless PDA interface for remote access to the home gateway (set-top box). Keywords : erx, e-prescription smart card, web, OSGi, embedded software, PDA-web. Introduction and Background Since the introduction of smart cards and home gateways, there have been scores of technical reports outlining the potential benefits of these technologies. For example, there are currently on the market dishwasher machines equipped with embedded applications for automatic placement of calls for service repairs [8]. There are smart homes, which integrate embedded applications and technologies that automatically control all devices in the homes. The design, development, and deployment of these technologies hinge on advances in software development environments like OSGi [7] and DASE [0]. The focus of our efforts is to integrate smart card, hand-held personal digital assistant (PDA) computers, and (OSGi) technologies to benefit the consumer at home in the area of telemedicine. The research reported in this paper focuses on the design and implementation of an erx system: a handheld device, equipped with an application software and communication interface for a home-care patient to communicate with a doctor and a pharmacist regarding changes to or requests for prescriptions. The erx system runs a health-prescription applet, an application on the smart card that can be dynamically loaded on to a hand-held device with a display terminal and a browsing capability, for commandactions, editing personal data, or viewing. Figure 0 shows how the subsystems and devices of the erx systems are connected. The central device in the erx system is the Set-top box, which is a hardware/computer that serves as a gateway between Θ This work was supported in part by NSF EIA-029547

the home appliances/devices (connected together in a local area network) and the external wide area network. The smart card serves as the medium on which patient prescription data are stored. The card contains patient s relevant information such as personal information, list of ailments and allergies, and emergency phone numbers. The home patient is allowed to view the content of the smart card but not update the data. The application software, or OSGi environment, is the central coordinating point among the devices in the home local area network. The OSGi environment allows inter-communication between the card reader, the display service (the PDA application on the patient s side) and other devices. The patient interacts with the gateway (the set-top box) by selecting a command-action, i.e., what is to be done and when it should be done, from the PDA. The PDA application sends the refill prescription order to the hospital server via the set-top box. The pharmacy and the Doctor are the service providers, who have the authorization to remotely interact (e.g., via an established network protocol) with the patient through the set-top box. The service providers can both update and manage the content data of the smart card. including the electronic-prescription service bundles and an OSGi framework, which constitutes the central bridging point that manages the service bundles to be deployed in the set-top box. In order words, the framework is an embedded server that runs on the set-top box. The Hospital object is a Doctor Server at the hospital for providing on-line services, including communication between a patient at home and the prescription database at the hospital/clinic. The Pharmacy object is a Pharmacy Server, which is a service provider for communications between the Doctor Server and the Pharmacy Server. The Pharmacy Server also communicates and interacts with the home gateway through the Internet or any communication link, depending on the access point at home. (The design and development of the erx system do not include these provider services.) The Patient object is a home-based patient who interacts with the Set-Top box and the Smart Card via a PDA interface. Smart_Card Hospital SettopBoxAndOSGi Smart card Pharmacy contains Card_Reader controls +sendselection():void +approved():void +XML_format():void +data_loaded():void +on_card_reader():v * * communicate +sendreq +processr Pharmacy communicate +load_data():void +updatesmartcard(): Patient Set top Box erx application Manager OSGi server Doctor Fig. : Object model diagram of the erx using Rhapsody Tools. 3. Dynamic Interactions Figure 0: The erx system components 2. The erx Class Object Model Figure depicts the erx system s Object Model. The object model was developed using UML-based Rhapsody CASE tool from I-Logix. The model represents the main component objects of the erx system. The software architecture of Figure has the following components: The Smart_Card object is a Cyberflex Access 6K Smart Card for storing patient prescription information. The SettopBoxAndOSGi object is a combination of a Geode Set-top box, which houses all the service bundles to be used in the home gateway In our design, the dynamic interactions in the object model are further analyzed using a sequence diagram of the above object model. The interactions between the objects of the classes are depicted in Figure 2. The figure shows how the object of each class passes messages to each other in the erx system. The Patient Object (not shown), serves as an external object for initiating the communication. The integrated Set-top box and the OSGi environment (the SettopBoxAndOSGi object) control the message transmission and communication requirements of the system.

Card_Reader TV SettopBoxAndOSGi Hospital on_card_reader() data_loaded() load_data() sendselection() display_data() get_selection() notifyapproval() updatesmartcard() XML_format() sendrequest(xmlformat) approved() processrequest() Figure 2: The sequence diagram of the erx system Thus, the action-points of the objects in Figure 2 starts with the patient s access from the PDA. The next action-point is the SettopBoxAndOSGi object, which is implemented using the Java Embedded Server (JES). Next, the TV and Card-Reader devices (objects in the model), communicate with each other through the deployed framework on the server. The objects also communicate with the service provider, represented as Hospital in the sequence diagram. 4. The OSGi Architecture of the erx System The erx home -based electronic prescription system is being implemented using the OSGi framework. The choice of OSGi environment is because of its platform and application independence of embeddable programs developed using the framework. The OSGi architecture for the erx system is designed as abstract layers of OSGi frameworks. The approach fosters a deference of the details of the application by concentrating on the overall functionality of the system. LOG Service Http Service Device Access XML Service Health Service Smart Card Service Framework Java Virtual Machine Operating System Figure 3. The OSGi architecture of the erx system. Display Service Other Services The erx system in the set-top box can be (remotely) activated through a PDA, or the TV. We use a combination of hardware interfacing (polling the access port on the set-top box) and software remoteprocedure-call techniques to effect this remote activation. The system further communicates patient requests to the service providers, namely the Hospital and the Pharmacy. The following key components of the erx system facilitate the mapping of the design onto the OSGi framework. A Geode Set-top box (hardware platform) Java Embedded Server (OSGi Framework). Reflex USB V2 card reader (part of hardware) Java card API and JDK for the execution of the Java programs The home gateway software architecture, shown in Figure 3, consists of four principal layers. The vendors of the set-top box usually supply the operating system. In our case, we are using a PC running Unix to interface with the smart card and an IEEE 802.b wireless access base to interface with the wireless PDA and the PC (acting as a set-top box). Eventually, the erx would be migrated to a Geode set-top box, which runs the Unix software. The Java Runtime Environment (or JVM) executes the Java-based applications. The layer above the Java Virtual Machine is the OSGi software, which is composed of the framework that provides the services and also the bundles. These bundles provide services to other bundles or user specific service application [7]. Our design choice of OSGi framework is because framework [7] is a service platform specification provider. It provides security and allows installation of bundles whenever needed and de-installation of bundles whenever it is no more needed. The framework allows bundles to be registered in order to provide services to other bundles and further allows bundles to interact and provide services to each other. The framework also provides a concise and consistent programming platform for service developers, and allows the service specification to be separated from its implementation through the interface and imple mentation. A Bundle is a package that provides service either to other bundles or user specific application. A bundle is normally deployed as Java Archive files (JAR files). The bundles of JAR files consist of a Manifest file that describes the contents of the JAR file, a package that the bundles depend on to provide service, and the bundle Activator that implements the entry (Start) and Exit (Stop) point into the bundles. The moment a

bundle is started its functionalities get exposed to other bundles. For a home-based automation of services to be successful, an OSGi bundle needs to be designed. The erx system that we are designing and implementing includes the following bundles: XML bundles Health Service bundles Smart Card Service bundles Display bundles 5. The Smart Card Interface A smart card interface comprises a reader/writer drive, the storage medium (the card itself), and a bundle of I/O drivers running on a microprocessor. A smart card interface could also include simply either an embedded microprocessor and a memory chip or only a memory chip with non-programmable logic. The microprocessor can add, delete, and manipulate information on the card. All the complex calculations that need to be done on the card are implemented on the card itself. The card is reliable and can securely store large amounts of personal information on an integrated microprocessor chip in many different forms. For example, a smart card technology has been successfully used by soldiers to store their identification as well as critical medical data on a card for immediate retrieval in case of emergency [8]. Furthermore, some advanced smart card systems can carry all necessary functions and information on the card itself. Some cards can also store 0 to 00 times more information and hold information more robustly and securely than do typical magnetic-stripe cards [6]. In our erx system, and apart from storing personal information and e-prescription data, the smart cards also store list of information on allergies susceptible to the patient. The names and all contact information of the health service providers are stored on the card. The idea of data storage on the smart card raises the issue of privacy concerns for the patient s data. Typically, an unauthorized access to the information stored on the card is a breach of privacy. To handle situations like these, we need to look further into the security and data protection in the smart card. The Java card implements a self-secure encoding on the card in that only the authorized user (person with a valid PIN) is allowed to access the information on the card. Smart cards further implement a digital signature, which is the key itself, stored on the card. Whenever someone attempts to enter an invalid key for a certain number of times without success, the card is automatically blocked. These advantages of the smart card motivated our choice of a smart card-based interface to the set-top box and the development of the erx system. Furthermore, we are implementing a multiple key technique, which permits restricted access to the patient s data on the electronic prescription card. For example, there would be separate keys for the Hospital/Clinic and the Pharmacy users for updating the card contents and a separate key for the patient for viewing (or retrieving into a PDA for browsing) but not updating the data on the card. 6. The erx Content Data Representation 6. The Extensible Markup Language (XML) for the erx System XML is a text -based markup language, which has become a de-facto standard for data interchange on the Web. XML was designed to describe data. The standard format allows the writing of a structured data, which is meaningful, easy to understand and designed to store, carry, and exchange data. An XML file can also contain processing instructions that give commands or information to an application that is processing the XML data. 6.2 Benefits of using XML for the erx System XML is used to exchange data: Using XML, data can be exchanged between incompatible systems. One of the most time -consuming challenges for developers has been to exchange data between incompatible systems over the Internet. Converting the data to XML can greatly reduce this complexity and create data that can be read by many different types of applications. We are using XML to exchange information between the Hospitals, Pharmacies (Service Providers) and the home-gateway (home-cared patient). XML can be used to share data: Since XML data is stored in plain text format, XML provides a software- and hardware-independent way of sharing data. This makes it much easier to create data that different applications can work with. XML can make data more useful: Since XML is independent of hardware, software and application, the Wireless Markup Language (WML), used to markup Internet applications for

handheld devices like PDAs and mobile phones is written in XML. XML is easy to process: Regular and consistent notation makes it easier to build a program to process XML data. We have been able to build a parser to parse out XML prescription data. The relevant data received through the home-gateway is extracted from the XML element and stored in the format the smart card can understand. Hierarchical: Hierarchical document structures are, in general, faster to access. A hierarchical structure facilitates quick search by traversing the underlying tree structure. Further, because each segment of an XML (hierarchical) representation is delimited, it is easier to control and rearrange the tags [9]. In our design, the erx XML schema (or hierarchical structure) has one main root element called Doctor_prescription, which has two child elements named the Patient_info and Rx. The Patient_Info element also has three child elements that are used to identify the Patient_name, the Sex (gender), and the Blood_group of the patient. Patient_name Sex Blood_group The Rx also four child elements: Drug Name Patient disease Quantity of the Drug Refill option The hierarchical erx XML structure can be depicted as follows: Doctor_Prescription Patient_Info Rx The Appendix is a listing of the XML representation resulting from converting the Rx data of the patient, which is stored on the card. A Java Server Page (JSP) application has been developed to generate this representation. The representation is parsed and fed to the erx application, which is then retrieved on the PDA for browsing. 6.3 Analyzing and Communicating the XML Content for Patient Use The goal of the erx system development is to focus on providing services to a home-based patient through a residential gateway using OSGi implementation. The Health service bundles, Smart Card Bundles and XML bundles, all written in Java, are installed on the OSGi framework. The smart card contains patient prescription data. The card reader is one of the devices on the local home networks in the set-top box. Whenever the home-care patient wants to access the smart card, the smart Card bundles are activated to take the patient commands. The Card reader loads all the information stored on the card and sends a display message to the PDA screen to display the contents of the smart card. The Display bundles allow the user to make an input selection based on the service the Patient wants from the Health service provider (Medical Doctor at the hospital). The PDA retrieves the input and then calls the XML Wrapper bundles to put the message in the XML format. To forward patient requests to the doctor, the Health Service bundles take the XML file as input and send the request message to the Hospital for service provision. Whenever the inbound message is received at the residential gateway, the XML parser first parses the message and then a notification bundle is activated to send a notification display to the Patient that the request has been approved. Also the Smart card is updated automatically.

7. Conclusion In this paper we have reported our efforts in the design and development of an erx system, which allows a home-cared patient to request Rx refills, whenever it is needed. We have chosen data communication between home set-top gateway and the external servers, in this case the hospital server and the pharmacy server, and using XML format for data interchange. Among all the benefits of XML, the ability to exchange and share data among devices of different technologies encouraged us to choose XML for data representation. The Java Embedded Server (JES) and the OSGi frameworks have provided a unique environment for remote management of the services at home. We are also focusing on wireless communication between the patient and the set-top box. To this end, we are using a PDA, which supports both Bluetooth and IEEE 802.b protocols, so that a bed-ridden patient can wirelessly communicate with and operate the set-top box. Appendix <?xml version=".0" standalone="yes"?> <Doctor _Prescription> <Patient_info> < Patient_name >Jane Smith</Patient_name> <Sex> F </Sex> <Blood_Group>A </Blood_Group> </ Patient_info > <Rx>- <Medicine_name>Benzonatate cap 200mg </ Medicine_name > <Patient_disease>fever </Patient_disease> <Quantity>4</Quantity > <Refills></Refills> </Rx> </ Doctor _Prescription > References []Web enabled smart card for ubiquitous access of patients medical record [2]http://www.sun.com/smi/Press/sunflash/200-0/sunflash.200022..html [3]http://java.sun.com/products/javacard/ smartcards.html [4]http://wireless.java.sun.com/javacard/articles/intero p/ [5]Extensible Markup Language(XML).0, World Wide Web Consortium Recommendation, http://www.w3.org/tr/rec.xml [6] J.J.Farrell III smartcards become an international technology, TRON Project International Symposium,996. [7] Dave Marples, Telcordia technologies Inc. Peter Kriens, OSGi. The Open Services gateway Initiative: An Introductory Overview ; IEEE Communication Magazine December 200, pp 0-4. [8]Ritchie -Matsumoto, Peg. Smart cards equal Smart solutions, Corrections Today, July 998, Vol. 60 issue 4 pp 72-76. [9]Mraz, Stephen J. Standards emerge for talking dishwashers connected appliances ; Machine Design, Cleveland June 7 th 200, Vol. 73, issue pp 26-27. [0]DASE, Distributed System Technology Group (DST), NIST DASE Development Environment, http://www.itl.nist.gov/div895/cmr/dase/dasehome.ht ml, http://www.dase.org/main/index.asp