a prot©g© ontology as the core component of a biosense message

48
1 1 A Prot A Prot é é g g é é Ontology as The Core Ontology as The Core Component of a BioSense Component of a BioSense Message Analysis Framework Message Analysis Framework Cecil Lynch Cecil Lynch 1,2 1,2 , Craig Cunningham , Craig Cunningham 1 1 , Eric , Eric Schripsema Schripsema 1 1 , Tim Morris , Tim Morris 3 3 , Barry Rhodes , Barry Rhodes 3 3 1 OntoReason,LLC, 2 UC Davis, 3 US Centers for Disease Control and Prevention

Upload: others

Post on 12-Sep-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Prot©g© Ontology as The Core Component of a BioSense Message

11

A ProtA Protééggéé Ontology as The Core Ontology as The Core Component of a BioSense Component of a BioSense

Message Analysis FrameworkMessage Analysis FrameworkCecil LynchCecil Lynch1,21,2, Craig Cunningham, Craig Cunningham11, Eric , Eric SchripsemaSchripsema11, Tim Morris, Tim Morris33, Barry Rhodes, Barry Rhodes33

1 OntoReason,LLC, 2 UC Davis, 3 US Centers for Disease Control and Prevention

Page 2: A Prot©g© Ontology as The Core Component of a BioSense Message

22

OutlineOutline

•• BioSense descriptionBioSense description•• Describe the current environmentDescribe the current environment•• Describe the ontologyDescribe the ontology•• Describe the ontology frameworkDescribe the ontology framework•• Describe the analysis workbenchDescribe the analysis workbench•• Future directionsFuture directions•• QuestionsQuestions

Page 3: A Prot©g© Ontology as The Core Component of a BioSense Message

33

BioSense DescriptionBioSense Description

Page 4: A Prot©g© Ontology as The Core Component of a BioSense Message

44

What is BioSense?What is BioSense?

•• RealReal--time and near realtime and near real--time national public health time national public health message analysis frameworkmessage analysis framework

•• Consists of Consists of •• Message acquisition and translation interfacesMessage acquisition and translation interfaces•• Secure message transmission networkSecure message transmission network•• Message classification componentsMessage classification components•• Data storage and query componentsData storage and query components•• Data analysis componentData analysis component•• CDC MonitorsCDC Monitors•• Local data visualization and distributionLocal data visualization and distribution

Page 5: A Prot©g© Ontology as The Core Component of a BioSense Message

55

BioSense FunctionsBioSense Functions

Confirm or refute existence of an event Confirm or refute existence of an event Environmental signalEnvironmental signalSuspect illnessSuspect illnessIntelligence warningIntelligence warningKnown outbreak/public health eventKnown outbreak/public health event

Monitor ongoing event and effectiveness of responseMonitor ongoing event and effectiveness of responseAscertain size of eventAscertain size of eventAscertain rate of spreadAscertain rate of spreadTrack efficacy of response effortsTrack efficacy of response effortsMonitor for adverse eventsMonitor for adverse eventsKnow when an event has passed Know when an event has passed

CDC Slide

Page 6: A Prot©g© Ontology as The Core Component of a BioSense Message

66

Data SourcesData SourcesData SourceData Source20062006

RationaleRationale

Orders & results from 3 Orders & results from 3 major commercial major commercial clinical laboratoriesclinical laboratories

Represent 20% of all US lab testing; 60% of Represent 20% of all US lab testing; 60% of independent testing; critical to many PH independent testing; critical to many PH effortsefforts

RealReal--time data from VAtime data from VA 150 hospitals and ~1000 ambulatory care 150 hospitals and ~1000 ambulatory care clinics; share data with many state and local clinics; share data with many state and local PH communitiesPH communities

RealReal--time data from time data from DoDDoD

45 US hospitals and ~800 ambulatory; 45 US hospitals and ~800 ambulatory; share data share data

Poison Control Centers Poison Control Centers call datacall data

All 62 poison control centers; display and All 62 poison control centers; display and compare with other community health compare with other community health data data

