which can be combined together as building blocks
to support single decision making as well as more
complex, chained, decision making processes. In this
sense, GDL rules are suitable to be used in the task
of modeling CIGs that can be part of decision support
systems for healthcare (openEHR Foundation, 2021).
This language uses archetypes to model the clini-
cal data collected and required in clinical guidelines.
There exist some works that show how to use GDL
jointly with archetypes in order to represent clinical
guidelines in a rule-based manner (Anani et al., 2014;
Lin et al., 2016).
GDL2 is the evolution of GDL version 1
1
. A dis-
tinctive characteristic of GDL2 with respect to GDL
version 1 is that it provides a specification structured
in packages. Although this structure cannot be used
as a meta-model, it is a good starting point to de-
velop it. The packages defined in the GDL2 specifica-
tions (openEHR Foundation, 2021) are the following:
• Guideline Package, which includes the classes
needed to identify the archetypes used in the
guideline and the defined rules.
• Expression Package, which incorporates the
needed classes to make up the expressions (asser-
tions and assignments) included in the rules, pre-
conditions and default actions.
• Terminology Package, which incorporates the
needed classes to define the terms and the term
bindings.
GDL2 basically provides preconditions, default ac-
tions and rules to execute the logic of the guideline
decisions, and openEHR archetypes used to interop-
erate with the EHR.
A GDL model includes a description, a definition
and a terminology section. The description section
contains the identification of the guideline: name, au-
thors, version, keywords, etc.
The definition section includes the archetypes in-
stantiation, the preconditions, the default actions and
a list of rules to be executed. Besides, it can define
different output formats that are identified in an out-
put template. An archetype describes in detail the
structure and content of clinical concepts. In a GDL
model archetypes can be instantiated as input or out-
put archetypes to deal with the input and output data
respectively. Preconditions are defined assertions that
have to be met before the rules of the guideline can
be executed. Default actions define assignments to be
always executed. A rule is defined by means of an
assertion (when) and one or more assignments (then),
1
In this paper, the terms ‘GDL’ and ‘GDL2’ are equally
used to refer to the version 2 of GDL, while ‘GDL version
1’ is used to identify the version 1 of GDL.
i.e., (if-then) statements. Rules are executed follow-
ing the priority provided by their order. Assertions
and assignments are logical expressions composed
by items and operators. Items can be in turn logi-
cal expressions, data elements instantiated from the
archetypes or constant values. Finally, the terminol-
ogy section defines how the terms used in the guide-
line are linked to user interface labels and to the term
description in natural language. Moreover, it can in-
clude the local terms bound to external concepts by
means of external references named term bindings.
Figure 4 shows an example of the rules defined
for a GDL model implemented using the GDL2 Edi-
tor Primer
2
. Figure 5 shows the rule Step 1 HF or
other diagnoses decision - suspected. First
the rule sets up the the conditions composed by log-
ical expressions that assess values of the instantiated
elements from archetypes, and then it includes the ac-
tions to be executed if the previous nested conditions
are true.
2.3 Use of Meta-models in Software
Engineering
The model and meta-model concepts are usually con-
fused in the context of Software Engineering, often
due to the numerous definitions that can be found in
the literature. Therefore, and according to (Do et al.,
2012), it is needed to specify the model and meta-
model concepts for a better comprehension.
A model is an abstract representation of the real
world or more specifically of a system. Therefore,
it must necessarily be a simplification of that reality
developed with a specific goal and purpose (Favre,
2004).
On the other hand, a meta-model is a model it-
self, but moreover, it is the explicit specification of
an abstraction. It needs to set up a list of constructs,
concepts and relationships among then, in order to de-
velop the abstraction, that is to say the corresponding
models (B
´
ezivin and Gerb
´
e, 2001).
Therefore, the meta-model represents the infor-
mation of the model, which represents the real world
that we want to abstract. In fact, the representation
by means of the concepts and relationships included
in the meta-model becomes then our understanding of
the real world (Do et al., 2012).
According to (Garc
´
ıa-Magari
˜
no et al., 2010)
meta-models need to formally specify modeling lan-
guages, providing a precise definition of the primi-
tives, constraints and rules required for creating mod-
2
https://gdl-lang.org/the-project/guides-tutorials/gdl2/
gdl2-editor-primer/
A Meta-model for the Guideline Definition Language
61