Perceptions --- An Implementation of a Medical Information Support Environment with Freely Distributable Software

Dr. G.W. Wettstein Ph.D., Dr. Paul S.Etzell M.D.
Oncology Research Division Computing Facility
Roger Maris Cancer Center, Fargo, ND

ABSTRACT: This paper describes the construction of a medical information support environment with the exclusive use of freely distributable software. This support platform is currently in daily use and critical to the functioning of the Roger Maris Cancer Center.
Discussion begins with a description of the organizational structure in which this free software solution is deployed. Included in this discussion is the rationale for the deployment of this environment. Flowing from this discussion is a study of the intended goals for the support environment. Discussion concludes with the strategy for the design and important principles followed during the implementation phase.
An extensive discussion of the the implementation of Perceptions is then pursued. An initial consideration of the hardware environment is first provided. A description of the operating system environment constructed exclusively from freely distributable sources follows. The information transport framework which is centrally important to the function of Perceptions is then considered. This is followed by a review and description of the actual data and software structures, designed from freely distributable components that are employed in the construction of the information support system.
The paper then enters a discussion of the rationale for the design strategies and how these strategies influenced the implementation. Central to this discussion is the importance of a solution based on open-standards and freely distributable software. The paper concludes with a consideration of the impact that this platform has had on the both the cancer center and its implications for focusing information processing resources.

Organizational Structure

The Roger Maris Cancer Center is a regional cancer care facility which provides advanced health service support to approximately 1600 new patients each year. The primary diseases handled by the center are those involving neoplastic (cancer) and hematologic (blood disorder) conditions.

The cancer center is a distinct service line of the MeritCare Medical Group which is a large regional multi-specialty clinic with an attached hospital. In addition to the central facility the MeritCare organization has 30 regional facilities located in Northwestern Minnesota and throughout central and east-central North Dakota. A total of 302 physicians practice in the group supported by a staff of approximately 4500.

The Roger Maris Cancer Center is currently entering its 6th year of operation. A total of six medical oncologists (cancer specialists), three radiation oncologists, one pediatric oncologist, one Ph.D. level psychologist, a family practitioner and two physician assistants are supported by a staff of approximately 100 cancer care support specialists. As a service line the cancer center possesses its own corporate entity and supervises management of both outpatient and inpatient services. Management of both service areas is a unique feature of the management structure not shared by other comprehensive cancer care facilities.

Operating within the governance structure of the MeritCare Medical group the cancer center has autonomy for operational and management issues including strategic focus. Guidance is provided through a multi-disciplinary management team led by executive director Mrs. Phyllis Hummel and medical director Dr. Paul Etzell.


The business plan for the Cancer Center was formulated in 1988. This plan called for a service line oriented approach to be followed for the development of cancer care services. This approach was predicated on the theory that an optimum health care delivery system is best developed by bringing together specialists from diverse backgrounds incorporating varied skill sets. The rationale for this approach is that synergy obtained from this admixture would bring about an environment that would develop care strategies that were both innovative and cost-effective.

A major component in the evolving business unit strategy was the development of an information support system for the practitioners being brought together. Care of cancer patients is essentially a study in the collection, organization and interpretation of clinical information. Effective outcomes in the field are thus dependent on the development of systems which can effectively and efficiently meet the information needs of oncologists (cancer specialists) and their support personnel such as nurses and pharmacists.

In addition to the goal of increasing the efficiency of cancer care providers a second objective was to increase the business efficiency of the service-line unit. Guiding the development team was a view of the future which recognized the inevitable impact of escalating health care costs. The team recognized that the societal impact of soaring health care costs would be the imposition of managed care environments. A managed care environment is a contractual arrangement with insurance providers which impose limits on what vendors of medical services will be paid for specific disease conditions.

Oncology care is highly resource intensive both in terms of personnel time and of advanced medical technologies. This resource intensiveness drives the cost of cancer care delivery. It was felt that these conditions would make the business enterprise unit extremely susceptible to contractual limits on health care expenditures.

Survival in this environment would mandate business management decisions that would optimize health care delivery outcomes while reducing associated costs. Pivotal to this survival would be an information system that would provide support for both management and clinicians. The goal of Perceptions in this area would be to increase the efficiency of the health providers and thus decrease the cost of service delivery. Additional support would be provided by delivering information which would help management assess costs and develop cost containment strategies for managed care environments.

In order to meet these diverse and demanding goals of the oncology service line, the practice support environment had to be designed to provide a total information portrait of the patient. The desire to meet this goal drove the naming of the information service project to Perceptions. The focus of the development effort would be directed toward providing a single unified interface for generating, storing and accessing patient information.

The goal of Perceptions was thus fixed toward deploying an information processing solution that would define a unified information access point at the desktop or workstation level. The desire was to avoid generic enterprise wide solutions which were considered too inflexible to meet the needs of the cancer care providers. The objective of Perceptions would be to not only provide a single access point, but to provide an access point which was customizable to the needs of the health care providers being serviced by an information access node.

Design Strategy

At the time of inception of the information processing plan there were no viable commercial alternatives which would meet the specialized information processing needs of the cancer center. A decision was made by the development team to build a platform on which to deploy the software necessary to produce the desired information portrait. The focus would be on developing and deploying an inter-operable information processing platform on which needed information management tools would be built.

This was a fundamentally important decision in the design process and was heavily influenced by experiences with UNIX-like development environments. The rational for this decision was to insure that the resulting information processing platform was capable of being rapidly adapted as the information management needs of the business unit changed. The goal was to avoid a monolithic software outcome in favor of discrete medical information management tools that could be admixed and combined to realize advantages of both synergy and re-usability.

The following principles were developed to lead the design:



Perceptions is currently supported by 30 workstations which are all based on INTEL iapx-86 technology. Current vending specifications call for the following basic workstation configuration: The above hardware configuration has been chosen to provide a good price/performance ratio for supporting a stand-alone workstation with software hosted on the X-window display system. Widespread use of pentium processor based machines has been avoided at this time.

A retrofit and redesign operation has been completed to bring older 80386 based workstations up to adequate performance levels. This involves substituting 80386-based motherboards with 80486dx2-66 motherboards. In addition to motherboard upgrades the video systems were enhanced to use accelerated video cards. Phase II of the retrofit operation calls for upgrading of all monitors to 17 inch systems capable of producing ergonomically sound displays at resolutions of 1024x768 with a minimum of 16 bit color depths.

A second upgrade is contemplated to bring a large number of intermediate grade workstations based on 80486dx2-50 processors with 8 megabyte memory configurations up to 16 megabytes of memory. This upgrade is of strategic importance in order to maintain adequate performance levels under a graphical user interface environment. Phase II of this upgrade also calls for generalized monitor upgrades.

The initial complement of workstations were interconnected through the use of the existing wiring plant. This was accomplished by using digital transmission provided by the corporate phone switch. Data modules very similar to analog modems provided connections at 9.6Kbps. All nodes that were interconnected by this system were located at strategically important work locations. For this reason the digital system is still maintained as a backup to the network backbone. Large volumes of low-priority UUCP traffic are still carried over this system, primarily to maintain operational integrity.

The networking medium chosen for this implementation is 10Mbps ethernet. Class 5 twisted pair was initially chosen and remains the wiring standard. All wiring is brought to a central communications room and interconnected through 8 port ethernet concentrators. This configuration has allowed the network to be built in an incremental fashion. A total system fanout capacity of 56 nodes has not proven to be a limiting factor at this time. This wiring plant also serves to support one ethernet capable laser printer which handles high volume printing. One node of the concentrator is dedicated to a Token Ring-Ethernet router which provides connectivity between the cancer center network and the corporate information backbone.

Two workstations serve as communications servers providing connectivity for remote dial-up access and for non-network based connections to corporate information servers. Dial-up access to the center is provided by a four modem bank supporting two 14.4kbps and two 28.8kbps data/fax/voice connections. Remote access networking capability is provided via PPP connections to the network. One server functions as a router/firewall and supports a dedicated 28.8kbps connection to a local INTERNET provider. The second server is configured to provide backup operation in the event of primary server failure.

One of the two communication servers supports a six port multiplexor which provides six RS-232 based connections to one corporate mainframe. The second server also provides asynchronous RS-232 connections to the second corporate mainframe via a 32 channel fiber optic multiplexor. These connections are used primarily to support robotic interrogations of data repositories maintained on the corporate mainframes.

The existing wiring plant provided five asynchronous RS-232 communication lines to a Prime minicomputer which supports the corporate clinical laboratory system. Access to this legacy system had been through vt100 terminals and stand-alone computers running vt100 terminal emulator software. These devices were removed and their duties assumed by workstations hosting the Perceptions software. Access to the laboratory system is now carried out by robotic interrogators which may be dispatched from any one of the network workstations thereby leveraging this limited connectivity resource.

Operating Environment

The operating system environment chosen to host the Perceptions project is essentially a Linux-based GNU system. The operating system and all system support utilities are based entirely on freely distributable software. The implementation has no current functional dependencies on commercial or proprietary software sources. The one exception to this is single-task operating system support under the DOSEMU emulation environment. This is required for strategic users to gain access to corporate electronic mail accounts. This dependency will be removed when corporate MIS (Management Information Services) completes an SMTP (Simple Mail Transport Protocol) gateway installation.

Very early implementations of the software system were carried out under a UNIX-like operating system marketed by the Santa Cruz Operation (SCO). The primary and immediate deficiency in this platform base was lack of support for an implementation of the Berkeley socket interface API and reliable TCP/IP networking. The design principles of an open system API and peer-to-peer networking mandated support for both of these components.

Early information support nodes were deployed using the commercial operating system at critical locations in the center. Initial installation sites were in the development office, pharmacy, reception area and the medical oncology treatment area.

The design team began experimenting with version 0.95a of Linux. At this time Linux did not possess the needed networking or socket API layers but its open development effort was considered to be an extremely positive factor. Early experience with INTERNET based support and the open development environment it engendered provided assurance that this operating system would rapidly evolve in a manner which would be positive to the development of Perceptions.

The first live environment deployment of the Linux operating system occurred with version 0.96c of the kernel. At this time the core installations were carrying out communications exclusively with asynchronous RS-232 based methods through the digital component of the PBX. The 0.96c kernel version was the first release which was able to reliably withstand a UUCICO transaction.

This was an important strategic development for the information project. Initial deployment of the software at strategic locations had already induced users from other areas in the cancer center to initiate requests for information nodes to be located in their areas. At this time the cost per node for the commercial operating system alternative was close to that of the actual hardware node costs. Using a freely distributable product made additional deployments financially feasible.

A complete operating environment also required a utility environment. Development focused on producing a complete package which included not only the operating kernel but a complete set of support and communication tools. The basic tools came from the GNU file, text and shell utilities packages. The command shell was BASH, the GNU implementation of the classic Bourne shell. The Taylor UUCP package was used as the basic inter-machine communication package. All utilities were compiled and prepared locally with GNU implementations of Make, GCC and the binary development utilities. Additional utilities as needed were ported from freely distributable sources, the most common being the BSD (Berkeley Software Development) effort.