Private HospitalsPrivate Hospitals 500 Clinical care Hospitals provide 500 Clinical care Hospitals provide national view and local datanational view and local data

CDC Slide

Page 7: A Prot©g© Ontology as The Core Component of a BioSense Message

77

Target Data TypesTarget Data Types•• Foundational*Foundational*:: demographics, chief complaint, discharge demographics, chief complaint, discharge

diagnoses, disposition, hospital utilizationdiagnoses, disposition, hospital utilization

•• Clinical*Clinical*:: vitals, triage notes, working diagnosis, discharge vitals, triage notes, working diagnosis, discharge summarysummary

•• LaboratoryLaboratory:: orders, microbiology resultsorders, microbiology results

•• PharmacyPharmacy:: medication ordersmedication orders

•• RadiologyRadiology:: orders, interpretation resultsorders, interpretation results

All structured in HL7 2.5 BioSense messagesAll structured in HL7 2.5 BioSense messages

CDC Slide

Page 8: A Prot©g© Ontology as The Core Component of a BioSense Message

88

Current ClassificationCurrent Classification•• Data mapped to 11 syndrome categoriesData mapped to 11 syndrome categories

•• BotulismBotulism--likelike•• FeverFever•• GastrointestinalGastrointestinal•• Hemorrhagic illnessHemorrhagic illness•• Localized cutaneous lesionLocalized cutaneous lesion•• LymphadenitisLymphadenitis•• NeurologicalNeurological•• RashRash•• RespiratoryRespiratory•• Severe illness/deathSevere illness/death•• Specific infectionSpecific infection

•• 79 sub79 sub--syndrome categoriessyndrome categories

CDC Slide

Page 9: A Prot©g© Ontology as The Core Component of a BioSense Message

99

Watch what you ask for!Watch what you ask for!

•• BioSense message volume capacity todayBioSense message volume capacity today•• 837 messages a second837 messages a second•• >72 million messages a day>72 million messages a day

•• How does an epidemiologist review that How does an epidemiologist review that volume of data?volume of data?

•• How do you link messages to an individual How do you link messages to an individual over time to refine the diagnostic info?over time to refine the diagnostic info?

Page 10: A Prot©g© Ontology as The Core Component of a BioSense Message

1010

Current BioSense FrameworkCurrent BioSense Framework

Page 11: A Prot©g© Ontology as The Core Component of a BioSense Message

1111Mes

sage

Pro

cess

ing

Page 12: A Prot©g© Ontology as The Core Component of a BioSense Message

1212

Load

Bal

anci

ng

Page 13: A Prot©g© Ontology as The Core Component of a BioSense Message

1313

Mes

sage

Typ

e Fi

lter

Page 14: A Prot©g© Ontology as The Core Component of a BioSense Message

1414

ETL

Proc

essi

ng

Page 15: A Prot©g© Ontology as The Core Component of a BioSense Message

1515

AV

and

OTP

Page 16: A Prot©g© Ontology as The Core Component of a BioSense Message

1616

End

Use

r Vie

ws

Page 17: A Prot©g© Ontology as The Core Component of a BioSense Message

1717

The OntoReason PH OntologyThe OntoReason PH Ontology

Page 18: A Prot©g© Ontology as The Core Component of a BioSense Message

1818

Rul

e En

gine

Rul

e En

gine

Rul

e En

gine

Rul

e En

gine

Ontology

Model Profile

Applications

Page 19: A Prot©g© Ontology as The Core Component of a BioSense Message

1919

Page 20: A Prot©g© Ontology as The Core Component of a BioSense Message

2020

Page 21: A Prot©g© Ontology as The Core Component of a BioSense Message

2121

Information ModelInformation Model

Page 22: A Prot©g© Ontology as The Core Component of a BioSense Message

2222

Concept In HL7 V3 Concept In HL7 V3 DataTypeDataType

Code

Term

Children

Parent

Other codeSystems and

synonyms

BioSenseTerms

