You are on page 1of 5

HELP The Next Generation:

A new Client-Server Architecture


Stanley M. Huff, M.D.1,2, Peter J. Haug, M.D.1,2, Lane E. Stevens, M.S.2,
Robert C. Dupont3, T. Allan Pryor, PH.D.1,2
IDepartment of Medical Informatics, University of Utah
Salt Lake City, UT 84113
2lnformation Systems, Intermountain Health Care Inc.
Salt Lake City, UT 84111-1486
3Health Information Systems, 3M Health Care
Murray, UT 84157-0900
A new client-server based system which is centered around as needed to keep up with the changing functional
a lifetime data repository (LDR) is under construction. requirements. However, a new system is now being
The goal of the new system is to maintain the patient created (as a cooperative venture between IHC and 3M
centered decision support aspects of the existing HIELP* Health Information Systems) to meet the demands of a
system while providing an open architecture that supports changing social/political climate in the health care
faster application development and allows execution of environment and to take advantage of technological
applications to be distributed across many computers. advances in both hardware and software development. The
These goals are achieved by implementing the system new system is not just a recreation of the HELP system
with software components that are commercially available using new technology, but includes a whole new
or by adhering to national and international standards for philosophy of system architecture and approach. Before
software integration. Keys to successful integration describing the new system it is important to first outline
include the use of MS-DOS@, OS12# , and UNIX§ as some of the specific goals of the new design philosophy.
operating systems, Microsoft OLE 2.0 as a standard * Ambulatory care is playing an ever increasing role
interface to the clinical database, the use of TUXEDO as a in medical care and the outpatient environment
transactionlcommunication manager, and the use of provides many of the events and follow-up data that
ORACLEF RDBMS as the underlying database allow the determination of the long term outcomes
management system. of medical therapy.
* There is a need to integrate health plan coverage,
INTRODUCTION scheduling, billing, and referral services across both
The HELP system has been an important part of inpatient and outpatient facilities within an
patient care within Intermountain Health Care (IHC) for enterprise.
the past 20 years [1]. The system was designed with the * The increased complexity of protocol and alert logic
goal of improving patient care and reducing patient costs that the HELP system performs creates a need for
by using the computer as a patient-centered decision distributed processing.
support system integrated with the clinical care of the * Some compute intensive applications like voice
patient. The system was specifically designed to be used recognition and natural language processing tend to
by physicians, nurses, and other clinicians at the bedside overload our current system.
and at the nursing station for data entry, data analysis, and * The development of high performance/low-cost
display. The system has been very successful in meeting workstations makes distribution of processing
its goals for improving patient care, as well as facilitating feasible.
clinical research [2,3]. * A faster software development cycle that uses
Over the years the HELP system has evolved standard languages and software development tools
new programs, new data structures, and new terminology is a necessity in order to keep up with ever
increasing application needs.
* HELP is a registered trademark of 3M Corporation. * The need to incorporate increasing amounts of
@ MS-DOS, MS Windows, Windows NT, OLE, Word, textual information in the system, and the ability
Excel and Visual Basic are trademarks of Microsoft to do ad hoc queries based on word co-occurrence
Corporation. within a document.
# OS/2 and IBM are registered trademarks of * The need to enhance the HELP vocabulary (called
International Business Machines Corporation. PTXT for Pointer to TeXT), including the support
§ UNIX and TUXEDO are registered trademarks. of synonyms and homonyms, increased depth of the
¶ ORACLE is a registered trademark of Oracle hierarchy, support of multiple hierarchical views,
Corporation. and support of a more formal definition of how

271
atomic codes are combined to make meaningful
records in the database. Client
Modem database management systems provide Hardware:
levels of data integrity, security, and internal
consistency. It is desirable to use these tools as IBM PC, Mac, Unix WS
provided by commercial vendors rather than create Operating System:
and maintain these processes internally. OS2, Windows, Unix
In the midst of describing the requirements for Presentation Layer
the new system there are a set of fundamental design
considerations that were the foundation of the HELP GUI, Forms, Character, Pen-based
system and that continue to be valid today. The new
system incorporates these time tested assumptions. Business Logic Layer
Specifically, the new system is patient centered and Visual Basic, Visual C++, Power Builder
optimized for use by clinicians as an integrated part of OLE 2.0
direct patient care. This includes data entry at the point of
care. Secondly, we are convinced that the best and most
cost effective patient care requires the integration of alerts,
Communications Layer
protocols, and other decision support applications in the ATMI API
system. Thirdly, an essential component of the system is Tuxedo/WS
a well defined, comprehensive, coded patient database.
Finally, the system must provide for the administrative Communication TCP/IP
activities of patient care (scheduling, billing, data security, SNA
administrative decision support, etc.) along with the Protocols
LU6.2
patient care and clinical research aspects of the system. .

