THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC...

35
THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES Wojtek Michalowski 1 , Szymon Wilk 1,2 , Martin Michalowski 1,3 , Marisela Mainegra Hing 1 1 MET Research Group, University of Ottawa, Canada 2 Laboratory of IDSS, Poznan University of Technolgy, Poland 3 Adventium Labs, USA

Transcript of THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC...

Page 1: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

THE USE OF CONSTRAINT LOGIC PROGRAMMING

TO RECONCILE PAIRS OF CONCURRENTLY USED

CLINICAL PRACTICE GUIDELINES

Wojtek Michalowski1, Szymon Wilk1,2,

Martin Michalowski1,3, Marisela Mainegra Hing1

1 MET Research Group, University of Ottawa, Canada

2 Laboratory of IDSS, Poznan University of Technolgy, Poland

3 Adventium Labs, USA

Page 2: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Acknowledgements

Ken Farion

Martin MichalowskiWojtek Michalowski

Researchers

Marisela Mainegra Hing

Subhra Mohapatra

Di Lin

Craig Kuziemsky

Funding Partners

Page 3: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Clinical Practice Guideline (CPG)

• Motivation for the development and use

• Variations of clinical practice

• Significant rates of inappropriate care

Systematically developed statements to assist practitioner and patient

decisions about appropriate health care for specific clinical circumstances

• Significant rates of inappropriate care

• Need to manage healthcare costs

• Known for 30+ years

• Initially used by nurses and other ancillary personnel

• Increasing popularity of computer-interpretable guidelines (CIGs)

integrated with CDSSs and EPRs

Latoszek-Berendsen A, Tange H, van den Herik HJ, Hasman A. From clinical practice guidelines to computer-interpretable guidelines. A literature overview.

Methods of Information in Medicine 2010;49(6):550-70.

Page 4: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Development of CPGs

• Consensus-driven and evidence-based development process

• Levels of evidence

• Level A – multiple randomized clinical trials

• Level B – a single trial or non-randomized studies

• Level C – consensus opinions of expertLevel C – consensus opinions of expert

• Confidence in the recommendations of treatments/procedures

• Class I – evidence or general agreement about usefulness/efficacy

• Class II – conflicting evidence or divergence of opinions

• Class III – evidence or general agreement against usefulness/efficacy

Page 5: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

CPGs in Practice

• Multiple advantages

• Improved adherence to standards of practice and quality of care (when

applied at the point of care)

• Increased adoption of evidence-based medicine

• Positive impact on patient outcomes (e.g., reduced mortality)

• … But limited adoption

• Lack of standardization (especially in case of CIGs)

• Limited interoperability between CIGs and EPRs

• No support for comorbid conditions (i.e., one or more conditions in

addition to a primary one)

Page 6: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Representing CPGs and CIGs

• CPGs → unstructured text with supplemenHng flowcharts

• CIGs → structured and formalized representaHons (usually

based on a task-network model)

• Arden Syntax – a syntax for clinical decision rules

• GLIF3 – a multiple-level representation with conceptual flowcharts and • GLIF3 – a multiple-level representation with conceptual flowcharts and

an executable specification

• SAGE – an complete (event-driven) environment for creating and

executing CIGs, integration with EPR via virtual patient record

• PROforma – a formalism and a set of tools for creating and managing

CIGs, one of few commercial applications

• SDA* – a flowchart-based representation developed for the K4CARE

project aimed at automatic execution

Page 7: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Sample CPGs

Page 8: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Comorbid Conditions

• 50% of people 65+ years old have ≥ 3 comorbid conditions, and

they account for 90% of the healthcare costs [Medicare, 1999]

• Physician treating a comorbid patient needs to manually

reconcile multiple CPGs

• Reconciliation involves verifying if multiple CPGs can be applied together • Reconciliation involves verifying if multiple CPGs can be applied together

and introducing necessary revisions

• Direct application of multiple CPGs may result in adverse intractions,

complex regimen and increased cost of care

Boyd CM, Darer J, Bould Ch, et al. Cinical practice guidelines and quality of care for older patients with multiple comorbid diseases. Implications for pay per

performance. JAMA 2005;294(6):716-24.

Our motivation: to propose an approach to automate the reconciliation process

Page 9: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Related Research

• Application (and combination) of CPGs for comorbid conditions

– one of „grand challenges” for clinical decision support

• Yet, fairly limited research

• Merging of concurrently used CPGs using ontology alignment techniques

