Research Paper 2 (EHR Implementation)
Research Paper 2 (EHR Implementation)
EHR Databases
1 Introduction
Digitized form of individual patient’s medical record is referred as electronic health
record (EHR). These records can be stored, retrieved and shared over a network
through enhancement in information technology. An Integrated Care EHR is defined
as:” a repository of information regarding the health of a subject of care in computer
processable form, stored and transmitted securely, and accessible by multiple author-
ized users” [1]. The Institute of Electrical and Electronics Engineers (IEEE) defines
interoperability as the “ability of two or more components to exchange information
and to use the information that has been exchanged” [2]. Semantic Interoperability is
a big challenge in healthcare industry. Semantic interoperability states that the mean-
ing of information must be preserved from a user level through logical level to physi-
cal level. Users enter information. It should safely reach the designated part of the
system, and allow it to be sharable with other users and systems. As we know, there
are different vendors for different systems. Thus, Semantic interoperability should be
taken into account during exchange of data, information and knowledge. Figure1
indicates that, the meaning of information will be preserved across various applica-
tions, systems and enterprises.
Health care domain is complex. It is evolving at a fast rate. Health knowledge is
becoming broad, deep and rich with time. Often, different clinics and hospitals have
S. Kikuchi, S. Sachdeva, and S. Bhalla (Eds.): DNIS 2010, LNCS 5999, pp. 157–173, 2010.
© Springer-Verlag Berlin Heidelberg 2010
158 S. Sachdeva and S. Bhalla
their own information systems to maintain patient data. There may be redundancy in
data because of distributed and heterogeneous data resources. This may hinder the
exchange of data among systems and organizations. There is a need for legacy migra-
tion of data to a standard form for the purposes of exchanges. The EHRs should be
standardized and should incorporate semantic interoperability. World Health Organi-
zation (WHO) has strong desire to develop and implement semantically interoperable
health information systems and EHRs [25]. The rest of paper is organized as follows.
Section 2 describes the role of dual level modeling approach in achieving semantic
interoperability. Section 3 describes the openEHR architecture and its comparison to
database management system architecture. Section 4 explains the details of semantic
interoperability in EHRs systems. Section 5 describes querying EHR data with em-
phasis on high-level query interfaces for health professionals. Section 6 describes the
discussions. Finally, section 7 presents the summary and conclusions.
In essence, the proposed Electronic Health Records (EHRs) have a complex structure
that may include data of about 100-200 parameters, such as temperature, blood-
pressure and body mass index. Individual parameters have their own contents (Figure
2). In order to serve as an information interchange platform, EHRs use archetypes to
accommodate various forms of contents [6]. The EHR data has multitude of represen-
tations. The contents can be structured, semi-structured or unstructured, or a mixture
of all three. These can be plain text, coded text, paragraphs, measured quantities with
values and units, date, time, date-time, and partial date/time, encapsulated data (mul-
timedia, parsable content), basic types (such as boolean, state variable), container
types (list, set) and uniform resource identifiers (URI).
Semantic Interoperability in Healthcare Information for EHR Databases 159
The classic specifications require that the details of clinical knowledge be simulta-
neously coded into the software. The disadvantage of the approach has been that with
the expansion of clinical knowledge the software becomes unsuitable and outdated.
To overcome this, two level modeling approach has been proposed. Dual model ap-
proach for EHR architecture is defined by ISO 13606[12] for a single subject of care
(patient). The emphasis is on achieving interoperability of systems and components
during communication of a part or complete EHR. Examples of Dual Model EHR
architecture are CEN/TC251 EN13606 [3] standard (developed by European commit-
tee for standardization) and openEHR standard. CEN/TC251 is a regional Standards
Development Organization, which is addressing the needs of the stakeholders to have
interoperable and implementable standards. It will allow for safe and secure informa-
tion exchange. OpenEHR [4] foundation was established by University College
London and Ocean informatics. It is an international foundation working towards
semantic interoperability of EHR and improvement of health care.
In two-level modeling approach, the lower level consists of reference model and
the upper level consists of domain level definitions in the form of archetypes and
templates. Reference Model (RM) [12] is an object-oriented model that contains the
basic entities for representing any entry in an EHR. The software and data can be built
from RM. Concepts in openEHR RM are invariant. It comprises a small set of classes
that define the generic building blocks to construct EHRs. This information model
ensures syntactic or data interoperability. The second level is based on archetypes [5]
[10]. These are formal definitions of clinical concepts in the form of structured and
constrained combinations of the entities of a RM. A definition of data as archetypes
can be developed in terms of constraints on structure, types, values, and behaviors of
RM classes for each concept, and in the domain in which we want to use. Archetypes
are flexible. They are general-purpose, reusable and composable. These provide
knowledge level interoperability, i.e., the ability of systems to reliably communicate
with each other at the level of knowledge concepts. Thus, the meaning of clinical data
160 S. Sachdeva and S. Bhalla
Clinical Model
(Archetypes &
Templates) Clinical Domain
Clinical User Expert
Database Schema
(Reference Model)
Software Expert
The clinical user can enter and access information through clinical application. The
clinical domain expert can record and maintain the clinical model through modeller.
The modeller is software needed to manage the archetypes. Patients can have com-
plete control over access and distribution of their health records.
iii) View Level: The highest level of abstraction describes only part of the entire EHR
architecture. This corresponds to the service model. Several views are defined and the
users see these views. In addition to hiding details of logical level, the views also
provide a security mechanism to prevent users from accessing certain parts within
EHR contents.
Reference
Physical / Internal Basic entities as model
Level objects and versions
Semantic Domain The use of archetypes and the reference model alone
interoperability Knowledge do not guarantee that different EHR systems and
Governance vendors will construct equivalent EHR extracts, and
use the record hierarchy and terminology in
consistent ways. For semantically interoperable
systems, archetype development must be coordinated
through systematic “Domain Knowledge
Governance” tool. For example, it succeeds to avoid
incompatible, overlapping archetypes for essentially
the same concept.
Semantic Interoperability in Healthcare Information for EHR Databases 163
Archetypes specify the design of the clinical data that a Health Care Professional
needs to store in a computer system. Archetypes enable the formal definition of clini-
cal content by domain experts without the need for technical understanding. These
conserve the meaning of data by maintaining explicitly specified and well-structured
clinical content for semantic interpretability. These can safely evolve and thus deal
with ever-changing health knowledge using a two-level approach.
In simpler terms, an archetype is an agreed formal and interoperable specification
of a re-usable clinical data set which underpins an electronic health record (EHR). It
captures as much information about a particular and discrete clinical concept as pos-
sible. An example of a simple archetype is WEIGHT, which can be used in multiple
places, wherever is required within an EHR. Once the format of an archetype is
agreed and published, then it will be held in a 'library'(such as, clinical knowledge
manager) and made available for use in any part of a given application, by multiple
vendor systems, multiple institutions, and multiple geographical regions. Each group
or entity using the same archetype will be able to understand and compute data cap-
tured by the same archetype in another clinical environment.
Archetypes are the basis for knowledge based systems (KBS) as these are means to
define clinical knowledge (Figure 2). These are language neutral. These should be
governed with an international scope, and should be developed by clinical experts in
interdisciplinary cooperative way [13]. The developed archetypes need to be reviewed
by other clinical experts (e.g., clinical review board) to ensure their completeness and
relevance to evidence-based clinical practice. The archetype repository is a place of
development, governance and primary source of archetypes. High quality archetypes
with high quality clinical content are the key to semantic interoperability of clinical
systems [13]. According to archetype editorial group (and clinical knowledge man-
ager (CKM) [9]), the information should be sharable and computable.
Terminologies also help in achieving semantic interoperability. Terms within ar-
chetypes are linked (bound) to external terminologies like SNOMED-CT [11]. With
the use of reference model, archetypes and a companion domain knowledge govern-
ance tool, the semantic interoperability of EHR systems becomes a reachable goal.
The openEHR foundation is developing archetypes which will ensure semantic in-
teroperability. The openEHR archetypes are developed systematically through domain
knowledge governance tools. According to the statistics provided by CKM, which is a
domain knowledge governance tool, there are 227 numbers of archetypes [9]. Domain
knowledge governance will ensure that archetypes will meet the information needs of
the various areas.
With CKM, the users interested in modeling clinical content can participate in the
creation and/or enhancement of an international set of archetypes. These provide the
foundation for interoperable Electronic Health Records. CKM is a framework for
managing archetypes. It helps in identifying which archetypes need to be standard-
ized, and which are domain specific. It establishes a frame of reference and helps to
train multidisciplinary teams for archetype development. The coordination effort team
will inform and support domain knowledge governance. To support this, openEHR
has employed the Web Ontology Language (OWL) and the Protégé OWL Plug-In to
develop and maintain an Archetype Ontology which provides the necessary
164 S. Sachdeva and S. Bhalla
Archetypes for any domain are described using a formal language known as Arche-
type deption language (ADL) [14]. ADL is path addressable like XML. The openEHR
Archetype Object Model (AOM) describes the definitive semantic model of arche-
types, in the form of an object model [15]. The AOM defines relationships which
must hold true between the parts of an archetype for it to be valid as a whole. In sim-
pler terms, all archetypes should conform to AOM. Since EHR has a hierarchical
structure, ADL syntax is one possible serialisation of an archetype. ADL uses three
other syntaxes, cADL (constraint form of ADL), dADL (data definition form of
ADL), and a version of first-order predicate logic (FOPL), to describe constraints on
data which are instances of RM [14].
The ADL archetype structure consists of archetype definition (expressed using
cADL syntax), language, description, ontology, and revision_history (expressed using
dADL syntax), invariant section (expressed using FOPL). The invariant section intro-
duces assertions which relate to the entire archetype. These are used to make state-
ments which are not possible within the block structure of the definition section.
Similarly, the dADL syntax provides a formal means of expressing instance data
based on an underlying information Model [14]. The cADL is a syntax which enables
constraints on data defined by object-oriented information models to be expressed in
archetypes or other knowledge definition formalisms [14].
Every ADL archetype is written with respect to a reference model. Archetypes are
applied to data via the use of templates, which are defined at a local level. Templates
[10] generally correspond closely to screen forms, and may be re-usable at a local or
regional level. Templates do not introduce any new semantics to archetypes, they
simply specify the use of particular archetypes, further compatible constraints, and
default data values.
There are many parameters, such as weight, body temperature and heart rate in an
EHR. The ADL for a parameter ‘Blood Pressure’ (BP) is shown in appendix A (also
see Figure 2). ADL for other parameters are available at common repository [16].
ADL has a number of advantages over XML. It is both machine and human proc-
essable, and approximately, takes half space of XML. The leaf data type is more
comprehensive set (including interval of numerics and date/time types). ADL adheres
to object-oriented semantics that do not confuse between notions of attributes and
elements. In ADL, there are two types of identifiers (from reference model) - the type
names and attributes. Formally, it is possible to convert ADL into XML format and
other formats [14]. Table 2 gives the comparison of ADL and XML.
In the near future, there is an important research issue regarding EHR systems,
that is, whether all the archetype-based EHR systems will be created as ADL based
database systems or ADL-enabled database systems (i.e., traditional database systems
with enhanced ADL storage capabilities).
Semantic Interoperability in Healthcare Information for EHR Databases 165
In Figure 1, the systems will use a XML/ADL type of language for system-to-system
interactions. The healthcare worker will need an additional support layer. The exist-
ing support can be compared to (Figure 5)–
A) System Programmers level for development of EHR system- using ADL.
B) Application Programmer level for development of system applications, using
XQuery, OQL (object query language) and SQL - type of interfaces (assuming the
RDBMSs may support ADL in future).
C) Healthcare worker level interfaces: This is an active research area and no easy-
to-use interfaces exist till date. In section 5.2, an attempt to provide one such inter-
face has been outlined. It aims to demonstrate – how interoperability at application
programmer level, can be made to support a user interface at healthcare worker
level.
properties or attributes from RM, along with the querying from properties in arche-
types. In order to create a data instance of a parameter of EHR, we need different
archetypes in ADL, and also these archetypes may belong to different categories of
archetypes.
For example, to create a data instance for Blood Pressure, we need two different
archetypes-namely, encounter and blood pressure. These archetypes belong to differ-
ent categories viz., COMPOSITION and OBSERVATION.
The different categories have different structure. At the time of query, a user faces
this problem- which archetypes must be included in querying? For example, querying
on BP requires the use of two archetypes viz., Encounter archetype (belonging to
COMPOSITION category of RM) and Blood Pressure archetype (belonging to
OBSERVATION category of RM). This problem can be addressed by the use of
templates. Archetypes are encapsulated by Templates for the purpose of intelligent
querying [10]. The templates are used for archetype composition or chaining. Arche-
types provide the pattern for data rather than an exact template. The result of the use
of archetypes to create data in the EHR is that the structure of data in any top-level
object conforms to the constraints defined in a composition of archetypes chosen by a
template.
At the user level, querying data regarding BP must be very simple. The user only
knows BP as a parameter and will query that parameter only.
The EHR system must have an appealing and responsive query interface that pro-
vides a rich overview of data and an effective query mechanism for patient data. The
overall solution should be designed with an end-to-end perspective in mind. A query
interface is required that will support users at varying levels of query skills. These
include semi-skilled users at clinics or hospitals.
To query upon EHRs, a query language, Archetype Query Language (AQL) has
been developed [8]. It is neutral to EHRs, programming languages and system
environments. It depends on the openEHR archetype model, semantics and its syn-
tax. AQL is able to express queries from an archetype-based EHR system. The use
of AQL is confined to a skilled programmers’ level. It was first named as
EQL (EHR Query Language) which has been enhanced with the following two
innovations [17]:
i) utilizing the openEHR path mechanism to represent the query criteria and the re-
sponse or results; and
ii) using a ‘containment’ mechanism to indicate the data hierarchy and to constrain
the source data to which the query is applied.
The syntax of AQL is illustrated by the help of example.
Query: Find all blood pressure values, where systolic value is greater than
(or equal to) 140, or diastolic value is greater than (or equals to) 90, within a specified
EHR.
Semantic Interoperability in Healthcare Information for EHR Databases 167
AQL is difficult for semi-skilled users. It requires the knowledge of archetypes and
knowledge of languages such as ADL, XML and SQL. At the present moment, there
is no easy-to-use query language interface available for EHRs database. We propose
to study for the convenience of healthcare professionals a high-level interface for
querying archetype based EHR systems based on the proposed query interface XQBE
[18]. An alternative approach proposed by Ocean informatics [19] suggests using a
query builder tool, to construct AQL query. It requires form related inputs and more
skills on the part of the user. Our goal is similar and it is easy to achieve with the help
of XQBE.
XQBE [18] is a user-friendly, visual query language for expressing a large subset
of XQuery in a visual form. Its simplicity, expressive power and direct mapping to
XQuery are some of the highlighting features for its use. Like XQuery, XQBE relies
on the underlying expressions in XML. It requires all data to be converted to XML
form. It presents a user with XML sub-tree expressions for the items of user interests.
XQBE’s main graphical elements are trees. There are two parts, the source part which
describes the XML data to be matched against the set of input documents, and the
construct part, which specifies which parts will be retained in the result, together with
(optional) newly generated XML items.
In order to adopt a XQBE like interface at user level, we propose to convert ADL
into XML. ADL can be mapped to an equivalent XML instance. ADL is hierarchical
in nature and has a unique identification to each node. Thus, paths are directly con-
vertible to XPath expressions. These can be created. According to Beale and Heard
[6], the particular mapping chosen may be designed to be a faithful reflection of the
semantics of object-oriented data. There may be need for some additional tags for
making the mapping of nested container attributes since XML does not have a sys-
tematic object-oriented semantics. Thus, single attribute nodes can be mapped to
tagged nodes of the same name. Container attribute nodes map to a series of tagged
nodes of the same name, each with the XML attribute ‘id’ set to the node identifier.
Type names map to XML ‘type’ attributes.
In the present proposal, the patient data description is converted to XML form
[21]. It is suitably reformed for adoption of XQBE interface. Thus users can directly
use XQBE query interface to access patient data. This process eliminates the need to
learn and use the AQL language on the part of the users [21]. The XQBE skills can be
learnt with ease [18].
168 S. Sachdeva and S. Bhalla
Database queries are usually dependent on local database schemas but archetype
systems being proposed aim to have portable queries. The queries play a crucial
role in decision support and epidemiological situations. The XQBE approach for
archetype-based EHRs is being proposed for semi-skilled users (such as doctors,
physicians, nurses). The mapping process to create XQBE is shown in following
steps (Figure 7).
i) The conversion of ADL file into XML file.
ii) Generation of DTD for the XML file.
iii) Generation of XQBE interface structure.
Subsequently, for the semi-skilled user, this three step process will facilitate in querying
archetype based EHRs. The step (ii) in above process will aid in the guided construction
of query provided by XQBE [18]. However, for some users (skilled in use of XML) the
step (ii) may not be needed and XQBE can be used directly for the XML file.
Query Scenario1. Find all Blood Pressure values, having the systolic_BP and dia-
stolic_BP, (where systolic_BP >= 140 and diastolic_BP >=90).
The AQL syntax for the above query is shown in appendix B. By using XQBE
approach for querying, we perform step (i) to step (iii) as explained, on BP parame-
ter. For each case of query, and for querying different parameters of EHR, we need
to convert each parameter (in form of adl) to a corresponding xml for the demon-
stration. We propose to develop an automated tool in the subsequent phase. The
clinical user will be provided with a substituted XQBE interface (Figure 9) in place
of AQL.
XQBE is a visual interface. A user is presented with graphical image of EHR
components, for example, blood Pressure (BP) in this case. In Figure 9, based on the
selected source data, the user defines a target sub-tree (in XML form) to express the
query (and its outcome). The query is expressed by using the graphical elements of
XQBE [18]. The source part of the query is built using the DTD. A guided construc-
tion is provided to the user to add predicates for the query. The construct (or result)
part of the query is built by the user using the graphical elements of XQBE by drag-
ging and dropping them.
Semantic Interoperability in Healthcare Information for EHR Databases 169
Figure 9 shows the element nodes and subelement nodes in the source part. The
subelements (systolic and diastolic) of the BP element, one systolic and one diastolic
satisfy condition1 (systolic>=140) AND condition2 (diastolic>=90) are described with
the help of XQBE convention. As per the convention, an arc containing ‘+’ indicates
that ‘children’ element node may exist at any level of nesting (as in Xpath we use ’//’).
The construct part consists of element node for BP (set tag T-node), and also element
nodes for systolic and diastolic, which relates the projected BP element nodes to its
systolic and diastolic subelements. The fragment node (shown by filled triangle) indi-
cates that the entire fragment of systolic and diastolic must be retained in the result.
6 Discussions
There are several concerns regarding semantic interoperability which are listed below:
• How will the legacy migration of electronic health record systems to dual
model approach based EHR systems be achieved?
• With evolution of domain clinical knowledge concepts, is it possible to
achieve semantic interoperability in next 5 years or 10 years?
• At present, few people are trained to work at the intersection of biomedicine
and IT. Will clinical domain experts really be interested in the development
of archetypes, which are keystones in achieving semantic interoperability?
• Archetype Query Language [8] has been developed by openEHR for query-
ing EHR data. It helps in semantic interoperability. Will it really be a power-
ful query language?
• How much cost will be involved for maintaining EHR systems?
• In near future, will archetype based EHR systems be semantically interoper-
able?
Sharing and exchange of knowledge, resources and information pertaining to the care
of patients is needed by healthcare professionals. Archetypes and templates are a
paradigm for building semantically-enabled software systems. Thus, archetype based
EHR system ensures semantic interoperability. Database queries, usually dependent
on local database schemas but archetype systems being proposed aim to have portable
queries.
References
1. ISO/TC 215 Technical Report: Electronic Health Record Definition, Scope, and Context.
Second Draft (August 2003)
2. Institute of Electrical and Electronics Engineers (IEEE). IEEE Standard Computer Dic-
tionary: A Compilation of IEEE Standard Computer Glossaries, New York, NY (1990)
Semantic Interoperability in Healthcare Information for EHR Databases 171
Appendix A
A brief sample of ADL for Blood Pressure Archetype
(BP.adl downloaded from [9])
definition
OBSERVATION [at0000] matches { -- Blood pressure
data matches {
HISTORY[at0001] matches { -- history
events cardinality matches {1..*; unordered} matches {
EVENT[at0006] occurrences matches {0..*} matches { -- any event
data matches {
ITEM_TREE[at0003] matches { -- blood pressure
items cardinality matches {0..*; unordered} matches {
ELEMENT[at0004] occurrences matches {0..1} matches -- Systolic
value matches {
C_DV_QUANTITY <
property = <[openehr::125]>
list = < ["1"] = <
units = <"mm[Hg]">
magnitude = <|0.0..<1000.0|>
precision = <|0|>
> > >
}}
ELEMENT[at0005] occurrences matches {0..1} matches { -- Diastolic
value matches {
C_DV_QUANTITY <
property = <[openehr::125]>
list = < ["1"] = <
units = <"mm[Hg]">
magnitude = <|0.0..<1000.0|>
precision = <|0|>
> > > }}
ELEMENT[at1006] occurrences matches {0..1} matches {-- Mean Arterial Pres-
sure
value matches {
C_DV_QUANTITY <
property = <[openehr::125]>
list = < ["1"] = <
units = <"mm[Hg]">
magnitude = <|0.0..<1000.0|>
precision = <|0|>
> > > }}
ELEMENT[at1007] occurrences matches {0..1} matches { -- Pulse Pressure
value matches {
C_DV_QUANTITY <
property = <[openehr::125]>
Semantic Interoperability in Healthcare Information for EHR Databases 173
Appendix B
AQL Syntax for BP Query scenario1
SELECT obs/data[at0001]/events[at0006]/data[at0003]/
items[at0004]/value/magnitude, obs/data[at0001]/events
[at0006]/data[at0003]/items[at0005]/value/magnitude
FROM EHR [ehr_id/value=$ehrUid] CONTAINS
COMPOSITION [openEHR-EHR-COMPOSITION .encounter.v1]
CONTAINS OBSERVATION obs openEHR-EHR-OBSER
VATION.blood_pressure.v1]
WHERE obs/data[at0001]/events[at0006]/
data[at0003]/items[at0004]/value/magnitude>= 140 AND
obs/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/
magnitude>=90