the use of constraint logic programming …fcds.cs.put.poznan.pl/seminaria/idss-2012sw.pdfthe use of...

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

Upload: hadan

Post on 17-Mar-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

Acknowledgements

Ken Farion

Martin Michalowski Wojtek Michalowski

Researchers

Marisela Mainegra Hing

Subhra Mohapatra

Di Lin

Craig Kuziemsky

Funding Partners

Page 3: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

Clinical Practice Guideline (CPG)

• Motivation for the development and use • Variations of clinical practice

• 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

Systematically developed statements to assist practitioner and patient decisions about appropriate health care for specific clinical circumstances

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

Representing CPGs and CIGs

• CPGs → unstructured text with supplementing flowcharts

• CIGs → structured and formalized representations (usually based on a task-network model) • Arden Syntax – a syntax for clinical decision rules

• 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

Sample CPGs

Page 8: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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

• 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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)

• 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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

Solution

exists?

AGA AGB

Available

patient

information

Phase 3: Modify the combined

logical models to address the

encountered POI

Restriction operators

Mitigation operators

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 • 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

Case Study – DVT and HTN

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 DVT

Administer warfarin

[wa]

Administer heparin

[he]

Administer low-

molecular-weight

heparin [lmwhe]

Additional DVT-

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

History of

heparin-induced

thrombocytopenia?

[hit]

Absent [a]

Adminster alternative

anticoagulant agents

[aca]

Present [p]

Use IVC filter [ivcf]

History of severe

bleeding tendency

[sbt]?

Absent [a]Present [p]

Arrange follow-up with

family physician [fufp]

agDVT – AG for DVT (deep vein thrombosis)

agHTN – AG for HTN (hypertension)

Page 18: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

Phase 1 – Individual Logical Models (ILMs)

ILM provides a logical representation of an AG

ILM = <d, V, PLE>

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

ILMs for DVT and HTN ilmDVT.d = DVT ilmDVT.V = {sbt, hit, ar, ivcf, aca, he, lmwhe, wa, fufp} ilmDVT.V

D = {sbt, hit, ar } ilmDVT.V

A = {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}

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

D = {htn, htnun } ilmHTN.V

A = {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]

Page 20: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 – *)

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

CLM for DVT and HTN

ro1.D := {*} ro1.V := {htnun, aca} ro1.le : = ¬((htnun = ur) aca) ro2.D := {*} ro2.V := {htnun, 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)

clmDVT,HTN.ilmA = ilmDVT clmDVT,HTN.ilmB = ilmHTN clmDVT,HTN.RLE = { ¬((htnun = ur) aca),

¬((htnun = ur) he wa), ¬((htnun = ur) lmwhe wa) }

Page 23: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

Phase 2 – Combined CLP Model (CCM)

A CCM is derived directly from a CLM, then implemented and solved using available patient information

Note: Due to limitations of available solvers variables shared between ILMs may require special handling (temporary variables and additional constraints)

CCM = <V, CL>

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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

Page 25: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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))

• 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 := {*} 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}

poiHTN,DVT = {htnun, aca}

Page 29: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 = ilmmDVT

clmmDVT,HTN.ilmB = ilmHTN clmmDVT,HTN.RLE = clmDVT,HTN.RLE

Page 30: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 1

Page 31: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 of both CPGs requires mitigation) and the identified solution

Page 32: THE USE OF CONSTRAINT LOGIC PROGRAMMING …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

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)

• 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

Related Publications

• Published 1. 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.

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 progress 1. 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 …fcds.cs.put.poznan.pl/Seminaria/IDSS-2012sw.pdfthe use of constraint logic programming to reconcile pairs of concurrently used clinical practice

MET Research

http://www.mobiledss.uottawa.ca