In order to manage the ongoing development of the environment it became necessary to develop a packaging utility. The goal was to manage all the utility and support programs as a series of modules which could be installed, removed and updated as need dictated. Each module was designed to be more or less independent of the other modules and focus on a particular application or category of application such as the X-window display system. The packaging utility would carry out basic support functions such as listing of installed modules, module installation, module removal and verification of an installed module.

The goal was to provide a general system maintenance utility that would function under a minimalistic system environment. The utility written in Bourne Shell script was named StopAlop and placed into free distribution under the terms of the GNU license. It is used to manage all components of the Linux-based GNU system which support Perceptions and the cancer center.

Information Transport Framework

The information support environment is based on a networking standard of TCP/IP which is used to establish peer-to-peer connections between the Perception information nodes. The enterprise information backbone which the the local network interacts with is based on Novell client-server technology. The router providing physical connectivity between the cancer center and the corporate backbone supports routing and interchange of both IP and IPX packet types.

Each workstation in the cancer center is configured for both IP and IPX packet communications. There is an increasing amount of TCP/IP based communications on the corporate information backbone as new systems are deployed which support TCP/IP as their communication standard. Support for both packet addressing standards provides the mechanism for integrating higher level applications with information hosts regardless of the networking standard employed by the host.

TCP/IP encapsulation with PPP is used as the methodology for network connections to machines located at physical locations other than the cancer center. These sites are primarily workstations located at regional centers and in physician homes. PPP allows seamless integration of these workstations into the Perceptions information sharing framework. This integration allows these nodes to function in a manner which appears to the user to be identical to on-site workstations.

The initial framework for information interchange and remote execution was based on tools from the UUCP suite of programs. The information support environment still uses this sub-system for large amounts of information transport and remote execution which are not time essential. Examples of functionality still maintained under this protocol suite are mail transport, database updates, machine mirror updates and robotic interrogation requests.


All databases used by Perceptions are physically implemented as flat ASCII files. Data fields are delimited with a tagging scheme in the line oriented records. This tagging scheme uses a field tag and a paired delimiter set to encapsulate the field data. This method was chosen to allow editing, update and repair of data files to be conducted with standard tools and editors.

Indexing of the data records are maintained in external adjunctive index files. The indexes are built using the GNU gdbm library suite. A requirement of the database design was that all files should contain the necessary information to rebuild the indexing system in the event of index failure.

Three primary classes of databases are implemented:

Patient demographic information consists of routine patient information defining who the patient is. This demographic information also is inclusive of insurance and financial information. These databases are dynamic in nature and components may change on a day to day basis.

The treatment and clinical profile databases are more static in nature. They consist of data describing the past clinical status of the patient and what type of treatment or care has been given to the patient. These databases are extremely important for defining the clinical portrait of the patient but once committed are not subject to change.

External data repositories are databases maintained by the corporate medical group and are external to the control of the Perceptions information support environment. They may be either dynamic or static in nature depending on their components. The corporate information backbone is heterogeneous in nature so access to these information sources has multi-platform dependencies.

One of the initiating factors of the Perceptions project was to provide a unified access point for all pertinent patient information. This fundamental design tenant demands that Perceptions provide seamless integration to these external repositories. Access to these heterogeneous databases are carried out via software agents known as interrogatory robots within the design framework of the information support platform.

These agents encapsulate all access knowledge to external data sources and are typically implemented as separate programs. These programs are designed as filters so that their output can be manipulated with standard tools. This allows information delivery from the external databases to be easily manipulated depending on the needs of the application requesting data.

The peer-to-peer mandate in the design principles requires that the information system implement true multi-host database concurrency of both dynamic and static databases. The static databases are sometimes referred to a single host modified databases. Information generated for these databases is typically initiated by a single workstation and only needs to be propagated to all other nodes in the information framework. UUCP based transport and remote execution are used to initiate the database updates across the network. External transport mechanisms takes these records off-site to the remote facilities on an hourly basis.

The problems associated with dynamic databases are more troublesome in that they require attention to locking and concurrency issues. The problems associated with parallel database concurrency remains an area of ongoing investigation. Two essential techniques currently under study and use are logical section locking and time-stamp updates with collision detection.

Logical section locking involves partitioning the physical network into logical units. Each of the workstations in a logical unit are related by nature of the service provided by their users. Examples of logical groups within the center are medical oncology, reception, research and radiation oncology. Each logical section has one workstation which is defined as a group leader. It is the responsibility of this leader to coordinate database locking for the members of its group. The section leaders form a supervisory group for the purpose of coordinating database locking for the system.

This logical section locking attempts to reduce the amount of time required to obtain a lock on a particular element of a database. When a user desires to modify a dynamic record element the workstation being used signals the section leader that a lock is desired on a designated database element. The section leader raises a database and item specific lock. The existence of this lock precludes any other workstations within the logical group from obtaining a lock on this element. The section leaders poll each other before issuing a lock to a requesting workstation so the presence of the lock prevents other logical groups from modifying this element as well.

The scheme of time-stamp updates is used primarily as a backup mechanism and to allow remote sites to perform database updates without contacting a sectional lock leader. If a workstation cannot obtain a lock because of either network failure or location site the update is allowed to proceed with only local commitment. An update record identifying the database and the element modified is generated and queued for propagation when conditions permit.

The update records are propagated to all workstations either at the next update interval or when communications are reestablished. The update utilities compare the previous value in the update record with the previous value in the database. If a collision or inconsistency is detected a message is transmitted to a designated database supervisor requesting the need for manual collision arbitration.

Perceptions generally treats the external clinical repositories as read-only archives. As such, collision detection is not currently an issue when accessing these repositories. Under investigation are modifications to make the interrogatory robots bidirectional in nature. Discussions with commercial vendors to the medical enterprise group indicate that the issue of multi-host concurrency and detection of simultaneous update conflicts are not dealt with in a strenuous fashion.

