Applications of Mosaic in Health Care Delivery

K. Srinivas, K. Gopinath **, V. Jagannathan, R. Karinthi, Matthew Fuchs, Y.V. Reddy, George Almasi, Tad Davis

Department of Computer Science and Concurrent Engineering Research Center

West Virginia University

Morgantown, WV 26505

Email: {sriniv, gopi, juggy, raghu,fuchs, rar, almasi, tad}@cerc.wvu.edu

** Dept of Computer Science and Automation

Indian Insitute of Science, Bangalore, India

Abstract This paper describes our efforts in building a distributed, patient centered, health care informatics system called ARTEMIS ( Click Here for a Mockup Demo with Partially Live Data) . ARTEMIS is a collaborative effort of The Concurrent Engineering Research Center (CERC), Valley Health Systems, Inc. and Cabell Huntington Hospital. The focus of this NLM sponsored project to develop a Community Care Network (CCN)[2]. The CCN will demonstrate:

Introduction

The basic premise of this effort is that more affordable and effective health care can be achieved by applying computer technology to improve the collaboration among the diverse and distributed providers in the health care arena.

Our technology is based on the belief that information sharing, communication, and coordination are the crucial elements of any collaborative endeavor. In the health care domain, collaboration is the cooperative activities of health care providers aiming to deliver total and real-time care for their patients. Communication among providers and managed access to distributed patient records should enable health care providers to make informed decisions about their patients in a timely manner. Patients should have universal access to the services of any convenient provider, and providers should be able to use relevant information from even the last episode of care in the patient record. Such a patient-centered perspective is in keeping with the real mission of health care providers.

Since information sharing, communication and coordination crucial aspects of collaboration, we need support for doing these in a transparent manner. We not only need facilities that respond to a user request on a one-time basis (such as data base query response), but also facilities that scour the network for information or keep track of certain data over a period of time or provide automatic notification. The agent technologies are designed to provide these services and in this paper we outline specific agents relevant to patient-centered health care. With this mission, we have integrated various technology elements that facilitate collaboration with the goal of fielding it in several clinics of Valley Health Systems Inc. and the Cabell-Huntington Hospital.

ARTEMIS System Implementation

An initial implementation of the ARTEMIS [7] ( Click Here for a Mockup Demo with Partially Live Data) environment has been completed and it has the following distinguishing features:

This version of the system is currently being tested for a formal field trial by health care providers and is expected to be operational at two VHS clinics and the CHH hospital by April 1995.

Specialist Collaboration

One of the aspects of ARTEMIS ( Click Here for a Mockup Demo with Partially Live Data) is a system for computer-based collaboration of a primary care physician with a specialist. In our setting, the primary care physician is in a rural clinic, whereas a specialist is in a regional hospital. We are currently working with a radiologist and a perinatologist in our experiment.

The system we are building has the following capabilities:

Enabling Technologies for ARTEMIS

Information Sharing System (ISS) [6] for integrating heterogenous, distributed databases, the MONET[8] desktop conferencing system, the MIME compliant multimedia mail system together with Mosaic user-interface constitute the core enabling technologies for the ARTEMIS system.

Information Sharing System

Patient records may be stored in a variety of databases and they are transparently accessed and transported across systems using the CORBA standard for object exchange. Here we describe how such information sharing takes place. The information sharing subcomponent provides access to information in diverse format and systems. In order to effectively to deal with heterogenous legacy environments, there is critical need to be able to interoperate. The specific requirement is to be able to communicate to these diverse repositories in some standardized ways. In earlier version of this system, we adopted our own implementations of a uniform way to interface to different servers running on different machines. In this current version we have adopted the CORBA specification for server level interoperability. We are also supporting the http-protocol as a mechanism to support client-level interoperability.

Architecture for information sharing

Figure above highlights the various components associated with our information server for our health care application. The various components associated with this figure are explained below.

Interface Manager

This module is responsible for interfacing with the Mosaic-compliant client on one side and the CORBA-compliant server on the other side. The following are the responsibilities of this module: Logins are handled by this module by validating the user name and password using standard Unix mechanisms. [we can also kerborize this process - need to understand the ramification of this on all the servers of the system] The URL translation process are handled by a combination of state information sent with the URL (i.e. session information), the type of document requested (i.e. flowsheet, POPRAS form, referral form), the layout page associated with the document type, and queries to information servers. The Interface Manager is stateless and can handle multiple simultaneous queries from multiple users. Sample layout page information shown below where the information in square parenthesis are commands that are interpreted by this module as calls to the information servers.

	<A NAME=top>
	<PRE>
	<H2>[SELECT firstname, middlename, lastname FROM demographics 
		where patientid =%pid%] Chart</H2>

Session Manager