• Adding „safety rules” to a single CPG• Adding „safety rules” to a single CPG

• Identification of common conditions in a flowchart (SDA*) and their

combination

• Most of these approaches require expert intervention to resolve

encountered conflicts

Sittig DF, Wright A., Osheroff JA, et al. Grand challenges in clinical decision support. Journal of Biomedical Informatics 2008;41(2), 387-92.

Abidi SR, Abidi SS. Towards the merging of multiple clinical protocols and guidelines via ontology-driven modeling. [In] Proceedings of the 12th Conference

on Artificial Intelligence in Medicine (AIME’09). Verona, 2009, 81-85.

Peleg M, Tu SW, Leonardi G, et al. Reasoning with effects of clinical guideline actions using OWL: AL amyloidosis as a case study. [In] Proceedings of the

KR4HC Workshop. Bled, 2011, 65-79.

Isern D, Moreno A, Sanchez D., et al. Agent-based execution of personalised home care treatments. Applied Intelligence 2009; 34(2), 155-180.

Page 10: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Research Question

1. How to represent multiple CPGs associated with comorbid

conditions as a single computable model?

2. How to automatically process this model (i.e., solve, revise)

to ensure a treatment plan for comorbid conditions exists?

Practical perspecive: our approach as an early alerting system

combined with a CPG execution engine

Page 11: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Assumptions and Simplifications

• Secondary knowledge (not available in CPGs) explicitly codified

as restriction and mitigation operators

• Shared repository with operators

• Operators defined by experts

• Pairs of interoperable CPGs considered at a time

• No temporal aspects

• A single possibility (choice) considered when making a decision

Page 12: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Constraint Logic Programming (CLP)

• Application of logic programming (LP) to a constraint satisfaction problem (CSP)

• Essential elements of a CLP model

• Set of variables (and their domains – do not have to be Boolean)

• Set of constraints that restrict the possible combinations of values assigned to variablesassigned to variables

• Constraints implemented as clauses (rules) in a logic program

• Querying a program about the provability of a goal produces a solution

• Violated constraints result in the absence of a solution

• Point of infeasibility (POI) – a set of variables in violated constraints

Page 13: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

CLP Languages and Tools

• Prolog (selected implementations)

• CLP(FD) library – CLP over Finite Domains

• ECLiPSe (http://www.eclipseclp.org)

• An environment for analyzing and solving CLP models

• CLP(FD) and CLP(IC) libraries (integer and real variables)• CLP(FD) and CLP(IC) libraries (integer and real variables)

• Minizinc (http://www.g12.csse.unimelb.edu.au/minizinc/)

• A solver-independent constraint modeling language

• A suite of tools for analyzing and solving constraint models

• Planned to become a standard language for constraint problems

Page 14: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Proposed Approach

• A patient suffers from two comorbid conditions managed

according to associated CPGs (given as actionable graphs)

• Patient state characterized by currently available (possibly

incomplete) clinical data

Our approach answers the following questions:

1. Can the considered CPGs be applied concurrently to the patient given

her current state?

2. If application of CPGs causes any conflict (manifested by a POI), then

a) What causes this conflict?

b) How this conflict can be mitigated?

Page 15: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Schema of the Algorithm

Phase 1: Create individual and

combined logical models of

both CPGs

Repo with

secondary

knowledge

Restriction operators

Phase 2: Create a combined

CLP model from the combined

logical model and solve it

AGA AGB

Available

patient

information

Restriction operators

Mitigation operators

Phase 1: Create individual and

combined logical models of

both CPGs

Repo with

secondary

knowledge

Restriction operators

Phase 2: Create a combined

CLP model from the combined

logical model and solve it

AGA AGB

Available

patient

information

Restriction operators

Mitigation operators

Solution

exists?

Phase 3: Modify the combined

logical models to address the

encountered POI

No

(POI has been encountered)

Phase 4: Create a combined

CLP model from the modified

combined logical model and

solve it

Solution

exists?

Outcome 1: Both CPGs can be

applied concurrently, no conflicting

interaction exits

Yes

Outcome 2: Both CPGs can be applied

concurrently, there is an conflicting

interaction, but it can be mitigated

Yes

Outcome 3: Both CPGs cannot

be applied concurrently due to

unsolvable conflicting interaction

No

Solution

exists?

Phase 3: Modify the combined

logical models to address the

encountered POI

No

(POI has been encountered)