Mid-level tool set

The mid-level tool sets are considered to be the core of the Perceptions information system. These tools are responsible for providing the mechanism which allow users to update, access and generally utilize information resources. This mid-level application layer also provided the user interface in earlier versions of the information system but this is no longer the case. Incorporated within this tool set are the interrogatory robots which are responsible for transactions with the external data repositories.

The transport tools and general utility programs are typically implemented in shell script. Many of the interrogatory robots are also encapsulated in shell script wrappers. The primary reason for this is to maximize flexibility and configurability. Each shell script based utility or wrapper reads a configuration file on startup. This configuration file is local to each machine and provides instructions for customizing each utility on a workstation specific basis.

A consistent character of the design process was to implement as much functionality as possible using standard system utilities either alone or in combination. This was done in an attempt to maximize programmer productivity and to maintain system flexibility. An ongoing review of tools is conducted to determine utility programs which are stable and amenable to being converted to C. The rationale for this review is to avoid excessive system load imposed by the growth of utility scripts which invoke large numbers of subordinate processes.

The programs which implement the user interactive component of the information system are written in PERL. Use of this tool has been shown to provide an excellent trade-off between programmer efficiency and execution efficiency. The concept of modular system design was a mandate from early in the development cycle. In order to fulfill this mandate separate PERL source modules were developed for carrying out functions such as user input and validation, software agent dispatch and database interrogation and display.

This modular design has a number of advantages. A primary advantage is emphasis of code re-use and avoidance of functional duplication. A user level program for supporting a specific function at a workstation level typically consists of a small driver program which incorporates various units of PERL support code.

The driver programs typically encapsulate the following functionality:

A secondary use of this modular strategy has been to coordinate the conversion of the mid-level source modules to use the new object-oriented extensions of PERL5. The goal of this conversion process is to make the mid-level programs more independent and to increase the re-usability of the modular units. An additional benefit experienced from this conversion process is an increase in the maintainability of the module packages.

This theme of object-orientation and code re-use is important to the overall goal of Perceptions. One of the desired endpoints was to have a system which could be dynamically reshaped to meet changing information demands. Using this approach the creation of a new user tool has been conducted with minimal time demands by providing a driver program which coordinates the appropriate linkages between support modules. This modular character also allows effective exploitation of the filter oriented character of the software interrogatory agents.

User Interface

The user interface is critical in the total design scheme of Perceptions. The entire focus of the information support project is to provide a single unified access point to all clinically pertinent information about a patient. To increase user effectiveness each workstation has its interface tailored on an individual basis. This tailoring prompts users for pertinent information in a manner which is consistent with how their daily tasks are conducted. A primary focus of this effort has been to heuristically tune the interface so as to minimize the impact that information automation has on normal work-flow patterns.

The interface to early versions of the Perceptions software was entirely character oriented and was handled by the PERL driver programs. This character oriented interface is still retained but all workstations now emphasize the use of a graphically oriented interface. The X-window display system is used to provide the functionality for the interface. The X11R6 server as modified and distributed by the XFree86 project is used exclusively.

The actual user interfaces are designed with the tcl/Tk toolkit. The current version of the utility set in use is tcl 7.4p3 and Tk 4.0p3. In keeping with the modular orientation of the mid-level design the interfaces are actually implemented as front-ends for the mid-level PERL tool modules. By design constraint minimal programming is done in tcl except for widget development and user interface manipulations.

The object oriented character of the design process made initial implementation of the graphical user interface a very rapid process by exploiting the existing character mode interface. A PERL package was designed which forks and attaches itself to a wish interpreter. The interpreter communicates over a bidirectional pipe with the parent PERL process. On startup the PERL driver program loads and executes tcl code which builds the user interface.

The interface code constructs a command line on the basis of user input which is passed back to the parent process for execution. The command line passed back from the graphical interface is the same command line that would have been manually input by the user. Output from the mid-level core code is forwarded to the user interface which assumes responsibility for arbitrating its display. Using these techniques a generic graphical interface was designed and implemented in approximately two weeks.

This scheme has enabled the effective isolation of user interface issues from the underlying functionality of transaction request processing. It also allows maintenance of a character mode interface which is useful when access to an X-server platform is unavailable or infeasible. The initial implementation of the interface module has been redesigned to take advantage of PERL5's object orientation. An interface object is now returned back to the driver programs. This object is used to build, manipulate and interrogate the graphical user interface.

The actual user interface implemented by Perceptions involves the paradigm of a patient tracking system. The low-level data transport programs pass patient "objects" from workstation to workstation. These objects are line oriented ASCII records which identify a patient who has arrived at the center for evaluation or treatment. In addition to identifying the patient these records can be modified to include new information which has been obtained about the patient and is specific to this visit only.

The low-level data transport tools pass the "patient" from workstation to workstation. At each workstation the mid-level tool set receives the object and attaches data access methods and display functionality. Access to the information is made available to user's of the workstation by selecting the patient object via graphical display tools. The act of selecting a patient object immediately makes the patient information and display methods attached to the object available to the user.

A modular implementation of the tcl/Tk user interface provides support for local flavoring and modification of the user interaction. The basic functionality of the tracking system is to allow the selection and display of patient demographic information. This functionality is implemented with core tcl/Tk code which is identical on all workstations. Each station has a local configuration file which may be optionally loaded into the user interface. It is the responsibility of this workstation specific code to provide local enhancements to the user interface.

The first type of interface flavoring are modifications of user input mechanisms. Workstations which serve reception staff modify the interface so that personnel are asked to enter which physician the patient is seeing, the nature of the visit and the last time that blood samples were taken for laboratory analysis. A patient identifier record is broadcast to all workstations which not only identifies that the patient is present but notifies other workstations of what laboratory data is available.

