Negation Null Values Rough chalk talk notes Alan

  • Slides: 21
Download presentation
Negation & Null Values Rough “chalk talk” notes Alan Rector 2005 -05 -28 (revised

Negation & Null Values Rough “chalk talk” notes Alan Rector 2005 -05 -28 (revised 2005 -06 -12) 1

Simple Version • Case 1: Diabetes – “Some people have diabetes & some people

Simple Version • Case 1: Diabetes – “Some people have diabetes & some people don’t” • xy. [Person(x) & Diabetes(y) & has(x, y)] x. [Person(x) & NOT y. [ Diabetes(y) & has(x, y)]] – “john has diabetes” • Person(john) & y[Diabetes(y) & has(john, y)] – “john does not have diabetes” • Person(john) & NOT y[Diabetes(y) & has(john, y)] 2

Simple Version 2: • Temperature – “All people have a temperature that has a

Simple Version 2: • Temperature – “All people have a temperature that has a temperature value” • x. Person(x) yz. Temperature(y) & Temperature_value(z) & has_observable(x, y) & has_value(y, z) – John has a temperature of 37 • Person(john) & y. Temperature(y) & Temperature_value(37_degrees) & has_observable(john, y) & has_value(y, 37_degrees). 3

Simple Negation NOT Informative Negates too much • Temperature – John has a temperature

Simple Negation NOT Informative Negates too much • Temperature – John has a temperature that is an elevated temperature • Person(john) & yz. Temperature(y) & Temperature_value(z) & has_observable(john, y) & has_value(y, z) & elevated_for(y, z). – John does not have a temperature that is an elevated temperature • Person(john) & NOT yz. Temperature(y) & Temperature_value(z) & has_observable(john, y) & has_value(y, z) & elevated_for(y, z). 4

Alternative value rather than negation • “John has a Temperature that is not elevated”:

Alternative value rather than negation • “John has a Temperature that is not elevated”: • Person(john) & yz. Temperature(y) & Temperature_value(z) & has_observable(john, y) & has_value(y, z) & NOT elevated_for(y, z). 5

Information loss with negation – y. Termperature(y) & Temperature_value(z) elevated_for(y, z) OR normal_for(y, z)

Information loss with negation – y. Termperature(y) & Temperature_value(z) elevated_for(y, z) OR normal_for(y, z) OR depressed_for(y, z) – Therefore, NOT elevated does not convey (usually) all the information available • To specify all specify the information available, give the most specific value available: “John has a temperature that is depressed” – Person(john) & NOT yz. Temperature(y) & Temperature_value(z) & has_observable(john, y) & has_value(y, z) & depressed_for(y, z). 6

Pedal Pulses Just a special case with two values: present/absent • “All people can

Pedal Pulses Just a special case with two values: present/absent • “All people can have observations of pedal pulses that can be present or absent” • x. Person(x) yz. Pedal_pulse(y) & Present_absent(z) & has_observable(x, y) & has_value(y, z) – “John’s pedal pulse is present” • Person(john) & y. Pedal_pulse(y) & Present_absent(present) & has_observable(john, y) & has_value(y, present). – “John’s pedal pulse is absent” • Person(john) & y. Pedal_pulse(y) & Present_absent(absent) & has_observable(john, y) & has_value(y, absent). 7

Flavours of Null – “Some people with non-null observational status have diabetes) • xy.

Flavours of Null – “Some people with non-null observational status have diabetes) • xy. Person(x) & Diabetes(y) & non_null(x, Diabetes) & has(x, y) – “john can be determined to have and has diabetes” • Person(john) & non_null(john, Diabetes) & y. Diabetes(y)& has(john, y) – “john does not have diabetes” • Person(john) & non_null(john, Diabetes) & NOT y. Diabetes(y) & has(john, y) – “Whether or not john has diabetes cannot be determined” • Person john & NOT non_null(john, Diabetes) 8

Flavours of Null • Temperature – “All people that have non-null temperature measurement have

Flavours of Null • Temperature – “All people that have non-null temperature measurement have a temperature that has a temperature value” • x. Person(x) & non. Null(x, Temperature) yz. Temperature(y) & Temperature_value(z) & has_observable(x, y) & has_value(y, z) – John has a temperature of 37 • Person(john) & non. Null(x, Temperature) y. Temperature(y) & Temperature_value(37_degrees) & has_observable(john, y) & has_value(y, 37_degrees). 9

Flavours of Null: Pedal Pulses • “All people who’s pedal pulses might be reasonably

