biohealth informatics group 1 owl, hl7, snomed, and uml making models managable alan rector,...

59
1 BioHealth Informatics Group Open GALEN OWL, HL7, SNOMED, and UML OWL, HL7, SNOMED, and UML Making Models Managable Making Models Managable Alan Rector, University of Alan Rector, University of Manchester Manchester Tom Marley, University of Tom Marley, University of Salford Salford [email protected] [email protected] [email protected] [email protected]

Upload: osborn-stewart-maxwell

Post on 27-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

1

BioHealthInformaticsGroup

OpenGALEN

OWL, HL7, SNOMED, and UMLOWL, HL7, SNOMED, and UMLMaking Models ManagableMaking Models Managable

Alan Rector, University of ManchesterAlan Rector, University of Manchester

Tom Marley, University of SalfordTom Marley, University of Salford

[email protected]@[email protected]@salford.ac.uk

Page 2: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

2

BioHealthInformaticsGroup

OpenGALEN

HL7 & SNOMED: HL7 & SNOMED: Issues for sustainable implementationIssues for sustainable implementation

► HL7HL7

► Variable structure leading to difficult maintenanceVariable structure leading to difficult maintenance

►How to the same thing the same way or know the reason whyHow to the same thing the same way or know the reason why

►Finding standard ways of saying things - ‘recipes’ for developersFinding standard ways of saying things - ‘recipes’ for developers

►(See also Tom Marley’s recent note)(See also Tom Marley’s recent note)

► Modularisation and Re-use of ModulesModularisation and Re-use of Modules

►The semantics of ‘cloned classes’The semantics of ‘cloned classes’

► Expressing constraintsExpressing constraints

►Including “The grey text boxes”Including “The grey text boxes”

► SNOMEDSNOMED

► ContextContext

► NegationNegation

Page 3: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

3

BioHealthInformaticsGroup

OpenGALEN

HL7 + SNOMED IssuesHL7 + SNOMED Issues

► Interaction of HL7 & SNOMEDInteraction of HL7 & SNOMED► Binding, mutual constraints, Negation & NULL valuesBinding, mutual constraints, Negation & NULL values

► Complexity and documentationComplexity and documentation

► Co-evolutionCo-evolution

►How to know the effects of changesHow to know the effects of changes

►How to manage regression/conformance testingHow to manage regression/conformance testing

► A DL based terminology nested in an UML A DL based terminology nested in an UML type model but developed independently\type model but developed independently\

► An almost unique problem to HealthcareAn almost unique problem to Healthcare

Page 4: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

4

BioHealthInformaticsGroup

OpenGALEN

The experiment: The experiment: A Feasibility studyA Feasibility study

► Could the pharmacy examples be Could the pharmacy examples be represented in OWL:represented in OWL:

► So as to capture all the contents of the RMIMs etc So as to capture all the contents of the RMIMs etc themselves?themselves?

► So as to represent the bindings to SNOMED?So as to represent the bindings to SNOMED?

► So as to capture the constraints in ‘grey boxes’ on the So as to capture the constraints in ‘grey boxes’ on the RMIM diagrams?RMIM diagrams?

► So as to support factoring into modules & indexing?So as to support factoring into modules & indexing?

► So as to allow regression/conformance testing?So as to allow regression/conformance testing?

► To be done using existing toolsTo be done using existing tools► Specialised user environment required for any Specialised user environment required for any

production workproduction work

Page 5: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

5

BioHealthInformaticsGroup

OpenGALEN

The main conclusion:The main conclusion:There is a problem,There is a problem,Current tooling will not solve itCurrent tooling will not solve it

► The issue is variability between models rather than The issue is variability between models rather than constraintsconstraints

► Constraints we can manage, but…Constraints we can manage, but…

► Patterns are only approximately followedPatterns are only approximately followed► Only as systematic as human beings using copy & pasteOnly as systematic as human beings using copy & paste

► There are no generic models or formal mechanisms for specialisationThere are no generic models or formal mechanisms for specialisation

► Information is not always in the same place Information is not always in the same place