A patient care assistant is then responsible for escorting the patient back to an appropriate location in the center for care and/or treatment. When the patient care assistant accesses the patient information object they are requested to contribute data such as the current height and weight. Nursing staff accessing patients via the tracking system are prompted for which treatment room a patient is placed in and the clinical status of the patient. Pharmacy staff use a highly modified interface to enter treatment orders for the patient.

The second form of interface modification is differential display of patient information. The personnel supported by each workstation typically require varying views of the patient's information portrait. The pharmacy staff may be interested in past treatment information while it may be more important to physicians and nursing staff to have clinical data such as current laboratory results emphasized.

Even when data of the same category, such as previous treatments, is requested the display may be different depending on the local service needs of the workstation. Workstations in physician offices display past treatment profiles sorted by medication type and date, a style most amenable to their dictation needs. The same data may be presented to coding personnel in the form of a daily treatment synopsis which is most useful for entering charge data.

An interface issue of extreme importance for both business efficiency and patient safety is the use of heuristic interpretation during the information display process. Localized hooks may be imparted into the display code which not only change the display but allow local processing of the information as well. Using this technique workstations which service nursing areas may be programmed to highlight laboratory values which are significant for being outside a specified clinical parameter range.

In the reception and patient service areas the display routines can be configured to look for specific insurance carriers or types of medical insurance coverage. Different insurance carriers and policy types have different limitations as to the type of service that may be provided and under what conditions the service may be provided. If the user interface detects an insurance plan with specific constraints it can be configured to open a separate window containing information that the service representatives need in order to accurately process the patient's registration.

Using tcl/Tk to build the user interface as a client of the X-window display system holds another important advantage. The ability of the server to provide selection services automatically imparts inter-operability between Perceptions and other utilities. The most important example of this is the ability to communicate patient information via electronic mail. When patient information is displayed in a Perception window the user can also open an electronic mail window and synthesize a message utilizing information from multiple sources. Since this functionality flows naturally from the user-interface no special modifications or support must maintained in the core functionality of the mid-level tool set.


To fulfill the design principles and achieve the goals of the project decisions were made to embark on a number of radically different approaches to meeting the information needs of the enterprise unit. A discussion of the design principles provides rationale for these actions.

Focus on the Desktop

The most fundamentally important concept in the design principles was the concept of focusing on desktop computing. Perceptions was unique not in its consideration of the desktop but in its attempt to bring multitasking solutions downward to support users at the "information node" level. Even in the late 1980's when the system design was being formulated the design team recognized that the predominant operating system then in use on the desktop was incapable of using the advanced features of current hardware. Turning toward a UNIX-like operating system was seen as the only method of realizing the capabilities inherent in the current and upcoming generations of hardware.

The ability to subscribe to the aforementioned design principles and realize the increased potential of the desktop was dependent on the fortuitous convergence of developments in a number of different technologies. The positions taken by the design team early in the project's conception were heavily influenced not only by trends in medicine but by anticipated trends and development in hardware design, networking and communications. The decision to focus on the desktop and deploy high-level tools at this level has allowed Perceptions to harness important developments particularly in the field of inter-networking and information collaboration.

Of central importance to the desktop commitment was the development and potential for scaling of CMOS microprocessor technologies. Advancements in this technology base made possible the focus for Perceptions to be a multi-tasking desktop or workstation based solution. During the late 1980's the 80386 microprocessor family had begun to indicate that it was possible to run modern operating systems on low-cost hardware. A primary motivating factor for the project was an attempt to bring high level operating systems and their associated tools into an environment that had previously been attainable only with more expensive mini-computer style architectures.

An important factor considered by the design team was the potential scalability of this architecture. The desired outcome was to focus the software solution on a platform, which due to its commodity nature, would experience high growth potential which in turn would drive down the per node cost of increasing the size and capability of the network. The explosive growth of desktop computing and the massive increase in resources available at the desktop have been positive contributers to the success of Perceptions and have provided justification for these early decisions.

The multi-host concurrent databases implemented by Perceptions are one example of the benefits derived from this focus. At the time of project inception the total disk storage capacity of corporate MIS was on the order of 2 gigabytes. Scaling of technology and market influence have now made this approximate amount of disk storage a commodity item at the workstation level. Technology developments now make it possible to store an entire enterprise database at the workstation level. The opinion of the design team was that factors such as these demanded fundamental re-thinking of information processing strategies.

While technologically more difficult to develop and maintain, the concept of concurrent parallel databases is considered to be one of the principle advantages of the current software implementation. Access to its own databases allows each workstation to function, in a sense, independently of other nodes. The goal of this redundancy was not to eliminate the importance of a network backbone but to use the network as a synergizing element. Each information node, in the event of network or communication failure, can still provide important and necessary clinical information to health care providers. The synergizing influence of the network allows instantaneous access to information sources which include not only local and corporate, but worldwide sources as well.

The concept of redundant databases is an important factor in the resilience of the Perceptions system to single-point data integrity failures. The client-server solutions currently being deployed at corporate levels result in centralization of data stores and the possibility for a single failure point crippling an entire information delivery system. This is an important factor to consider when data which has health and welfare implications is being processed.

A synergy is experienced when the concurrent database design is coupled with multi-tasking network aware operating systems such as the one chosen for the project. Part of the concurrent update strategy is to not only update workstations located physically on the business unit network but to carry out updates of machines located outside the physical confines of the implementation site. The machines updated in this manner are located in physician homes and at regional sites supported by the cancer center. This provides an implementation of off-site data storage as a normal component of system operation.

