|
XML data warehousing for browser-based Electronic Health Records
|
 |
Electronic health record summaries are now being deployed in the UK,
using XML to represent, store and display information that is extracted from
existing hospital systems. The Electronic Case Notes Folder is an XML data
warehouse designed to provide a clinician-centred view of the patient's history,
with a web browser as the user interface.
Overview
Several secondary care providers in the UK (Hospital Trusts) have succeeded
in extending the functionality of their
HIS
by integrating data derived from hospital-based departmental systems. They
have further extended this to include communications to primary care providers
(General Pracitioners). Using workflow systems, the
GP referral letter can also be captured using a combination of
scanning and GP email. Subsequent consultant to GP clinic letters can also
be produced through the same workflow systems and logically linked to the
original referral letter.
The objective of the Electronic Case Notes Folder described in this
paper is to combine extracts of information from the HIS, from departmental
systems and from workflow systems and warehouse them in a way that can be
navigated easily using a Web browser.
The Case Notes Folder is designed as a clinical tool to be used by clinicians
and staff who directly support the clinician in patient care. The composition
of the folder and the views it generates were prototyped and simulated for
demonstration and feedback in a number of UK Hospital Trusts. The conceptual
approach chosen reflects the hierarchical structure of the traditional paper-based
casenote folder. Different views of the folder are possible depending on the
access level and preference of the user. Feedback from the prototype system
has been incorporated into the first generation Case Notes now being deployed
in live systems.
Patient records are created and maintained as XML documents within an
XML database. Data feeds from the HIS make use of existing HIS interfaces
with some customisation to meet the data requirements of the XML patient record
database. HIS extracts are triggered by events occurring within the system.
As updates take place, the XML database can provide full auditing of transactions
that have taken place. Access to the Case Note folder browser application
is controlled by a security layer that can be integrated with the HIS system.
The Web server provides the middle layer between the user interacting with
the browser and the XML database that serves the Case Note folders.
System architecture
The overall architecture of the Case Notes system is shown in the figure.
The main components are:
- Browser-based interface
- XML delivery middleware
- Database access layer
- XML database
- Interfaces to HIS, workflow and departmental systems