►e.g.: “Dosage instructions” vs “Timing Instructions”, e.g.: “Dosage instructions” vs “Timing Instructions”,

► If there is a clear difference? it is not documented, If there is a clear difference? it is not documented, let alone formally specifiedlet alone formally specified

► Maintenance will therefore be difficult or impossibleMaintenance will therefore be difficult or impossible► Cannot predict effects of changesCannot predict effects of changes

► Costs will be difficult to controlCosts will be difficult to control… … and this was only for one domain developed by a small teamand this was only for one domain developed by a small team

Page 6: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

6

BioHealthInformaticsGroup

OpenGALEN

The main conclusion:The main conclusion:There is a problem,There is a problem,Current tooling will not solve itCurrent tooling will not solve it

► Investment in new technology is necessary to manage the Investment in new technology is necessary to manage the problemsproblems

► OWL could address these problems and meet other requirementsOWL could address these problems and meet other requirements

► (with significant new tooling)(with significant new tooling)

► The main benefit of using OWL would be to improve & The main benefit of using OWL would be to improve & formalise of modelling toformalise of modelling to

► Lower maintenance costsLower maintenance costs

► Let models scaleLet models scale

► Reduce risk of catastrophic failureReduce risk of catastrophic failure

► Improve conformance of implementationsImprove conformance of implementations

► Ultimately, to make development faster and cheaperUltimately, to make development faster and cheaper

Page 7: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

7

BioHealthInformaticsGroup

OpenGALEN

Specific results: Specific results: More More successful than successful than anticipated anticipated

► We know it can be doneWe know it can be done

► Succeeded in initial version on content, binding, and Succeeded in initial version on content, binding, and constraintsconstraints

► Separate study on factoring Separate study on factoring

► Primary difficulty is understanding HL7 rather than Primary difficulty is understanding HL7 rather than representation in OWLrepresentation in OWL

► Revised binding and alternative representation of SNOMED Revised binding and alternative representation of SNOMED developed subsequentlydeveloped subsequently

► Covers additional requirements for binding presented subsequently: Covers additional requirements for binding presented subsequently:

►Specified code setSpecified code set

►All descendants of a given codeAll descendants of a given code

►Any boolean combination of aboveAny boolean combination of above

Page 8: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

BioHealthInformaticsGroup

OpenGALEN

8

Cut to HTML Report HereCut to HTML Report Here

Page 9: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

9

BioHealthInformaticsGroup

OpenGALEN

► What is OWL? What is OWL?

► What is ProtWhat is Protééggéé

► What does OWL do?What does OWL do?

► What part of the problem might they What part of the problem might they address?address?

► What parts of the problem could it not address?What parts of the problem could it not address?

► What would a programme using OWL look like?What would a programme using OWL look like?

Page 10: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

10

BioHealthInformaticsGroup

OpenGALEN

What is OWL? What is OWL?

► A general representation language and standardA general representation language and standard► A standard way to use Description Logic TechnologyA standard way to use Description Logic Technology

► Language FeaturesLanguage Features► A superset of UML class models as used in HL7A superset of UML class models as used in HL7

► True negation, and, or, cardinality, local and global range/domainTrue negation, and, or, cardinality, local and global range/domain

► Rigorous semanticsRigorous semantics

► UseUse► Compositional and modularCompositional and modular

►Definitions to link modulesDefinitions to link modules

►Well defined normalisation procedureWell defined normalisation procedure

►Namespace mechanismNamespace mechanism

►FeaturesFeatures

► A uniform rule mechanism for both classes and instanceA uniform rule mechanism for both classes and instance

► Standards backing and toolsStandards backing and tools

Page 11: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

11

BioHealthInformaticsGroup

OpenGALEN

What is ProtWhat is Protééggéé

► A plug and play environment for intelligent A plug and play environment for intelligent information systemsinformation systems

► Probably the most widely used OWL Probably the most widely used OWL development environmentdevelopment environment

► Several interfaces developed for different groups of Several interfaces developed for different groups of usersusers

► Several backends for different applicationsSeveral backends for different applications

Page 12: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

