Advanced FHIR Terminology Services,

35
Advanced FHIR Terminology Services, incl. SNOMED CT AUSTRALIAN E-HEALTH RESEARCH CENTRE, HEALTH & BIOSECURITY Michael Lawley, PhD | Research Group Leader 16 November 2017 FHIR® is the registered trademark of HL7 and is used with the permission of HL7. The Flame Design mark is the registered trademark of HL7 and is used with the permission of HL7.

Transcript of Advanced FHIR Terminology Services,

Page 1: Advanced FHIR Terminology Services,

Advanced FHIR Terminology Servicesincl SNOMED CT

AUSTRALIAN E-HEALTH RESEARCH CENTRE HEALTH amp BIOSECURITY

Michael Lawley PhD | Research Group Leader16 November 2017

FHIRreg is the registered trademark of HL7 and is used with the permission of HL7 The Flame Design mark is the registered trademark of HL7 and is used with the permission of HL7

Who am Ibull Australian eHealth Research Centre CSIRO

bull SNOMED involvement since late 2000sbull Technical Committee 2010-2015

bull Modelling Advisory Group 2015-present

bull SNOMED Languages Project Group

bull SNOMED Logic Profile Working Group

bull SNOMED CT URI specification

bull Expression Constraint Language

bull Ontoserver Shrimp Snapper Snorocket

bull Australiarsquos National Clinical Terminology Service

Shrimp- for browsing

httpontoservercsiroaushrimp

SnapperAuthor(also Map)

work-in-progress

ValueSetExplorer- compare performance and behaviour

httpontoservercsiroauvstool

Getting to know each otherbull Jimrsquos Practical Terminology Services this morning

bull Used Terminology services

bull Implemented any part of the Terminology subsystem

bull SNOMED CT knowledge

bull Other code system knowledge

FHIR Terminology - big picture

Concept MapDefines a set of concepts with a

coherent meaning

src rel tgt

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Value SetA selection of a set of codes for

use in a particular context

Value SetA selection of a set of codes for

use in a particular context

Terminology in FHIR Searchbull A lot of search parameters in FHIR are of type lsquotokenrsquo

bull These can leverage terminology services

