Objects are Good for Your Mental Health

G. Pierce Wood Memorial Hospital embraces object-oriented database architecture.

Glenn Palmiere, data processing manager for G. Pierce Wood Memorial Hospital, admits that he was not happy with the prospect of the purchase of his preferred database management systems vendor, DataTree, by InterSystems Corporation nearly a decade ago. Nor was he impressed by InterSystems' plans to embrace an object-oriented database architecture in its core product, CACHE.

"In fact, I hated the idea and fought the merger of the companies tooth and nail," he notes, recalling that he feared the effects of the transition on nearly 15 years of applications development effort that had already produced 45 different systems in use at his state mental health facility in Arcadia, Fla.

More importantly, Palmiere was concerned about the problems that would arise for the patients—called "clients"—of the institution, one of four state "civilian" mental health hospitals. (There are three additional "forensic" institutions in the state, whose clients come from the criminal justice system.)

"Our clients count on the smooth operation of our information systems to take care of all of the logistics that support the therapies developed to help them become functioning members of society. All of the data—from money, to lab results, to diagnoses and medications, to placement within assisted living facilities, residential treatment facilities, and so forth—is processed through these systems," says Palmiere. Anything that threatened the status quo represented a threat to client services—and raised serious concerns.

As things tuned out, he observes, "We had nothing to worry about. We now have the utmost regard for object-oriented programming, CACHE and for InterSystems." Palmiere credits the vendor for trimming a five-year transition plan to move Relational Database Management Systems (RDBMS) applications and clients constructed with Visual Basic to a Web-technology, object-oriented architecture to about eight months. The resulting "post-relational database systems," he says, have every chance of being adopted as a common platform for all hospitals in the state system.

Into the Web Technology Era
In migrating to object-oriented architecture, Palmiere says that the hospital confronted the "classic problem of how to move systems ahead without leaving users behind." G. Pierce Wood (GPW) utilized approximately 300 client PCs connecting to three Compaq servers via a fibre-based Novell network. PCs were of different generations and featured a diversity of client software implementations—both DOS- and Microsoft Windows-based.

As early as the mid-1990s, discussions were underway around techniques for establishing a common interface for all client devices, Palmiere recalls. "The Internet was just emerging as a business tool, and like most people, we saw the potential value of using Web technology and the Web browser as a universal client."

The idea gathered support with the articulation of a Web technology roadmap for CACHE by InterSystems in 1999.

To take advantage of the burgeoning Web technology platform, however, existing databases had to be converted to an object-oriented architecture. According to Palmiere, this process began by examining how data was currently structured in existing databases.

Dan Reed, a programmer analyst at GPW, recalls that the process began with a simple question, "Was the data usable in its existing form? If it wasn't, we had to start again from scratch."

Reed says that some of the older databases had not been designed with great attention to efficiency, "For example, previously, with each client admission or readmission, you had to create a whole new record. Now, we have created an object called 'person' that contains the data that never changes about the client. That eliminates substantial redundancy and improves efficiency. We have also adopted a [metaphor] called 'event'—everything that happens to the client is an event, so you can go to the 'person' record for the client and see every event record associated with the client in the system."

One outcome of this reengineering of existing databases, according to Palmiere, is simplified searching. "Previously, a query of our admission records would take between a half hour and 45 minutes. Now, you can go through all 29,000 records (admission events) in the system in under a minute. Most queries take less than five seconds, including the time required to build the response dynamically on a Web page."

Onto an Intranet
Palmiere says his redesigned object-oriented applications are being rapidly redeployed onto an intranet serving the hospital's 1,000 users. The process has been progressing rapidly because of CACHE Server Page technology (CSP).

"CSP is not like Microsoft's ASP page, which you create and set on a server as a file. With the CSP, you write files using Hypertext Markup Language (HTML) to handle the display of content on a Web page, then you add CACHE scripts. This creates a reference, which is accessed to generate a Web page dynamically," Palmiere says.

He notes that CACHE is ODBC-compliant, so virtually any software could be used to develop applications. However, he prefers for all development to be done using CSP. "The tools are included in the price."

