CABG Clinical Pathways & Protocols as a DLP
Chimezie Ogbuji, The Cleveland Clinic, <ogbujic@ccf.org>
Semantic Web for Adaptable Clinical Protocols and Pathways
Main Points
- Description Logic Programs are sufficiently expressive for axiomatic decision support
- Modeling anatomical diagnoses
- The risk factors
- HL7 RIM roadblocks
- Controlled vocabulary vs. 'pure' classification modeling
- The pathway rules
- Suggestion for uncertainty reasoning of survival over time
Expressive Combination of Rules & DLPs
- Description Logic Programs (DLP) are the intersection of DL and Horn-logic programs
- The use of a Logic Programming system provides more inferencing besides classification alone
- The use of DLP simplifies the rule syntax
- OWL 1.0's abstract syntax is used for brevity
- Pathway rules need to be accompanied with LP rules for DL
Modeling Anatomical Diagnoses
- Anatomical constructs of anatomy are modeled with the following general group of attributes:
- A disease finding (vessel stenosis)
- A disease severity (percent of reduction in vessel diameter)
- A major anatomical location (right coronary artery)
- An additional anatomical modifier (posterior or anterior)
- Non-anatomical findings have similar (but fewer) attributes. For Angina:
- A disease finding (angina)
- A disease severity (classification: I,II,III,etc..)
- An additional modifier (stable / unstable)
Modeling the Risk Factors
- The risk factors are primarily specific patient states
- These are often better modeled with a specific domain content ontology
- A patient record ontology for cardiothoracic surgical procedures was used
- This accounts for a majority of the DLP constructs in the pathway
Risk Factors: Important Vessel Stenosis
- Modeling numerical comparison of severity with rules:
{ ?S a :CoronaryArteryStenosis;
:VesselStenosisDegree ?deg. ?deg math:greaterThan 50 } => { ?S a :FiftyOrMoreStenosis }
{ ?S a :CoronaryArteryStenosis;
:VesselStenosisDegree ?deg. ?deg math:greaterThan 70 } => { ?S a :SeventyOrMoreStenosis }
- Classifying important left main coronary artery stenosis
Class(ImportantLeftMainCoronaryArteryStenosis complete
intersectionOf(
FiftyOrMoreStenosis
restriction(CoronaryArtery value('left main'))))
- Note:
- The use of a logic function (math:greaterThan)
- The use of a controlled lexical value to indicate the artery
Risk Factors: Coronary Artery Disease Counts
- Coronary Artery Disease (CAD) requires the ability to count symptoms
- A stenosis finding in each of the following categories contributes a single count
- Left anterior descending coronary artery
- Right coronary artery OR the posterior descending coronary artery
- Left circumflex coronary artery
- The counting logic was modeled with DL:
Class(ImportantLADStenosis complete
intersectionOf(
SeventyOrMoreStenosis
restriction(CoronaryArtery value('left anterior descending'))))
Class(ImportantProximalLADStenosis complete
intersectionOf(
restriction(CoronaryArteryAnatomy value('proximal'))
SeventyOrMoreStenosis
restriction(CoronaryArtery value('left anterior descending'))))
Class(ImportantRCAStenosis complete
intersectionOf(
SeventyOrMoreStenosis
restriction(CoronaryArtery value('right coronary artery'))))
Class(ImportantPDAStenosis complete
intersectionOf(
SeventyOrMoreStenosis
restriction(CoronaryArtery value('posterior descending artery'))))
Class(ImportantPDAOrRCAStenosis complete unionOf(ImportantPDAStenosis ImportantRCAStenosis))
Class(ImportantCXStenosis complete
intersectionOf(
SeventyOrMoreStenosis
restriction(CoronaryArtery value('left circumflex'))))
HL7 RIM Roadblocks
- Unclear how to model single acts that resulted in multiple observations
- The flat coding doesn't support domain-specific substructures / extensions
- Unclear how to model anatomical observations with multiple qualifiers (proximal, left anterior descending coronary artery)
- Simply extend the flat coding space?
Controlled Vocabulary vs. 'Pure' Classification
- Controlled Vocabularies lend themselves well to accurate data collection
- Controlled Vocabularies require lexical restrictions to classify
- Ontologies such as FMA model most concepts as classifications
DOLCE Terms
- DOLCE terms were used to model domain-agnostic relationships:
- dol:part - Logical composition relationship
- dol:realizes - Relates an dol:information-realization with an information-object
- Used to relate a diagnostic action with its finding(s)
- Terms from a different foundational ontology (BFO perhaps) could have been used instead
Guideline Rule - Left Main Artery Stenosis
- A patient whose record indicates important left main coronary artery stenosis is a candidate for a CABG operation
{ ?P a :Patient.
?R a :PatientRecord;
dol:constant-participant ?P;
dol:part
[ a :Event; dol:realizes :ImportantLeftMainCoronaryArteryStenosis] } => { ?P a :CABGCandidate }.
Guideline Rule - 3 Vessel CAD & LAD/CX Stenosis
- A patient whose record indicates 3 vessel disease with LAD/CX stenosis is a candidate for a CABG operation
{ ?P a :Patient.
?R a :PatientRecord;
dol:constant-participant ?P;
dol:part
[ a :Event; dol:realizes :ImportantProximalLADStenosis ],
[ a :Event; dol:realizes :ImportantPDAOrRCAStenosis ],
[ a :Event; dol:realizes :ImportantCXStenosis ] } => { ?P a :CABGCandidate }.
Guideline Rule - Chronic Stable Class III/IV Angina - 3 Vessel CAD
- A patient with chronic stable class III or IV angina with a record indicating 3 vessel disease is a candidate for a CABG operation
{ ?P a :Patient.
?R a :PatientRecord;
dol:constant-participant ?P;
dol:part
[ a :StableAnginaRecording; a :Class3Or4Angina ]
[ a :Event; dol:realizes :ImportantLADStenosis ],
[ a :Event; dol:realizes :ImportantPDAOrRCAStenosis ],
[ a :Event; dol:realizes :ImportantCXStenosis ] } => { ?P a :CABGCandidate }.
Uncertainty Reasoning of Survival over Time
- The report emphasizes the use of multi-variate risk factor equations
- Generated from linear-regression on large datasets
- Weighted & parameterized by a particular clinical pathway
- Generate functions of time that produce survival percentages
- Can be deployed as N-ary logic functions within a LP system
N-ary Uncertainty Functions
{ ?P a :Patient;
dol:constant-participant-in
[ a :PatientRecord .. ].
(PY5^^xsd:duration ?age ?leftMainDisease ?priorMIs ... ) cabg:survival ?X.
?X math:greaterThan 90 } => { ?P a :CABGCandidate }
- Advantage:
- Can layer uncertainty capabilities on a model-theoretic logic
- Caveats, considerations, etc. accompanying the generation of the model becomes the explanation for the recommendations
- Disadvantage:
- Lose your axiomatic proof trace
- Requires support for (possibly expensive) logic functions