Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Logic in Healthcare Informatics: Rules, Constraints, Ontologies, Probability, Lecture notes of Logic

An introduction to computational logic for healthcare informatics, covering rules, constraint-based reasoning, satisfiability checking, ontologies, and logic and probability. Topics include propositional and predicate logic, logic programs, temporal constraints in medical workflows, and limitations and approaches to combining probabilities with logic.

Typology: Lecture notes

2021/2022

Uploaded on 09/27/2022

pauleen
pauleen 🇬🇧

3.5

(8)

211 documents

1 / 59

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Introduction and Background
Rules
Rules and Constraint-Based Reasoning
Satisfiability Checking
Ontologies
Logic and Probability
Computational Logic for Healthcare Informatics
an Informal Survey
Terrance Swift
Johns Hopkins School of Health Sciences Informatics
Medical Decision Logic, Inc
CENTRIA, Universidade Nova de Lisboa
April 21, 2010
Terrance Swift Computational Logic for Healthcare Informatics
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b

Partial preview of the text

Download Logic in Healthcare Informatics: Rules, Constraints, Ontologies, Probability and more Lecture notes Logic in PDF only on Docsity!

Rules and Constraint-Based ReasoningRules Satisfiability Checking Ontologies Logic and Probability

Computational Logic for Healthcare Informatics

an Informal Survey

Terrance Swift

Johns Hopkins School of Health Sciences Informatics Medical Decision Logic, Inc CENTRIA, Universidade Nova de Lisboa

April 21, 2010

Rules and Constraint-Based ReasoningRules Satisfiability Checking Ontologies Logic and Probability

Learning Objectives

◮ (^) to survey how formal logic and logic programming have been used for knowledge representation and reasoning for a variety of medical applications ◮ (^) to sketch the current state of logic programming systems, focusing on open-source systems ◮ (^) to indicate how some current research directions in logic programming may be relevant to areas such as adaptive workflow management for healthcare or for dynamic decision support.

... a little learning is a dangerous thing, and so is writing your learning objectives before your talk :-)

Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability

Motivation

◮ (^) Computer Science has been highly successful in some areas, such as medical imaging or genetic sequence analysis. ◮ (^) It has been less successful in other areas such as clinical decision support, or adaptive workflow management. ◮ (^) For these areas background knowledge is complex, multi-paradigm, and diffuse ◮ (^) Can computational logic help? What advantages does it offer?

Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability

Overview

◮ (^) Some concepts in formal logic ◮ (^) Propositional logic; predicate logic; derivations ◮ (^) As little as possible and as informal as possible ◮ (^) Uses of different brands of logic programming ◮ (^) Rule based systems with constraints ◮ (^) Answer Set Programming ◮ (^) Formal ontologies and their reasoners ◮ (^) Uncertainty: where we are now ◮ (^) Different kinds of uncertainty ◮ (^) Combining probabilities with rules ◮ (^) Combining probabilities with Answer Set Programs ◮ (^) Putting it mostly together ◮ (^) Open source systems: XSB, YAP, Ciao and others

Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability

Background: Predicate Logic

◮ (^) Has the same connectives as propositional logic ◮ (^) Also represents individuals, functions, relations, and the existence or universality of statements ◮ (^) e.g. affects(Drug,TumorType) can be used to make lots of similar statements about different drugs and tumors ◮ (^) The logic can make inferences about the individuals (or functions) within the relation ◮ (^) Maps well to relational databases

Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability

Background: Predicate Logic

A universal statement: ”if any patient has breast cancer, Doxorubicin and Tamoxifen are indicated”

∀P.breast cancer (P) implies ( indicated(doxorubicin, P) and indicated(tamoxifen, P) )

An existential statement: ”if fever persists with elevated white blood cell count, there is an underlying infection”

Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability

Background: Logic

◮ (^) In Logic ◮ (^) Knowledge is encoded in axioms ◮ (^) A set of axioms is a theory ◮ (^) In a logic program ◮ (^) Knowledge is encoded in rules ◮ (^) A program is a set of rules ◮ (^) So what is the difference?

Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Ontologies Logic and Probability

Background: Derivations

◮ (^) Given a logic and a theory, a derivation procedure indicates sets of statements entailed by the theory ◮ (^) Such statements range from the mundane This Sudoku has no solution with 9 in the top left box ... ◮ (^) To the profound an abelian group has a composition series iff it is finite... ◮ (^) To the interesting When a patient enters the protocol, she will always leave the protocol if at any time her white blood count is critical for 5 successive days ◮ (^) Running a logic program is the same as performing a derivation procedure on the program ◮ (^) Different types of derivation differ most critically in their abstract complexity (cf. [Pap94]) – in how big a problem you can reliably solve ◮ (^) Less complex derivation methods lean toward theTerrance Swift Computational Logic for Healthcare Informatics

Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Logic and ProbabilityOntologies

