Introduction to Knowledge Based Systems (KBS)

Download Report

Transcript Introduction to Knowledge Based Systems (KBS)

Clinical Decision Support Lecture
Brief History and State of the Art of Clinical
Decision Support and relation to
Terminology and Electronic Healthcare Records
(EHRs)
Available at
http://www.cs.man.ac.uk/~rector/modules/cds/Notes-1-HI-general-cds-2006.ppt
www.cs.man.ac.uk/ai/modules/cds
1
The Hype of the Time
• Guidelines
• Evidence Based Medicine
• Clinical Errors (reducing)
– Improving prescribing practice
– Reducing adverse drug reactions
• Protocols
• Knowledge Management
• ...
www.cs.man.ac.uk/ai/modules/cds
2
Clinical Judgement and Clinical Errors
• To Err is Human http://www.nap.edu/books/0309068371/html/
• Supporting a Humanly Impossible Task
http://www.cs.man.ac.uk/~rector/papers/Humanly-Impossible-Task.pdf
• Johnson Articles - see resources
http://www.cs.man.ac.uk/~rector/modules/cds/cds_links.htm
(NB some links may be broken because of University merger)
•
OpenClinical Web site
http://www.openclinical.org/
•
OpenEHR web site
http://www.openehr.org
www.cs.man.ac.uk/ai/modules/cds
3
Computer Aided Decision Support Works
(sometimes)
• Evidence of effectiveness growing
– 25 years since Clem McDonald’s
Protocol-based computer reminders, the quality of care and
the non-perfectability of man
• Use still limited
• Meta studies and reviews a decade old
• Elson R E and Connelly D P (1995). Computerized patient records in primary care: Their
role in mediating guideline-driven physician behaviour change. Archives of Family
Medicine 4: 698-705.
• Grimshaw J and Russell I (1993). Effect of clinical guidelines on medical practice: a
systematic review of rigorous evaluations. Lancet 342: 1317-1322.
• Johnston M, Langton K, Haynes R and Mathieu A (1994). Effects of computer-based
clinical decision support systems on clinical performance and patient outcome. A critical
appraisal of research. Archives of Internal Medicine 120: 135-142.
www.cs.man.ac.uk/ai/modules/cds
4
Important Recent Study
• Cristina Tural, Lidia Ruiz , Christopher Holtzer,
Jonathan Schapiro, Pompeyo Viciana, Juan
Gonzàlez , Pere Domingo,Charles Bouche, C. ReyJol. BonaventuraClotet and the Havana Study Group
(2002) Clinical utility of HIV-1 genotyping and expert
advice: Havana trial, AIDS 16(2): 209-215
www.cs.man.ac.uk/ai/modules/cds
5
Types of Decision Support: Information Tasks
• Informative
– Guidelines e.g. eBNF, BMJ Clinical Evidence,...
– Literature search - DxPlain
• Information structuring
– intelligent records (EPRs)
• PEN&PAD, Medcin vocabulary, ...
• Triggers and warnings
– MLMs, McDonald’s original work, HELP, ...
• Critiquing - Perry Miller
• Advising
www.cs.man.ac.uk/ai/modules/cds
6
Types of Decision Support: Clinical Tasks
• Management Protocols
(often effective, Johnston et. al 1994)
– Prescribing
– Protocol based care
• Oncocin, T-Helper, etc.
– Referral
• Diagnosis
(rarely effective, Johnston et. Al 1994)
• Mycin
• Internist I
• Knowledge Couplers
www.cs.man.ac.uk/ai/modules/cds
7
Reasons for success and failure(1)
• Understanding of problem
– Meeting real and recognised needs
• Forsythe D E (1992). Using ethnography to build a working system:
rethinking basic design assumptions. Sixteenth Annual Symposium on
Computer Applications in Medical Care (SCAMC-92), Baltimore,
MD, Baltimore, MD: 505-509.
• Meeting them effectively
– “The user is always right…
but the user is usually wrong”
– The technology is still crude at best
• Implementing it successfully
www.cs.man.ac.uk/ai/modules/cds
8
Reasons for success and failure(2)
• Most projects fail at implementation!
• The technology only works if people want it and use it
– Requires emphasis on participation, ownership, training, respect for
practicalities
• ‘Implementation’ begins with design
• Evaluation begins with design
– Formative evaluation essential
• See Shortliffe Shortliffe: The Adolescence of AI in
Medicine: Will the Field Come of Age in the 1990's?
Artificial Intelligence in Medicine, 5:93-106, 1992.
http://smi-web.stanford.edu/pubs/SMI_Abstracts/SMI-920449.html
www.cs.man.ac.uk/ai/modules/cds
9
Potted History (1)
• Bayesian stream
– 1968 Ledley and Lusted: Diagnosis using ‘Idiot Bayes’
discriminant
• Followed by Pauker Decision Support using utility theory
– 1970-1985 - de Dombal: ‘Idiot Bayes’ abdominal pain and other
surgical diagnostic problems
• Meanwhile RCP Computer Workshop refined discriminants and then
stimulated Spiegelhalter to come up with practical algorithms for
belief nets in early 1990s
– 1980s Society for Medical Decision Making formed and statistical
work largely separated from rule based work
www.cs.man.ac.uk/ai/modules/cds
10
“Idiot Bayes”
• A simple statistical means to use databases to determine
weights.
– Collect a sample of patients with each disease, e.g.
Acute Abdominal Pain patients 100 each of
Appendicitis, Cholecystitis, Pancreatitis, Perforated Ulcer,
Obstruction, GI Cancer, Tubal pregnancy (in women only)
– Add a catch-all for everything else “Non specific Abdominal
pain”
– Assume that all symptoms are caused independently by each
disease –e.g. that the mechanisms for rebound tenderness and
nausea are different.
– Derive a table of probabilities to be combined using the “Idiot
Bayes’ formula
– Proved much more robust than less “idiotic” methods
www.cs.man.ac.uk/ai/modules/cds
11
Potted History (2)
• Rule based stream
– 1972 - Shortliffe Mycin: First rule based system
– 1970s US AIM Workshop produced “Big 4”
• Mycin/Oncocin/Puff - Backwards chaining ‘shells’
• Interist I - NEJM CPCs from a large network
– Became QMR as a general reference
• Casnet - Multilayer causal reasoning (glaucoma)
• Abel - Complex causal networks (acid-base metabolism)
– 1990s Protocol based reasoning
• Protégé/Eon successors to Mycin/Oncocin at Stanford
– Musen MA. Domain ontologies in software engineering use of Protégé with the EON
architecture. SMI Technical Report 97-0657. Methods of Information in Medicine
37:540-550, 1998.
• ProForma at ICRF
• ASBRU
• PRODIGY III
www.cs.man.ac.uk/ai/modules/cds
12
Typical Mycin Rules
• IF the gram-stain is gram-negative
AND if the culture-site is sterile
AND if the culture-site is blood
AND if the aerobicity is anerobic
THEN there is strong (.8) evidence that the organism is
enterobacter
• Based on expert opinion rather than data
www.cs.man.ac.uk/ai/modules/cds
13
Potted History (3)
• Reminders
– 1970 - Homer Warner, HELP, LDS
• 1980s - Arden Syntax
• 1990s - MLMs - standardised Arden
– 1970s - Clem McDonald - ‘…reminders and the nonperfectability
of man”
• Regenstrief laboratory systems
– Many variations
• PRODIGY II
• Systematic Review: Johnston M, Langton K, Haynes R and Mathieu A (1994).
www.cs.man.ac.uk/ai/modules/cds
14
Potted History (4)
• Offshoots and Idiosyncratics
– Critiquing - Perry Miller
• Also Johan van der Lei
– Quick Medical Reference - Chip Masari
– Intelligent Records - Alan Rector and Anthony Nowlan
– Knowledge Couplers - Larry Weed
www.cs.man.ac.uk/ai/modules/cds
15
Potted History (5)
• Knowledge Management and the Web
– 1980s Grateful Med and DxPlain
• Quick access to Medline abstracts and related
– 1990s “The Web with everything”
• Rise of Evidence Based Medicine
– Cochrane, NICE, NELH, Health on the Web (HoN),…
• Indexing and ‘meta data’
– How do you find it
• Portals and certification
– How do you know if it is any good
• Information for Public and Patients
– Its an open world out there
• Type “Diabetes Support” at Google 776,000 hits, AllTheWeb 295,000
Yahoo 26, Netscape 2000
• Classic Information Retrieval and Librarianship
– Digital Libraries
• Different fields with little contact
www.cs.man.ac.uk/ai/modules/cds
16
Examples of Web Based Initiatives
• DxPlain
• PaperChase
• Health on the Net (HoN)
• OpenClinical
• Baby CareLink
• Guardian Angels
• … and of course PubMed and the NLM initiatives
www.cs.man.ac.uk/ai/modules/cds
17
Why isn’t decision support in routine use?
• Hypothesis one: “Pearls before swine”
– Doctors are ‘resistant’
• Hypothesis two: “The Emporer’s new clothes”
– Systems are not clinically worthwhile
•
•
•
•
•
Not clinically useful
Too time consuming - too hard to learn
Too expensive
Too inaccessible
Too sparse
– How many diabetic patients does a GP see per week?
• Easier ways to get help
– The technology is still primitive
• Developers misunderstand medicine
– They think it is rational!
www.cs.man.ac.uk/ai/modules/cds
18
Why isn’t decision support in routine use?
• Hypothesis 3: “The invisible computer”
– When it works, no one notices
• ECG interpretation
• Alerts and reminders
• NHS Direct
– Simple but effective?
– Junior doctors’ PDAs
• Convergence of communication and computing
• Upmarket PDAs have 10-100 times the power of the machine that
first ran Mycin!
– Why Web technology and XML are critical to this course
• divorce content and presentation
www.cs.man.ac.uk/ai/modules/cds
19
What would you want from decision support?
• Discussion break
www.cs.man.ac.uk/ai/modules/cds
20
Some Technical Issues
• Technical
– Re-use, transfer, and Terminology
– Links to medical records
– Protocols and Problem Solving Methods
• Combinatorial explosions
• Context and common sense
• Cognitive utility
– The demise of the ‘oracle’
– The difficulty of ‘mixed initiative systems’
www.cs.man.ac.uk/ai/modules/cds
21
The Interface of Three Technologies /
Modelling Paradigms
• Terminology and Ontologies
• Electronic Patient Records
• Decision Support/Inferencing
– including ‘abstraction’
• Plus
Information Management/Information Retrieval
www.cs.man.ac.uk/ai/modules/cds
22
Patient Specific Records (1)
Information Model
(Patient Data Model)
Inference Model
(Guideline Model)
Dynamic Guideline
Knowledge (2b)
Concept Model
(Ontology)
Static Domain
Knowledge (2a)
A Protocol
www.cs.man.ac.uk/ai/modules/cds
24
Who Should Be Evaluated for UTI?
Under the assumptions of the analysis, all febrile children between the ages of 2 months and 24 months with no
obvious cause of infection should be evaluated for UTI, with the exception of circumcised males older than 12
months.
Minimal Test Characteristics of Diagnosis of UTI
To be as cost-effective as a culture of a urine specimen obtained by transurethral catheter or suprapubic tap, a
test must have a sensitivity of at least 92% and a specificity of at least 99%. With the possible exception of a
complete UA performed within 1 hour of urine collection by an on-site laboratory technician, no other test meets
these criteria.
Performing a dipstick UA and obtaining a urine specimen by catheterization or tap for culture from patients with a
positive LE or nitrite test result is nearly as effective and slightly less costly than culturing specimens from all
febrile children.
Treatment of UTI
The data suggest that short-term treatment of UTI should not be for <7 days. The data do not support treatment
for >14 days if an appropriate clinical response is observed. There are no data comparing intravenous with oral
administration of medications.
Evaluation of the Urinary Tract
Available data support the imaging evaluation of the urinary tracts of all 2- to 24-month-olds with their first
documented UTI. Imaging should include VCUG and renal ultrasonography. The method for documenting the UTI
must yield a positive predictive value of at least 49% to justify the evaluation. Culture of a urine specimen obtained
by bag does not meet this criterion unless the previous probability of a UTI is >22%.
FOOTNOTES
The recommendations in this statement do not indicate an exclusive course of treatment or serve as a standard of
medical care. Variations, taking into account individual circumstances, may be appropriate.
www.cs.man.ac.uk/ai/modules/cds
25
Semi Structured in GEM
as seen in Gem Cutter
www.cs.man.ac.uk/ai/modules/cds
26
www.cs.man.ac.uk/ai/modules/cds
27
Terminology, Medical Records, and “the curly
bracket problem”
• Re-use
– Why should everyone start from scratch?
– Attempts to transplant HELP complete did not work
• Could we transfer fragments of Help?
• Workshop at IBM centre at Arden near New York City
produced generalisation of HELP syntax:
– The Arden Syntax - now renamed Medical Logic Modules, MLMs
www.cs.man.ac.uk/ai/modules/cds
28
Example Arden Syntax
• Data Slot
creatinine := read {'dam'="PDQRES2"};
last_creat := read last {select "OBSRV_VALUE"
from "LCR" where qualifier in
("CREATININE","QUERY_OBSRV_ALL")};
• Items in curly brackets {…} are institution specific
Source: MLM Tutorial AMIA 2001 here
www.cs.man.ac.uk/ai/modules/cds
29
Arden Syntax - Next bit but from another institution
data:
creatinine_storage := event {'32506','32752'; /* isolated
creatinine */ ...'32506','33801'; /* chem 20 */};
evoke:
creatinine_storage;;
• Items in curly brackets {…} are institution specific
www.cs.man.ac.uk/ai/modules/cds
30
The ‘Curly Bracket Problem’
• Transfering the logic is easy
• Transfering the access rules in curly brackets is hard
– And it takes your most skilled people
• Subtle dependencies and system indiosyncracies
• The need for a common vocabulary
www.cs.man.ac.uk/ai/modules/cds
31
Where we come from
Clinical
Terminology
GALEN
Clinical
Terminology
Data
Entry
Clinical
Record
Decision
Support
Data
Entry
Electronic
Health
Records
Decision
Support &
Aggregated
Data
www.cs.man.ac.uk/ai/modules/cds
Best
Practice
Best
Practice
32
Controlled Vocabularies and ‘Ontologies’
• A common theme
– Affects Protégé/Eon, ProForma, ASBRU etc
– Protégé/Eon based on Shared Problem Solving Methods (PSM)
and shared Ontology
• A library of PSMs. No reused ontologies!
• The glue to link Medical Records and Clinical Decision
Making
– But only half the problem
• Systems must have the same concepts
• Doctors must use the same concepts
– But made worse because most vocabulary is so awful to use
www.cs.man.ac.uk/ai/modules/cds
33
The Link to Medical Records
• The Terminology provides the content for the boxes in the
information model
www.cs.man.ac.uk/ai/modules/cds
34
Surgical
Procedure
Disease
Patient
has diagnosis
has treatment Surgical
Disease
Procedure
has
complica
tion
Infection
www.cs.man.ac.uk/ai/modules/cds
Surgical
Procedure
Disease
Excision
Melanoma
Mrs Smith
has diagnosis
Infection
has treatment
Melanoma
Excision
has
complica
tion
Infection
www.cs.man.ac.uk/ai/modules/cds
Protocols and Problem Solving Methods
• Machines and people
– If it is easy for people it is hard to specify logically and program
• and vice versa
– A real Guideline from NICE here
– And from GEM site here
• What do you do with one of these?
• What does it mean operationally?
– See next page for extract from GEM site protocol on UTI in children
www.cs.man.ac.uk/ai/modules/cds
37
How might we do it?
• Can you make a simple “Clinical Algorithm” from the
previous?
• Can you scale this up to a cancer chemotherapy protocol
www.cs.man.ac.uk/ai/modules/cds
38
Today’s Standards
• EHRs
– HL7 v2 and v3
– OpenEHR / CEN 13606 / Ocean Informatics Archetypes
• Terminology
– SNOMED-CT
– Clinical Terms V2
– ICD 9/10 (CM)
– Specialist terminologies
www.cs.man.ac.uk/ai/modules/cds
39
HL7 - A Very Brief Intro
www.cs.man.ac.uk/ai/modules/cds
40
HL7 Reference Information Model (The RIM)
Place
Patient
mobileInd : BL
addr : AD
directionsText : ED
positionText : ED
gpsText : ST
confidentialityCode : CE
veryImportantPersonCode : CE
Organization
addr : BAG<AD>
standardIndustryClassCode : CE
ActRelationship
ManagedParticipation
typeCode : CS
id : SET<II>
inversionInd : BL
outboundRelationship
statusCode : SET<CS>
contextControlCode : CS
Access
LicensedEntity
0..n contextConductionInd : BL
approachSiteCode : CD
sequenceNumber : INT
recertificationTime : TS
Person
targetSiteCode : CD
1 source
priorityNumber : INT
gaugeQuantity : PQ
addr : BAG<AD>
pauseQuantity : PQ
Act
Participation
maritalStatusCode : CE
checkpointCode : CS
classCode
:
CS
educationLevelCode : CE
Entity
typeCode : CS
splitCode : CS
Role
moodCode
:
CS
raceCode : SET<CE>
classCode : CS
functionCode : CD
player
joinCode : CS
id
:
SET<II>
disabilityCode : SET<CE>
classCode : CS
contextControlCode : CS
...
determinerCode : CS
negationInd : BL
0..1
code : CD
0..n
livingArrangementCode : CE
id
:
SET<II>
sequenceNumber
:
INT
id : SET<II>
0..n
conjunctionCode : CS
1
negationInd
:
BL
religiousAffiliationCode : CE
code
:
CE
code : CE
playedRole
negationInd : BL
localVariableName : ST
1
derivationExpr
:
ST
ethnicGroupCode : SET<CE>
negationInd : BL
quantity : SET<PQ>
0..n noteText : ED
seperatableInd : BL
text
:
ED
addr : BAG<AD>
time : IVL<TS>
name : BAG<EN>
inboundRelationship 0..n
title
:
ST
telecom : BAG<TEL>
desc : ED
modeCode : CE
statusCode : SET<CS>
statusCode : SET<CS>
statusCode : SET<CS>
awarenessCode : CE
target
scopedRole
LivingSubject
effectiveTime : GTS
effectiveTime : IVL<TS>
signatureCode : CE
existenceTime : IVL<TS>...
0..n certificateText : ED
activityTime : GTS
1
administrativeGenderCode : CE
telecom : BAG<TEL>
signatureText : ED
0..1
availabilityTime : TS
birthTime : TS
quantity : RTO
source performInd : BL
riskCode : CE
ControlAct
deceasedInd : BL
scoper
positionNumber : LIST<INT>
... 1
substitutionConditionCode
... : CE priorityCode : SET<CE>
handlingCode : CE
confidentialityCode : SET<CE>...
deceasedTime : TS
1 target
repeatNumber : IVL<INT>
multipleBirthInd : BL
1
interruptibleInd : BL
multipleBirthOrderNumber : INT
WorkingList
levelCode : CE
organDonorInd : BL
Employee
outboundLink 0..n
FinancialContract
ownershipLevelCode : CE
independentInd : BL
0..n
jobCode : CE
RoleLink
paymentTermsCode : CE
uncertaintyCode : CE
jobTitleName : SC
Material
inboundLink typeCode : CS
reasonCode : SET<CE>
NonPersonLivingSubject
jobClassCode : CE
effectiveTime : IVL<TS>
...
formCode : CE
languageCode : CE
strainText : ED
salaryTypeCode : CE
salaryQuantity : MO
hazardExposureText : ED
protectiveEquipmentText : ED
genderStatusCode : CE
ManufacturedMaterial
lotNumberText : ST
expirationTime : IVL<TS>
stabilityTime : IVL<TS>
Device
InvoiceElement
SubstanceAdministration
routeCode : CE
approachSiteCode : SET<CD>
doseQuantity : IVL<PQ>
rateQuantity : IVL<PQ>
doseCheckQuantity : SET<RTO>
maxDoseQuantity : SET<RTO>
0..n
LanguageCommunication
languageCode : CE
modeCode : CE
proficiencyLevelCode : CE
preferenceInd : BL
manufacturerModelName : SC
softwareName : SC
Container
localRemoteControlStateCode...: CE
capacityQuantity : PQ
alertLevelCode : CE
heightQuantity : PQ
lastCalibrationTime : TS
diameterQuantity : PQ
capTypeCode : CE
RIM 2.01
separatorTypeCode : CE
barrierDeltaQuantity : PQ
July 17,2003
bottomDeltaQuantity : PQ
Observation
value : ANY
interpretationCode : SET<CE>
methodCode : SET<CE>
targetSiteCode : SET<CD>
Procedure
methodCode : SET<CE>
approachSiteCode : SET<CD>
targetSiteCode : SET<CD>
DiagnosticImage
Account
subjectOrientationCode : CE
PatientEncounter
PublicHealthCase
Supply
preAdmitTestInd : BL
admissionReferralSourceCode : CE
lengthOfStayQuantity : PQ
dischargeDispositionCode : CE
specialCourtesiesCode : SET<CE>
specialAccommodationCode : SET<CE>
acuityLevelCode : CE
detectionMethodCode : CE
transmissionModeCode : CE
diseaseImportedCode : CE
quantity : PQ
expectedUseTime : IVL<TS>
www.cs.man.ac.uk/ai/modules/cds
modifierCode : SET<CE>
unitQuantity : RTO<PQ,PQ>
unitPriceAmt : RTO<MO,PQ>
netAmt : MO
factorNumber : REAL
pointsNumber : REAL
name : ST
balanceAmt : MO
currencyCode : CE
interestRateQuantity : RTO<MO,PQ>
allowedBalanceQuantity : IVL<MO>
FinancialTransaction
Diet
energyQuantity : PQ
carbohydrateQuantity : PQ
DeviceTask
parameterValue : LIST<ANY>
amt : MO
creditExchangeRateQuantity : REAL
debitExchangeRateQuantity : REAL
41
HL7 RIM Backbone (UML)
ActRelationship
Entity
classCode : CS
determinerCode : CS
id : SET<II>
code : CE
quantity : SET<PQ>
name : BAG<EN>
desc : ED
statusCode : SET<CS>
existenceTime : IVL<TS> ...
telecom : BAG<TEL>
riskCode : CE
handlingCode : CE
player
0..1
0..n
playedRole
scopedRole
0..n
0..1
scoper
typeCode : CS
inversionInd : BL
outboundRelationship
contextControlCode : CS
0..n contextConductionInd : BL
sequenceNumber : INT
1 source
priorityNumber : INT
pauseQuantity : PQ
Act
Participation
checkpointCode : CS
classCode : CS
typeCode : CS
splitCode : CS
Role
moodCode : CS
functionCode : CD
joinCode : CS
id : SET<II>
classCode : CS
contextControlCode : CS...
negationInd : BL
code : CD
id : SET<II>
sequenceNumber : INT
0..n
conjunctionCode : CS
1
negationInd
:
BL
code : CE
negationInd : BL
localVariableName : ST
1 derivationExpr : ST
negationInd : BL
0..n noteText : ED
seperatableInd : BL
text
:
ED
addr : BAG<AD>
time : IVL<TS>
inboundRelationship 0..n
title : ST
telecom : BAG<TEL>
modeCode : CE
statusCode
:
SET<CS>
statusCode : SET<CS>
awarenessCode : CE
target
effectiveTime : GTS
effectiveTime : IVL<TS>
signatureCode : CE
activityTime : GTS
1
certificateText : ED
signatureText : ED
availabilityTime : TS
quantity : RTO
source performInd : BL
priorityCode : SET<CE>
positionNumber : LIST<INT>... 1
substitutionConditionCode
... : CE
confidentialityCode : SET<CE>
1 target
repeatNumber : IVL<INT>
interruptibleInd : BL
levelCode : CE
outboundLink 0..n
independentInd : BL
0..n
RoleLink
uncertaintyCode : CE
inboundLink typeCode : CS
reasonCode : SET<CE>
effectiveTime : IVL<TS>
...
languageCode : CE
www.cs.man.ac.uk/ai/modules/cds
42
HL7 RIM Backbone as Block-Diagram
Entity
Act
classCode *: <= ACT
m oodCode *: <= EVN
0..* participant
id: SET<II> [0..*]
0..*participant
scopedRole / participation
code: CD CWE [0..1] <= ActCode
Role
type Code *: <= ParticipationType
negationInd: BL [0..1]
classCode *: <= ROL
functionCode: CD CWE [0..1] <= ParticipationFunction
derivationExpr: ST [0..1]
id: SET<II> [0..*]
contextControlCode: CS CNE [0..1] <= ContextControl
text: ED [0..1]
code: CE CWE [0..1] <= RoleCode
sequenceNumber: INT [0..1]
statusCode: SET<CS> CNE [0..*] <= ActStatus
negationInd: BL [0..1]
negationInd: BL [0..1]
effectiveTime: GTS [0..1]
addr: BAG<AD> [0..*]
noteText: ED [0..1]
activityTime: GTS [0..1]
telecom: BAG<TEL> [0..*]
time: IVL<TS> [0..1]
availabilityTime: TS [0..1]
statusCode: SET<CS> CNE [0..*] <= RoleStatus
modeCode: CE CWE [0..1] <= ParticipationMode
priorityCode: SET<CE> CWE [0..*] <= ActPriority
effectiveTime: IVL<TS> [0..1]
awarenessCode:
CE
CWE
[0..1]
<=
TargetAwareness
confidentialityCode: SET<CE> CWE [0..*] <= Confidentiality
certificateText: ED [0..1]
signatureCode:
CE
CNE
[0..1]
<=
ParticipationSignature
repeatNumber: IVL<INT> [0..1]
quantity: RTO<QTY,QTY> [0..1]
signatureText: ED [0..1]
interruptibleInd: BL [0..1]
positionNumber: LIST<INT> [0..*]
0..* playedRole
performInd: BL [0..1]
levelCode: CE CWE [0..1] <= ActContextLevel
0..* act independentInd: BL [0..1]
0..1 playingEntity
uncertaintyCode: CE CNE [0..1] <= ActUncertainty
Entity
reasonCode: SET<CE> CWE [0..*] <= ActReason
languageCode: CE CWE [0..1] <= HumanLanguage
classCode *: <= ENT
de te r m ine r Code *: <= INSTANCE
sourceOf /
id: SET<II> [0..*]
targetOf
code: CE CWE [0..1] <= EntityCode
type Code *: <= ActRelationshipType
quantity: SET<PQ> [0..*]
inversionInd: BL [0..1]
name: BAG<EN> [0..*]
contextControlCode: CS CNE [0..1] <= ContextControl
desc: ED [0..1]
contextConductionInd: BL [0..1]
statusCode: SET<CS> CNE [0..*] <= EntityStatus
sequenceNumber: INT [0..1]
existenceTime: IVL<TS> [0..1]
priorityNumber: INT [0..1]
telecom: BAG<TEL> [0..*]
pauseQuantity: PQ [0..1]
riskCode: CE CWE [0..1] <= EntityRisk
checkpointCode: CS CNE [0..1] <= ActRelationshipCheckpoint
handlingCode: CE CWE [0..1] <= EntityHandling
splitCode: CS CNE [0..1] <= ActRelationshipSplit
joinCode: CS CNE [0..1] <= ActRelationshipJoin
negationInd: BL [0..1]
conjunctionCode: CS CNE [0..1] <= RelationshipConjunction
localVariableName: ST [0..1]
seperatableInd: BL [0..1]
0..1 scopingEntity
0..* source
0..* target
Act
www.cs.man.ac.uk/ai/modules/cds
43
HL7 Data in XML
<act classCode=“ACT” moodCode=“…”>
<id root=“1.3.6.1.4.1.12009.3” extension=“A1234”/>
<code code=“...” codeSystem=“2.16.840.1.113883.6.1”/>
<participant typeCode=“…”>
<participant classCode=“ROL”>
<id root=“1.3.6.1.4.1.12009.4” extension=“1234567-8”/>
<code code=“…” codeSystem=“2.16.840.1.113883.6.21”/>
<playingEntity classCode=“ENT”>
<name>...</name>
</playingEntity>
<scopingEntity classCode=“ENT”>
<name>...</name>
</scopingEntity>
</participant>
</participant>
<sourceOf typeCode=“REL”>
<target classCode=“ACT”>
<id root=“1.3.6.1.4.1.12009.3” extension=“A1235”/>
</target>
</sourceOf>
</act>
www.cs.man.ac.uk/ai/modules/cds
44
Refined Model – Observation on Patient
Organization
classCode *: <= OR G
de te r m ine r Code *: <= INSTANCE
name: BAG<EN> [0..*]
standardIndustryClassCode: CE CWE [0..1]
<= OrganizationIndustryClass
0..1 providerOrganization
Patient
0..* patient
classCode *: <= PAT
0..* patient
id: SET<II> [0..*]
subject
code: CE CWE [0..1] <= RoleCode
addr: BAG<AD> [0..*]
type Code *: <= SBJ
telecom: BAG<TEL> [0..*]
awarenessCode: CE CWE [0..1] <= TargetAwareness
statusCode: SET<CS> CNE [0..*] <= RoleStatus
effectiveTime: IVL<TS> [0..1]
confidentialityCode: CE CWE [0..1] <= Confidentiality
veryImportantPersonCode: CE CWE [0..1] <= PatientImportance 0..* healthCareProvider
ObservationEvent
classCode *: <= OBS
m oodCode *: <= EVN
id*: II [1..1]
code*: CD CWE [1..1] <= Ob servationType
text: ED [0..1]
statusCode*: CS CNE [1..1] <= completed
effectiveTime*: IVL<TS> [1..1]
confidentialityCode: SET<CE> CWE [0..*] <= Confidentiality
component
type Code *: <= C OMP 0..* observationEvent
0..1 patientPerson
Person
ObservationEvent
classCode *: <= PSN
de te r m ine r Code *: <= INSTANCE
id: SET<II> [0..*]
code: CE CWE [0..1] <= EntityCode
name: BAG<EN> [0..*]
riskCode: CE CWE [0..1] <= EntityRisk
handlingCode: CE CWE [0..1] <= EntityHandling
administrativeGenderCode: CE CWE [0..1] <= AdministrativeGender
birthTime: TS [0..1]
deceasedTime: TS [0..1]
maritalStatusCode: CE CWE [0..1] <= MaritalStatus
educationLevelCode: CE CWE [0..1] <= EducationLevel
disabilityCode: SET<CE> CWE [0..*] <= PersonDisab ilityType
livingArrangementCode: CE CWE [0..1] <= LivingArrangement
religiousAffiliationCode: CE CWE [0..1] <= ReligiousAffiliation
raceCode: SET<CE> CWE [0..*] <= Race
ethnicGroupCode: SET<CE> CWE [0..*] <= Ethnicity
classCode *: <= OBS
m oodCode *: <= EVN
id*: II [1..1]
code*: CD CWE [1..1] <= Ob servationType
statusCode: CS CNE [1..1] <= completed
effectiveTime*: IVL<TS> [0..1]
confidentialityCode: SET<CE> CWE [0..*] <= Confidentiality
www.cs.man.ac.uk/ai/modules/cds
45
Observation on Patient in XML
<observationEvent classCode=“OBS” moodCode=“EVN”>
<id root=“1.3.6.1.4.1.12009.3” extension=“A1234”/>
<code code=“...” codeSystem=“2.16.840.1.113883.6.1”/>
<subject typeCode=“…”>
<patient classCode=“ROL”>
<id root=“1.3.6.1.4.1.12009.4” extension=“1234567-8”/>
<code code=“…” codeSystem=“2.16.840.1.113883.6.21”/>
<patientPerson classCode=“PSN”>
<name><given>John</given><family>Doe</family></name>
</patientPerson>
<providerOrganization classCode=“ORG”>
<name>St., Josephs Hospital</name>
</providerOrganization>
</patient>
</subject>
<component typeCode=“REL”>
<observationEvent classCode=“ACT”>
<id root=“1.3.6.1.4.1.12009.3” extension=“A1235”/>
</observationEvent>
</component>
</observationEvent>
www.cs.man.ac.uk/ai/modules/cds
46
Refined Model – Observation on Trial Subject
Organization
classCode *: <= OR G
de te r m ine r Code *: <= INSTANCE
name: BAG<EN> [0..*]
standardIndustryClassCode: CE CWE [0..1]
<= OrganizationIndustryClass
0..1 researchSponsor
ObservationEvent
0..* sponsoredSubject
ResearchSubject
classCode *: <= RESBJ
0..* researchSubject
id: SET<II> [0..*]
subject
code: CE CWE [0..1] <= RoleCode
type Code *: <= SBJ
addr: BAG<AD> [0..*]
telecom: BAG<TEL> [0..*]
statusCode: SET<CS> CNE [0..*] <= RoleStatus
effectiveTime: IVL<TS> [0..1]
0..* subjectOf
classCode *: <= OBS
m oodCode *: <= EVN
id*: II [1..1]
code*: CD CWE [1..1] <= Ob servationType
text: ED [0..1]
statusCode*: CS CNE [1..1] <= completed
effectiveTime*: IVL<TS> [1..1]
confidentialityCode: SET<CE> CWE [0..*] <= Confidentiality
component
type Code *: <= C OMP
0..* observationEvent
0..1 subjectPerson
Person
ObservationEvent
classCode *: <= PSN
de te r m ine r Code *: <= INSTANCE
id: SET<II> [0..*]
code: CE CWE [0..1] <= EntityCode
name: BAG<EN> [0..*]
riskCode: CE CWE [0..1] <= EntityRisk
handlingCode: CE CWE [0..1] <= EntityHandling
administrativeGenderCode: CE CWE [0..1] <= AdministrativeGender
birthTime: TS [0..1]
deceasedTime: TS [0..1]
maritalStatusCode: CE CWE [0..1] <= MaritalStatus
educationLevelCode: CE CWE [0..1] <= EducationLevel
disabilityCode: SET<CE> CWE [0..*] <= PersonDisab ilityType
livingArrangementCode: CE CWE [0..1] <= LivingArrangement
religiousAffiliationCode: CE CWE [0..1] <= ReligiousAffiliation
raceCode: SET<CE> CWE [0..*] <= Race
ethnicGroupCode: SET<CE> CWE [0..*] <= Ethnicity
classCode *: <= OBS
m oodCode *: <= EVN
id*: II [1..1]
code*: CD CWE [1..1] <= Ob servationType
statusCode: CS CNE [1..1] <= completed
effectiveTime*: IVL<TS> [0..1]
confidentialityCode: SET<CE> CWE [0..*] <= Confidentiality
www.cs.man.ac.uk/ai/modules/cds
47
Observation on Trial Subject in XML
<observationEvent classCode=“OBS” moodCode=“EVN”>
<id root=“1.3.6.1.4.1.12009.3” extension=“A1234”/>
<code code=“...” codeSystem=“2.16.840.1.113883.6.1”/>
<subject typeCode=“…”>
<researchSubject classCode=“ROL”>
<id root=“1.3.6.1.4.1.12009.5” extension=“1234567-8”/>
<code code=“…” codeSystem=“2.16.840.1.113883.6.21”/>
<subjectPerson classCode=“PSN”>
<name><given>John</given><family>Doe</family></name>
</subjectPerson>
<researchSponsor classCode=“ORG”>
<name>Eli Lilly</name>
</researchSponsor>
</researchSubject>
</subject>
<component typeCode=“REL”>
<observationEvent classCode=“ACT”>
<id root=“1.3.6.1.4.1.12009.3” extension=“A1235”/>
</observationEvent>
</component>
</observationEvent>
www.cs.man.ac.uk/ai/modules/cds
48
Archetypes
• Find on openEHR web site
– Google “OpenEHR”
www.cs.man.ac.uk/ai/modules/cds
49
OpenEHR: http://www.openehr.org
www.cs.man.ac.uk/ai/modules/cds
50
Computers can do anything you can tell them to
• How to write a perfect chess programme
– List all the possible first move
• For each first move, list all the possible answering moves
– For each answering move list all the replies
• ...
• A 10 line programme
– So why don’t computers play perfect chess?
www.cs.man.ac.uk/ai/modules/cds
53
Combinatorial Explosion: 20 questions
1
Q
yes
yes
yes
no
no
2
no
yes
yes
no
yes
no
no
yes
4
no 8
...
The legend of the Persian chess board
www.cs.man.ac.uk/ai/modules/cds
Combinatorial Explosion!
•
264
=
6.4
10
2
= 1019
• 1019 milliseconds = 1011 days 109 years
– ‘1 billion years’
• 1019 nanoseconds = 1000 years
• 1019 grains of wheat = 1000 million metric tons of wheat
– Predicted world wheat production for 2001:
567 million metric tons
Brute force does not always work!
(But don’t underestimate brute force cleverly applied - consider Google)
www.cs.man.ac.uk/ai/modules/cds
The human brain
• How big? How fast?
– 1010 neurons
– 105 connections per neuron
– 103 firings per second
1018 floating point operations / second to simulate and 1018
memory locations equivalent
• Probably a gross under estimate
www.cs.man.ac.uk/ai/modules/cds
56
Computers
• Current computers: around 109-1012
– At least 106 to go!
• 106  220
• Moore’s law says power doubles every 1.5 years
– Roughly 30 years to go!
• And then what?
• See recent controversy http://www.tecsoc.org/innovate/focusbilljoy.htm
(click here)
– “Heuristics”
• Rules of thumb
• As opposed to “Algorithms” - procedures with guaranteed solutions
www.cs.man.ac.uk/ai/modules/cds
57
Technologies
• Problem Solving Methods require
– Knowledge Representation
• Semantic nets, frames, description logics, ontologies
– Inference
• Rule based systems
• Planning
– Skeletal Plan Refinement
• Bayesian Reasoning
• Belief Nets
• Logic Engines
Programming by Search
www.cs.man.ac.uk/ai/modules/cds
58