OpenClinical logo

Clinical demonstrators

Methods and tools associated with the development and execution of computer-interpretable guidelines

GELLO
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.
keywords Query and logical expression language, clinical decision support, object-oriented data model, virtual medical record, HL7 RIM (Reference Information Model), Object Constraint Language
developed by 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).
introduced 2002; 2005 adopted as an international standard by HL7 and ANSI
status

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.

support  
in use 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.
tools  
background
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.

description
The GELLO expression language is designed to meet the following requirements:
  • 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.

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:
  • "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 decision rules.
  • "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."

"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."

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.


spacer


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 elements:

  • 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.
  • Mapping 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 execution continues. 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.


  • spacer


    references
    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.

    [OpenClinical]
    " 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). December 2004

    []   [DSG]

    " 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 HL7 RIM; • 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.

    [OpenClinical]
    " 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 1):164-8.

    [PubMed]   [DSG]

    " 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.

    [DSG-Harvard]

    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, 2004.

    []   [HL7]

    "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 reference. "

    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

    [PubMed]   []

    " 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. "

    contact Margarita Sordo
    Decision Systems Group
    Brigham and Women's Hospital
    Harvard Medical School
    Boston MA.
    USA

    E: msordo@dsg.harvard.edu
    links  bullet  HL7 RIM  bullet  ANSI  bullet  Decision Systems Group at Harvard Medical School and Brigham and Women's Hospital  bullet  Object Management Group  bullet  GLIF [OC]

    A GELLO website is currently under development at Harvard Medical School.
    acknowledgements
    Margarita Sordo Sánchez, Decision Systems Group, Harvard Medical School
    page history
    Entry on OpenClinical: 03 February 2006
    Last main update: 19 February 2006

     

    Search this site
     
    Privacy policy User agreement Copyright Feedback

    Last modified:
    © Copyright OpenClinical 2002-2011