bull abovebelowbull Eg Conditionbody-sitebelow=httpsnomedinfosct|272673000 (all

Conditions where the finding site is a descendent of Bone Structure

bull innot-inbull Eg

ProcedureRequestcodein=httpsnomedinfosctfhir_vs=refset32570361000036108 (all ProcedureRequests in the Imagine Procedure refset

Basic Terminology Services | Jim Steel8 |

Externally defined code systems

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 2: Advanced FHIR Terminology Services,

Who am Ibull Australian eHealth Research Centre CSIRO

bull SNOMED involvement since late 2000sbull Technical Committee 2010-2015

bull Modelling Advisory Group 2015-present

bull SNOMED Languages Project Group

bull SNOMED Logic Profile Working Group

bull SNOMED CT URI specification

bull Expression Constraint Language

bull Ontoserver Shrimp Snapper Snorocket

bull Australiarsquos National Clinical Terminology Service

Shrimp- for browsing

httpontoservercsiroaushrimp

SnapperAuthor(also Map)

work-in-progress

ValueSetExplorer- compare performance and behaviour

httpontoservercsiroauvstool

Getting to know each otherbull Jimrsquos Practical Terminology Services this morning

bull Used Terminology services

bull Implemented any part of the Terminology subsystem

bull SNOMED CT knowledge

bull Other code system knowledge

FHIR Terminology - big picture

Concept MapDefines a set of concepts with a

coherent meaning

src rel tgt

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Value SetA selection of a set of codes for

use in a particular context

Value SetA selection of a set of codes for

use in a particular context

Terminology in FHIR Searchbull A lot of search parameters in FHIR are of type lsquotokenrsquo

bull These can leverage terminology services

bull abovebelowbull Eg Conditionbody-sitebelow=httpsnomedinfosct|272673000 (all

Conditions where the finding site is a descendent of Bone Structure

bull innot-inbull Eg

ProcedureRequestcodein=httpsnomedinfosctfhir_vs=refset32570361000036108 (all ProcedureRequests in the Imagine Procedure refset

Basic Terminology Services | Jim Steel8 |

Externally defined code systems

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 3: Advanced FHIR Terminology Services,

Shrimp- for browsing

httpontoservercsiroaushrimp

SnapperAuthor(also Map)

work-in-progress

ValueSetExplorer- compare performance and behaviour

httpontoservercsiroauvstool

Getting to know each otherbull Jimrsquos Practical Terminology Services this morning

bull Used Terminology services

bull Implemented any part of the Terminology subsystem

bull SNOMED CT knowledge

bull Other code system knowledge

FHIR Terminology - big picture

Concept MapDefines a set of concepts with a

coherent meaning

src rel tgt

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Value SetA selection of a set of codes for

use in a particular context

Value SetA selection of a set of codes for

use in a particular context

Terminology in FHIR Searchbull A lot of search parameters in FHIR are of type lsquotokenrsquo

bull These can leverage terminology services

bull abovebelowbull Eg Conditionbody-sitebelow=httpsnomedinfosct|272673000 (all

Conditions where the finding site is a descendent of Bone Structure

bull innot-inbull Eg

ProcedureRequestcodein=httpsnomedinfosctfhir_vs=refset32570361000036108 (all ProcedureRequests in the Imagine Procedure refset

Basic Terminology Services | Jim Steel8 |

Externally defined code systems

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 4: Advanced FHIR Terminology Services,

SnapperAuthor(also Map)

work-in-progress

ValueSetExplorer- compare performance and behaviour

httpontoservercsiroauvstool

Getting to know each otherbull Jimrsquos Practical Terminology Services this morning

bull Used Terminology services

bull Implemented any part of the Terminology subsystem

bull SNOMED CT knowledge

bull Other code system knowledge

FHIR Terminology - big picture

Concept MapDefines a set of concepts with a

coherent meaning

src rel tgt

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Value SetA selection of a set of codes for

use in a particular context

Value SetA selection of a set of codes for

use in a particular context

Terminology in FHIR Searchbull A lot of search parameters in FHIR are of type lsquotokenrsquo

bull These can leverage terminology services

bull abovebelowbull Eg Conditionbody-sitebelow=httpsnomedinfosct|272673000 (all

Conditions where the finding site is a descendent of Bone Structure

bull innot-inbull Eg

ProcedureRequestcodein=httpsnomedinfosctfhir_vs=refset32570361000036108 (all ProcedureRequests in the Imagine Procedure refset

Basic Terminology Services | Jim Steel8 |

Externally defined code systems

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 5: Advanced FHIR Terminology Services,

ValueSetExplorer- compare performance and behaviour

httpontoservercsiroauvstool

Getting to know each otherbull Jimrsquos Practical Terminology Services this morning

bull Used Terminology services

bull Implemented any part of the Terminology subsystem

bull SNOMED CT knowledge

bull Other code system knowledge

FHIR Terminology - big picture

Concept MapDefines a set of concepts with a

coherent meaning

src rel tgt

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Value SetA selection of a set of codes for

use in a particular context

Value SetA selection of a set of codes for

use in a particular context

Terminology in FHIR Searchbull A lot of search parameters in FHIR are of type lsquotokenrsquo

bull These can leverage terminology services

bull abovebelowbull Eg Conditionbody-sitebelow=httpsnomedinfosct|272673000 (all

Conditions where the finding site is a descendent of Bone Structure

bull innot-inbull Eg

ProcedureRequestcodein=httpsnomedinfosctfhir_vs=refset32570361000036108 (all ProcedureRequests in the Imagine Procedure refset

Basic Terminology Services | Jim Steel8 |

Externally defined code systems

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 6: Advanced FHIR Terminology Services,

Getting to know each otherbull Jimrsquos Practical Terminology Services this morning

bull Used Terminology services

bull Implemented any part of the Terminology subsystem

bull SNOMED CT knowledge

bull Other code system knowledge

FHIR Terminology - big picture

Concept MapDefines a set of concepts with a

coherent meaning

src rel tgt

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Value SetA selection of a set of codes for

use in a particular context

Value SetA selection of a set of codes for

use in a particular context

Terminology in FHIR Searchbull A lot of search parameters in FHIR are of type lsquotokenrsquo

bull These can leverage terminology services

bull abovebelowbull Eg Conditionbody-sitebelow=httpsnomedinfosct|272673000 (all

Conditions where the finding site is a descendent of Bone Structure

bull innot-inbull Eg

ProcedureRequestcodein=httpsnomedinfosctfhir_vs=refset32570361000036108 (all ProcedureRequests in the Imagine Procedure refset

Basic Terminology Services | Jim Steel8 |

Externally defined code systems

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 7: Advanced FHIR Terminology Services,

FHIR Terminology - big picture

Concept MapDefines a set of concepts with a

coherent meaning

src rel tgt

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Code SystemDefines a set of concepts with a coherent meaning

url version name hellipFilters PropertiesConceptsbull Codebull Displaybull Definition

Value SetA selection of a set of codes for

use in a particular context

Value SetA selection of a set of codes for

use in a particular context

Terminology in FHIR Searchbull A lot of search parameters in FHIR are of type lsquotokenrsquo

bull These can leverage terminology services

bull abovebelowbull Eg Conditionbody-sitebelow=httpsnomedinfosct|272673000 (all

Conditions where the finding site is a descendent of Bone Structure

bull innot-inbull Eg

ProcedureRequestcodein=httpsnomedinfosctfhir_vs=refset32570361000036108 (all ProcedureRequests in the Imagine Procedure refset

Basic Terminology Services | Jim Steel8 |

Externally defined code systems

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 8: Advanced FHIR Terminology Services,

Terminology in FHIR Searchbull A lot of search parameters in FHIR are of type lsquotokenrsquo

bull These can leverage terminology services

bull abovebelowbull Eg Conditionbody-sitebelow=httpsnomedinfosct|272673000 (all

Conditions where the finding site is a descendent of Bone Structure

bull innot-inbull Eg

ProcedureRequestcodein=httpsnomedinfosctfhir_vs=refset32570361000036108 (all ProcedureRequests in the Imagine Procedure refset

Basic Terminology Services | Jim Steel8 |

Externally defined code systems

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 9: Advanced FHIR Terminology Services,

Externally defined code systems

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 10: Advanced FHIR Terminology Services,

SNOMED CTbull 19 hierarchies

bull ~ 400K Concepts

bull ~ 1M Descriptionsbull 3 types

bull Fully Specified Name

bull Preferred term

bull Synonyms

bull ~ 65 Attributesbull Combined in triplets forming ~ 15M relationships

bull ~ 125 relationship patterns

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 11: Advanced FHIR Terminology Services,

Demo - Shrimp

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 12: Advanced FHIR Terminology Services,

Practical tips1 Beware out-of-order responses2 Minimise latency

ndash Batch multiple operations for single round-tripndash Also avoids need for client-side synchronisation

3 Minimise bandwidthndash count for $expandndash includeDefinition includeDesignations on $expandndash property for $lookupndash _count _elements for search read operationsndash Accept-Encoding gzip

4 GET can be cached (HTTP level) POST cannot

Warning A lot of these can be server-dependent Theyrsquore not proprietary but you should check support for them by your terminology server

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 13: Advanced FHIR Terminology Services,

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 14: Advanced FHIR Terminology Services,

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa138875005)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 15_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 15: Advanced FHIR Terminology Services,

Typeahead controlshttpsplnkrcoeditwOjWbt

ltinputuib-typeahead=suggestion for suggestion in concepts($viewValue

httpsnomedinfosctfhir_vs=isa73211009)rdquo gt

$scopeconcepts = function(term valueSet) return $httpget(

lsquohttpsontoservercsiroaustu3-latestValueSet$expand params identifier valueSetfilter termcount 5_format jsonrsquo

responseType jsonrsquo

)then(function(response) return responsedataexpansioncontains || [ display term ]

)

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 16: Advanced FHIR Terminology Services,

SNOMED CT Versioningbull International release (6 monthly)

bull National releases (1-6 monthly)

bull Other releases

Version is an Edition + Effective Time

httpsnomedinfosctmoduleversiondate

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 17: Advanced FHIR Terminology Services,

Branching version structure

No single ldquolatestrdquo version

INT

US

AU

X

Y

Z

time

dependency

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 18: Advanced FHIR Terminology Services,

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 19: Advanced FHIR Terminology Services,

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmodule

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 20: Advanced FHIR Terminology Services,

Implicit ValueSetsDefined for specific code systems

SNOMED CT LOINC hellip

httpsnomedinfosctfhir_vshttpsnomedinfosctfhir_vs=isasctidhttpsnomedinfosctfhir_vs=refsethttpsnomedinfosctfhir_vs=refsetsctid

httpsnomedinfosctmoduleversiondate

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 21: Advanced FHIR Terminology Services,

ValueSets and CodeSystem versions

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 22: Advanced FHIR Terminology Services,

ValueSet cmpose details

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 23: Advanced FHIR Terminology Services,

ValueSet compose details

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 24: Advanced FHIR Terminology Services,

ValueSet compose details

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 25: Advanced FHIR Terminology Services,

ldquoComplexrdquo ValueSets

Cycles with ValueSet inclusion exclusion

Mixing codes from multiple code systems (donrsquot)

Multiple versions of the same code system

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 26: Advanced FHIR Terminology Services,

ldquoComplexrdquo ValueSetsldquocomposerdquo

ldquoincluderdquo [ldquovalueSetrdquo

ldquohttpsnomedinfosct32506021000036107version20171031fhir_vs=isa138875005rdquo

]ldquoexcluderdquo [

ldquovalueSetrdquoldquohttpsnomedinfosct32506021000036107version20170930fhir_vs=isa138875005rdquo

]

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 27: Advanced FHIR Terminology Services,

Expression Constraint Language (ECL)httpsnomedorgecl

Based on post coordination syntax

Wildcard descendants ancestors reference set members cardinality constraints

httpontoservercsiroaushrimpecl_helphtml

filter[propertyrsquoconstraintrsquo oprsquo=lsquo value lsquohelliprsquo ]

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 28: Advanced FHIR Terminology Services,

ECL brief summaryCategory Syntax Example

Basic sctId ^ sctId ^ 723264001 |lateralizablebody structure|

Hierarchy ltlt sctId lt sctId lt sctIdgtgt sctId gt sctId gt sctId

ltlt 404684003 |clinical finding|

Composition x AND y x OR y x MINUS y

Relationships a b = c a b = c d = eab

ltlt 404684003 363698007 |finding site| =^ 723264001

Cardinality a [lowhigh] b = c ltlt 404684003 [11] 363698007 =

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 29: Advanced FHIR Terminology Services,

SNOMED CT Post coordinationhttpsnomedorgscg

71620000|Fracture of femur|272741003|Laterality| = 7771000|Left|

74400008|Appendicitis|116676008|Associated morphology|= 4532008|Acute inflammation|

64572001|Disease|116676008|Associated morphology|= 4532008|Acute inflammation|363698007|Finding site| = 66754008|Appendix structure|

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 30: Advanced FHIR Terminology Services,

CodeSystem operations$subsumescodeA= ampcodeB=

bull equivalent subsumes subsumed-by and not-subsumed

bull terminology server handles post coordination semantics

$compose

bull ldquoGiven a set of properties return one or more possible matching codesrdquo

Presentation title | Presenter name31 |

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 31: Advanced FHIR Terminology Services,

httphl7orgfhirterminology-servicehtmlclosure

Why stateful

Consider implementing search

[base]Conditioncodebelow=126851005

[base]Conditioncodein=httpsnomedinfosct3Ffhir_vs3Disa126851005

join

ConceptMap$closure

TerminologyClinical Data

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 32: Advanced FHIR Terminology Services,

$closure ndash usage flowbull initbull add set of codes

bull ConceptMap of hierarchy amp equivalence [transitively closed]

bull add more codesbull ConceptMap of additional

hierarchy amp equivalence

bull hellip

bull resynchronisation

bull bull 0

bull a cbull 1 a subsumes c

bull b dbull 2 a subsumes b b subsumes c

a subsumes d

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 33: Advanced FHIR Terminology Services,

codebelowbull Use $closure to maintain local edge-table of parent-child

relationships

bull codebelow=123SELECT CFROM Condition C Edges EWHERE Ccode = 123

OR (Eparent = 123 AND Ccode = Echild)

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 34: Advanced FHIR Terminology Services,

Code Mnemonic Code Mnemonic

equivalent wider

equal subsumes

inexact narrower

unmatched specializes

disjoint relatedto

ConceptMap - equivalence relationships

TS

TS

S T

S T

TS

S

TS

TS

S=T

TS

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary

Page 35: Advanced FHIR Terminology Services,

bull Shrimpndash search amp browse SNOMED CT LOINC ndash httpontoservercsiroaushrimp

bull Ontoserverndash powerful features simple to deploy amp usendash ECL queriesndash httpontoservercsiroaushrimpeclhtmleg concepts with finding site of appendix structure

bull SnapperAuthorndash Author (simple) FHIR Terminology Resources

bull Snorocketndash Description Logic reasoning engine

Tooling summary