SYSTEM ARCHITECTURE
Server
Hardware:
The new system is currently under construction
and applies an open system approach [4] to the system RISC Server, Mini, Mainframe
architecture. The elements of the overall software Operating System:
architecture are diagrammed in Figure 1, and individual Unix, Gaurdian, Others
aspects of the system are described in the following
sections. Communications Layer
Client Environment ATMI API
The client part of the system has been left as Tuxedo
open as possible so that many application development
strategies can be employed. Clients may exist on an IBM Business Logic Layer
PC with Microsoft Windows or OS/2, a Macintosh9 or C,C++
a UNIX workstation. Three layers of sofLware participate
in the functions provided by a client: the application
presentation layer, the business logic layer, and the Database Layer
communication layer.
The presentation layer provides the actual ANSI SQL
interface to the user. It presents and collects data from the ORACLE RDBMS
user. This layer can be a GUI (Graphical User Interface),
forms based, character oriented, or pen-based. The Figure 1: A summary of the client and server software
business logic layer enforces presentation and collection layers.
rules and supports application specific logic and
navigation. Visual Basic was chosen as the language of TUXEDO, a commercially available UNIX-based
choice for our first applications but Visual C++ and
,
transaction manager [5] to provide this function. A
Power Builder are equally supported. component of TUXEDO called TUXEDO/WS resides on
The communication layer gives the client the the client while a matching counterpart of TUXEDO
ability to communicate with the transport component of resides in the server. The Application Program Interface
the system to request services. We have chosen (API) to TUXEDO is ATMI (Application Transaction
Manager Interface) which is a superset of the XATMI
standard [6]. XATMI is supported by the X/OPEN group
as one of three standard APIs for open systems.
q Macintosh is a registered trademark of Apple A further constraint placed on the communication
Computer, Inc. layer is a requirement that clients access the clinical

272
database using Microsoft Object Linking and Embedding requests for the same service, this layer allows multiple
(OLE 2.0) standard [7]. OLE 2.0 is an application inter- copies of the same server to respond to requests and then
operability standard that is being integrated into all distributes the requests appropriately.
Microsoft products, including operating systems (MS The business logic layer supports application
Windows and Windows NT), and applications (Word, specific logic and accesses the database. We have chosen
Excel, etc.). The goal of providing access to the clinical liC" and "C++" as the programming languages for the
database via OLE objects is two fold. First, the OLE business logic layer.
objects can be accessed by any OLE enabled application The final layer of the server architecture is the
such as Excel or Access. Secondly, since the database and database layer which includes the database files themselves
data transfer mechanisms are hidden from the application and an API to access the database. For the initial UNIX-
programmer, he/she can use the properties and methods of based servers the ORACLE RDBMS product has been
the OLE objects without worrying about changes to the selected. The API to ORACLE from the business logic
structure of the underlying database files. layer is ANSI standard SQL (Structured Query Language)
The first clients are applications that manage for most tables, while the "text database" capabilities of
clinical data in the outpatient setting. These applications ORACLE will be used for manipulation and retrieval of
are the most urgent since the current HELP system has a full-text documents in the remaining tables.
good set of programs for the hospital or inpatient setting. Some of the most important services provided by
Server Environment the UNIX-based servers are described below, along with a
Servers in the new system may exist on description of the structure of some of the tables that exist
mainframes, minicomputers, or UNIX-based RISC in the clinical database. Figure 2 depicts an example of
machines. Our initial servers are UNIX-based RISC how a working system might be configured and the types
machines. As in the client environment, the servers of clients and servers that exist in the system.
consist of three software layers: the communication layer, Security
the business logic layer, and the database layer. An essential aspect of the new architecture is
The communication layer in the server is preventing unauthorized persons from reading or
provided by TUXEDO and is the complementary part of modifying the clinical database. The security services are
the same product that was described for the client used by both clients and database servers to prevent
environment. The server part of TUXEDO provides two unauthorized access. Where possible these services are
important functions. First, it handles communication built on the underlying security capabilities of ORACLE.
protocol support for TCP/IP, SNA, LU6.2, etc. Second, The most important piece of the security system is the
it provides a transaction monitoring service. This service logon method which provides for positive identification of
maps a service request to the correct server and balances the user. The initial logon method provides for
the load among servers. With hundreds of concurrent authentication by eliciting a secret password from the