Flavours of Null: Pedal Pulses • “All people who’s pedal pulses might be reasonably measure can have observations of pedal pulses that can be present or absent” • x. Person(x) & non. Null(x, Pedal_pulse) yz. Pedal_pulse(y) & Present_absent(z) & has_observable(x, y) & has_value(y, z) 10

Non-null – what does it really mean? • Physical_possibility_status(Person, Entity) “applicability” – Refers to

Non-null – what does it really mean? • Physical_possibility_status(Person, Entity) “applicability” – Refers to the patient • E. g. Pedal pulses in a bilateral amputee • Epistemic_status(Observer, <Person, Entity>) “validity” – Refers to the observation, method, and sample • E. g. Could not get a clear answer; dropped specimen; haemolised; etc • null. Status = applicability x validity 11

Hypothesis • “Applicability” belongs to the clinical realm and hence to S-CT – A

Hypothesis • “Applicability” belongs to the clinical realm and hence to S-CT – A statement about the patient that they atypically do not have this observable� • They are an atypical patient with respect to this observable • “Validity” belongs to the knowing realm & hence to HL 7 (or other info model) – About the observation or procedure rather than the patient • The patient may or may not be typical (we don’t know, although they probably are) but our method of knowing went wrong. 12

Including. Validity & applicability • Add the notion that a statement “concerns” a finding

Including. Validity & applicability • Add the notion that a statement “concerns” a finding / observable • Add a wrapper here called “Clinical_situation” which ‘concerns’ findings/observations. • Some basic rules – If a finding is present then the finding must be applicable to the patient and the situation concerns the finding – A situation may concern a finding that is applicable to a patient but absent – A finding may concern a patient but not be applicable 13

So what is our basic form in a message or EHR • “There is

So what is our basic form in a message or EHR • “There is a valid observation by an observer at a time & place with respect to someone/thing of…” – “A clinical situation that • Includes this clinical finding ( is applicable to this patient concerns this finding ) • Does not include this clinical finding but this finding is applicable to this patient ( concerns this finding) • Concerns this clinical finding and that this finding is inapplicable to this patient – “There is a clinical situation that • Includes a observable that is applicable to this patient & has value V ( concerns this observable) • Concerns this observable and that this observable is not applicable to this patient • “There is an invalid observation by an observer at a time & place with respect to someone/thing of – � “A clinical situation that concerns this Observable/Clinical Finding” • The contents are not relevant since the observation is invalid 14

More on negation What are we negating? What does a code represent? • From

More on negation What are we negating? What does a code represent? • From here on logic notation gets very unreadable – Switch to compact OWL syntax • Roughly outline form with a few extra words – & “and” or “that” – SOME existential (the usual default link in S-CT) • And with apologies for ignorance of some S-CT vocabulary 15

A Rigorous formal Approach to Negation in S-CT using OWL • Hypothesis - a

A Rigorous formal Approach to Negation in S-CT using OWL • Hypothesis - a code represents a “Clinical situation” (or “syndrome”) – Already present in the way S-CT is structured • S_CT_Thing & has_morphology SOME Morphology. Class & has_site SOME Anatomical. Structure … – Where role groups are already added • S_CT_Thing & has_rg SOME (Role. Group & has_morphology SOME Morphology. Class & has_site SOME Anatomical. Structure) … 16

So if we identify tentatively for readability and intuitions • Identify – S_CT_Thing Clinical_situation

So if we identify tentatively for readability and intuitions • Identify – S_CT_Thing Clinical_situation – has_rg includes – Role. Group (in this context) Finding or Observable • Then we have something like – Clinical_situation & includes SOME (Finding has_morphology SOME Morphology. Class & has_site SOME Anatomical. Structure) 17

So “Skull Fracture without Haemorrage” becomes when fully expanded… � – Clinical_situatsion & includes

So “Skull Fracture without Haemorrage” becomes when fully expanded… � – Clinical_situatsion & includes SOME (Finding & has_morphology SOME Fracture & has_site SOME Skull) & NOT includes SOME (Finding & has_morphology SOME Haemorrhage & has_site SOME Skull) • And the rest comes for free – At least as a reference formalism • And for local classification – Well within the capacity of today’s classifiers locally which is all SNOMED needs 18

Demo From Protege-OWl Given a series of definitions of the form: Skull_fracture_without_intracranial_haemorrhage_situation = And

Demo From Protege-OWl Given a series of definitions of the form: Skull_fracture_without_intracranial_haemorrhage_situation = And underlying definitions such as Intracranial_haemorrhage_finding = 19

Then a flat list of such stated definitions for: 20

Then a flat list of such stated definitions for: 20

Will be rearranged by the OWL classifier to give the correct classification as described

Will be rearranged by the OWL classifier to give the correct classification as described in handout automatically 21