The second benefit is to clinicians and regional sites which are the targets of off-site updating. These independent workstations can offer rudimentary information support without maintaining an actual physical connection to the network. Retrieval of static information reserves such as patient demographic data and previous treatment histories are adequately and rapidly provided without a network connection. Use of multi-tasking operating system allows updating activities to be completely automated with no manual intervention required at off-site locations.

Open Systems

Another important decision in the design process was the adherence to open system principles. The promulgation and acceptance of the POSIX definition for open operating system's compliance provided the incentive for this design decision. An additional motivating factor was the design team's perception that the INTERNET would provide an enormous incentive to adopt TCP/IP as the networking standard.

Classically, medical information management solutions have been heavily weighted toward proprietary software solutions supported by vendor-specific operating systems on closed hardware architectures. The belief held by the designers is that this dependence on closed systems and vendor specificity contributes to inflexible information management solutions. By avoiding proprietary solutions the goal was to develop an information platform which was capable of dynamically responding to the changing health care climate which would be experienced by the cancer center in the 1990's.

The justification for developing an inter-operability platform can be taken from early experiences of the cancer center. When the center was opened in 1990 reception staff was faced with the prospect of needing three separate computers or terminals at each work location to obtain information necessary to complete their daily tasks. This environment was generated by the need to communicate with separate proprietary systems which did not have inter-operability as a fundamental precept of their design. One scenario required a user to boot different versions of an operating system in order to change focus from one platform to another. This situation served as a mandate for an information solution which carried inter-operability as part of its core functionality.

Benefits experienced by the Perceptions software also extend from the selection of an open-architecture hardware solution. Computational power which was available only on the mini-computer to mainframe level as little as 8-10 years ago is now considered to be standard deployment. One contribution of this hardware scaling has been to allow the exploitation of the X-window display system. Initial hardware implementations did not have sufficient computational power, memory or video display technology to operate as an X-server platform. The rapid scaling of the open-systems hardware solution provided a migration pathway toward platforms capable of supporting X-window service.

The most fundamental impact of open-systems can be seen in the ability of the Perceptions platform to accommodate and adapt to needs for external connectivity. The trend of the corporate information backbone which the cancer center cooperates with has been to become more heterogeneous in nature. As additional systems have been added, a common point is for these systems to adopt TCP/IP and other open communication standards. Providing access or inter-operation with these systems in many cases simply involves the use of well-defined tools.

Even systems which were not fundamentally designed for inter-operation with other systems can be effectively exploited. An example is the laboratory information system which Perceptions provides access to. Even though there were a limited number of access lines to this system the multi-tasking nature of the Linux operating system allowed access to this limited resource to be extended to all workstations in the center. An additional benefit of the open networking standard was the ability to seamlessly extend lab connectivity to off-site locations via the TCP/IP over serial encapsulation used to support remote networked applications.

A powerful tool which Perceptions exploits to provide this cross-platform compatibility is the concept of software agents also termed interrogatory robots. In addition to providing simple access to information resources, these agents can be dispatched to physically retrieve data and return it to the workstation level. Once data is retrieved in this manner it can be cached so as to avoid the need for later lookup and retrieval. In addition post-processing can be conducted to yield the exploitation and use of data in a manner which the original system designers never contemplated. This allows novel and unique applications to be developed which would be unattainable given the closed nature of the originating systems.

An example of data synthesis which has been exploited through the use of this open systems platform approach is data mining. In order to develop innovative management strategies to cope with managed care and quality improvement programs the management team of the cancer center has required access to specialized information. The data in raw form is available on the corporate information backbone but from disparate sources. The data retrieval and comparison functions required had not been contemplated by any of the original system designers and was thus not possible with host system software.

One study in question required an assessment of the number of laboratory tests conducted on cancer patients with a specific diagnosis code and insurance type. The demographic information in the cancer center would be required in order to develop a list of cancer patients. The diagnosis and insurance type were available on one of the corporate legacy systems while the laboratory test data was obtainable only from the lab's proprietary system.

The solution to this problem simply required incorporating functionality from mid-level core modules of Perceptions. This functionality was coupled with interrogatory agents which had been designed to interact with both the laboratory system and the clinic mainframe. A simple driver program was developed which scanned the demographic databases of the cancer center. The two interrogatory robots were started simultaneously so sequential queries could be conducted against both proprietary systems. This hybrid system was able to retrieve data and generate a report which had been considered to be previously unattainable.

It is interesting to note that the concept of an inter-operability platform is now being embraced by commercial vendors. A system currently being installed by corporate management information services implements the concept of a data-hub for the entire enterprise information system. The data hub is a software package implemented on a UNIX-like operating system executing on a large RISC based hardware platform. The concept of the enterprise hub is a centralized server which can inter-operate through many and varied mechanisms with all information sponsoring hosts on a heterogeneous network. Translation tables can be defined which describe how information should be translated as output from one system to be serviceable as input for another system. The desire to create an inter-operation platform was one of the fundamental principles driving the design of the Perceptions system.

The decision to adhere to an open-systems architecture can be seen as a fundamentally important concept of the Perceptions design. This design has enabled the information support platform to interact with heterogeneous services and afford access unavailable to other enterprise units. Corporate efforts to implement a centralized data hub leaves the mid-level Perceptions software in a uniquely favorable position.

By virtue of being supported on an inter-operability platform the application and user-interface software is now positioned to be rapidly adapted to use important enterprise tools such as the data-hub. Access to additional information resources will be presented to users by simply reconfiguring current software agents and by implementing new agents with desired functionality. Entirely new application methodologies have the potential to be developed by appropriate manipulation of the data obtained with these robots.

Freely Distributable Software

Without a doubt the most fundamentally controversial decision made by the design team was to base its information solution on the concept of using a freely distributable software base. Equally, without doubt, is the fact that this decision was the most fundamental contributer to the success which this information solution has enjoyed.