Phase 4: Create a combined

CLP model from the modified

combined logical model and

solve it

Solution

exists?

Outcome 1: Both CPGs can be

applied concurrently, no conflicting

interaction exits

Yes

Outcome 2: Both CPGs can be applied

concurrently, there is an conflicting

interaction, but it can be mitigated

Yes

Outcome 3: Both CPGs cannot

be applied concurrently due to

unsolvable conflicting interaction

No

Page 16: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Actionable Graphs

• An intermediate representation based on a task-network

model for better applicability of our approach

• Easily derived from any representation that uses action,

decision and context (patient state) steps

• An actionable graph (AG) is a directed graph• An actionable graph (AG) is a directed graph

• Action, decision and context nodes corresponding to appropriate steps

• Arcs corresponding to transitions between nodes

• A root context node indicating the condition (disease)

Page 17: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Case Study – DVT and HTN

Patient

diagnosed

with HTN

Type of HTN [htn]? Uncontrolled [ ]

Patient

diagnosed

with HTN

Type of HTN [htn]? Uncontrolled [ ]

Patient

diagnosed

with DVT

History of

heparin-induced

thrombocytopenia?

[hit]

Absent [a]

History of severe

bleeding tendency

[sbt]?

Absent [a]Present [p]

Patient

diagnosed

with DVT

History of

heparin-induced

thrombocytopenia?

[hit]

Absent [a]

History of severe

bleeding tendency

[sbt]?

Absent [a]Present [p]

agDVT – AG for DVT

(deep vein thrombosis)

agHTN – AG for HTN

(hypertension)

Type of HTN [htn]?

Administer IV

antihypertensive

agents [ivahta]

Uncontrolled [un]

Controlled [co]

Administer oral

antihypertensive

agents [oahta]

Type of uncontrolled

HTN [htnun]?Emergency [em]Urgency [ur]

Arrange follow-up with

family physician [fufp]

Type of HTN [htn]?

Administer IV

antihypertensive

agents [ivahta]

Uncontrolled [un]

Controlled [co]

Administer oral

antihypertensive

agents [oahta]

Type of uncontrolled

HTN [htnun]?Emergency [em]Urgency [ur]

Arrange follow-up with

family physician [fufp]

Administer warfarin

[wa]

Administer heparin

[he]

Administer low-

molecular-weight

heparin [lmwhe]

Additional DVT-

related risks? [ar]Present [p] Absent [a]

Adminster alternative

anticoagulant agents

[aca]

Present [p]

Use IVC filter [ivcf]

Arrange follow-up with

family physician [fufp]

Administer warfarin

[wa]

Administer heparin

[he]

Administer low-

molecular-weight

heparin [lmwhe]

Additional DVT-

related risks? [ar]Present [p] Absent [a]

Adminster alternative

anticoagulant agents

[aca]

Present [p]

Use IVC filter [ivcf]

Arrange follow-up with

family physician [fufp]

Page 18: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Phase 1 – Individual Logical Models (ILMs)

ILM provides a logical representation of an AG

ILM = <d, V, PLE>

The disease label indicated in the The disease label indicated in the

context node of the AG

A set of variables associated with action

and decision nodes in the AG.

V = VA ∪ VD (VA ∩ VD = {}).

A set of logical expressions

corresponding to paths in the AG

Page 19: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

ILMs for DVT and HTN

ilmDVT.d = DVT

ilmDVT.V = {sbt, hit, ar, ivcf, aca, he, lmwhe, wa, fufp}

ilmDVT.VD = {sbt, hit, ar }

ilmDVT.VA = {ivcf, aca, he, lmwhe, wa, fufp }

ilmDVT.PLE = {

(sbt =p) ∧ ivcf ∧ fufp ∧ ¬aca ∧¬he ∧¬lmwhe ∧¬wa,(sbt = a) ∧ (hit = p) ∧ aca ∧ fufp ∧ ¬ivcf ∧ ¬he ∧¬lmwhe ∧¬wa,(sbt = a) ∧ (hit = a) ∧ (ar = p) ∧ he ∧ wa ∧ fufp ∧ ¬ivcf ∧ ¬aca ∧ ¬lmwhe,

(sbt = a) ∧ (hit = a) ∧ (ar = a) ∧ lmwhe ∧ wa ∧ fufp ∧ ¬ivcf ∧ ¬aca ∧ ¬he}(sbt = a) ∧ (hit = a) ∧ (ar = a) ∧ lmwhe ∧ wa ∧ fufp ∧ ¬ivcf ∧ ¬aca ∧ ¬he}