Client-Server Applications
Clients

5 Services
Figure 2: An example configuration of the system showing clients and servers attached to wide a area

network. Only one client per facility is shown, but there would typically be several clients facility.
per

There may be one or more services provided by a server depending on the load balancing requirements.

273
user. Following identification of the user, services are * Audit Information - several fields that are used in
invoked which indicate the functions and data tables that combination to create an audit trail of deletes and
the user can access. Multiple levels of security are modifications to records in the database.
provided, with the first phase of security allowing
restriction of access based on which data tables a user can The second part of the table is a single relational
read and modify. Future levels of security will be added as field of variable length that contains the actual clinical
the client applications become more sophisticated and data. The contents of this field are a packed PTXT string,
include restrictions based on columns within tables and on similar in structure to the current PTXT strings used in
values within columns. the HELP system.
Patient Identification The patient data table, with its fixed relational
A second essential part of the clinical database is portion and its packed PTXT string portion, is an
the Master Member Index (MMI). The goal of the MMI intermediate step in the further evolution of the structure
is to provide an index of all patients or members of the of the LDR. The exact next step is unknown, but two
health care enterprise. The MMI provides the following possible scenarios have been considered. The first option
services: would be to evolve to a truly relational form where all the
data is represented in normalized tables, possible table
* Establish an enterprise-wide member identifier that names would be Coagulation, Complete Blood Count,
crosses both inpatient and outpatient settings. Blood Chemistry, etc. A second option would be to
* Establish a context-specific member identifier for evolve to an Object Oriented Database (OODB). The
each location within an enterprise. innate structure of clinical data invites an object oriented
* Provide search capabilities that link a member with approach, but these systems are not yet as stable as
all records in the LDR. relational database platforms. The advantage of either of
* Provide storage of member demographic these models over the initial model described above is that
information. they could be manipulated and viewed by off-the-shelf
* Provide a log (audit trail) of changes to member software solutions.
names and demographic information. PTXT/Vocabulary/Data Dictionary
* Provide facilities to detect and merge duplicate One of the key elements in the new architecture
member records. is an object oriented structure for the clinical vocabulary
Patient Database (clinical data dictionary). The new capabilities are
Nearly all clinical data will initially be stored in implemented in a series of files that are too complex to
a single table, though this table will ultimately span more present in this overview article. Many of the
than one CPU. The table structure can be divided into characteristics of the vocabulary are inherited from PTXT,
two segments. The first portion of the table consists of but others are an adaptation of the Unified Medical
fields that identify the patient that the data belongs to and Language System (UMLS) Metathesaurus structures [8]
other fields that are used for indexing and managing the and still others are outgrowths of collaboration with the
data. Fields that are part of this fixed "header" section of Canon Group [9]. Besides encompassing the current
the table include: functionality of PTXT the new clinical data dictionary
provides for:
* Master Member Index Number - the unique identifier
of the patient within the enterprise. * Representation of synonyms and homonyms.
* Encounter Number - the unique identifier for a * Representation of atomic to molecular concept
patient encounter or visit at a specific location mappings.
within the enterprise. * Cross referencing of different medical encoding
* Event Identifier - a link to the clinical data systems.
dictionary that describes the structure and content of * Addition of site-specific terms for centrally defined
the data that is in the data portion of the record. concepts.
* Data Class. Type. and Field Code - a link to the * Multi-lingual representation of concepts.
first three parts of the PTXT codes that encode the * A place to record a definition for each concept.
data that is in the data portion of the record. * A "string dictionary" that defines the component
* Observation Date/rime - the date and time that the PT XT codes that can be legally combined into a
clinical observation was made. valid PTXT string (record).
* Store Date/Time - a system time stamp indicating * Multiple hierarchical views of a given concept.
when the data was stored in the database. * A semantic network for non-hierarchical concept
* Source of Information - indicates the user identifier relationships.
or internal process identifier of the person or * A link between selection lists used in client
process that recorded the clinical data. applications and the codes that are used to represent
the clinical data in the database.

