Methods and tools associated with the development
and execution of computer-interpretable guidelines
|Guideline Expression Language
Object-oriented query and logical expression language for clinical decision support
|GELLO is a platform independent
expression language that can be used and shared by any clinical application which requires querying
and reasoning about data and evaluation of logic expressions.
||Query and logical expression language, clinical
decision support, object-oriented data model, virtual medical record, HL7 RIM (Reference Information Model),
Object Constraint Language
|| Decision Systems Group (DSG), Harvard Medical
School in association with the Clinical Decision Support Technical Committee and
Clinical Guidelines Special Interest Group of HL7 and (in early work) the InterMed Collaboratory (USA).
||2002; 2005 adopted as an international standard by HL7 and ANSI
GELLO was approved by HL7 as an international standard for query and rule expressions for clinical guidelines in the January
2005 balloting cycle.
The American National Standards Institute (ANSI) approved GELLO as an international standard in May 2005.
GELLO complies with the guiding principles of the ANSI Healthcare Informatics Standards since it provides a standard
representation and encoding of healthcare knowledge. (GELLO is based on the existing Object Constraint Language
(OCL) and the HL7 Reference Information Model (RIM)). Also, GELLO aligns with the ANSI strategy of identifying and
addressing healthcare harmonization and interoperability issues.
The DSG is analyzing decision support resources in its associated health care institution (Brigham & Women's Hospital / Partners HealthCare System)
and exploring how clinical knowledge used in the variety of applications which provide decision support can be
better managed using GELLO as the means for encoding.
In 2000, the InterMed Collaboratory
(developers of the GLIF formalism for representing clinical guidelines)
asked HL7 to establish a Clinical Guidelines Special Interest Group
(CG SIG) under the Clinical Decision Support Technical Committee
(CDSTC) to pursue standardization in computerised guideline modeling
methods. The work of the CG SIG included GELLO. GELLO was originally
developed by InterMed as the GLIF v.3 expression language for query
statements and decision rules. The current version of GELLO is a
refinement of the specification made for GLIF.
The GELLO expression language is designed
to meet the following requirements:
GELLO is a class-based, object-oriented (OO) language
made up of both query and expression (sub-)languages.
GELLO is based on the Object Constraint Language
(OCL) developed by the Object Management Group. Much of the functionality of OCL has
integrated into GELLO to provide
a suitable framework for manipulation of clinical data for decision support.
The GELLO language can be used to:
- the need for a standard, object-oriented language to
formulate expressions for manipulating clinical data and
providing decision support in various clinical applications.
- the need to support sharing of clinical knowledge between
applications in heterogeneous clinical environments.
- the need to be vendor independent, platform independent,
object oriented and compatible with the HL7 Reference
Information Model (RIM), easy to read and write, free
of side-effects, extensible and shareable.
"The GELLO query language has been designed within the context of a guideline execution model
proposed in the HL7 CDSTC. This model proposes the use of a vMR (virtual Medical Record) that provides a
standard interface to heterogeneous medical record systems..."
"The GELLO expression language can be used for specifying decision criteria, and abstracting
or deriving summary values. The object-oriented approach of the language has the
flexibility and extensibility that is needed for implementation in a broad range of
applications. The expression language is strongly typed. In order to facilitate the
process of encoding and evaluation of expressions and more importantly, to maximize the
ability to share such queries and expressions, GELLO includes basic built-in data types
while providing the necessary mechanisms to access an underlying data model
with all its associated classes and methods. This is especially important in enabling
decision rules and guidelines to successfully support different data models, inasmuch as
classes and relationships specified could vary from one data model to another."
- "Build up queries to extract and manipulate data from medical records.
- "Construct decision criteria by building up expressions to reason about particular
data features/values. These criteria can be used in decision support knowledge
bases such as those designed to provide alerts and reminders, guidelines, or other
- "Create expressions, formulae, and queries for other applications.
The query and expression languages share a common OO data model since the
expressions must operate on data supplied by queries."
|GELLO in use
As noted above, the GELLO expression language has been designed to provide clinical knowledge services in the
context of heterogeneous
clinical environments. Most importantly, GELLO aims to be a platform independent knowledge representation that can be
used and shared by any clinical application.
GELLO expressions can be translated into other languages by means of a compiler producing executable code
compatible with institution-based applications. At the same time, GELLO expressions can be shared among institutions
with different systems without the need of rewriting. GELLO expressions can be embedded at any point where decision rules,
eligibility criteria, patient state specifications or guidelines are needed.
The following two figures illustrate schematically the processes of authoring, validating and executing GELLO expressions.
Figure 1 (click for full-size image):
Authoring and validating GELLO expressions is composed of three steps.
Step 1 - GELLO expressions are inserted into a clinical application(s).
Examples of GELLO syntax are provided.
Step 2 - GELLO expressions are checked for correctness. In other words, each GELLO expression inserted in an application must satisfy GELLO syntax.
If an expression is correctly written, it is compiled –“translated” into code that can be executed by a computer.
Step 3 - Original GELLO expressions are substituted by their equivalent in “executable code” and the application is ready for execution.
Figure 2 (click for full-size image):
Executing GELLO expressions is made up of three steps.
Step 1 - The GELLO expression is evaluated to determine whether the expression is
a request for patient information or an expression to evaluate previously
requested patient information.
Step 2 - The dashed rectangle headed “Institution Information Systems” comprises three
An HL7 RIM-compatible Database Model Structure
(DBMS). To ensure compatibility, the information stored in the DBMS
must be in the form of classes and properties equivalent to those
found in the RIM. An institution database containing patient-related information.
middleware tool which maps data from an
institution database, in a specific format, into a standard HL7 RIM-
compatible database. The mapping middleware contains a table of
equivalences for elements in the Institution database and their equivalent
classes and attributes in the RIM. If the expression is a request for data, the RIM-compatible DBMS receives a request for
information. GELLO expressions requesting patient data are always written following the structure of the HL7 RIM,
hence the need for mapping. However, if the institution database is RIM-compatible, mapping is not required.
Step 3 - Retrieved information is returned to the application (back to Step 1) and
If the expression is an evaluation expression (diamond in Step 1), the following step is to determine whether all
the information required to evaluate the expression is available (diamond in Step 3). If this is the case,
the evaluation takes place and the result is sent back to the application (Step 1) and execution again continues.
Sordo M, Ogunyemi O, Boxwala AA, Greenes RA, Tu S. GELLO: An Object-Oriented Query and Expression Language for Clinical Decision Support.
Summary Report prepared for OpenClinical, 17 March 2004.
GELLO is designed to be a standard query and expression language for decision support. Its specification has been developed in coordination with the HL7 Clinical Decision Support TC (CDSTC). The effort, begun in 2001, has been carried out with input from other TCs and SIGs as well, in order to take account of common needs for constraint specification and query formulation, and the following groups have been consulted in developing the specification: Control/Query, Modeling and Methodology, and Templates. ...
Margarita Sordo, Robert A. Greenes.
Speaking the same language: sharing clinical knowledge
with GELLO expression language (White Paper v. 1.2).
As a developer/user of computerized clinical guidelines particularly, and clinical knowledge
in general, you have come across valuable pieces of encoded clinical knowledge that you
wish could be able to incorporate in your systems. However, the growth of multiple,
incompatible clinical applications, each based on its own hardware architecture, platform,
and operating system; each having patient records stored in ad hoc databases specifically
tailored to satisfy the needs of a particular institution, precludes you from reusing valuable
knowledge and incorporating it in your clinical applications without the painful process of
restructuring and sometimes, rewriting it all to meet your particular specifications.
There is a better way for doing this: with GELLO, you can represent your clinical
knowledge, e.g. decision rules, eligibility criteria, patient state specifications with
expressions that are:
• Specifically targeted to clinical applications;
• Object oriented;
• Platform independent;
• Vendor independent;
• Intended to access data through an OO data model – an RMIM compatible with the
• Robust, strongly-typed, declarative and side-effect free...
| Sordo M, Ogunyemi O, Boxwala AA,
Greenes RA, Tu S. GELLO: An Object-Oriented Query and
Expression Language for Clinical Decision Support. Summary
Report prepared for OpenClinical, 17 March 2004.
|" GELLO is designed to be a standard
query and expression language for decision support.
Its specification has been developed in coordination
with the HL7 Clinical Decision Support TC (CDSTC). The
effort, begun in 2001, has been carried out with input
from other TCs and SIGs as well, in order to take account
of common needs for constraint specification and query
formulation, and the following groups have been consulted
in developing the specification: Control/Query, Modeling
and Methodology, and Templates. ... "
Sordo M, Boxwala AA, Ogunyemi
O, Greenes RA. Description and status update on GELLO:
a proposed standardized object-oriented expression
language for clinical decision support. Medinfo. 2004;11(Pt
" A major obstacle to sharing
computable clinical knowledge is the lack of a common
language for specifying expressions and criteria.
Such a language could be used to specify decision
criteria, formulae, and constraints on data and action.
Although the Arden Syntax addresses this problem for
clinical rules, its generalization to HL7's object-oriented
data model is limited. The GELLO Expression language
is an object-oriented language used for expressing
logical conditions and computations in the GLIF3 (GuideLine
Interchange Format, v. 3) guideline modeling language.
It has been further developed under the auspices of
the HL7 Clinical Decision Support Technical Committee,
as a proposed HL7 standard., GELLO is based on the
Object Constraint Language (OCL), because it is vendor-independent,
object-oriented, and side-effect-free. GELLO expects
an object-oriented data model. Although choice of
model is arbitrary, standardization is facilitated
by ensuring that the data model is compatible with
the HL7 Reference Information Model (RIM). "
|Ogunyemi O, Zeng Q, Boxwala AA.
BNF and built-in classes for object-oriented guideline
expression language (GELLO). Technical Report: Brigham
and Women's Hospital; 2001. Report No.: DSG-TR-2001-018.
| GELLO is an object-oriented expression
language that is used to specify decision and eligibility
criteria in GLIF. It was developed by InterMed in collaboration
with the HL7 Clinical Decision Support Technical Committee,
and is now being considered as an HL7 standard. GELLO
functions are implemented as methods of classes. The
classes that GELLO supports include data types, collections,
medical record entities, concepts and their relationships,
and utility classes that perform operations on the other
GELLO classes (e.g., arithmetic, logical, comparison,
presence of patient data items, and temporal operations).
GELLO also includes query language constructs similar
to those of the Object Query Language (OQL). This paper
presents the syntax of GELLO in BNF format.
Sordo M, Ogunyemi O, Boxwala
AA, Greenes RA. Software Specifications for GELLO:
An object-oriented query and expression language for
clinical decision support. DSG Technical Report DSG-TR-2003-02,
"This document is the full software specification for GELLO expression and query
languages and is organized as follows:
Section 2 describes the requirements for query and expression languages for clinical use.
Section 3 describes the main goals and properties of GELLO to meet such requirements.
Section 4 briefly describes the Object Constraint Language (OCL) features. Section 5
lists OCL features not included in the GELLO language specification.
Section 6 describes OCL features included in GELLO query and expression languages
including basic data types, ... model types, ...
collection types, ... properties of model types (attributes and methods), ... variables...
GELLO built-in operators...
Section 7 describes the syntax of the GELLO grammar. Section 8 describes queries in
GELLO, and how they are used to retrieve information from a vMR. Similarly, section 9
describes GELLO expressions used to build decision criteria, perform abstraction or
derive summary values. Section 10 presents examples of GELLO queries and
expressions. Finally, section 11 contains a diagram of the HL7 RIM data types for
Sordo M, Ogunyemi O, Boxwala AA, Greenes RA.
GELLO: an object-oriented query and expression language for clinical decision support.
AMIA Annu Symp Proc. 2003;:1012
GELLO is a purpose-specific, object-oriented (OO) query and expression language. GELLO is the result of a concerted effort of the Decision Systems Group (DSG) working with the HL7 Clinical Decision Support Technical Committee (CDSTC) to provide the HL7 community with a common format for data encoding and manipulation. GELLO will soon be submitted for ballot to the HL7 CDSTC for consideration as a standard.
|| Margarita Sordo
Decision Systems Group
Brigham and Women's Hospital
Harvard Medical School
A GELLO website is currently under development at Harvard Medical School.
|Margarita Sordo Sánchez, Decision
Systems Group, Harvard Medical School
| Entry on OpenClinical: 03 February 2006
Last main update: 19 February 2006