Tower of Hanoi

move(1,X,Y, ) :- write(’Move top disk from ’),write(X), write(’ to ’), write(Y), nl. move(N,X,Y,Z) :- N>1, M is N-1, move(M,X,Z,Y), move(1,X,Y, ), move(M,Z,Y,X).

Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Logic and ProbabilityOntologies

Rule Systems

◮ (^) All rule examples here are in Prolog, a logic programming paradigm ◮ (^) It could also be written in a business rules language such as Jess, Drools, or ILOG-Jrules ◮ (^) It could be written in an object logic such as Flora-2 or Silk ◮ (^) It could also be written in a functional language such as Haskell, ML, or Lisp (or even Python or Ruby) ◮ (^) Currently, rule systems based on Prolog (e.g. XSB) ◮ (^) are usually faster and more scalable than busines rule systems [LFWK09] ◮ (^) offer completeness for various types of programs, ◮ (^) offer sophisticated types of non-monotonic reasoning ◮ (^) offer constraint-based reasoning ◮ (^) are less used than the business rules systems (?)

Rules and Constraint-Based Reasoning^ Rules Satisfiability Checking Logic and ProbabilityOntologies

Rule Application for Medical Worflows

(Adaptive) Medical Workflows [Spy00, GRH+04, ALP+05, LPQ+07, MvdAP07] ◮ (^) A given patient may be treated with one first protocol or according to one guideline, and then another ◮ (^) Sample rule: ETOPOSID must be dropped when a patient has had a critical blood status for the last five days,and ETOPOSID can only be given again once the blood status becomes normal again (leukocyte count > 1000 ) ◮ (^) A single research protocol might contain a hundred or more such rules. ◮ (^) Event then it would not (fully) model ◮ (^) background knowledge (e.g. chemical structure of Etoposid) ◮ (^) factors outside the protocol or guideline (e.g. co-morbidity) ◮ Terrance Swift^ Computational Logic for Healthcare Informatics

Rules and Constraint-Based ReasoningRules Satisfiability Checking Logic and ProbabilityOntologies

Temporal Constraints in Medical Workflows

◮ (^) As the above example illustrates, you don’t get too far with rules for medicine before time elements become very complex. ◮ (^) A Phase II study example: Patients will start adjuvant TMZ 28 days (+/- 10 days) post the completion of Radiation Therapy and comcomitant TMZ. Temozolomide will be administered orally once a day for 5 consecutive days every 28 days [ea05] ◮ (^) There are many different types of temporal reasoning: temporal constraints (e.g. [Mei96, SV98]) are relatively easy to understand and have low complexity (compared to other types of temporal reasoning).

Rules and Constraint-Based ReasoningRules Satisfiability Checking Logic and ProbabilityOntologies

Temporal Constraints in Medical Workflows

Input to temporal constraint solver may be ◮ (^) a study table (e.g. in mdlogix’s Clinical Research Management System, CRMS) ◮ (^) a workflow rule like

WHEN critical-blood-status(P) VALID-TIME [now - (5,day),now] AN in-further-workflow(Drug-Administration[drug = Etoposid],P) THEN drop(Drug-Administration[drug = Etoposid],P) Unless normal-blood-status VALID-TIME now

◮ (^) this is an extension of the syntax of F-logic rules [KLW95, YKZ03] ◮ (^) Temporal constraints may be incrementally added by application of a particular rule ◮ Terrance Swift Computational Logic for Healthcare Informatics

Rules and Constraint-Based ReasoningRules Satisfiability Checking Logic and ProbabilityOntologies

Temporal Constraints in Medical Workflows

How constraints might look to a temporal constraint solver: arc(adjuvant tmz,adjuvant tmz 1,[before([28,28])]), arc(adjuvant tmz 1, cycles 1 3 5 1, [contains, started by]), arc(adjuvant tmz 1, cycles 2 4 6 1, [contains]), arc(within 10 days cycles 1 3 5 1, cycles 1 3 5 1, [before([1,10])]), arc(within 3 days cycles 1 3 5 1, cycles 1 3 5 1, [before([1, 3])]), arc(within 10 days cycles 2 4 6 1, cycles 2 4 6 1, [before([1,10])]), arc(within 10 days cycles 2 4 6 1, cycles 2 4 6 1, [before([1, 3])]), arc(within 3 days cycles 1 3 5 1, within 3 days cycles 1 3 5 delay cycle 1, [before([0,7])]), arc(within 3 days cycles 2 4 6 1, within 3 days cycles 2 4 6 delay cycle 1, [before([0,7])]),