Other than an on-site training class, Palmiere and company have not required assistance from InterSystems itself, according to Joe Gallant, Product Manager for the vendor. He notes that CACHE supports a broad range of standards in addition to ODBC, including COM, Java and CORBA. "However," he notes, "We also wanted to put application logic close to the database in order to eliminate some middleware layers and to improve performance—hence, CSP technology."

This architecture gives CACHE the flexibility to work with Web server APIs directly or through a third-party application server. The former strategy is preferred by those InterSystems customers, including G. Pierce Wood Memorial Hospital, who elect to develop all applications using CACHE.

"When information is requested by a browser of a CACHE application—signified by the .CSP extension," Gallant explains, "the Web server redirects the request to the CACHE database." Pages are represented by classes on the server. Developers can either develop content as classes directly or develop content as a text or HTML file saved as a .CSP file. Tools are provided to compile these files into classes. The pages are not physically stored anywhere. Instead, the logic that produces the page is stored as a class in a logical directory or namespace.

According to Palmiere, these capabilities have enabled his crew to rapidly transition client/server applications to the GPW intranet. He adds that the resulting browser-based data access will be a boon to more than 10,000 state mental health administrators who work with GPW client data across a state-run network called the Router Transport Service (RTS).

"This solution plays into our Internet strategy as a whole," Palmiere notes. "We don't want our clients in state hospitals. The objective is to develop a discharge plan for every client that provides for transfer out of state hospitals and back to community treatment centers or other noninstitutionalized settings as quickly as possible. The RTS access provides treatment providers with access to information on client needs, facility availability and other information that will aid in managing the client through the process in the most efficient way."

He is quick to clarify that client data is not accessible via the public Internet. To obtain access to GPW data, the user must have access to the client's ID number and must be using a terminal inside the firewall. External access via the private RTS network is granted only to users with valid hospital ID numbers, and session traffic is completely encrypted.

The Future Is Bright
Palmiere says that the progress of reengineering efforts has exceeded his expectations. Since the release of CSP technology in January 2001, progress in redeploying applications to capitalize on the technology has been rapid. The system is current, with client records from 1987 to the present. Prior to 1987, he notes, admission events were documented on paper.

"We are steadily adding the data in from 1948 to 1987," he says, "In the future, this historical database may be of considerable research value."

He is hopeful that the newly designed applications will set the standard for similar systems used at state hospitals in Chattahoochee, Pembroke Pines and Macclenny. "Even forensic facilities could use our systems," he notes, "Our systems provide about 95 percent of the functionality needed to support their operations. The additional five percent could be developed rather rapidly."

If GPW applications are emulated by the other mental health hospitals in the Florida system, Palmiere expects that they may need to be rehosted within the state government data center in Tallahassee. "We are already providing data transfers to a data warehouse maintained in Tallahassee for use in generating reports for the legislature. The next logical step, to support a statewide system, would be to relocate the system itself there."

He says that the system has been benchmarked under a full load of 60 concurrent users—the CACHE license purchased from InterSystems, "There have no problems whatsoever." However, the manager notes, the database is currently hosted on internal disk within a Compaq Web server. To meet the requirements of multiple facilities, the hosting platform will need to be reevaluated.

Centralized application hosting may be enabled by steady build-out of the RTS as well. RTS is a multi-protocol, fully routed data communications service, based on Cisco 75xx series routers located in 11 cities throughout the state. Since 1994, RTS has been providing multi-protocol routed services to state and local government, as well as to nonprofit organizations and other eligible entities. Since its inception, the RTS has expanded to over 400 customer locations, with new sites being added on a weekly basis. These 400 sites are connected to the backbone via 56KB/s, 128KB/s or T1 access speeds, dedicated or frame relay.

Although the design of the network allows for flexible growth, the Division of Communications signed an outsourcing agreement in the late 1990s with BellSouth, Verizon and Sprint to help build out the network in the coming years (due to the tremendous growth of the RTS in supporting applications, such as the state's mental health hospital system).

In 1999, RTS was retooled with ATM private virtual circuits and has been steadily moving away from multiprotocol support and toward IP networking support exclusively. Plans are underway to utilize the network for LAN-to-LAN connectivity and to supplement bandwidth through the use of dense wave division multiplexing across its fiber optic backbone. Such a network infrastructure would provide the capability to operate CACHE-based applications across the network from a centrally hosted location.