The Session Manager instantiates a new session for each user who logs into the system. This process involves instantiating a specific set of gateways (such as Oracle gateway and file archiver), setting up sessions to these as the user who has just logged in and instantiating models (see next section) which interface to these gateways. The session manager is also responsible for closing these connections at the time of logout or close these connections using a time-out mechanism.

Gateways

The gateways are Orbix servers that interface to information repositories. The gateways have standardized interfaces but their implementations vary depending on the type of repository they are connected to.

Models

There are a collection of user defined models that specify what types of information that needs to be served by the system. These models could be specific, like for example flow sheet is a specific type of model that is needed in the ARTEMIS project, or they could be a little more generic (an example here would be the gateways to Oracle and File Repositories). This version of ISS will have to provide an implementation of these models which function analogous to the mapping in earlier versions. That is, in the case of say the Flowsheet model, a C++ implementation of how to instantiate this flowsheet for a patient given who is trying to access it must be provided.

Meeting On the NETwork (MONET)

MONET is a multimedia desktop conferencing system which facilitates colocation and cooperation among geographically-dispersed people ( the virtual team)in a networked environment. The collocation of people is achieved by providing effective communication mechanisms using multiple-media including audio, video and graphics. In addition, many application programs, such as X-ray, Ultrasound viewers can be shared over the network using the COoperative Multiuser Interface to X-window applications (COMIX) component of MONET. Efficient audio and video data communication is enabled by using the multicast protocols.

Future Extensions

Future directions for the ARTEMIS system include

Value-added Agents for ARTEMIS

We are currently investigating various extensions to the above environment based on agent technologies. The health care domain presents a large number of interesting operations that can be supported by these emerging technologies. We have identified several kinds of agents that provide value-added services on top of our ARTEMIS environment.

We define agents[3,4] as (semi-)autonomous, goal-directed software objects. Agents are preferrably programmable by the end user. The agent definition is deliberately broad, so as not to restrict agents only to certain kinds of tasks or to certain implementations. Programs can dispatch their own agents as necessary. The primary difference between agents for humans and agents for software is in the nature of the agents public interface. We restrict agents to software.

Some of the generic agents we have identified include:

Monitoring agents

These agents in general are entrusted with monitoring certain parameters and goals as well as notifying someone when appropriate. Such monitoring is a fundamental aspect of any coordination mechanism. Our earlier implementation of these concepts in the engineering domain was based on blackboard models and triggers in a Project Coordination Board (PCB). For extending ARTEMIS, the following monitor agents have been identified:

Prioritization Agents

These agents will be responsible for sorting a list of action items using a priority. Specific examples of such agents in ARTEMIS are:

Scheduling agents

Scheduling agents are one of the most studied agents in the Distributed Artificial Intelligence (DAI) literature. In ARTEMIS, we can envision a variety of agents to support scheduling

Filing agents

New pieces of information are constantly presented to the system from multiple geographically distinct locations. In ARTEMIS, this is currently handled by Mosaic-based input forms which are custom crafted for specific types of information but transparently stored so as to be accessible over the community care network. However, agents could be trained to properly route this information in the network.

Information access agents

Combining several autonomous organizations into a single network means that information is dispersed throughout the network, possibly in different formats. Ad hoc queries become difficult to manage. Agents can function as intermediaries between users and the information in the network.

Agent Implementation

Implementing the variety of agents we desire for the health care arena requires coordinating several different technologies in a distributed environment. Legacy code and local host resources will be accessible through CORBA/IDL interfaces. Distributed coordination and agents will be implemented in Dreme. User interfaces and other structured information (such as multi-media mail) will be specified using SGML, although the display may continue to use some other technology, such as Mosaic. We will discuss the role of each of these in turn.

The Common Object Request Broker Architecture (CORBA)is an industry standard for providing location and language independent method invocation for objects. Once an object is registered with an Object Request Broker (ORB), it can be accessed by other objects, even if those objects reside on another node of the network, or are implemented in another language. The Interface Description Language (IDL) provides a language independent means of describing object interfaces.

Dreme [1] is a distributed superset of the Scheme programming language in which all first-class language objects are mobile in the network. Although a Dreme application can dynamically reconfigure itself, or send new pieces to remote sites on the network, correct communication among the parts is maintained through Scheme's lexical scoping rules. Dreme can support a variety of programming paradigms, including agents, client/server and peer-to-peer. In particular, Dreme can support applications that seamlessly combine both agent and other styles. For example, an application (such as a multimedia conference call) can embed parts of itself in smart agents which move around the network locating an appropriate set of resources, after which the distributed elements of the application function on those nodes in a more traditional manner. Mobile Dreme objects in the health-care network can communicate with local resources through IDL interfaces.