Page 23: A Prot©g© Ontology as The Core Component of a BioSense Message

2323

Conceptual and Syntactical Conceptual and Syntactical LevelLevel

Page 24: A Prot©g© Ontology as The Core Component of a BioSense Message

2424

HL V3 Class ObjectHL V3 Class Object

References for each object

Frequency for each object

Page 25: A Prot©g© Ontology as The Core Component of a BioSense Message

2525

Clinical Domain ObjectClinical Domain ObjectNested

MetaClass

Page 26: A Prot©g© Ontology as The Core Component of a BioSense Message

2626

Page 27: A Prot©g© Ontology as The Core Component of a BioSense Message

2727

Laboratory Observation HL7 Laboratory Observation HL7 V3 mapped to V2V3 mapped to V2

OBX-3

OBX-8 OBX-7

OBX-17

OBX-5

SPM-4

Page 28: A Prot©g© Ontology as The Core Component of a BioSense Message

2828

Map HL7 Message segments to Map HL7 Message segments to Ontology SlotsOntology Slots

Page 29: A Prot©g© Ontology as The Core Component of a BioSense Message

2929

Ontology Services PlatformOntology Services Platform

Page 30: A Prot©g© Ontology as The Core Component of a BioSense Message

3030

Technical FoundationsTechnical FoundationsPlatform Models

• Enterprise PHIN SOA• Web Services• Application Libraries• LexPHIN Database

Application Models

• Individual Reasoners Patterns - Languages• Intelligence & Analytics Workbench - Tools• CTS & LexPHIN Services - Standards

DomainModels

MessageStructure

• PH Reference Ontology• PHIN VS• BioSense Msg HL7 V2.x

Page 31: A Prot©g© Ontology as The Core Component of a BioSense Message

Ontology ExtractionOntology Extraction•• Creating an application ontology from the reference ontologyCreating an application ontology from the reference ontology

•• Identify the core ontology classesIdentify the core ontology classes•• Create an object representation that maintains the ontology dataCreate an object representation that maintains the ontology data•• Generate cross reference indexes for core relationshipsGenerate cross reference indexes for core relationships

•• Lab tests to case investigationsLab tests to case investigations•• Organism/Agent to case investigationsOrganism/Agent to case investigations•• Other significant relationshipsOther significant relationships

•• Identify Identify ““UsedUsed”” vocabularyvocabulary•• Create vocabulary subsets that identify specific vocabularies Create vocabulary subsets that identify specific vocabularies

concepts that are used within the ontologyconcepts that are used within the ontology•• Create code to code mapping indexesCreate code to code mapping indexes

•• This produces a general purpose extraction that is suitable for This produces a general purpose extraction that is suitable for various various purposespurposes

Page 32: A Prot©g© Ontology as The Core Component of a BioSense Message

Ontology ExtractionOntology Extraction•• Additional activities performed for specific problem solutionsAdditional activities performed for specific problem solutions

•• Inclusion of additional vocabulary value setsInclusion of additional vocabulary value sets•• Generation of additional vocabulary indexes to maintain certain Generation of additional vocabulary indexes to maintain certain

parent/child relationshipsparent/child relationships•• Incorporation of certain additional term mappingsIncorporation of certain additional term mappings

•• Alternate spellingsAlternate spellings•• Concept mappings to syndrome/subConcept mappings to syndrome/sub--syndromesyndrome

•• Generation of text search algorithmsGeneration of text search algorithms•• Loadable data married with functional APILoadable data married with functional API

•• Java object serialized for easy loadingJava object serialized for easy loading•• Java API providing lookup/query functionalityJava API providing lookup/query functionality

Page 33: A Prot©g© Ontology as The Core Component of a BioSense Message

Ontology RepresentationOntology Representation•• Jess rule engine representationJess rule engine representation

•• The Jess rule engine utilizes an enhanced RETE algorithm to The Jess rule engine utilizes an enhanced RETE algorithm to provide an execution platform for declarative rule baseprovide an execution platform for declarative rule base