Figure 1
. Overview of case notes architecture
Browser-based interface
The browser-based interface, using pure HTML on the desktop, is key
to the widespread deployment and acceptance of patient record systems. The
provision of IT services in the UK Health Service (the NHS) is characterised
by de-centralised implementation strategies and limited budgets. If a distributed
system such as Case Notes is to be accepted readily it must overcome the barriers
that such an environment imposes:
- a wide variety of client hardware, operating systems and browsers
- 2nd, 3rd and 4th generation browsers with no impetus to upgrade
- low specification client machines
- low bandwidth Internet connections
- little or no budget for training
- limited access to IT support services
Using a browser-based interface, with pure HTML delivered to the desktop,
addresses all these barriers to adoption. Browser technology can be deployed
quickly with little or no training or requirement for support from an IT department.
By transforming XML to HTML in the middle layers of the application, a wide
range of browsers and operating environments can be supported.
XML delivery middleware
The XML delivery middleware consists of three main sub-components:
- a Java Application Server
- the Case Notes Kernel
- an Access Control Framework
Java application server
The Java Application Server uses Java Server Pages (JSP) and Java servlets
to implement the essential functions of a scaleable XML application server,
including:
- session management
- process management (of a pool of database connections)
- XML processing (including transformation and profiling)
The Java Application Server is implemented entirely in Java, which makes
it portable across operating systems and also opens the possibility of distributing
some components to run as applets in the desktop browser in future implementations.
Session initiation is achieved by authenticating the user name and password
against the database of users (see the Access Control Framework). The Java
Application Server then maintains the state of the session on behalf of the
client and manages:
- session audit
- session time-out
- session close
Case notes kernel
The Case Notes Kernel provides the core features of the Case Notes system,
implemented as Java servlets and applications which run under the control
of the Java Application Server. The features provided by the kernel include:
- the basic episode/event model of case notes
- demographics module
- framework for plug-in modules
- configurable user interface
The basic episode/event model and demographics module provide the minimum
configuration of Case Notes. Other modules, such as laboratory test requests/reporting,
GP and consultant letters, Xray interpretation, and discharge summaries, are
available as plug-in modules. The configuration of the interface and the plug-in
modules is achieved through XML configuration files that describe the active
modules and the layout of the interface.
Access control framework
The Access Control Framework has been designed to support the Caldicott
principles of data security; it comprises the following modules:
- User management
- Access control management
- Applications management
- Patient list management
User characteristics are uniquely identified by a user id and settings
are stored encrypted within an XML access control document. Login takes place
through a username, password Web browser form submission. The interface can
be customised to integrate with any existing intranet style guidelines. The
Access Control process supports:
- The use of passwords of an appropriate length which are changed
regularly
- GPs will be registered individually with no use of collective passwords
- The address of the device being used to access the system will need
to be registered
The Access Control Framework is linked with an intranet applications
directory, stored persistently in a relational database. This allows access
to other intranet applications through the Case Notes interface, under the
control of the Access Control Framework. Application management is carried
out through a browser-based module that allows an administrator to perform
maintenance procedures, including:
- List applications
- Search for an application
- View application characteristics
- Amend application characteristics
- Add a new application
- Delete an application
- Add, amend and delete user or group access
The patient list is maintained in the back-end database. At logon the
patient list is available to the clinician for immediate patient selection.
Using the patient id or NHS number the list management module includes the
ability to:
- Add new entries to the list
- Amend entries on the list
- Delete entries from the list
- Share the list with other members of the same clinical team
Third party intranet applications are able to access the session management
and applications databases using ODBC or JDBC.
XML database and database access layer
The Case Notes system has been tested using both relational and object-oriented
databases for the XML repository. All database access in the Java middleware
and plug-in modules is abstracted to a single database access class, that
can be re-implemented for different databases.
Because each patient record can be treated as a distinct entity, without
any relationships to other records in the system, the XML repository can be
split into discrete databases, using different DBMS servers and physical servers
if necessary. Within the database access layer, an initial look-up on the
patient id is sufficient to locate the correct database for the patient. This
mechanism makes the XML repository highly scaleable, in line with the other
modules of the system.
To date, the only limitation on the number of records that can be handled
by the system is imposed by the 'database bloat' encountered when using object
databases for the XML repository. Typically, the object-oriented databases
exhibit an expansion of between 10 and 100 when taking an XML document from
the file system to the database. Although this isn't necessarily a problem
in itself, it does have significant impact on the amount of disk space required
to manage hundreds of thousands of patient records.
Interfaces to HIS, workflow and departmental systems
Interfaces to the Hospital Information System (HIS), workflow or departmental
systems can be made through bespoke integration with third party integration
engines (such as Datagate) or directly to the systems themselves. A set of
tools is provided to assist with the direct integration through SGML or XML
files.
A Case Notes module called the HIS Output Monitor can be set up to poll
one or more network locations for input files, that can be SGML or XML. These
files are parsed and, if recognised to be valid input for the Case Notes XML
repository are imported to the correct patient record. Configuration is required
to create DTDs and/or filters to handle the output of the HIS and other systems.
By using the minimisation features of SGML it is generally possible to process
reports taken from the HIS, without modification, and interpret them as SGML
documents. From there, they can be converted to XML before import to the Case
Notes repository.
Benefits of the XML approach
XML is used in several roles within the Case Notes architecture:
- as the integration data format (with SGML) for legacy systems
- for messaging through TCP/IP sockets in the application server
- for profiling and transformation to pure HTML in the client browsers
- as the base data model (XML DTDs and schema) for the patient record
repository
- for configuration of the application server and plug-in modules
The main benefit in using XML is in creating an open and portable environment,
from which information can easily be exchanged with other systems. As yet,
there are no univerally accepted standards for the storage and exchange of
health records; the use of XML throughout the Case Notes architecture ensures
that any future standards can be incorporated easily, either within Case Notes
itself or through transformation for information exchange.