In order to be successful the information platform had to be intrinsically flexible and responsive to change. This was necessary in order to realize the fundamental goal of providing a platform which was capable of dynamically responding to environment stresses and changes. Free software is an essential component of this flexibility. At no time in the process was the implementation team constrained by the decisions, actions or inactions of others.

The first and perhaps most major free software component was the selection of the Linux operating system. As previously indicated the initial versions of the operating system were not the solution that current implementations are. The advantage of a movement toward a source distributable operating system was the flexibility, innovation and ability for problem solving that it provided. The open nature of the Linux development effort meant that the Perceptions team was always aware of development goals being pursued by operating system developers. Access to this knowledge confirmed the belief that Linux would rapidly migrate toward the functionality required by the project.

In contrast, early experiences with platforming Perceptions on commercial alternatives indicated that this environment would not be properly responsive to the needs of the project. Without access to developers or to source code all requests for information and technical support had to be carried out through facilities provided by the OS vendor. Extremely frustrating were experiences with vendor support staff being unable or unwilling to respond to problems being experienced in the field.

Not inconsequential in this scenario was the time required for responsiveness. The support process was oriented toward scheduling a call-back time when a representative would be able to contact and coordinate efforts with staff at the cancer center. This inevitably resulted in a delay of several days as support representatives played "telephone tag" with the local developers. It was impossible to maintain a highly dynamic, fast-paced development effort with these types of impediments.

All this was in stark contrast to the situation available with Linux. Even if software fixes were not immediately available the open and frank discussion of limitations and problems provided assurances of where pitfalls may be experienced and enabled the potential for work-arounds. This ability was many times more important than an actual fix for the problem. Needless time was expended with commercial alternative pursuing potential problems in user-level software which were the result of system deficiencies not formally acknowledged by the vendor or the support team.

Another area worthy of consideration is the impact of hardware dependencies. One of the criticisms of the Linux environment is the lack of access to proprietary knowledge for the construction of device drivers. In two instances hardware was purchased which vendors considered to be proprietary in nature. In these two cases it was impossible to use these devices under Linux. These instances only highlight what the design team considers to be an even greater advantage, open access to information about the performance of hardware in selected environments.

Hosting a multi-tasking protected mode operating system is more demanding of the hardware platform than single-task alternatives. This factor makes hardware selection decisions a critical issue. This was particularly true in the late 1980's and early 1990's when the project was initiated. By following Linux development very closely the Perception developers were able to formulate hardware decisions based on thorough knowledge of devices that worked and provided good performance levels.

The low rate of hardware failure and the high quality of the deployed platforms are considered to be fruits of this knowledge. These positive factors are considered to far outweigh the disadvantages of limited driver availability. It is the opinion of the development team that these advantages far outweigh minor performance benefits which may be obtained through the use of proprietary hardware architectures or devices.

A frequent concern that has been raised is the reliability of the Linux implementation. The success of Perceptions speaks to this issue at a very fundamental level. Reliability has been equal to that experienced with any commercial alternative on both INTEL and non-INTEL platforms. The only data loss experienced to date after four years of operation was a single instance secondary to a power failure. This environmentally induced failure would have been catastrophic to any modern operating system using dynamic buffer cache schemes and delayed write-back operations. Of interest to note is that the parallel-host concurrent database scheme that Linux provided the mechanism for implementing made the loss on the individual host largely irrelevant.

The two level kernel development scheme of Linux is utilized to insure that workstations in critical operational environments are platformed on a stable operating system. Knowledge of the limitations of a platform are considered by the development team to be as essential as the overall stability of the platform. The open development character of Linux assures developers that production kernels have been tested in a myriad of environments. This high level of redundancy testing serves as important assurance that kernels in use are a known quantity in terms of quality and performance.

This leads discussion to an important final point. With Linux demonstrated to be as stable as commercial alternatives and more of a known quantity the important factor in stable deployments are good system administration decisions. Stable implementations require that consideration be given to all factors that can give rise to the potential for system failure and data loss. A commercial system with inappropriate system administrative support is as unreliable in these circumstances as a freely distributable solution. With Linux the presence of an open development environment, broad-based worldwide regression testing and source availability provides assurances that information is available to support a sound administrative decision making process.

A similar set of arguments can be made for the entire set of tools which complete the GNU-based operating environment. The complete package of support tools from the GCC compiler on upward through the general system utilities possess the same advantages of source availability, vigorous testing and most importantly the benefit of being known quantities.

This is of particular importance in the arena of shared library support under Linux. The stability and performance of shared libraries is as critical to stability of a user implementation as the kernel proper. The open development nature of the Linux libraries was followed very closely. This again provided the basis for sound decisions in terms of which libraries to deploy into production environments. In a number of instances the availability of source code allowed important local modifications to be made which would have been impossible to implement in an efficient manner with commercial alternatives.

The final point to consider in the deployment of free software is the overall impact that freely distributable solutions had on shaping the design of Perceptions. Exposure to the ongoing development of PERL5 caused decisions to be made to orient the code toward re-use and modularization in a manner that was amenable to the object-oriented extensions being contemplated for the language. Attention to these details is allowing rapid migration of the existing sources into an object-oriented framework.

In a similar manner the development of the tcl/Tk suite was followed. Important information and design decisions were made based on the perceived trends of the package. Exposure to efforts aimed at developing a PERL interface to the Tk widget set was an important contributer to system design decisions. While the PERL extensions were not directly used they helped provide important experience for developing the local inter-utility communication scheme used in implementing the Perceptions graphical user interface.