ilmHTN.d = HTN

ilmHTN.V = {htn, htnun, oahta, ivahta, fufp}

ilmHTN.VD = {htn, htnun }

ilmHTN.VA = {oahta, ivahta, fufp}

ilmHTN.PLE = {

(htn = co) ∧ fufp ∧ ¬oahta ∧ ¬ivahta,

(htn =un) ∧ (htnun = ur) ∧ oahta ∧ fufp ∧ ¬ivahta,

(htn =un) ∧ (htnun = em) ∧ ivahta ∧ fufp ∧ ¬oahta}

Patient

diagnosed

with HTN

Type of HTN [htn]?

Administer IV

antihypertensive

agents [ivahta]

Uncontrolled [un]

Controlled [co]

Administer oral

antihypertensive

agents [oahta]

Type of uncontrolled

HTN [htnun]?Emergency [em]Urgency [ur]

Arrange follow-up with

family physician [fufp]

Patient

diagnosed

with HTN

Type of HTN [htn]?

Administer IV

antihypertensive

agents [ivahta]

Uncontrolled [un]

Controlled [co]

Administer oral

antihypertensive

agents [oahta]

Type of uncontrolled

HTN [htnun]?Emergency [em]Urgency [ur]

Arrange follow-up with

family physician [fufp]

Page 20: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Phase 1 – Combined Logical Model (CLM)

CLM is a “placeholder” for two ILMs and possible restrictions

that prevent conflicting interactions between ILMs

CLM = <ilmA, ilmB, RLE>

A set of of logical expressions corresponding to

restrictions associated with possible conflicting

(adverse and contradictory) interactions and

introduced by restriction operators

ILMs associated with

both AGs (CPGs)

Page 21: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Phase 1 – Restriction Operators (ROs)

RO codifies knowledge about possible interactions

RO = <D, V, le>

A set of triggering disease labels

(may contain a wildcard – *)(may contain a wildcard – *)

A set of triggering variables

A logical expression restricting

possible interactions, added to

CLM.RLE by a triggered RO

Triggering condition

(RO.D = {*} ∨ ({CLM.ilmA.d, CLM.ilmB.d} ∩ RO.D) ≠ {})

∧ (RO.V ⊆ (CLM.ilmA.V ∪ CLM.ilmB.V))

Page 22: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

CLM for DVT and HTN

ro1.D := {*}

ro1.V := {htnun, aca}

ro1.le : = ¬((htnun = ur) ∧ aca)

ro2.D := {*}

ro2.V := {htnun, he, wa}

ro .le := ¬((htnun = ur) ∧ he ∧ wa)

clmDVT,HTN.ilmA = ilmDVTclmDVT,HTN.ilmB = ilmHTNclmDVT,HTN.RLE = {

¬((htnun = ur) ∧ aca),

¬((htnun = ur) ∧ he ∧ wa), ro2.le := ¬((htnun = ur) ∧ he ∧ wa)

ro3.D := {*}

ro3.V := {htnun, lmwhe, wa}

ro3.le := ¬((htnun = ur) ∧ lmwhe ∧ wa)

ROs available in the repository (restricting the use of various

anticoagulant agents in case of hypertensive urgency)

¬((htnun = ur) ∧ he ∧ wa),

¬((htnun = ur) ∧ lmwhe ∧ wa) }

Page 23: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Phase 2 – Combined CLP Model (CCM)

A CCM is derived directly from a CLM, then implemented and

solved using available patient information

CCM = <V, CL>

Note: Due to limitations of available solvers variables shared between ILMs may require

special handling (temporary variables and additional constraints)

A set of variables

CLP.V = CLM.ilmA.V ∪ CLM.ilmB.V

A set of constraints

1. Constraints corresponding to

CLM.ilmA.PLE and CLM.ilmB.PLE

2. Constraints corresponding to CLM.RLE

Page 24: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

CCM for DVT and HTNccmDVT,HTN (implemented in Minizinc)

Page 25: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Scenario 1 – Easy Case

• A patient with uncontrolled hypertensive emergency and

history of bleeding (htn := un, htnun := em, sbt := p)

• No POI exists and the ccmHTN,DVT has a single solution (ivcf:= true,

ivahta:= true, fufp:= true, aca:= false, wa:= false, oahta := false)