274
* Mechanisms for auditing and managing changes In parallel with the activity taking place in the
made to the terms in the dictionary. hospitals, outpatient clinics and physicians offices within
Decision Support Services IHC will begin using MMI services for identifying
Alerting and execution of other decision support patients and the LDR for storage of ambulatory data. The
logic is supported from both the client and server outpatient activity will grow in volume as the available
environments. Application and context specific rules that outpatient applications grow in number and
require foreground execution will be accessed in the client sophistication.
via an OLE object. System wide types of alerts and logic In conclusion, we are optimistic about our new
will be executed by the database server in response to the architecture. However, its success is by no means
addition or modification of data in the database (i.e. data assured. Some potential problems include unacceptable
driven), or time driven based on elapsed time in the server. response time of the new more atomic database, downtime
or unreliability of the network servers, overload of the
DISCUSSION network due to greatly increased network traffic, and
We are not the first group to propose or build a problems orchestrating the interfaces between the many
client-server system for patient data management [10, 11]. commercial software packages that we are using. We
Indeed, due to the prevalence of low cost clinical hope to be able to report findings based on use of the new
workstations most new patient care applications could be architecture in the near future.
considered as client-server. What makes our experience
somewhat unique is that we are migrating to a new Reference
architecture from a well established and successful existing [1] Warner HR, Olmsted CM, Rutherford BD. HELP
system. The problems that this creates are much more - a program for medical decision making. Comput
difficult than creating a new system from scratch. A Biomed Res 1972;5:65-74.
major part of our design must include plans for moving [2] Kuperman GJ, Gardner RM, Pryor TA. HELP:
nearly 15 years of patient data from existing hardware and A Dynamic l-ospital Information System, Springer-
software to a new platform. Additionally, hundreds of Verlag, New York.
user applications that operate against the old database [3] Pryor TA. The HELP medical record system.
must also be rewritten. Since neither the data transfer nor M.D. Computing 1988; 5:22-33.
the application rewrites will happen instantaneously we [4] Zimmermann H. OSI reference model - the ISO model
have created a plan for coordinated use of both databases as of architecture for open systems interconnection. IEEE
work progresses. The migration plan is summarized Trans Commun 1980; 28:425-32.
below. [5] TUXEDO. Novell Inc., 122 East 1700 South, Provo,
When the new MMI services are completed, a Utah, 84606, USA.
central MMI database will be loaded with our past and [6] XATMI. Design Principles for Vendor-Independent
current patients and existing HELP system software will OLTP Applications. Tandem Computers, Cupertino,
be modified to access the central database for MMI California, 95014-2599, USA.
services instead of reading local files. A prerequisite for [7] Brockschmidt K. Inside OLE 2. Microsoft Press,
this change will be the reconciliation and merging of all Redmond, Washington.
duplicate patient identifiers. [8] Lindberg DAB, Humphreys BL, McCray AT. The
A second major transition will occur when the Unified Medical Language System. Methods of
clinical database services are available. At this point Information in Medicine 1993; 32:281-91.
clinical data from existing HELP systems will be loaded [9] Evans DA, Cimino JJ, Huff SM, Hersh WR.
into the new LDR. We currently have about 8 gigabytes Position statement: Toward a medical concept
of data that will need to be loaded. However, existing representation language. Jour Amer Med Inform Assoc
HELP systems in the hospitals will continue to operate 1994; In Press.
against their own local databases. The data drive [10] Van Mulligen EM, Timmers T, Van Bemmel JH. A
mechanism of the system will be used to cause any new new architecture for integration of heterogeneous software
data to be written to both the local HELP database and the components. Methods of Information in Medicine 1993;
new LDR. Because the data will exist redundantly in both 32:292-301.
databases, old HELP applications can continue to run [11] Chueh HC, Barnett GO. Client-server, distributed
while new versions are rewritten that access the new database strategies in a health-care record system for a
database directly. One reason that the packed PTXT homeless population. Jour Amer Med Inform Assoc 1994;
strings from the old system were retained in the new 1:186-98.
architecture was to allow new and old applications to more
easily coexist during what may be a rather long transition
period. Also, further research is needed to test that any
further evolution of the patient database can provide the
same hierarchical inferencing functions as the current
string structure while maintaining adequate performance.

275

You might also like