The most fundamental influence of free software has to be viewed in terms of how exposure to the free software environment ultimately shaped Perceptions. Experience with programming principles favored in the free software community caused intense emphasis to be placed on the need to have local solutions be modifiable and highly configurable. Attention to these factors in the design and development stage has resulted in a software solution which has redesign and reconfiguration as a fundamental component of its nature. Additionally there is intense focus in the free software community to avoid issues which have been shown historically to limit the functionality of a software design. Decisions regarding the design of Perceptions were continuously shaped and re-shaped by exposure to these issues.


The impact that the Perceptions support environment has had on the functioning of the cancer center is profound. As previously discussed the nature of Perceptions has in turn been heavily influenced by its reliance on freely distributable software. This provides causality for the conclusion that free software has had an enormous impact on this commercial environment.

The effect of Perceptions can be directly measured in terms of increased productivity experienced by the cancer center. The number of patients treated since the center opened in 1990 has increased over 75%. At the same time the increase in real FTE (Full Time Equivalent) expenditures for personnel has increased approximately 20%. This ratio has been attributed by the management team to be due to increases in personnel productivity. Increases which were secondary to the re-engineering efforts engendered by the development and deployment of the clinical information support system.

The choice of an open systems approach and the influence of freely distributable software has provided an environment which is dynamic in nature and which possesses little or no limitations in its present or future interactions with external information resources. The use of software interrogatory agents for external interactions provides a mechanism for the access and manipulation of data from legacy systems in manners which were not envisioned or contemplated by the designers of those systems.

An important impact of the Perceptions project is the alternative it offers to classical management information hierarchies. A current focus of business strategists has been pushdown or worker-empowerment theories. This field of thought suggests that workers at functional levels within the organization are the ones best prepared to make decisions regarding their daily work patterns. Significant gains in productivity are achieved by involving staff in decisions regarding the formulation of their work environment.

By focusing on the desktop Perceptions attempts to bring this sense of empowerment to the information consumer. The goal of this information support platform is to enable the utilization of high-level information processing tools at the desktop level. These tools provide the mechanism for tuning and re-engineering work flow patterns to best leverage information resources for the purpose of increasing work area and business enterprise efficiency.

The intent of Perceptions is to avoid the concept of a one size fits all strategy for information systems support. The system design is fundamentally predicated on the concept that differing work locations have differing needs for both the input and presentation of information. Focusing on the desktop allows the information solution to be custom tailored to the needs of the end users serviced by that workstation.

The goal of the development team is to not only influence the current environment of the cancer center but to prepare it for the future as well. An overall directive of the corporate medical group is the pursuit of an electronic patient medical record. The entire functioning of the organization is currently dependent on the movement and storage of patient information in paper form. Movement towards this directive will require a massive re-engineering effort for the organization.

Fundamental to this re-engineering process will be the need to implicate workers at the lowest levels of the organization in the information gathering process. Success in migrating from a paper to a paperless environment will be contingent on line staff integrating information processing tools into their daily work patterns.

Perceptions attempts to address this issue by implementing a framework which assists workers in their daily tasks. The collection and assimilation of data becomes secondary to the normal conduct of their duties. The ultimate key to re-engineering efforts based on information processing goals is convincing line staff that intrinsic benefits can be garnered from using information tools as a normal component of their daily tasks. Without this "buy-in", efforts to automate face significant challenges.

The Perceptions project does not minimize the need for a corporate information service system. A fundamental need is seen for a centralized authority for developing and maintaining an information backbone throughout an enterprise organization. Perceptions attempts to synergize and leverage this enterprise resource by efficiently focusing resources and information gathering efforts at the user and work task level.


The ability of the Roger Maris Cancer Center to respond in a dynamic nature to environmental and business stresses is directly related to the functionality and configurability of its software solution.

Perceptions is a study not only in software design but in process design and information directed work pattern re-engineering. The high degree of configurability has allowed heuristic tuning of user interfaces which has had important impacts on productivity levels of users serviced by local information nodes. The ability to respond in such a dynamic fashion has and will continue to profoundly impact the competitiveness of the cancer center as it continues forward in the information age.


BIOGRAPHICAL INFORMATION: Dr. Greg Wettstein: received his undergraduate degree in pharmacy from North Dakota State University in 1981. After completing his degree he participated in a one year clinical residency program focusing on chemotherapy delivery issues at the St. Cloud Hospital in St. Cloud, MN. In 1982 he returned to North Dakota State University to enter the graduate program in the College of Pharmacy. In 1987 he received his Doctor of Philosophy degree in Pharmaceutical Sciences.
After participating in a one year post-doctoral fellowship with the Quantum Mechanical Research Group he was recruited by the MeritCare Medical Group to participate in the development and construction of the Roger Maris Cancer Center. Currently Dr. Wettstein serves as the chief design architect of the Perceptions Information Support system and co-director of the Oncology Research Division Computing Facility at the Roger Maris Cancer Center. Dr. Wettstein can be contacted by addressing electronic mail to

Dr. Paul Etzell: received his medical degree from the University of Minnesota in 1965. Following an internship at Hennepin County General Hospital in Minneapolis, MN he served three years as a physician with the U.S. Army in Kitzingen, Germany. In 1969 he returned to the Mayo Clinic in Rochester, MN where he completed a fellowship and became board certified in Internal Medicine and Hematology.
After a three year practice in St. Cloud, MN he joined Fargo Clinic in Fargo, ND. In 1988 he helped form the team directing the development and construction of the Roger Maris Cancer Center. Dr. Etzell serves as a coding and reimbursement advisor for MeritCare Health Systems while maintaining an active practice in hematology and oncology. He is currently the Medical Director of the Roger Maris Cancer Center and co-directs the Oncology Research Division Computing Facility. Dr. Etzell can be contacted by addressing electronic mail to