12

BioHealthInformaticsGroup

OpenGALEN

What does OWL do?What does OWL do?

► Imposes & checks consistency, locally and globallyImposes & checks consistency, locally and globally► Do subclasses conform to superclass requirements?Do subclasses conform to superclass requirements?

► Does each class conform to overall constraints?Does each class conform to overall constraints?

►Difficult even with the ETP set of tens of messagesDifficult even with the ETP set of tens of messages

► How to achieve for thousands of messages?How to achieve for thousands of messages?

► ClassifiesClassifies► Manages muiltiple hierarchies Manages muiltiple hierarchies

► Indexes & composes subtemplatesIndexes & composes subtemplates► A natural effect of classificationA natural effect of classification

► Manages combinatorial explosionsManages combinatorial explosions► By dealing with each axis separatelyBy dealing with each axis separately

Page 13: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

13

BioHealthInformaticsGroup

OpenGALEN

Example: Decomposing Example: Decomposing Pharmacy Acts (MIM v4.0.01)Pharmacy Acts (MIM v4.0.01)

RecommendRecommend AdministerAdminister Single doseSingle dose AbortedAborted

RequestRequest SupplySupply CourseCourse (Completed)(Completed)

PlanPlan (Active)(Active)

PerformPerform

Apparently 1 family; 4 axes8 selected from 48 possible. Why? Which are legal? Which make no difference?e.g. Can one plan supply? Abort a request for administration?

Page 14: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

14

BioHealthInformaticsGroup

OpenGALEN

Enter in Tool, Classify structureEnter in Tool, Classify structure

Is this what was intended?

Page 15: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

15

BioHealthInformaticsGroup

OpenGALEN

OWL based systems: OWL based systems: Conceptual LegoConceptual Lego

recommended

request

event

aborted

completed

ProcedureObservation

MedicationRole

PersonParticipation

AdministerSupply

Page 16: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

16

BioHealthInformaticsGroup

OpenGALEN

OWL based systems: OWL based systems: Conceptual LegoConceptual Lego

“Request for Medication Administration aborted”

“Performance of medcation administration”

Page 17: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

17

BioHealthInformaticsGroup

OpenGALEN

Logical Constructs Logical Constructs build complex concepts build complex concepts from modularisedfrom modularisedprimitivesprimitives

“Mood”Act

Substance

Status

Disease

Request for|administration ofSteroid

Completed request forAdministration of Steroid

Completed request for administrationOf steroid for Asthma

“Request for Administration”

Page 18: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

18

BioHealthInformaticsGroup

OpenGALEN

Normalising (untangling) OWL Normalising (untangling) OWL ModelsModels

ActStatus

MoodAct Status

mood

Page 19: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

19

BioHealthInformaticsGroup

OpenGALEN

Today’s demonstrationToday’s demonstration

► Introduction to UML and HL7 in OWLIntroduction to UML and HL7 in OWL

► Composition and factoringComposition and factoring

► ConstraintsConstraints

Page 20: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

20

BioHealthInformaticsGroup

OpenGALEN

Basic conventions (1)Basic conventions (1)

► All submodels and clones are sublcassesAll submodels and clones are sublcasses

► All associations and attributes are expressed All associations and attributes are expressed as OWL propertiesas OWL properties

► All relevant properties are subproperties of All relevant properties are subproperties of “demo:has_item”“demo:has_item”

► ““Unfolding” along Unfolding” along demo:has_item demo:has_item gives the submodel gives the submodel skeletonskeleton

Page 21: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

21

BioHealthInformaticsGroup

OpenGALEN

Everything in OWL is Everything in OWL is expressed by subclassing:expressed by subclassing:Part of the Act Class HierarchyPart of the Act Class Hierarchy

Page 22: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

22

BioHealthInformaticsGroup

OpenGALEN

All associations & attributes All associations & attributes are expressed as subproperties are expressed as subproperties of of demo:has_item:demo:has_item:Part of the properties hierarchyPart of the properties hierarchy

Page 23: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

23

BioHealthInformaticsGroup

OpenGALEN