• Our algorithm terminates by reporting Outcome 1 (application

of both CPGs is possible) and the obtained solution

Patient should be fitted with IVC filter (ivcf) to manage the DVT and given IV

antihypertensive agents (ivahta) to manage HTN. A follow-up with a family

physician (fufp) should be recommended.

Page 26: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Scenario 2 – Difficult Case

• A patient has uncontrolled hypertensive urgency, no history of

bleeding tendency, and a history of heparin-induced

thrombocytopenia (htn := un: htnun := ur, sbt := a: true, hit := p)

• The clpDVT,HTN model has no solution due to a violated

constraint (¬((htnun = ur) ∧ aca))constraint (¬((htnun = ur) ∧ aca))

• A POI (poiHTN,DVT = {htnun, aca}) is identified and the algorithm passes

to Phase 3

Due to thrombocytopenia (hit = p) the patient should be prescribed

alternative anticoagulants (aca) that are not appropriate in the presence

of hypertensive urgency (htnun = ur)

Page 27: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Phase 3 – Migitation Operators (MOs)

MO codifies knowledge about changes required in order to

mitigate a specific POI

MO = <D, V, leS, leR>

A set of triggering disease labels

(may contain a wildcard – *)

A set of triggering variables

Logical expressions that describe

modifications (search & replace) introduced

into CLM.ilmA.PLE and CLM.ilmB.PLE

Triggering condition

(RO.D = {*} ∨ ({CLM.ilmA.d, CLM.ilmB.d} ∩ RO.D) ≠ {})

∧ (RO.V = poi)

Page 28: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Application of MOs to CLM for DVT and HTN

mo1.D := {*}

mo1.V := {htnun, aca}

mo1.leS := (aca ∧ ¬ivcf)

mo1.leR := (¬aca ∧ ivcf)

mo2.D := {*}

mo .V := {htnun, he, wa}

poiHTN,DVT = {htnun, aca}

mo2.V := {htnun, he, wa}

mo2.leS := (he ∧ wa ∧¬ivcf)mo2.leR := (¬he ∧ ¬wa ∧ ivcf)

mo3.D := {*}

mo3.V := {htnun, lmwhe, wa}

mo3.leS := (lmwhe ∧ wa ∧¬ivcf)mo3.leR := (¬lmwhe ∧ ¬wa ∧ ivcf)

MOs available in the repository (replacing

various anticoagulant agents with the IVC filter)

ilmDVT.d = DVT

ilmDVT.V = {sbt, hit, ar, ivcf, aca, he, lmwhe, wa, fufp}

ilmDVT.PLE = {

(sbt =p) ∧ ivcf ∧ fufp ∧ ¬aca ∧¬he ∧¬lmwhe ∧¬wa,(sbt = a) ∧ (hit = p) ∧ aca ∧ fufp ∧ ¬ivcf ∧ ¬he ∧¬lmwhe ∧¬wa,(sbt = a) ∧ (hit = a) ∧ (ar = p) ∧ he ∧ wa ∧ fufp ∧ ¬ivcf ∧ ¬aca ∧ ¬lmwhe,

(sbt = a) ∧ (hit = a) ∧ (ar = a) ∧ lmwhe ∧ wa ∧ fufp ∧ ¬ivcf ∧ ¬aca ∧ ¬he}

Page 29: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Modified CLM for DVT and HTN

ilmmDVT.d = DVT

ilmmDVT.V = {sbt, hit, ar, ivcf, aca, he, lmwhe, wa, fufp}

ilmmDVT.PLE = {

(sbt =p) ∧ ivcf ∧ fufp ∧ ¬aca ∧¬he ∧¬lmwhe ∧¬wa,(sbt = a) ∧ (hit = p) ∧ ¬aca ∧ fufp ∧ ivcf ∧ ¬he ∧¬lmwhe ∧¬wa,(sbt = a) ∧ (hit = a) ∧ (ar = p) ∧ he ∧ wa ∧ fufp ∧ ¬ivcf ∧ ¬aca ∧ ¬lmwhe,

(sbt = a) ∧ (hit = a) ∧ (ar = a) ∧ lmwhe ∧ wa ∧ fufp ∧ ¬ivcf ∧ ¬aca ∧ ¬he

}

clmmDVT,HTN.ilmA = ilmmDVTclmmDVT,HTN.ilmB = ilmHTNclmmDVT,HTN.RLE = clmDVT,HTN.RLE

Page 30: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Phase 4 – Modified CCM