•• Data in Jess is represented as a set of declared factsData in Jess is represented as a set of declared facts•• Facts can be either structured on unstructuredFacts can be either structured on unstructured•• Ontology data is represented as a set of instance data Ontology data is represented as a set of instance data

represented as structured factsrepresented as structured facts•• The ontology can either be expressed as a script or loaded direcThe ontology can either be expressed as a script or loaded directly tly

into the rule engine at runtimeinto the rule engine at runtime•• Rule definitionRule definition

•• Rules which describe core case definitions are constructed Rules which describe core case definitions are constructed •• The ontology facts are merged with the core set of rules to provThe ontology facts are merged with the core set of rules to provide ide

the base representation for the entire ontologythe base representation for the entire ontology

Page 34: A Prot©g© Ontology as The Core Component of a BioSense Message

3434

Controller Components

Framework Controller

Knowledge Registry

Knowledge Controller

HL/7 Message Factory

Data Factory

Configuration Loader / Controller

HL/7 Message Source

Operational Data Source

Data Components

Reasoning Components

Jess Reasoner Wrapper

Reasoner

General Business rules

Jess Fact Renderer

Rule Editing

Editor Pattern Template

Pattern Configuration

Generated Rules

Dashboard Components

Dashboard Event API

Standard Dashboard

Dashboard Visualization Framework

Standard Dashboard Visualization

Analytics Components

Dashboard Visualization Framework

Query / Loader

Visualization UI Frame

External Data Sources

Visualization Pane

Visualization Pane

Visualization Pane

Page 35: A Prot©g© Ontology as The Core Component of a BioSense Message

3535

Message Analytics WorkbenchMessage Analytics Workbench

Page 36: A Prot©g© Ontology as The Core Component of a BioSense Message

3636

Model Driven Expert SystemModel Driven Expert System

• Public health domain model

• Highly constrained standardized vocabulary

• Clinical reference material

• Expert knowledge representation• Statistical information

• Empirical evidence

Calculated Knowledge

Institutional Knowledge

Public Health Reference Ontology

Web-Service based application components

• Reasoning Patterns

• Platform Descriptions

Page 37: A Prot©g© Ontology as The Core Component of a BioSense Message

3737

BioSense Message Data SourceBioSense Message Data Source

•• HL7 Version 2.5HL7 Version 2.5•• XML XML

representationrepresentation•• Laboratory (ORU) Laboratory (ORU)

messagemessage•• Spinal fluid proteinSpinal fluid protein

Page 38: A Prot©g© Ontology as The Core Component of a BioSense Message

3838

Demonstration of Basic Demonstration of Basic PlatformPlatform

Messages

MessageProcessing

MessageClassification

Patient Msg.Correlation/

Classification

Cross PatientCorrelation

Knowledge Bus

Cross PatientCorrelation

Dynamic SyndromeDefinition

User Profile Data Entry

Intelligence & Analytics

Dashboard

Page 39: A Prot©g© Ontology as The Core Component of a BioSense Message

3939

Message Analytical WorkbenchMessage Analytical Workbench

Page 40: A Prot©g© Ontology as The Core Component of a BioSense Message

4040

Page 41: A Prot©g© Ontology as The Core Component of a BioSense Message

4141

ReasonerReasoner results results

Page 42: A Prot©g© Ontology as The Core Component of a BioSense Message

4242

Page 43: A Prot©g© Ontology as The Core Component of a BioSense Message

4343

How the Rules WorkHow the Rules Work

•• JESS template is like a classJESS template is like a class in Javain Java•• Template can but does not have to declare Template can but does not have to declare

attribute type, default values, and if an attribute type, default values, and if an attribute is a single value or a listattribute is a single value or a list

•• Facts asserted into the expert system directly Facts asserted into the expert system directly from the ontology from the ontology -- based upon the templatebased upon the template

Page 44: A Prot©g© Ontology as The Core Component of a BioSense Message

4444