““Unfolding along Unfolding along demo:has_itemdemo:has_item gives the gives the skeleton of the messageskeleton of the message

Unfolding:

The Message skeletonNot to be confused with

The class hierarchy

Page 24: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

24

BioHealthInformaticsGroup

OpenGALEN

Basic Conventions (2)Basic Conventions (2)

► Modules are marked by namespaces: e.g. Modules are marked by namespaces: e.g. “npfit:”, “hl7:”, etc.“npfit:”, “hl7:”, etc.

► The SNOMED structure is modelled as in HL7 The SNOMED structure is modelled as in HL7 messagesmessages

► SNOMED qualifier structures are represented in the SNOMED qualifier structures are represented in the same way as any other classsame way as any other class

Page 25: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

25

BioHealthInformaticsGroup

OpenGALEN

Basic Conventions (3)Basic Conventions (3)

► Everything in OWL is expressed by Everything in OWL is expressed by subclassingsubclassing

► If a subclass has a definition, then it behaves as a rule, If a subclass has a definition, then it behaves as a rule, e.g. e.g.

IF anything satisfies the definition IF anything satisfies the definition THEN it must satisfy the necessary conditionsTHEN it must satisfy the necessary conditions

► Definitions are expressed as “necessary and sufficient” Definitions are expressed as “necessary and sufficient” conditionsconditions

Page 26: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

26

BioHealthInformaticsGroup

OpenGALEN

Can have multiple definitions -Can have multiple definitions -Equivalent to if and only ifEquivalent to if and only if

► Useful for managing HL7/SNOMED mutual constraintsUseful for managing HL7/SNOMED mutual constraints

► IF anything satisfies IF anything satisfies anyany of the definitions of the definitionsTHEN it must satisfy THEN it must satisfy allall of the definitions AND of the definitions AND it must satisfy the necessary conditions it must satisfy the necessary conditions

► Anything thatAnything that► has an Act_Code with a SNOMED context of Active (including has an Act_Code with a SNOMED context of Active (including

descendents)descendents)

►must have an Act_status_code of Active (including any descendents) must have an Act_status_code of Active (including any descendents)

► AND vice versa. AND vice versa.

► Anything satisfying either of the aboveAnything satisfying either of the above

► must have a pertinent information request. must have a pertinent information request.

Page 27: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

27

BioHealthInformaticsGroup

OpenGALEN

Example in ToolExample in Tool

“Definitions”:necessary &

sufficient

“Description:”Necessary conditions

Page 28: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

28

BioHealthInformaticsGroup

OpenGALEN

Everything in OWL is checked Everything in OWL is checked by the ‘Classifier’by the ‘Classifier’(aka ‘Reasoner’)(aka ‘Reasoner’)

► The classifier serves three functions:The classifier serves three functions:► To check consistency To check consistency

►that the strict classification hierarchy and constraints are that the strict classification hierarchy and constraints are maintained maintained

►That all unit tests come out as expectedThat all unit tests come out as expected

► To create a multiple hierarchy and combine To create a multiple hierarchy and combine subtemplatessubtemplates

►Classes moved under each definition that they fitClasses moved under each definition that they fit

► To index classes To index classes

Page 29: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

29

BioHealthInformaticsGroup

OpenGALEN

(sub)Templates are just OWL (sub)Templates are just OWL classes that can be combinedclasses that can be combinedby the classifierby the classifier

► Call them “factors”Call them “factors”► Medication_factorMedication_factor

► Completed_factorCompleted_factor

► Administration_factorAdministration_factor

► Request_factorRequest_factor

► Together they form aTogether they form aCompleted_request_for_Medication Completed_request_for_Medication

Page 30: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

30

BioHealthInformaticsGroup

OpenGALEN

The example templates in the The example templates in the tooltool

Page 31: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

31

BioHealthInformaticsGroup

OpenGALEN

Classification: Graphics viewClassification: Graphics view(simpler case)(simpler case)

before

after

(defined classes in orange)

Page 32: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

32

BioHealthInformaticsGroup

OpenGALEN