A primary function of agents is the intelligent analysis of information so that it can be filtered, manipulated, or reformatted for the end user. Agents need access to the underlying structure of the information; if this is not provided it must be derived by the agent. The SGML standard can be viewed as a meta-language to describe markup languages for specific types of information (normally called documents, but SGML can be applied to a much larger variety of structured bit vectors). HTML and HTML+, used by the World Wide Web (WWW), are examples of SGML-compliant languages.

A key insight from the development of SGML is that no single set of markup is sufficient for all information. Information converted to a single markup language, such as HTML, has lost its original semantic structure. SGML provides a standard way for describing the information agents will need to access and a standard way for them to manipulate it, even though that information may be transformed into HTML or Postscript for display. The more the information is structured, the more we can relieve the burden of document analysis from the agent.

An Example

Consider the case-worker support agent which must undertake a complex series of actions across the network.

A monitor agent sits and waits for a scheduled visit. As it approaches, it may contact the case worker to schedule a reminder call. Once the scheduled time passes, the agent must examine the sites in the network to determine if the appointment has been kept, as the patient might visit any of the clinics. This can be done by sending sub-agents to each of the sites. If no visit occurred, then a phone call must be arranged. The monitoring agent contacts the case worker's scheduling agent, as well as dispatching another agent to create a patient dossier on the fly. Since the dossier will have a standard structure, the caseworker's scheduler can analyze and prioritize them. Finally, a user interface agent, customized by the case-worker, can take this dossier and turn it into personalized multimedia mail or hypertext. Part of the scheduler's function is to keep track of the case-worker and send him or her the necessary information whether at the hospital, at a clinic, or with a patient.

In this scenario, the agents are all programmed in Dreme; the databases, email systems and user interfaces are all accessed through CORBA interfaces; and the information to be displayed is defined in SGML to facilitate its manipulation by agents.

Enhancements to Mosaic

We are also investigating the following enhancements to Mosaic:

Conclusions

The ARTEMIS ( Click Here for a Mockup Demo with Partially Live Data) project expects to deliver a real improvement in the quality of rural health care through the application of collaboration technology. Agents, in turn, promise to greatly enhance the utility of ARTEMIS, and thereby enhance the quality of care provided to patients. CERC has developed an environment which uses Mosaic as a vehicle to address client-end interoperability and CORBA specifications and tools to address server-end interoperability. Health care providers can access patient-information from distributed sources and can deal with correspondences between health care providers through a http-complaint client. The system is undergoing testing now and is scheduled for field trials in April 95. For a mockup of the types of information that will be made available through the Mosaic interface please check http://www.cerc.wvu.edu/.

References

  1. M.Fuchs, DREME: for Life on the Net , Ph.D. Thesis, New York University, 1995, Preliminary version available from the author.
  2. V. Jagannathan, C. Gollapudy, R. Karinthi, K. Srinivas, R. Reddy and S. Reddy, Architectural Alternatives for Communicty Care Networks,Proceedings of the Third Workshop on Enabling Technologies:Infrastructure for Collaborative Enterprises, IEEE Computer Society Press,1994.
  3. P. Maes, Agents that Reduce Work and Informations Overload , Communications of the ACM, Vol.37, No. 7, 1994.
  4. O. Etzioni and D. Weld, A Softbot-Based Interface to the Internet , Communications of the ACM, Vol. 37, No. 7, 1994.
  5. The Common Object Request Broker: Architecture and Specification , Object Management Group, 1991.
  6. V. Jagannathan, R. Karinthi, G. Almasi and M. Sobolewski Model Based Information Access, International Journal of Intelligent and Cooperative Information Systems (IJICIS) Volume 3, Number 2, June 1994 pp 107-127.
  7. R.Reddy, V. Jagannathan, K. Srinivas, R. Karinthi, S.M.Reddy,C.Gollapudy and S.Friedman, ARTEMIS: A Research Testbed for Collaborative Health Care Informatics, Proceedings of the Second Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, April 1993, IEEE Computer Society Press.
  8. Srinivas, K., Reddy, Y.V., Chang, L., Babadi, A., Kamana, S., Dai, Z. and Kumar, V MONET: A Multimedia Conferencing System for Collocating People and Programs. Proceedings of the CALS & CE Third National Conference on Concurrent Engineering, Washington, D.C. pp 433-441, 1991.

Vitae

K. Srinivas , is the principal developer of the Meeting-on-the-Net (MONET) software system which will play a central role in this project. Srinivas obtained his BSEE (with distinction) from Bangalore University, India, MSEE from Indian Institute of Technology, Kanpur and Ph.D. in Computer Science from New Mexico State University. Since Fall 1990, he has been an assistant professor of Computer Science at West Virginia University and leads the multimedia conferencing (MONET) effort at the Concurrent Engineering Research Center. Dr. Srinivas has been working on this distributed conferencing system for three years under the DICE contract. Srinivas has also been involved with the ARTEMIS project since its inception. His research interests are in Multimedia Conferencing and Parallel & Distributed Processing. He has authored and co-authored approximately 30 refereed papers in confer ences, journals and books. Srinivas was awarded the centennial young researcher award from New Mexico State University, the IJCAI-89 travel grant, was an invited participant to the NSF Summer School on Parallel Processing. He was also a guest editor of IEEE Computer for the special issue on Computer Support for Concurrent Engineering.

