Building A Distributed: E-Healthcare System Using SOA
Building A Distributed: E-Healthcare System Using SOA
Building A Distributed: E-Healthcare System Using SOA
This article describes a distributed e-healthcare system that uses the service-oriented architecture as a means of designing, implementing, and managing healthcare services.
ffective and timely communication between patients, physicians, nurses, pharmacists, and other healthcare professionals is vital to good healthcare. Current communication mechanisms, based largely on paper records and prescriptions, are old-fashioned, inefficient, and unreliable. In an age of electronic record keeping and communication, the The Quality of Healthcare healthcare industry is still in the US, p. 25 tied to paper documents that are easily mislaid, The Development of often illegible, and easy Healthcare Standards, p. 26 to forge. When multiple
Inside
healthcare professionals and facilities are involved in providing healthcare for a patient, the healthcare services provided arent often coordinated. Countries that have centralized healthcare systems such as the UK have made considerable progress toward electronic medical records and prescriptions, including patient access to them. Despite concerns about security and privacy, such systems provide increased accuracy and efficiency, better communication among healthcare professionals, and reduced risk of prescription errors. In the US, such record keeping and communication are difficult to establish because of the highly diverse and decentralized nature of healthcare. Physicians offices, clinics, hospitals, and
24
Authorized licensed use limited to: University of Bridgeport. Downloaded on February 16, 2009 at 08:35 from IEEE Xplore. Restrictions apply.
pharmacies use computer systems that, for the most part, arent interoperable. In addition, the development of multiple healthcare systems has resulted in data not being easily translated from one system to another.1 Standards are the key to solving these interoperability problems and enabling collaboration among computer systems. Several organizations, including WellPoint, Blue Cross, and Blue Shield, have initiatives under way to develop electronic prescriptions, but today only 2 to 3 percent of the more than three billion prescriptions each year are submitted electronically. Typically, a physician writes a prescription on paper and gives it to the patient. The patient carries the prescription to the pharmacy, waits in line to hand the prescription to the pharmacist, and waits for the pharmacist to fill the prescription. The pharmacist might be unable to read the physicians handwriting; the patient could modify or forge the prescription; or the physician might be unaware of medications prescribed by other physicians. These and other problems indicate the need to improve the quality of healthcare (see the sidebar The Quality of Healthcare in the US), ease access to healthcare and healthcare information, and reduce the cost of delivering healthcare.2 A distributed electronic healthcare system based on the service-oriented architecture (SOA) can address some of these issues and problems. We developed a distributed e-healthcare system for use by physicians, nurses, pharmacists, and other professionals, as well as by patients and medical devices used to monitor patients. Multimedia input and outputwith text, images, and speechmake the system less computer-like and more attractive to users who arent computer-oriented.
Service-Oriented Architecture
In our project, SOA, along with Web services and Atom and RSS feeds, provides the opportunity for diverse systems to interoperate without requiring the use of a particular kind of computer system. SOAan architecture in which the building blocks are services3 not only encompasses the services from a technology perspective but also includes the policies and practices that govern service provision and consumption. SOA enables reusability of software components, provides protocol independence, and facilitates application integration. It enforces basic
software architecture principles such as modular design, abstraction, and encapsulation. With open standards, such as XML and SOAP, SOA provides interoperability between services operating on diverse platforms and between applications implemented in different languages. It supports diverse processing efficiently and easily, enables cross-platform communication, and adapts dynamically to meet changing needs. For healthcare in particular, SOA and healthcare standards enable interoperability by encoding healthcare information using one or more common (generally agreed upon) representations (see the sidebar The Development of Healthcare Standards). With healthcare standards, diverse but interoperable systems can improve the quality of healthcare delivered to patients.
25
HEALTHCARE IT
The Development of Healthcare Standards
Widely adopted healthcare standards, available from the Agency for Healthcare Research and Quality (http://healthit.ahrq.gov/), include Health Level 7, Digital Images and Communications in Medicine, National Council for Prescription Drug Programs, Current Procedural Terminology, International Classification of Diseases, Logical Observation Identifiers, Names, and Codes, National Drug Codes, and Systematized Nomenclature of Medicine. grates concepts and terms from a large number of health-related vocabularies and classification systems. The US Food and Drug Administration (www.fda. gov) maintains the National Drug Code Directory, a universal set of drugs manufactured, prepared, propagated, compounded, or processed for commercial distribution in the United States. The US National Council of Prescription Drug Programs is developing a script (www.ncvhs.hhs. gov/040330p2.pdf) that aims to facilitate the electronic transfer of prescription data between prescribers and pharmacies. The US Department of Health and Human Services has issued the Health Insurance Portability and Accountability Act Privacy Rule (www.hhs.gov/ ocr/privacysummary.pdf), which aims to ensure that an individuals health information is properly protected, while allowing the flow of health information needed to provide high-quality healthcare and to protect the publics health.
In addition to these standards, other organizations and government agencies maintain several other important standards: The US National Library of Medicine (www.nlm. nih.gov) has developed the Unified Medical Language System with a metathesaurus that inte-
Clinic Module
The clinic module supports routine activities of physicians and nurses at the clinic by maintaining information such as appointments for a
26
specific day or week, the patients that the physician has examined, and notes related to patients. The clinic module exposes a Web server interface and a Web service interace, as Figure 1 shows. We designed the Web server interface for users who prefer to access the healthcare services from a Web browser. A physician or nurse can use the Web server interface to access the clinic module from a desktop computer or a PDA, and the patient can use the Web server interface to request appointments with the physician for a specific date and time. The Web server uses a Web service to access healthcare data. Applications and devices can use this Web service to communicate with the clinic module. In addition, monitoring devicessuch as electronic blood pressure monitors, glucose monitors, weighing scales, pillboxes, and so forthcan transmit information to a desktop or laptop computer via a wired or wireless network and then to the clinic Web service over the Internet. The clinic module sends prescriptions from the physician to the pharmacy over the Internet using the pharmacy Web service. To locate the pharmacy closest to the patients home or the physicians office, the clinic Web service sends a Web service query to a Web service registry, where pharmacies offering such services have registered. Communication between the physi-
Clinicians/devices
Patient WS
WS
Pharmacy WS
Figure 1. Clinic module with Web server and Web service (WS) interfaces.
cian and the pharmacy occur after the physician receives a response from the registry. Although we used our own message data format in our prototype, an actual e-healthcare system would follow electronic prescription standards once theyre adopted and widely used. The physician can use a PDA to enter and retrieve information about the patient during or after an appointment and to access the information later. The e-healthcare system currently uses an OQO PC, shown in Figure 2, which is a fullfeatured 3- 5-inch PC with an 800- 480pixel screen that is capable of providing detailed graphical information. The handheld computer can communicate with a desktop or server using a wireless connection. The use of a small keyboard makes it difficult for the physician to input information, so in addition to the graphical interface, the handheld is equipped with speech recognition and synthesis software that lets the physician enter and retrieve information by speaking and receiving spoken feedback. These speech technologies help the physician complete tasks and encourage the use of the handheld. To ensure accuracy, the physician must confirm the prescribed medication and its dosage upon entry because such information is critical to the patients life. Integration with pharmaceutical applications or Web services that warn of interactions between medications can further improve the provided services accuracy.
Pharmacy Module
The pharmacy module, which provides services to the pharmacist and devices at the pharmacy,
keeps a record of the patients prescriptions for reference and updates prescription status as the pharmacist fills them. The pharmacy module exposes Web server and Web service interfaces, as Figure 3 shows. The Web server interface lets users access the pharmacy module from a Web browser. The pharmacist can use this interface to view prescriptions as the pharmacy receives them from physicians. The patient can use the Web server interface to determine whether a prescription has been filled and is ready for pick up or delivery. The Web service interface provides access for applications deployed at the pharmacy. The clinic module sends prescriptions from the physician to
WS
Database
Clinic WS
27
HEALTHCARE IT
Patients/devices Web server Pharmacy module Web server Pharmacists/devices
Patient WS
Pharmacy WS
WS
Web server
Web server
Figure 3. Pharmacy module with Web server and Web service (WS) interfaces.
Patient Interfaces
The Web server interface to the clinic module lets a patient request an appointment with a physician for a specific date and time using the clinic Web server. In the system, the patient can both see his or her appointments with the physician and access other information. The Web server interface to the pharmacy mod(a) ule, shown in Figure 4b, lets a patient check the status of a prescription, view his or her prescription history, and renew existing prescriptions. If the patient requests a prescription to be filled at the Web site, he or she must make a payment or copayment before the pharmacist can start to fill the prescription. The pharmacy module sends reminders to the (b) patient about the status of the patients Figure 4. The Web server interface to (a) the pharmacy module for prescriptions as well as sends messages the pharmacist and (b) the patient. from the pharmacist to the patient. To assess and report the patients the pharmacy over the Internet using the pharhealth status, the system supports the use of macy Web service. The Web service verifies the medical monitoring deviceson wired or wirephysicians identity, and also checks the patients less networksto report periodically or, in insurance before processing the prescription. Reemergencies, to send an alert immediately. The moving human intervention from communicasystem doesnt send any patient-identifying intion between the physician and pharmacist and formation; rather, it transmits information along maintaining information electronically reduces with the devices serial number, and the clinic the possibility of human error. Web service makes the association with the parThe Web server interface to the pharmacy modticular patient. If the patient hasnt registered the ule, shown in Figure 4a, lets the pharmacist monidevice, the clinic Web service discards the data tor incoming prescriptions, update their status, from the device. and inform the physician and the patient about the The e-healthcare system is currently enabled with status of the patients prescriptions. The pharmaan electronic blood pressure monitor, which transcist can query the pharmacy module to obtain the mits blood pressure readings to the patients laptop status of prescriptions, the records for a particular or desktop computer. The data is then communipatient, and other information, with query results cated over the Internet to the clinic Web service shown as a list for the pharmacist to view. for examination by the physician. The physician
28
WS
Database
and the patient can see the historical data from the blood pressure monitor as a list or in a chart as a clinic Web service. Figure 5a shows the output from the patients blood pressure monitor, and Figure 5b shows the patients blood pressure history.
(a)
Web Services
Web services are applications that typically execute on a remote computer and can be accessed by clients over the Internet. Web services are based on open standardsin particular, XML and SOAP. These standards aim to achieve interoperability between applications implemented in different languages, running on diverse computer systems, and communicating over a network. Our distributed e-healthcare system uses the Apache Axis2 framework (the core engine for Web services built on Apache Axiom) and the Apache Tomcat server. Axis2 provides data bindings that enable application developers to generate SOAP messages without being concerned about constructing or parsing them. Web Services Security (www.oasis-open.org/ committees/wss/)provides a means of incorporating security features in a SOAP messages header. It supports multiple trust domains, encryption technologies, signature formats, and security token formats.
(b)
Figure 5. (a) Output from the electronic blood pressure monitor on the patients desktop or laptop. (b) The patients blood pressure history maintained using a clinic Web service.
ware (www.research.att.com/~ttsweb/tts/), which can accurately and naturally pronounce words and speak in sentences that are clear and easy to understand. Natural Voices supports many languages, male and female voices, and several speech interface standards.
Speech Software
Our distributed e-healthcare system uses SRIs DynaSpeak speech recognition software (www. sri.com) because it supports multiple languages, adapts to different accents, and doesnt require training prior to use. DynaSpeak is ideal for embedded platforms because of its small footprint and its low computing requirements. Figure 6a shows the prescription grammar for the e-healthcare system, and Figure 6b gives an example of its use on a physicians handheld device. The distributed e-healthcare system uses AT&Ts Natural Voices speech synthesis soft-
29
HEALTHCARE IT
(a)
The e-healthcare system described here can be readily extended to other healthcare professionals, including medical technicians who perform and report tests and analyses requested by physicians. In addition, the system can be interfaced to other applications that provide information on medications and dosages and warn of interactions between medications. Finally, it can be interfaced to drug-delivery devices that prompt and monitor the regular and timely consumption of medications.
References
1. J. Grimson, W. Grimson, and W. Hasselbring, The SI Challenge in Health Care, Comm. ACM, vol. 43, no. 6, 2000, pp. 4855. Committee on the Quality of Health Care in America, Inst. of Medicine, Crossing the Quality Chasm: A New Health System for the 21st Century, US Natl Academy Press, 2000. L.E. Moser and P.M. Melliar-Smith, Service Oriented Architecture and Web Services, Wiley Encyclopedia of Computer Science and Eng., Wiley & Sons, 2008; http:// mrw.interscience.wiley.com/emrw/9780470050118/ ecse/article/ecse510/current/abstract. T. Bray, RSS 2.0 and Atom 1.0 Compared, July 2005; www.tbray.org/atom/RSS-and-Atom. F. Kart, L.E. Moser, and P.M. Melliar-Smith, Reliable Data Distribution and Consistent Data Replication Using the Atom Syndication Technology, Proc. Intl Conf. Internet Computing, CSREA Press, 2007, pp. 124130.
2. (b)
Figure 6. (a) The e-healthcare systems prescription grammar, and (b) an example of its use on a physicians handheld device.
3.
communication of information between heterogeneous platforms by making the information self-describing.4 Our distributed e-healthcare system uses Atom with additional infrastructure software to synchronize information on a desktop or server with the information on a handheld.5 This software lets physicians, nurses, and pharmacists view and update healthcare information when its offline.
4. 5.
major problem in healthcare today is that communication between the physician and the patient typically exists only within the physicians office: once the patient leaves the office, communication is very limited. However, monitoring the recovery progress is essential to good healthcare. This problem is even more severe for hospitals. A distributed e-healthcare system can help solve this conundrum. Medical monitoring devices worn by the patient, and frequent electronic communication between the patient and a nurse, can ensure that the prescribed treatment is being followed and that the patient is making good progress.
30
Firat Kart is a PhD candidate in electrical and computer engineering at the University of California, Santa Barbara. Contact him at [email protected]. Louise E. Moser is a professor in electrical and computer engineering at the University of California, Santa Barbara. Contact her at [email protected]. P. Michael Melliar-Smith is a professor in electrical and computer engineering at the University of California, Santa Barbara. Contact him at [email protected].
For further information on this or any other computing topic, please visit our Digital Library at http://www.computer.org/csdl.