Interaction of Ontology And Interaction of Ontology And RulesRules

•• Information from the ontology and generated Information from the ontology and generated template facts imported into the expert template facts imported into the expert system and operated on by a variety of system and operated on by a variety of reasonersreasoners

•• This way the This way the reasonerreasoner knowledgebase can knowledgebase can have a relatively small footprint have a relatively small footprint vsvs the the reference ontologyreference ontology

Page 45: A Prot©g© Ontology as The Core Component of a BioSense Message

4545

JESS Rule From TemplateJESS Rule From Template(defrule ClinicalFindingConditionMatchesInitial

(Classifier-State DevelopFindingsAndEndorsements)(observation (obsId ?obsId)(msgId ?mId)(patientId ?patientId)(chiefComplaint ?chief)

(code ?observation) (obsType ClinicalFinding) (dataQualityFactor ?quality) (dqfReason ?qualityReason) (originationDate ?oDate) (originationDateType ?oType))(nnd-finding (cond-code ?condCode) (finding-code ?observation)(high ?prob) (ratio

?ratio))(nnd-condition (cond-code ?condCode) (description ?desc))(not (BSFinding (msgId ?mId)(finding ?condCode)))

=>(assert (BSFinding (msgId ?mId)(patientId ?patientId) (findingId ?*ClassId*)

(finding ?condCode)(findingType Condition)(findingDesc ?desc)(originationDate ?oDate)(originationDateType ?oType)))

(assert (Endorsement (msgId ?mId)(findingId ?*ClassId*)(findingCorrelation ?ratio)(findingType Condition)(finding ?condCode)(findingProb ?prob)(endorsementId (+ ?*ClassId* 1))(endorsement

?*Supportive*)(endSymbol *Support*)(endorsementType *ClinicalFinding*)(rule

*ConditionMatch*)(endorsementContext ?context )(obsId ?obsId)(obsCode ?observation)(obsQuality

?quality)(explaination ?qualityReason )))(bind ?*ClassId* (+ 2 ?*ClassId*)))

Page 46: A Prot©g© Ontology as The Core Component of a BioSense Message

4646

A couple of things to A couple of things to rememberremember

•• This is an Intelligence and Analytics toolkitThis is an Intelligence and Analytics toolkit•• Used to exploit the expert knowledge of the organization to provUsed to exploit the expert knowledge of the organization to provide ide

simple to configure application componentssimple to configure application components•• RealReal--time processingtime processing•• Historical data for analysis, knowledge discovery and reHistorical data for analysis, knowledge discovery and re--classificationclassification•• Findings can be reused to tune and validate realFindings can be reused to tune and validate real--time processingtime processing

•• Classification tools are based upon a very quick assessment geneClassification tools are based upon a very quick assessment generalized ralized across all conditionsacross all conditions

•• The classification weights can be greatly improved based upon emThe classification weights can be greatly improved based upon empirical pirical data analysisdata analysis

•• Algorithms are simple to tune and extend (including geoAlgorithms are simple to tune and extend (including geo--spatial and spatial and temporal services)temporal services)

•• The useThe use--cases were made from some limited set of assumptions cases were made from some limited set of assumptions •• We used a condition centric analysisWe used a condition centric analysis

Page 47: A Prot©g© Ontology as The Core Component of a BioSense Message

4747

Next Steps Next Steps

•• Add additional domain centric rules for better agent Add additional domain centric rules for better agent classificationclassification

•• Overcome limitations of ontology size and Overcome limitations of ontology size and maintenance issues by subdividing into smaller maintenance issues by subdividing into smaller ontologiesontologies

•• Apply a novel technique to use the best aspects of Apply a novel technique to use the best aspects of Frames and OWL structuresFrames and OWL structures•• (see the demo)(see the demo)

•• Develop simple domain expert editing tools for rules Develop simple domain expert editing tools for rules and knowledgeand knowledge

Page 48: A Prot©g© Ontology as The Core Component of a BioSense Message

4848

Questions and AnswersQuestions and Answers