=Paper=
{{Paper
|id=Vol-247/paper-4
|storemode=property
|title=Development of an Ubiquitous Decision Support System for Clinical Guidelines using MDA
|pdfUrl=https://ceur-ws.org/Vol-247/FORUM_03.pdf
|volume=Vol-247
|dblpUrl=https://dblp.org/rec/conf/caise/PorresDPRZ07
}}
==Development of an Ubiquitous Decision Support System for Clinical Guidelines using MDA==
9
Development of an Ubiquitous Decision Support
System for Clinical Guidelines using MDA ?
Ivan Porres1 , Eladio Domínguez2 , Beatriz Pérez2 , Áurea Rodríguez2 and
María A. Zapata2
1
Department of Computer Science, Åbo Akademi University,
Joukahaisenkatu 3-5 B, FIN-20520 Turku, Finland
iporres@abo.fi
2
Dpt. of Computer Science and Systems Engineering, University of Zaragoza,
Pedro Cerbuna 12, E-50009 Zaragoza, Spain
{noesis,beaperez,arv852,mazapata}@unizar.es
1 Introduction
The health sector uses clinical guidelines and protocols (we will refer to both
terms as “guidelines”) as help instruments for decision making. These establish
the interventions that must be carried out with regard to the current circum-
stances of a patient. Guidelines can be represented using many different ap-
proaches and notations [1], of which the most common one is natural language.
In some cases, informal notations can be lead to ambiguities, inconsistencies
or difficulties for understanding by health professionals. In order to avoid these
problems, we consider that the guidelines must be specified by means of easily
understandable formal notations which can be analyzed and implemented. We
consider that the implementation of guidelines in an information system can be
of great help to the medical staff in their decision making process [1], [2].
In this paper, we discuss the development of an ubiquitous decision support
system (UDSS) for guidelines in a MDA context. Such system should take into
account the indications of the guideline, the current status of the patient and
should provide the necessary information to help physicians in their decisions.
Considering the characteristics of the hospital environment, we think that such
a system must be developed in an ubiquitous setting [1]. Additionally, the UDSS
will record the information related with the application of the guideline to the
patient [1], [2].
The manual implementation of a UDSS for guidelines would be a long and
costly endeavor due to the vast amount of guidelines, their possibility of change
over time and their dependence on the hospital which uses them. So, we have
considered more appropriate to construct such system using a model-based devel-
opment approach. We have decided, as is shown in [1], [2], to represent guidelines
using UML Statecharts [9]. Based on this model representation, we developed
a code generation tool to obtain the UDSS for every guideline in an automatic
?
This work has been partially funded by the Spanish Ministry of Education and
Science through the project TIN2005-05534 and the FPU grant AP2003-2713.
10
way. Using our approach, the implementation of new guidelines only requires
the design of a new statechart modeling it. Based on this model, the UDSS for
the guideline is generated automatically. In this way, the cost of generating the
UDSS is lower than the required for a manual implementation.
It is worth noting that, to our knowledge, this is the first work to use the
MDA approach for the development of a UDSS for guidelines. For this reason
our approach would open a new field for the application of the MDA approach.
2 Using UML Statecharts to Represent Clinical
Guidelines
We have decided to use UML 2.0 Statecharts [9] for representing the dynamics of
guidelines [2] for several reasons. They allow the user to properly model concur-
rent behaviors, as well as to represent state hierarchy, increasing both scalability
and legibility. In addition, UML Statecharts are considered to be easy to commu-
nicate and an understandable visual formalism [3]. Another advantage of using
UML is that it has been supported by many modeling tools. In particular, many
of such UML tools comply with the MDA approach, giving facilities for code gen-
eration. Moreover, the UML subset defining statecharts has been studied and
formalized by many researchers, who have also developed analysis tools [6].
Furthermore, the implementation of the UML Statecharts allows the UDSS
to show the information related to the guideline, such as patient’s states, the
possible events that can take place, the clinical conditions to be fulfilled when
each event is triggered, the clinical actions to be carried out, as well as the
corresponding new patient’s state. In addition, this implementation helps to
record a trace of the application of the guideline, such as physician’s decisions and
patient’s states. This information will be stored to be part of the patient’s clinical
history and to be used for obtaining a summary concerning the application of
the guideline to the patient, for physician’s future decisions or legal support, etc.
As for the use of UML Statecharts for representing guidelines, we want to
highlight two contributions of our approach. 1) We have established several rep-
resentation patterns to assist in the modelization process because there is no
single criteria to follow to create a statechart representing a guideline. We do
not describe these patterns in this paper due to space reasons. 2) We have had
to define our own action language for representing guidelines, due to UML does
not have one single and precise action semantics [5]. Moreover, UML proposes
a wide variety of specialized actions, which we want to avoid, because of our
intention of representing guidelines in an easily way.
3 Development of a UDSS
In this section we discuss the process we propose to develop an ubiquitous deci-
sion support system for a given guideline, based on a MDA approach [8].
Once we have modeled a guideline as a UML statechart, the next step consists
of using a specific MDA tool for code generation. There are a large amount of
11
MDA based tools, but most of them provide support for code generation based on
their own particular transformation approach. In our case, we require a specific
approach of model to text transformation that takes into account the specific
semantics of the statecharts which represent the guidelines. Because of that, we
have chosen a tool with support for customizable model to text transformation.
The idea is to define only one set of transformations for all guidelines.
In order to finally obtain the UDSS for the guideline, we propose the use
of the generated code from the statechart model, combined with a platform
library. The aim of the platform library is to provide the standard services that
are common to all guidelines. The generated code has invocations to the methods
of this library in order to make use of its services.
The definition of both, the transformations and the platform library, is inde-
pendent of the used guideline. So, following our approach, if the definition of the
guideline is changed, it will be only necessary to modify the statechart which
represents the guideline, making it easy to obtain the UDSS for that guideline,
without the necessity of modifying the code manually.
Customization of the Model to Text Transformations. Among the large
amount of MDA based tools, we have chosen the MOFScript Eclipse plug-in [7],
which has support for customizable model to text transformation. As input mod-
els, MOFScript can use any model in any language based on the EMF [4] meta-
model. From these input models, the tool can then generate any arbitrary text by
using a defined set of MOFScript transformations. Each of these transformations
contains rules which define the behavior of the transformation.
In our particular case, we use the UML 2.0 metamodel and the statechart
which represents the guideline as the model. The code generator is defined as
an only set of transformations in the MOFScript language. There are two kinds
of transformation rules: (1) those which traverse the model (taking into account
the different elements in a UML statechart and their specific semantics) and
collect the information in it and (2) those who generate actual code.
As we have commented previously, we have defined our own action language
as part of our representation patterns for guidelines. Taking into account the
possibility of adding new elements to that language in the future, we have defined
a method which allows us to generate code from the elements of that action
language in an easily way. We do not comment that method due to space reasons.
Development of the Platform Library. The aim of using the platform library
is to make the UDSS more modular. We achieve this by defining the program-
ming interfaces of the library general enough for being used independently of
the platform chosen. This library has different methods, related with the im-
plementation of the UDSS, such as the user interface, the strategy to store the
data, etc. The implementation of those methods will depend on the platform we
want to use. The generated code has invocations to those methods so that, in
order to change the platform, it will be necessary to modify neither the defined
transformations nor the generated code. That is, we only have to modify the
implementation of those methods.
12
In addition, we want to develop the decision support system so that it can
be accessed in an ubiquitous way, through various kinds of interaction devices.
So our intention is to implement the library in such a way that it can provide
support for the necessary ubiquitous services, in order to obtain the UDSS with
the characteristics that we have explained previously.
4 Conclusions and Future Work
In this paper we have shown a model-based development approach to construct
a UDSS for guidelines. Our approach makes it possible to automatically obtain
the UDSS for a guideline represented by a statechart.
At present, we have developed a first prototype using a simple user interface,
so as future work we have to modify the implementation of the methods defined
in the platform library in order to use another more suitable way of interaction
with the user. In addition, the development of a way for recording the information
related to the application of the guideline to the patient and the determination
of evolution mechanisms to manage changes in the definition of the guideline,
are a goal for further development.
References
1. E. Domínguez, A. De Miguel, B. Pérez, A. Rodríguez, and M. A. Zapata. Sistemas
de información hospitalaria en el contexto de la computación ubicua. In Actas del
II Congreso Iberoamericano sobre Computación Ubicua [CICU 06], pages 147–156,
Alcalá de Henares, Madrid, Junio 2006.
2. E. Domínguez, B. Pérez, A. Rodríguez, and M. A. Zapata. Medical protocols for
taking decisions, in an ubiquitous computation context. Novática, 177:38–41, Sept-
Oct 2005.
3. S. Efroni, D. Harel, and I. R. Cohen. Toward rigorous comprehension of biologi-
cal complexity: modeling, execution, and visualisation of thymic T-cell maturation.
Genome Research, 13(11):2485–2497, 2003.
4. EMF Development team. The Eclipse Modeling Framework website, http://www.
eclipse.org/emf.
5. R. B. France, S. Ghosh, T. Dinh-Trong, and A. Solberg. Model-driven development
using uml 2.0: Promises and pitfalls. IEEE Computer, 39(2):59, 2006.
6. J. Lilius and I. Porres. vUML: A Tool for Verifying UML Models. In The 14th
IEEE International Conference on Automated Software Engineering, Cocoa Beach,
Florida, Oct 1999. IEEE Computer Society.
7. MOFScript Eclipse plug in. MOFScript website, http://www.eclipse.org/gmt/
mofscript.
8. OMG. OMG Model Driven Architecture, June 2003. Document omg/2003-06-01.
Available at http://www.omg.org/.
9. OMG. UML 2.0 Superstructure Specification, August 2005. Document formal/05-
07-04. Available at http://www.omg.org/.