Procedural Approach to Mitigating Concurrently Applied Clinical Practice Guidelines Martin Michalowski Szymon Wilk

Expanding the Boundaries of Health Informatics Using Artificial Intelligence: Papers from the AAAI 2013 Workshop
Procedural Approach to Mitigating Concurrently
Applied Clinical Practice Guidelines
Martin Michalowski
Szymon Wilk
Adventium Labs, USA
Poznan University of Technology, Poland
martin.michalowski@adventiumlabs.com
szymon.wilk@cs.put.poznan.pl
Di Lin
McGill University, Canada
di.lin2@mail.mcgill.ca
Wojtek Michalowski, Xing Tan, Subhra Mohapatra
University of Ottawa, Canada
wojtek@telfer.uottawa.ca, tan@telfer.uottawa.ca, smoha093@uottawa.ca
methods is one of the obstacles in the adoption of CPGs in
clinical practice and the development of these methods has
been identified as one of the “grand challenges” for clinical
decision support (Sittig et al. 2008).
We responded to the above challenge by proposing an automatic mitigation algorithm that verifies if pairs of CPGs
can be applied simultaneously to a patient with comorbid
diseases (Wilk et al. 2013). We described the novel use of
a constraint logic programming (CLP) model to represent
evidence-based guidelines and domain knowledge that goes
beyond what is presented in a CPG, and presented an algorithm that manipulates and solves this model to propose a
combined therapy. The mitigation algorithm was originally
developed under a number of assumptions, two of them being no iterative actions that may produce a cycle and the
use of only binary action variables (i.e., variables associated
with actions prescribed by a CPG). In this paper we are relaxing these assumptions and presenting an extended version
of our mitigation algorithm that resolves a cycle in a CPG
and introduces numerical variables into the logical models.
A cycle in a CPG occurs when one or more actions (usually related to therapy) are repeated several times. Often
the number of iterations or the stop condition is not clearly
stated. While this situation is easily handled by a physician
who knows how and when to stop a cycle, it creates a serious
problem when the CPG is processed automatically. Numerical variables provide a more detailed characteristic of specific actions from a CPG than nominal (especially Boolean)
ones that are used in logical models. In particular, they allow
for the precise representation of medication dosages, allowing for the discovery of interactions resulting in overdosing or those exacerbating the action of one medication by
another. Extending our CLP-based approach to handle cycles and use numerical variables positions the work one step
closer to being used as a decision support tool at the point
of care while providing the research community with new
approaches to modeling medical domain knowledge and determining therapies using a CLP-based approach.
Finally, our long term research goal is to develop a formal
theory for the mitigation of multiple CPGs for a comorbid
patient. The work presented here is a procedural approach
that we show to apply to mitigation under certain assumptions. We are working to further generalize our approach
and Section 5 provides a brief discussion of directions we
Abstract
There is a pressing need in clinical practice to mitigate
(identify and address) adverse interactions that occur
when a comorbid patient is managed according to multiple concurrently applied disease-specific clinical practice guidelines (CPGs). We describe an automatic algorithm for mitigating undesirable interactions for pairs
of CPGs. The algorithm constructs logical models of
processed CPGs and employs constraint logic programming to solve them. It handles two important issues frequently occurring in CPGs – iterative actions forming a
cycle and numerical measurements. Dealing with these
two issues in practice relies on a physician’s knowledge
and the manual analysis of CPGs. Yet for guidelines
to be considered stand-alone and an easy to use clinical decision support tool this process needs to be automated. In this paper we present our algorithm that aims
to build such a tool by mitigating multiple CPGs while
handling cycles and numerical measurements. The application of the mitigation algorithm is illustrated with
a clinical case study involving a comorbid patient suffering from atrial fibrillation in the setting of WolffParkinsons-White syndrome.
1
Introduction
Boyd et al. (2005) discussed the applicability of clinical practice guidelines (CPGs) (see Latoszek-Berendsen et
al. (2010) for the definition of a CPG and a review) to the
care of patients with comorbid diseases. After analyzing
hypothetical clinical scenarios of several common chronic
diseases and associated CPGs, the authors concluded that
adhering blindly to CPG-mandated treatments in the presence of comorbid diseases may negatively impact a patient’s
health. They attributed this situation to the fact that a CPG
is largely developed by a specialty-dominated committee,
and therefore is not designed to provide help with regards
to evaluating and managing comorbid patients. Since developing CPGs that explicitly address all potential comorbid
diseases is difficult and impractical, there is a need for formal methods that would allow combining several diseasespecific CPGs in order to customize them to a specific patient (Fox et al. 2010). Studies show that the lack of such
c 2013, Association for the Advancement of Artificial
Copyright Intelligence (www.aaai.org). All rights reserved.
47
are exploring towards this goal.
2
Available patient
data
Two CPGs given
as actionable graphs
Motivating Clinical Scenario
Consider an elderly male patient complaining of palpitations, shortness of breath and a syncopal episode. At the
time of presentation he was not in any distress but had a
rapid irregular pulse. A 12-lead ECG was done and revealed
an irregular, wide complex tachycardia consistent with atrial
fibrillation (AF) in the setting of Wolff-Parkinsons-White
(WPW) syndrome. The attending physician concluded that
the patient has a chronic condition (WPW) and an acute disease (AF).
Following the guideline for WPW, this patient should be
given flecainide at a low dosage, after which an evaluation
to determine if the patient’s WPW is stable needs to be conducted. If the patient’s WPW condition does not stabilize,
the guideline suggests either increasing the dosage of flecainide, if the level of flecainide is below the maximal safe
dosage for a particular patient, or following another therapy. According to the guideline for AF, the patient will receive electrical cardioversion if hemodynamic instability is
present. Otherwise, the patient is given intravascular injection of flecainide or amiodarone, depending on the presence of structured heart disease. In cases of a recurring AF
episode, the patient is given oral amiodarone.
When treating a patient for both AF and WPW there is
an interplay between the dosages prescribed, specifically the
dosage of flecainide. Overdosing the patient leads to a level
of the drug in the blood that results in toxicity. Therefore
dosages of flecainide need to be expressed in terms of exact,
patient-specific (numerical) values that are changed during
the management process. Additionally, the CPG for WPW
contains a treatment cycle. Thus, handling both repeated actions manifesting as a cycle and the dosage of flecainide is
essential to developing a safe combined therapy for this patient. While AF and WPW serve as the motivating clinical
example for this work, in practice the described interactions
between CPGs are common across many other pairs of diseases.
3
Phase 1: Preparation
Phase 2: Mitigation of direct
adverse interactions
Interaction and
revision operators
Create logical models
from actionable graphs
Identify and address direct
adverse interactions
No interactons
or interactions addressed
Augment combined
logical model
Phase 3: Mitigation of
indirect adverse interactions
Identify and address indirect
adverse interactions
No interactons
or interactions addressed
Success
Report safe therapy
Unable to address
interactions
Failure
Figure 1: Mitigation Algorithm Overview
domain knowledge is codified in the form of interaction and
revision operators. The former characterize possible indirect
adverse interactions between CPGs, while the latter describe
revisions required to address specific adverse interactions.
An overview of the mitigation algorithm is given in Figure 1 and it consists of three main phases: preparation, mitigating direct interactions, and mitigating indirect interactions. It accepts as input two CPGs given as actionable
graphs and available patient information represented as a
set of variable-value pairs. An actionable graph is a directed
acyclic graph with context, action and decision nodes corresponding to context, action and decision steps that appear in
most formal CPG representations (Isern and Moreno 2008).
Actionable graphs can be obtained automatically from other
representations (in Hing et al. (2010) we proposed an algorithm for this purpose) and this property makes our mitigation algorithm representation-agnostic.
The preparation phase starts with the construction of logical models that are logical representations of actionable
graphs. Formally, a logical model of the actionable graph
AGi is defined as LMi =< di , Vi , P LEi >, where di is the
label of a disease associated with AGi , Vi is a set of variables associated with actions and decision nodes in AGi ,
and P LEi is a set of logical expressions representing paths
in AGi , each being a conjunction of variable-value pairs.
These logical models are brought together as a combined
logical model. The combined logical model is formally defined as: CLMi,j =< LMi , LMj , ILEi,j >, where ILEi,j
is a set of logical expressions that represent indirect adverse
interactions between logical models LMi and LMj .
In the mitigation of direct interactions phase the algorithm
checks for direct adverse interactions. It first transforms the
combined logical model into a CLP model (we refer to it as a
CLP-CPG model) and attempts to solve it given patient data
(variable-value pairs instantiated to represent the patient’s
known health state). A solution to the CLP-CPG model is
Mitigation Algorithm
Our mitigation algorithm is described in detail in (Wilk et
al. 2013). In this section we present only its general structure and the relevant concepts affected by our proposed extensions. The mitigation algorithm checks for possible adverse interactions between CPGs, addresses identified interactions and finally finds a combined therapy consisting
of individual therapies derived from both CPGs. We distinguish between two categories of interactions - direct and
indirect. The former manifest as contradicting treatments
given by individual CPGs (e.g., “administer flecaininde”
and “do not administer flecainide”), while the latter manifest as medication-medication or medication-disease interactions (e.g., flecainide should not be given to patients with
kidney disease) and they are not explicitly included in CPGs.
Identifying and addressing adverse interactions requires extensive domain knowledge that comes from clinical experts,
textbooks and repositories of evidence. We assume that this
48
an assignment of values to variables from Vi and Vj such
that no constraints are violated. If a solution exists, it means
there are no direct adverse interactions and the algorithm
passes to the third stage. Otherwise, the lack of a solution
indicates some constraints have been violated thus leading
to infeasibility (similar to conflicting constraints in mathematical programming models). Variables appearing in the
violated constraints form the potential source of infeasibility that drives the step of addressing adverse interactions by
applying revision operators to the combined logical model.
The algorithm checks if all adverse interactions have been
addressed by creating another CLP-CPG model from the revised combined logical model. The lack of a solution at this
point indicates interactions that cannot be addressed and the
algorithm terminates with failure. Otherwise, it proceeds to
the third phase.
The third phase - mitigating indirect adverse interactions is very similar to the second one. The main difference is the
application of interaction operators that codify possible indirect adverse interactions to the CLP-CPG model at the very
beginning of this phase. This augments the CLP-CPG model
with information not present in the original CPGs. Subsequent processing is analogous to the second phase. The algorithm reports failure in the case of adverse interactions
that cannot be addressed or success if there are no interactions or they were successfully addressed. Additionally, the
algorithm returns a possible combined therapy derived from
the solution to the CLP-CPG model.
Handling cycles introduces a new step in the preparation
phase, where a cyclic actionable graph is transformed into an
acyclic one by identifying and expanding cycles. The two
key issues with cycles are: (1) they pose a problem when
transforming an actionable graph into a logical model because a unique variable is needed for each action (and actions in cycles occur multiple times), and (2) often there is
no clear definition of the number of iterations or a stopping
condition. Based on consultations with medical experts we
developed a two-step expand procedure (Figure 2) to remove
a cycle by estimating the number of iterations (extracted directly from a CPG in the easy case or approximated using
expert knowledge in the worst-case scenario) and expanding
the identified cycle.
sumes a single cycle only (handling multiple cycles could be
done by using a recursive invocation of the expand procedure with AGi ). The procedure then uses the identified cycle
and a stopping condition (Stopi ) to determine the maximum
number of iterations (M axIteri ). We establish the stopping
condition according to expert’s opinion, evidence, literature,
or patient information.
Next, we create a forward path (F orwardP athi ) to resolve the cycle. A forward path starts with the first node
identified in the original cycle and includes the remaining
nodes of the cycle. Given the maximum number of iterations, we create a revised actionable graph where the cycle is replaced by a set of connected forward paths, where
the number of these paths is equal to the maximum number
of iterations. The updated actionable graph (AGexp
i ) is then
used to create a logical model. We note that even in simple cases where the number of iterations is known, invoking
the expand procedure is still necessary as it introduces new
variables needed to expand the cycle.
Consider the application of the expand algorithm to the
actionable graph for WPW (AGW P W ) shown in Figure 3.
In order to establish the stopping condition we set DFlow
and ΔDF to 50mg. This is consistent with medical practice
where a patient with WPW (and without structural heart disease) is started on flecainide dosage of 50mg every 12 hours,
increased by 50mg at 4 day intervals. The dosage should not
exceed the safety threshold that keeps the level of flecainide
in plasma between 0.2 and 0.7 mcg/mL.
&!&
!"%
(&
!& "%"
"(
'%&"%"
+
%
%& Require: AGi , Stopi
Cyclei ← identif y cycle(AGi )
M axIteri ← check conditions(Cyclei , Stopi )
F orwardP athi ← create path(Cyclei )
AGexp
← replace cycle(AGi , F orwardP athi , M axIteri )
i
return AGexp
i
"
'$$!&"%
"
%
* %
#"%"
!"&$
&$#) %$
#&!&
Figure 3: Original AGW P W
The relationship between the plasma level and the maximum safe dosage of flecainide is represented by the
DFsaf e (P ) function that accepts an externally provided parameter P indicating the level of flecainide in plasma. After
consulting with a clinician we set P to 0.7 as levels above 0.7
lead to a significant risk of a cardiac episode. This level corresponds to a maximum safe dosage of 200mg that is reached
after 3 iterations, thus the cycle in AGW P W is replaced by
Figure 2: Identifying and removing cycle using the expand
procedure
The procedure begins by identifying the cycle in the actionable graph (AGi ) using a path-based strong component
algorithm (Tarjan 1972). Note that the identification step as-
49
eling therapies where values of numerical variables are established according to some algebraic formula. Below we
show a subset (due to space considerations) of expressions
in P LEW P W derived from AGexp
W P W that contain numerical variables:
'"'
"#&
)'
"'!#&#
&'!
&
1. (DF 0 = 50) ∧ (W S0 = y) ∧ (DF = 50) ∧ DP ∧
¬AT ∧ ¬(DF 1 = 100) ∧ ¬(DF 2 = 150) ∧ ¬(DF 3 =
200) ∧ ¬(DF = 100) ∧ ¬(DF = 150) ∧ ¬(DFsaf e (P ))
$#&#
#
+&
2. (DF 0 = 50) ∧ (W S0 = n) ∧ (DF 0 ≥ DFsaf e (P )) ∧
AT ∧DP ∧¬(DF 1 = 100)∧¬(DF 2 = 150)∧¬(DF 3 =
200) ∧ ¬(DF = 50) ∧ ¬(DF = 100) ∧ ¬(DF = 150) ∧
¬(DFsaf e (P ))
(%%"'#&
#
&
(&'#&#
&'!
&
$#&#
&
$#&#
While the use of numerical variables and algebraic functions in the decision criteria is supported in most current
programming languages, supporting them in our approach
was facilitated by representing logical models as a CLP. A
CLP-based representation made it easier to transition to numerical variables given our access to the wide range of languages and solvers available for CLP. Additionally, using a
standard CLP representation for the CLP-CPG models allows us to take advantage of the scalability offered by CLP
solvers. The CLP-CPG models we have considered thus far
have been relatively small, containing on the order of tens
of variables and constraints and even with an order of magnitude increase in their number we still wouldn’t be pushing
solvers designed to handle tens and hundreds of thousands of
variables as demonstrated by recent benchmark results1 . Using a logic-based representation makes many off-the-shelf
CLP solvers available to us, and we justify our use of the
ECLi P S e system2 in Section 4.
#
+&
(%%"'#&
#
&
(&'#&#
&'!
#
+&
(%%"'#&
#
&
(&'#&#
$#&#
"#'%
'%$* 4
Evaluation
To evaluate the mitigation algorithm, we use different instances of the clinical scenario described in Section 2. As
previously stated codified domain knowledge is represented
using interaction and revision operators. An interaction operator is defined as a 3-tuple <Dk , V k , lek > that includes
the disease to which it applies (Dk ), the set of relevant variables to the interaction (V k ), and an expression codifying
a single adverse interaction (lek ) to be added to the logical
model. A revision operator is defined as a 4-tuple <Dk , V k ,
slek , tlek > with a disease label (Dk ), variables appearing in
the adverse interaction (V k ), and modifications (slek , tlek )
to the logical model that should address this interaction. Operators can be applied to all diseases using a wildcard (∗) for
Dk , to a set of diseases, or to a single disease. For WPW and
AF we include two interaction operators (IO1 , IO2 ) and one
revision operator (RO1 ) applicable to both diseases:
&%
$'"'
Figure 4: Modified AGexp
WPW
a sequence of 3 forward paths. The acyclic actionable graph
(AGexp
W P W ) obtained after applying the expand procedure is
shown in Figure 4.
Numerical variables need special attention when creating logical models and they affect both how action and decision variables are used. In the case of action variables,
numerical variables add support for actions that are more
complex than “go/no go” flags. For example, where a variable representing the administration of flecainide was previously represented by a binary variable F := true/f alse in
our logical model, introducing a numerical variable DF :=
[0 . . . 500] enables considering both administration of a medication and an associated dosage (medication is administered
if its dosage is greater than 0).
Numerical variables also allow for algebraic expressions
that define conditions and they enable the computation of
values for these variables. Logical models can have expressions such as ¬(A ∧ DFsaf e (P )) ∧ (DF = DF 1 + DF 2 +
DF 3 + . . .), flexibility that is especially important in mod-
IO1 = <{WPW, AF}, {A, DF}, {(A ∧ (DFsaf e (P))}>
IO2 = <{WPW, AF}, {DF, FIV}, {FIV ∧ (DFsaf e (P))}>
RO1 = <{WPW, AF}, {A, DF}, {DFsaf e (P)},
{DF = 0.75 ∗ DFsaf e (P)}>
The interaction operators describe indirect interactions between the maximum oral dosage of flecainide
1
2
50
plato.asu.edu/bench.html
www.eclipseclp.org
(DFsaf e (P ) = 200mg, coming from AGexp
W P W ) and oral
amiodarone (IO1 ) or intravenous flecainide (IO2 ). In these
two situations the toxicity of flecainide is exacerbated,
which would result in harm to the patient by exceeding acceptable levels of flecainide in plasma. Both operators are
used during the last phase of the mitigation algorithm to
enrich the CLP-CPG model for AF and WPW by adding
logical expressions to ILEW P W,AF . The revision operator RO1 reduces the dosage of flecainide from the maximum safe level (DFsaf e (P )) to 75% of this safety threshold (as described in Section 3). It revises the combined logical model by replacing all occurrences of (DFsaf e (P ))
with (DF = 0.75 ∗ DFsaf e (P )) in all expressions from
P LEW P W and P LEAF thus effectively lowering the current dosage of flecainide.
We use the ECLi P S e system to represent and solve a
CLP-CPG model and to identify violated constraints if no
solution exists. We chose ECLi P S e due to its repair library that enables easily monitoring constraints and retrieving a set of conflicting ones. When a constraint falls into
a conflict (i.e., when it is violated given the assignment of
values to the variables), it appears in a conflict set. The conflict set is used to identify constraints associated with direct
and indirect adverse interactions and below we show sample
ECLi P S e Prolog for monitoring indirect adverse interactions as defined by the IO1 operator. The first line defines
predicate for IO1 and creates a convict set to monitor while
the second line defines the lek expression for IO1 . Note that
in all interaction operators lek is negated, so the constraint
is violated as soon as the interaction occurs:
time the conflict set is empty (Conflicts = []). Subsequently,
ECLi P S e reports success and produces the following solution: [WS0 = n, WS1 = n, WS2 = n, DF0 = 50, DF1
= 100, DF2 = 150, DF3 = 200, DF= 150, HI = y, EC =
true, RAE = y, PD = true] that represents a combined therapy. In layman’s terms this solution indicates that the dosage
of flecainide is set to 150mg (DF = 150) as indicated by
the revision operation, the patient undergoes electrical cardioversion (EC = true) and is discharged (P D = true)
afterwards. This therapy has been confirmed as valid by the
medical experts on our team.
Now consider a patient without hemodynamic instability
(HI = n), no structured heart disease (HD = n), no recurring
AF (RAE = n) who has not stabilized within the first three
rounds of flecainide (WS0 = WS1 = WS2 = n). This time
interaction operator IO2 appears in the conflict set because
flecainide must be administered intravenously according to
the AF guideline. However, there is no knowledge codified
as a revision operator to suggest a revised action (RO1 codifies interactions between amidarone and flecainide only).
Therefore ECLi P S e is unable to find a solution and it reports failure together with the possible source of infeasibility
(a set of two variables - FIV and DF). At this point it is up
to the physician to determine the correct next steps given the
patient information available to them.
5
Towards a Formal Theory for Mitigation
With the support of an illustrative clinical scenarios, we
demonstrated how our proposed algorithm can automate the
process of identifying interactions between guidelines with
iterative actions and numerical variables. However, in practice fixing the number of iterations in advance may not work
as typically the number of iterations are decided at the point
of care and adjusted over time. Additionally, clinical practice calls for the relaxation of other assumptions we make,
including: (1) a restricted number of guidelines considered,
two in our case; (2) no direct support of concurrency, time,
uncertainty; (3) exclusion of sub-guidelines. For a comprehensive approach to removing these restrictions, it is necessary to extend our CLP-based model to include a foundational framework. At the heart of such a framework lies
the principles for formally characterizing the notion of iterations and ideally all critical attributes (such as concurrency,
time, interrupts and reactions, sub-components, uncertainty,
and even trust) that are needed to fully describe primary or
secondary knowledge for the mitigation of guidelines.
Available logical frameworks with enough expressive
power for this characterization task include Situation Calculus (Reiter 2001), Event Calculus (Mueller 2009), and Fluent Calculus (Thielscher 1998). Considering these options,
Situation Calculus presents itself as a intriguing option. First
introduced in (McCarthy 1963), Situation Calculus is a logic
formalism designed for representing and reasoning about actions and change in dynamic domains. It provides the theoretical foundations for representing actions and their effects
along with concise and mathematically rigorous implementations for reasoning about these actions and effects. Additionally, a set of constructs (e.g., tests, sequences, iterations
1 interaction1(A, DF, DFsafe) r_conflict cs,
conflict_constraints(cs, Conflicts).
2 interaction1(A, DF, DFsafeP):(A and (DF $= DFsafeP)) $= 0.
For the first clinical scenario consider a patient who has
not been stabilized within the first three rounds of flecainide
(WS0 = WS1 = WS2 = n), has hemodynamic instability
(HI=y), and who has a reoccurrence of AF (RAE = y). Given
the CLP-CPG model and an initial assignment of values to
variables as defined by the above patient information, the
mitigation algorithm invokes ECLi P S e . No direct adverse
interactions are detected (Phase 2 of the mitigation algorithm) so the CLP-CPG model is augmented with interaction
operators IO1 and IO2 (Phase 3) and ECLi P S e is again
invoked. This time, it returns the following system message
when trying to solve the augmented model:
Conflicts = [interaction1(1, 200, 200)]
This message guides the mitigation procedure (and is not
intended to be read by humans), indicating an adverse indirect interaction has been detected corresponding to IO1
(interaction1 in the message), and the mitigation algorithm
proceeds to resolve this interaction by invoking the revision operator RO1 that lowers the dosage of flecainide from
DFsaf e (P ) to 0.75∗DFsaf e (P ) (given P = 0.7, this translates to lowering from 200mg to 150mg). We note that details for determining which revision operators are relevant to
identified interactions are given in (Wilk et al. 2013). The revised model is passed to ECLi P S e and solved again. This
51
and choices) can be conveniently built on top of the Situation Calculus. Using these constructs, primitive actions in
a given domain can be assembled into complex ones which
can further be executed and analyzed.
These features of the Situation Calculus naturally enable
it as a foundational formalism for handling many of the issues that arise in our current approach for mitigating guidelines and as such we are investigating how to use it to create
a formal theory for mitigation. Our initial research looks at
transforming graphically represented guidelines (we are currently using actionable graphs) to instances of a basic action
theory (BAT) for graphical formalisms in the Situation Calculus. A BAT for a particular domain is a set composed of
domain-independent foundational axioms, action precondition axioms for the primitive actions in the domain, successor state axioms for the fluents in the domain, unique name
axioms, and axioms for the initial situation.
Alternatively, guidelines can be represented graphically
as Petri nets (Beccuti et al. 2009), a graphical modeling
language for complicated concurrent processes. Using Petri
nets could provide us access to SCOPE (Situation Calculus
Ontology of PEtri nets) (Tan 2010), a BAT for Petri nets,
and subsequently TESCOPE (Tan 2012), a theory that extends SCOPE with the concept of time. Mitigating multiple
guidelines for viable solutions thus could be transformed
into writing (TE)SCOPE-based complex actions and analyzing their executability. The high-level Golog language is
available for use with SitCal. Finally, since business workflow based representational systems such as BPMN are also
widely used in representing CPGs (e.g., SAGE (Tu et al.
2007)), adopting BPMN as the graphical counterpart for our
foundational framework will also be investigated.
6
suggested and thus trust the results. We are starting to design
interface components that will be used to highlight any point
of infeasibility detected and how they were handled, with explanations for mitigation choices taken from evidence-based
repositories such as the Cochrane Library.
References
Beccuti, M.; Bottrighi, A.; Franceschinis, G.; Montani, S.; and
Terenziani, P. 2009. Modeling clinical guidelines through petri
nets. In AI in Medicine. Springer. 61–70.
Boyd, C.; Darer, J.; Boult, C.; Fried, L.; Boult, L.; and Wu, A.
2005. Clinical practice guidelines and quality of care for older
patients with multiple comorbid diseases: implications for pay for
performance. JAMA 294:716–24.
Fox, J.; Glasspool, D.; Patkar, V.; Austin, M.; Black, L.; South, M.;
Robertson, D.; and Vincent, C. 2010. Delivering clinical decision
support services: there is nothing as practical as a good theory. J
Biomed Inform 43:831–43.
Hing, M.; Michalowski, M.; Wilk, S.; Michalowski, W.; and Farion, K. 2010. Identifying inconsistencies in multiple clinical practice guidelines for a patient with co-morbidity. In Proceedings of
KEDDH-10, 447–452.
Isern, D., and Moreno, A. 2008. Computer-based execution of
clinical guidelines: a review. J Med Inform 77:787–808.
Latoszek-Berendsen, A.; Tange, H.; van den Herik, H.; and Hasman, A. 2010. From clinical practice guidelines to computerinterpretable guidelines. a literature overview. Methods Inf Med
49:550–70.
McCarthy, J. 1963. Situations, actions, and causal laws.
Mueller, E. T. 2009. Automating commonsense reasoning using
the event calculus. Commun. ACM 52(1):113–117.
Reiter, R. 2001. Knowledge in action: logical foundations for
specifying and implementing dynamical systems. Cambridge, MA,
USA: MIT Press.
Sittig, D.; Wright, A.; Osheroff, J.; Middleton, B.; Teich, J.; Ash,
J.; Campbell, E.; and Bates, D. 2008. Grand challenges in clinical
decision support. J Biomed Inform 41:387–92.
Tan, X. 2010. SCOPE: A Situation Calculus ontology of Petri nets.
In Galton, A., and Mizoguchi, R., eds., 6th International Conference of Formal Ontology in Information Systems, Toronto, Canada,
227–240.
Tan, X. 2012. Go beyond the SCOPE: A Temporal Situation
Calculus-based Software Tool for Time Petri Nets. In International
Conference on Industrial Engineering and Other Applications of
Applied Intelligent Systems, 134–143.
Tarjan, R. 1972. Depth-first search and linear graph algorithms.
SIAM Journal on Computing 1:146–160.
Thielscher, M. 1998. Introduction to the fluent calculus. Electron.
Trans. Artif. Intell. 2:179–192.
Tu, S. W.; Campbell, J. R.; Glasgow, J.; Nyman, M. A.; McClure,
R.; McClay, J.; Parker, C.; Hrabak, K. M.; Berg, D.; Weida, T.; et al.
2007. The sage guideline model: achievements and overview. Journal of the American Medical Informatics Association 14(5):589–
598.
Wilk, S.; Michalowski, W.; Michalowski, M.; Farion, K.; Hing, M.;
and Mohapatra, S. 2013. Automatic mitigation of adverse interactions in pairs of clinical practice guidelines using constraint logic
programming. J Biomed Inform 46(2):341–353.
Discussion
In this paper we presented our mitigation algorithm. In order to operationalize the extended algorithm we rely on a
number of methodologies. First, we use methods to identify
a cyclic graph and we presented the expand procedure that
converts it into an acyclic one. In the next step we use logical
calculus as a method for developing logical models of CPGs
that form the core representation of the guidelines. These
models are subsequently converted into a CLP-CPG model
that is solved using a standard CLP solver (ECLi P S e ). Use
of these different methodologies is necessary in order to
address complexities associated with the development of a
therapy for comorbid patients. Finally, we briefly discussed
our initial work towards a formal theory for representing and
mitigating CPGs that will enable us to operationalize the application across a broad range of clinical scenarios.
Our next step is towards the goal of creating a comprehensive alerting system for physicians that will support the
concurrent application of multiple CPGs. Our mitigation algorithm is currently being incorporated into a mobile clinical decision support system called MET3 to create a proofof-concept application for evaluation in a clinical scenario.
Integration into this CDSS requires consideration of the human interface and clarity of results as it is crucial that humans can understand why changes in interventions are being
3
www.mobiledss.uottawa.ca/site/met.html
52