Document Architecture (CDA) documents are used
to communicate documents such as physician notes
and other material.
Integrating the Healthcare Enterprise (IHE),
while not a standard itself, is a consortial effort to
integrate existing standards into a comprehensive
best-practice solution
ISO TC 215 has defined the EHR, and also
produced a technical specification ISO 18308
describing the requirements for EHR Architectures.
OpenEHR represents a next generation public
specifications and implementations for EHR systems
and communication, based on a complete separation
of software and clinical models.
Various factors involving the timing, the right
players, market history, utility, governance play
a key role in the overall enrichment of the standard
and certification development. The standardization
and certification even though seem to bring
uniformity in the EMR development; they do not
guarantee their acceptability and sustainability in the
long run.
The core of any EHR system is a data repository
that is usually realized by a database system. Types
of databases include the following ones
(Bontempo & Saracco, 1995): hierarchical, network,
relational, and object oriented. The hierarchical and
network databases represent older forms that are not
used in newer applications. Relational database
departs significantly from those two types and is the
most common form of database today. Relational
databases are constructed using tables instead of tree
and network structures. The tables do not specify
how to retrieve the required data or navigate through
predefined path. Object oriented database is the most
recent approach to database management. The object
oriented database structure is derived from object
oriented programming and has no single inherent
database structure. The structure for any given class
or type of object can be anything a programmer
finds useful. Furthermore, an object may contain
different degrees of complexity, making use of
multiple types and multiple structures.
In the next sections we will describe individual
issues related to EHCR design in more details,
namely persistence and structure of EHCR.
2 SCHEMA OF PERSISTENCE
In programming, persistence refers specifically to
the ability to retain data structures between program
executions, such as, for example, an image editing
program saving complex selections or a word
processor saving undo history.
This is achieved in practice by storing the data in
non-volatile storage such as a file system or
a relational database or an object database. Design
patterns solving this problem are container based
persistence, component based persistence and the
Data Access Object model. When first introduced,
the idea was that persistence should be an intrinsic
property of the data, in contrast with the traditional
approach where data is read and written to disk
using imperative verbs in a programming language.
This emphasis has largely disappeared, resulting in
the use of persist as a transitive verb: On
completion, the program persists the data.
2.1 Storage Technology
For persistence, there were two ways in our case:
Relational database;
XML storage.
Relational databases have long history and today
are able to store data reliably and efficiently. There
exist a big number of available databases both
commercial and free.
XML databases are relatively new technology
with promising future, allowing natural storage of
data with complex structure (e.g. annotated texts).
On the other hand, there is no emphasis on
reliability. Also effectiveness of query execution
(using XPath) is usually low.
Because the content of the database is critically
important, we emphasize robustness of the storage.
Another important point is amount of data to be
stored, thus the ability of the technology to manage
huge dataset is crucial. Therefore the chosen
technology is relational database.
This requirement also affected the further
decision about which database to use. We analyzed
advantages and disadvantages of several potential
databases. The database we typically use for storage
of a big amount of data is PostgreSQL. It provides
a rich query language with strong emphasize of the
Structured Query Language (SQL) standard. It is
proven to be reliable and has a great support for
transactions. Its BSD licence is the most free and
open. From the administrative point of view,
PostgreSQL allows use of several languages for
stored procedures including Java, which can be used
for simplification of some tasks. For this database
there exists a convenient graphical interface. The
performance of PostgreSQL is more than sufficient.
ON DESIGNING AN EHCR REPOSITORY
281