The example: The example: Before classification:Before classification:Four parents, simple structureFour parents, simple structure

Page 33: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

33

BioHealthInformaticsGroup

OpenGALEN

After classification:After classification:Polyhierarchy of parents Polyhierarchy of parents

Page 34: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

34

BioHealthInformaticsGroup

OpenGALEN

Put them together to formPut them together to formrequired sublcassrequired sublcass

If inheritance doesn’t work when checked by the classifier,

then something is broken

Page 35: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

35

BioHealthInformaticsGroup

OpenGALEN

Adding unit testing to Adding unit testing to classificationclassification

► Create “probe” classes to test constraintsCreate “probe” classes to test constraints

► Classes that violate constraints to test that they constrainClasses that violate constraints to test that they constrain

► Classes that are just outside constraints to check that they are Classes that are just outside constraints to check that they are not caught accidentally.not caught accidentally.

► Mark each class with expectationsMark each class with expectations

► Run tests after classification for conformance/regression Run tests after classification for conformance/regression testingtesting

List of Unit Tests - green checks indicate passed - red indicates inconsistent - green + red indicates deliberately inconsistent

Page 36: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

36

BioHealthInformaticsGroup

OpenGALEN

Other Benefits: OwlDoc Other Benefits: OwlDoc

Page 37: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

37

BioHealthInformaticsGroup

OpenGALEN

The SNOMED Binding ProblemThe SNOMED Binding Problem

► Which codes to use where?Which codes to use where?► Code set specificationCode set specification

►Sets of specified codesSets of specified codes

►Expressions specifying large sets codesExpressions specifying large sets codes

►Boolean combinations of aboveBoolean combinations of above

► Mutual constraints between HL7 & SNOMEDMutual constraints between HL7 & SNOMED► HL7 mood, status, etc. codesHL7 mood, status, etc. codes

► SNOMED context model SNOMED context model

► Code, Value, and Target attributesCode, Value, and Target attributes

►(Controversies between USA and UK) (Controversies between USA and UK)

Page 38: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

38

BioHealthInformaticsGroup

OpenGALEN

Observation classObservation class

Kernel clinical notionTerminology/Ontology

Context model

Page 39: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

39

BioHealthInformaticsGroup

OpenGALEN

Example ontology nested in the Example ontology nested in the EHREHR

the ehr (hl7 rim)[moodCode=“Event” subject=“Relative” code={ } ]diabetes (subject person_in_family)

the ontology (snomed-ct) <family_hx (assoc_find Diabetes)> the combined meaning

What is legal? Required? Mandatory?What is legal? Required? Mandatory?……

Page 40: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

40

BioHealthInformaticsGroup

OpenGALEN

One of David Markwell’s rules One of David Markwell’s rules from Terminfo:from Terminfo:mood=EVN mood=EVN subject_relationship= subject_relationship= Person OR New Person OR New

Page 41: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

41

BioHealthInformaticsGroup

OpenGALEN

One of David Markwell’s rules One of David Markwell’s rules in OWLin OWLFully expanded versionFully expanded version

If you really want to you can say it all in one long expression;Alternatively you can name every step;or anywhere in between

Page 42: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

42

BioHealthInformaticsGroup

OpenGALEN

Limitations of OWL:Limitations of OWL:“ it doesn’t make the coffee”“ it doesn’t make the coffee”

► Object-attribute-value triples onlyObject-attribute-value triples onlyNo variables, No n-ary relationsNo variables, No n-ary relations

► Did not limit this studyDid not limit this studyClose match to UML limitations (as used in HL7)Close match to UML limitations (as used in HL7)

► Strictly first orderStrictly first order► How HL7 represents SNOMED rather than being “SNOMED in OWL”How HL7 represents SNOMED rather than being “SNOMED in OWL”

► Open World - advantage and disadvantageOpen World - advantage and disadvantage► Requires explicit closure axioms when translating from databasesRequires explicit closure axioms when translating from databases

► A new technology, and a new application of that technologyA new technology, and a new application of that technology► Needs tools and trainingNeeds tools and training