Dr. K. Gopinath obtained his B.Tech. from IIT-Madras and MS in Computer Science from Univ. of Wisconsin. After working at Advanced Micro Devices for two years, he joined Stanford Univ. for a PhD which he obtained in 1988. After a brief stint as a PostDoc at Stanford, he joined Indian Institute of Science as an Asst. Prof. in 1990. He was also a consultant for Sun Microsystems part of the time during 1990-91.

V. "Juggy" Jagannathan , is an Associate Professor of Computer Science and a Senior Member of Technical Staff at CERC. He has directed and participated in research applications of advanced technology in Bell Labs, University of Louisville, Boeing Advanced Technology Center, Cimflex Teknowledge and CERC. He has focussed on the development of collaboration technology in DICE and directed the effort in developing the Information Sharing System, at CERC. He is widely known for his work on blackboard systems and distributed AI and has edited a book on blackboard systems through Academic Press in 1989. He was a guest editor of IEEE Computer for the special issue on Computer Support for Concurrent Engineering which appeared in January 1993. Dr. Jagannathan obtained a Ph.D. in Electrical Engineering from Vanderbilt University in 1981.

R. Karinthi , is an Assistant Professor in the Department of Statistics and Computer Science and the Concurrent Engineering Research Center (CERC) at the West Virginia University, Morgantown, WV. At CERC, he leads a sub task in the ARTEMIS project dealing with modeling of multimedia patient records. For the past two years he has been working on a project relating to integrating heterogeneous information repositories which is part of the DICE collaborative environment. His current research interests include medical informatics, computer graphics, multimedia information systems and collaborative environ- ments. Raghu Karinthi received his bachelors degree in Electrical Engineering in 1984 from the Indian Institute of Technology (IIT), Madras, India. He received his MS and Ph.D. degrees in Computer Science from the University of Maryland at College Park, 1988 and 1990, respectively. He has over 25 papers in refereed conferences and journals.

Matthew Fuchs is a Member of Technical Staff at the Concurrent Enginreering Research Center at West Virginia University. He is expecting his Ph.D. in Computer Science from New York University (NYU) in 1995. Mr. Fuchs' dissertation work extends the fields of mobile distributed computing, distributed multi-user interfaces, and platform independent user interfaces. Mr. Fuchs has developed Dreme, a distributed extension of Scheme in which all first-class language objects are mobile on the Internet, and has demonstrated its utility in developing multi-user applications, distributed systems, and mobile agents. The need for agents to communicate with users across the network led to the development of a platform indpendent user interface description language which agents can use to communicate with local users regardless of host type. The combination of technologies will enable the development of spontaneous collaboration and more sophisticated network browsers.

Ramana Reddy , is a Professor of Computer Science and the Director of the Concurrent Engineering Research Center. He has managed over $50M in sponsored research from both, the Federal Government as well as industry. As Principal Investigator and Chief Designer of the DICE Architecture he has demonstrated leadership skills in dealing with large scale projects spanning multiple organizations. His current principal project, ARTEMIS (Advanced Research Testbed for Medical Informatics, sponsored by ARPA) is directly related to the proposed project. Professor Reddy pioneered the development of Knowledge Based Simulation (while at Carnegie Mellon University), a field which has gained considerable following. Professor Reddy has authored numerous papers on applications of Artificial Intelligence, Concurrent Engineering and computer technologies for collaboration. He was a keynote/plenary speaker at many international conferences.

George Almasi is a Member of Technical Staff at the Concurrent Enginreering Research Center at West Virginia University. His Masters Degree thesis, defended in 1993 at WVU, deals with the Information Sharing System, a heterogeneous distributed database management system. His current area of interest is in interoperability in general and CORBA in particular. He also has a Masters degree in Electrical Engineering, obtained in Cluj, Romania in 1991. Tad Davis is a Member of Technical Staff at the Concurrent Enginreering Research Center at West Virginia University. He obtained his masters' degree in computer science from West Virginia University. Mr. Tad Davis has extensive experience in Object Oriented and User Interface technologies. Prior to joining CERC Mr. Davis was employed at Bell Atlantic Software Systems.

Concurrent Engineering Research Center
West Virginia University
886 Chestnut Ridge Rd.
P.O. Box 6506
Morgantown WV 26506-6506
Phone: 1-304-293-7226
Fax: 1-304-293-7541