• A modified CCM is constructed from a modified CLM,

implemented and solved (as in Phase 2)

• If no solution is found, the next triggered RO is applied

• Changes are not accumulated – MOs are applied to the CLM

from Phase 1from Phase 1

Page 31: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Scenario 2 – Cotinued

• A modifed CCM has a solution (ivcf := true, oahta := true, fufp := true,

aca := false, he := false, lmwhe := false, wa := false, ivahta := false)

• The resulting management is similar to Scenario 1 (IV anti-

hypertensive agents (ivahta) are replaced by the oral ones (oahta))

• The algorithm terminates by reporting Outcome 2 (application • The algorithm terminates by reporting Outcome 2 (application

of both CPGs requires mitigation) and the identified solution

Page 32: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Discussion

• Automatic reconciliation of pairs of CPGs for treatment of a

patient with comorbidities

• Conflicting CPGs revised according to shared secondary

knowledge codified in form of mitigation operators

• Assisting, not replacing the physician – the treatment decision • Assisting, not replacing the physician – the treatment decision

ultimately rests with the MD

• Customizing CPGs to comorbid conditions of a specific patient –

support for personalized medicine

• Tool for identifying inconsistencies between different CPGs

developed for the same condition

Page 33: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Future Work

• Concurrent application of more than two CPGs

• Application of multiple mitigation operators

• Ontology of actions (more general operators)

• Dosages (and other properties) associated with actions

More complex CPGs/actionable graphs (loops)• More complex CPGs/actionable graphs (loops)

• Temporal aspects associated with CPGs (chronic diseases)

• Incorporation of external repositories for (semi-)automatic

creation of restriction and mitigation operators

Page 34: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

Related Publications

• Published1. Sz. Wilk, M. Michalowski, W. Michalowski, M.M. Hing, K. Farion: Reconciling Pairs of Concurrently Used

Clinical Practice Guidelines Using Constraint Logic Programming. [In] AMIA 2011 Annual Symposium Proceedings. Washington, 2011, 944-953.

2. Sz. Wilk, M. Michalowski, M.M. Hing, W. Michalowski, K. Farion: Reconciliation of Concurrently Applied Clinical Practice Guidelines using Constraint Logic Programming. [In] Proceedings of the 6th International Symposium on Health Informatics and Bioinformatics. Izmir, 2011, 138-144.

3. M. Michalowski, M. M. Hing, Sz. Wilk, W. Michalowski, K. Farion: A Constraint Logic Programming Approach to Identifying Inconsistencies in Clinical Practice Guidelines for Patients with Comorbidity. [In] Proceedings of the 13th Conference on Artificial Intelligence in Medicine (AIME’11). Bled, 2011, 296-302.Proceedings of the 13th Conference on Artificial Intelligence in Medicine (AIME’11). Bled, 2011, 296-302.

4. M.M. Hing, M. Michalowski, Sz. Wilk, W. Michalowski, K. Farion: Identifying Inconsistencies in Multiple Clinical Practice Guidelines for a Patient with Comorbidity. [In] Proceedings of the 1st Workshop on Knowledge Engineering, Discovery and Dissemination in Health (KEDH). Hong Kong, 2010, 447-452.

5. C. Kuziemsky, D. O’Sullivan, W. Michalowski, Sz. Wilk, K. Farion: A Constraint Satisfaction Approach to Data-driven Implementation of Clinical Practice Guidelines. [In] AMIA 2008 Annual Symposium Proceedings. Washington, 2008, 540-544.

• Submitted/work in progress1. Sz. Wilk, M. Michalowski, W. Michalowski, M.M. Hing, K. Farion, S. Mohapatra: Clinical Practice

Guidelines and Comorbid Diseases: Minizinc Implementation of Guideline Models for Reconciliation of Adverse Interactions. Submitted to AMIA 2012.

2. Sz. Wilk, M.M. Hing, W. Michalowski, M. Michalowski, K. Farion, S. Mohapatra: Methodology for Automatic Reconciliation of Two Clinical Practice Guidelines Using Constraint Logic Programming. To be submitted to International Journal of Biomedical Informatics

Page 35: THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE …€¦ · THE USE OF CONSTRAINT LOGIC PROGRAMMING TO RECONCILE PAIRS OF CONCURRENTLY USED CLINICAL PRACTICE GUIDELINES WojtekMichalowski1,

MET Research

http://www.mobiledss.uottawa.ca