► Numeric ranges and strings new and not tested in this Numeric ranges and strings new and not tested in this validationvalidation

► A strictly temporary problem, now almost resolved.A strictly temporary problem, now almost resolved.

Page 43: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

43

BioHealthInformaticsGroup

OpenGALEN

What might a process using What might a process using OWL for subtempates be like in OWL for subtempates be like in production?production?

► For message design and validationFor message design and validation► In a ‘steady state’In a ‘steady state’

► For message re-design and validationFor message re-design and validation► As a migration pathAs a migration path

► For instance validationFor instance validation► At run time At run time

Page 44: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

44

BioHealthInformaticsGroup

OpenGALEN

For message design and For message design and validationvalidation

► A two phase processA two phase process

► Subtemplate design Subtemplate design

►Create subtemplates / re-usable models and index themCreate subtemplates / re-usable models and index them

►Test by combining to create exemplar messagesTest by combining to create exemplar messages

►Validate, classify and commit resultsValidate, classify and commit results

►Document, publish and add to repositoryDocument, publish and add to repository

► Message designMessage design

►Identify subtemplates via indexIdentify subtemplates via index

►Combine and check consistency with classifierCombine and check consistency with classifier

►Refine / specialise as neededRefine / specialise as needed

►Report and negotiate any changes to templatesReport and negotiate any changes to templates

►Validate, classify & commit resultsValidate, classify & commit results

►Document, publish and add to repository Document, publish and add to repository

Page 45: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

45

BioHealthInformaticsGroup

OpenGALEN

Template & Message design Template & Message design two phases / cyclestwo phases / cycles

Message developmentQuick turn around

Modest expertise requiredHighly specialised but restricted tools

Problems fed to subtemplate / pattern developers

Re-usable subtemplates and pattern developmentSlower turn aroundMore expertise requiredMore general less restricted toolsRespond to new requirements & problems

Page 46: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

46

BioHealthInformaticsGroup

OpenGALEN

What might a process involving What might a process involving OWL be like in transition:OWL be like in transition:

► For message re-design and validationFor message re-design and validation► Import of families of representations from MIF to OWLImport of families of representations from MIF to OWL

► Rearrangement and editing in OWL using special tools Rearrangement and editing in OWL using special tools and scriptsand scripts

►Addition of editorial informationAddition of editorial information

►Refactoring and indexing as appropriateRefactoring and indexing as appropriate

► Classification for validation and organisationClassification for validation and organisation

► Commitment of classification resultsCommitment of classification results

► Export to MIF (or XMI …)Export to MIF (or XMI …)

Page 47: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

47

BioHealthInformaticsGroup

OpenGALEN

Validating instancesValidating instances

► Method 1: guaranteed completeMethod 1: guaranteed complete► Transform to include ‘closure’ axiomsTransform to include ‘closure’ axioms

►Assert that missing data is really missingAssert that missing data is really missing

► Classify and register errorsClassify and register errors

► Takes SNOMED structures into account automaticallyTakes SNOMED structures into account automatically

►Highly desirable for SNOMED binding constraintsHighly desirable for SNOMED binding constraints

► Method 2:Method 2:► Generate structural rules from OWLGenerate structural rules from OWL

► Test instances with structural rulesTest instances with structural rules

► Adequate for numeric ranges and string patternsAdequate for numeric ranges and string patterns

►Difficult for complex SNOMED-HL7 mutual constraintsDifficult for complex SNOMED-HL7 mutual constraints

Page 48: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

48

BioHealthInformaticsGroup

OpenGALEN

How big does it have to be?How big does it have to be?Would it scale?Would it scale?

► SNOMEDSNOMED► Context is critical part of SNOMEDContext is critical part of SNOMED

►~1000 codes~1000 codes

► Header codes for key areas of clinical useHeader codes for key areas of clinical use

►<1000 codes<1000 codes

► Link to external server for remainderLink to external server for remainder

► HL7HL7► Only generic models needed as baseOnly generic models needed as base

► Load specific families or submodels, e.g. ETP, as Load specific families or submodels, e.g. ETP, as needed.needed.

