Object-Oriented Architectures for High-Speed Distributed Medical Imaging

The work described on this page has been conducted as part of research with Siemens Medical Engineering in Erlangen, Germany, as well as Project Spectrum at the Electronic Radiology Laboratory (ERL) at Washington University School of Medicine and BJC Health System, in collaboration with the industrial partners IBM/ISSC, Kodak Health Imaging Systems, and Southwestern Bell Corporation.

The primary objective of Project Spectrum is to link the stand-alone heterogeneous computer systems of 18 acute care facilities and over 5,500 physicians in the BJC system into a single integrated network. Key system requirements are to support seamless electronic access to clinical expertise from any point in the system. Other requirements call for immediate, online access to information via advanced clinical workstations attached to high-speed networks, teleradiology and remote consultation capabilities, and practice management support tools.


High-Performance Object-Oriented Distributed Medical Imaging

My research group at Washington University is developing various OO tools and design techniques (including ACE) to develop OO architectures for a high-performance medical imaging system for transporting X-ray images across high-speed ATM LANs and WANs.

The following papers discuss various aspects of our work on distributed electronic medical imaging systems.


Event Filtering

The technical issues associated with developing and managing the BJC Health System are representative of a challenging class of research problems for managing the high volume of events throughout a complex organization. Primary among these challenges is the need to automate mechanisms for monitoring, classifying, and coordinating events to increase the availability and accessibility of personnel. Given the broad scope and geographical separation of BJC facilities, the distributed information system must provide flexible and scalable systemwide support for event-based notification to ensure key human resources are deployed effectively. In a health care delivery system, the speed and appropriateness of decision making is critical. Furthermore, in a large-scale distributed health system, the large number of personnel render traditional mechanisms for event flow management ineffective.

We are planning to achieve automation and scalable event management by a combination of active "agents" and reactive "filters." Agents are active objects created in a distributed system to perform complex coordination tasks on behalf of applications or users (known as event "consumers"). Filters are reactive objects that monitor and classify event flow within a distributed system.

Agents and filters are well suited for conveying information to doctors, staff, and patients in a timely manner, as well as attracting attention to unexpected circumstances that must be handled immediately. Many tasks that are performed manually in the current BJC information system can be offloaded to agents and filters. For instance, doctors, staff, patients, or researchers at BJC can specify personal agents that embody their preferences for handling various types of events (such as pager or telephone alerts, clinical appointments, night-call cross-coverage, vacation cross-coverage, patient waiting, clinical emergencies, critical values, emerging trends, or schedule conflicts). Filters are designed to reduce the volume of traffic required to monitor, classify, and deliver events to consumers.

There are two general classes of agents in a distributed heath care system: patient-specific agents and population-based agents. These agents can be configures to perform various services such as monitoring for life-threatening critical values, inappropriate use of drugs such as antibiotics or narcotics, and access to digitial libraries for patient-specific diagnostic and therapeutic decisions. These agents can be configured to perform various services such as monitoring for quality problems involving the misuse of narcotics or antibiotics, navigating digital libraries to locate relevant literature. In addition, personal agents may perform tasks on behalf of end users such as scheduling and planning activities. Population-based agents are programmed to detect events of interest for medical epidemiology (such as correlating events that suggest medical anomalies across a cohort of similar patients or a population at risk). Population-based physician services might process utilization review events, quality events, emerging disease trends, and new disease detection such as the appearance of newly resistance bacteriological organisms.

To perform their tasks, agents may interact with many other agents that embody different ways of accessing and notifying other event consumers. Thus, a large collection of agents organized as a complex interacting "community" of distributed tasks will constantly monitor and detect events of interest. However, using agents alone will not scale since the basic algorithm for monitoring, classifying, and coordinating multiple event flows grows in proportion to the number of consumers interested in being notified when certain events occur.

Our research on agents will provide scalability via flexible, high-performance event filtering mechanisms. Filters may be placed strategically within agents to direct events of interest to event consumers throughout a distributed system, including other agents. Thus, multiple agents and filters can be composed and/or arranged hierarchically to enhance the scalability of event notification in a large-scale distributed system. Furthermore, agents and filters can be restructured rapidly to accommodate the dynamically changing information capture requirements of event consumers.


Back to Douglas C. Schmidt's home page.

Last modified 11:34:42 CDT 28 September 2006