Page 49: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

49

BioHealthInformaticsGroup

OpenGALEN

Next Steps:Next Steps:Address the critical problem Address the critical problem Focus on Modularity, Reducing Focus on Modularity, Reducing variability, & Re-usevariability, & Re-use

► Unified representation of one family of messages Unified representation of one family of messages ► Generic models and templatesGeneric models and templates

► ModularityModularity

► IndexingIndexing

► Integration with S-CT Context ModelIntegration with S-CT Context Model

► Produce initial tailored softwareProduce initial tailored software► Plugin for ProtégéPlugin for Protégé

►HL7ized or UMLized UI - first stepsHL7ized or UMLized UI - first steps

►Extended unfolding viewsExtended unfolding views

► Export/inport from MIFExport/inport from MIF

► Involve a few more modellersInvolve a few more modellers► Demonstrate that the method will be usable when completeDemonstrate that the method will be usable when complete

Page 50: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

50

BioHealthInformaticsGroup

OpenGALEN

Page 51: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

51

BioHealthInformaticsGroup

OpenGALEN

Supplement on NegationSupplement on Negation

Page 52: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

52

BioHealthInformaticsGroup

OpenGALEN

Need to rationalise negation:Need to rationalise negation:

► How to say:How to say:► ““Skull fracture without intracranial haemorrhage”Skull fracture without intracranial haemorrhage”

“Skull fracture without subdural intracranial haemorrhage” “Skull fracture without subdural intracranial haemorrhage”

► ““No skull fracture”No skull fracture”

► ……

► OWL supports full negationOWL supports full negation► Can this help?Can this help?

►Wrap everything in “Clinical_situation” (label it as you will)Wrap everything in “Clinical_situation” (label it as you will)

► This also avoids the problem of splitting of information between This also avoids the problem of splitting of information between Finding and Context_Dependent_findingFinding and Context_Dependent_finding

Page 53: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

53

BioHealthInformaticsGroup

OpenGALEN

““Skull Fracture without Haemorrhage” becomes Skull Fracture without Haemorrhage” becomes

► Clinical_situation Clinical_situation & & includes includes SOME SOME (Finding & (Finding & has_morphology SOME Fracture & has_morphology SOME Fracture & has_site SOME Skull has_site SOME Skull)) && NOT includes SOME NOT includes SOME (Finding & (Finding & has_morphology SOME Haemorrhage & has_morphology SOME Haemorrhage & has_site SOME Skull) has_site SOME Skull)

► And the rest comes for freeAnd the rest comes for free

Page 54: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

54

BioHealthInformaticsGroup

OpenGALEN

DemoDemoFrom Protege-OWlFrom Protege-OWl

Given a series of definitions of the form:

And underlying definitions such as

Skull_fracture_without_intracranial_haemorrhage_situation =

Intracranial_haemorrhage_finding =

Page 55: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

55

BioHealthInformaticsGroup

OpenGALEN

Then a flat list of such stated definitions for:Then a flat list of such stated definitions for:

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Page 56: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

56

BioHealthInformaticsGroup

OpenGALEN

Will be rearranged by the OWL classifier to give the correct Will be rearranged by the OWL classifier to give the correct classification automaticallyclassification automatically

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Page 57: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

57

BioHealthInformaticsGroup

OpenGALEN

Page 58: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

58

BioHealthInformaticsGroup

OpenGALEN

Supplement on alternative iota Supplement on alternative iota interfaceinterface

► Development of alternative interfaces is Development of alternative interfaces is relatively straightforward in Protégé.relatively straightforward in Protégé.

► The next slide shows part of an interface for The next slide shows part of an interface for the IOTA project developing an anaesthesia the IOTA project developing an anaesthesia terminology terminology

► Anaesthesia Patient Safety AssociationAnaesthesia Patient Safety Association

Page 59: BioHealth Informatics Group 1 OWL, HL7, SNOMED, and UML Making Models Managable Alan Rector, University of Manchester Tom Marley, University of Salford

59

BioHealthInformaticsGroup

OpenGALEN