Page 1
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
FHIR Terminology
Grahame GrieveFHIR Developer DaysNovember 20th, 2015
Page 2
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®This presentation
Can be downloaded here: http://www.slideshare.net/DevDays2015
Is licensed for use under the Creative Commons, specifically: Creative Commons Attribution 3.0 Unported
License (Do with it as you wish – just give credit)
Page 3
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
SENDING CODED DATA
Page 4
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®Terminology Sub-system
SNOMED CT / LOINC / RxNORM
HGVS, ICPC, MIMS + 100s more
ICD-X+ ANZSCO, METEOR A drug formulary A config table in an
application A list of enums in a java class Country codes
Code System:Defines a set of concepts with a
coherent meaning
CodeDisplay
Definition
Page 5
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®Terminology Sub-system
Value Set:A selection of a set of codes for
use in a particular context
Code System:Defines a set of concepts with a
coherent meaning
CodeDisplay
Definition
Selects
“European country codes” “The LOINC codes I use” All LOINC order codes A SNOMED CT heirarchy
Page 6
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®Code System vs Value Set Often mixed in common usage E.g. am application table that mixes LOINC
codes and custom (self defined) codes The only way to know it’s a LOINC code is it has
the distinctive NNN-N syntax HL7 says: keep your definitions clean, or you’ll
get in trouble when you exchange data Separate the definition and use of a ‘concept’
Page 7
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®Terminology Sub-system
Code System:Defines a set of concepts with a
coherent meaning
CodeDisplay
Definition
Element Definition
Type and Value set reference
Value Set:A selection of a set of codes for
use in a particular context
SelectsBinds
Page 8
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
8
Bindings
Bindings identify what sort of codes are allowed for a given element
Can be: Value set
Defined set of codes from 1..* code systems Reference
E.g. Mime types Description
E.g. Location type codes
Page 9
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
9
Binding Strength required: You must use the specified codes
At least for concepts they apply to extensible: You must use the specified codes if they
apply Free to use other codes or text if value set doesn’t cover concept
preferred: You SHOULD use the specified codes But if you have a good reason, you can use something else
instead example: These codes just give an idea of what you
might use No expectation (or recommendation) of use
Page 10
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®Terminology Sub-system
Code System:Defines a set of concepts with a
coherent meaning
CodeDisplay
Definition
Element Definition
Type and Value set reference
Value Set:A selection of a set of codes for
use in a particular context
SelectsBinds
Element: code/
Coding/CodeableConcep
t
Refers to
Conforms
Page 11
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®Referring to a code systemEach “use of a code” (a reference into a code system) has 4 properties: system: URL of the code system version: stated version of the code system
(optional) code: the symbol defined for the concept
(code/expression) display: a human readable representation of
the concept (optional – debugging/display)
Page 12
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
12
CodeableConcept
All codings are “equal” One can be “primary” reflects “originally selected”,
not “what my profile wants” To maximize interoperability, send what
codings you know Text and coding.display are fallbacks for
systems that don’t recognize your code So good practice to include them
Page 13
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
VALUE SETS
13
Page 14
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
14
Value Set
Page 15
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
15
Value Set Parts
Meta data Logical definition:
Other value sets to include Codes to include/exclude – system, list or by filter Special: define a Code System & automatically
include it Expansion
What’s actually in the value set today, under local conditions
Page 16
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®Versions
A valueset that doesn’t use ValueSet.compose.include.version has unknown content Even if it lists codes explicitly
Until you decide on a version Decision is delegated to run time
Very common thing to do
Page 17
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
17
Defining Concepts
All code systems have a URL Code + definition Primary representation Multiple other representations
Alternate languages, alternate uses
Page 18
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
18
Selecting Concepts
Name the System (optional: version) If just a system, then all codes are included List codes
Can provide alternate descriptions Select codes by property
Name – defined by the code system Operation – equals, in, regex, etc Value – the value of the property E.g. LOINC: ORDER_OBS = Order
Page 19
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
19
Concept Map
A list of mappings between concepts from two different code systems or models
Page 20
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
20
Terminology Service
There’s a lot of complexity here: Code Systems Value Sets Bindings
Most applications much simpler List of codes and displays in some table structure This is a known problem
Page 21
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
21
Terminology Service
Delegate the complexity to specialist software
Provide a set of services that do what applications need
It becomes easy to write applications that do terminology well
Page 22
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
22
Application Needs
Give me a list of codes Is this code valid? How do I display a code? Translate this code to a different code
system Integrate terminology search into my
application
Page 23
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
23
Terminology Service
$expand – given a value set, get the expansion
$lookup – given a code & a value set, what’s the right display
$validate-code – is this valid? (Also, does subsumption testing)
$translate – can you translate this code to another code system
$closure – maintain a closure table for me
Page 24
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
24
Examples…
Page 25
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
25
Closure
Find any observations for male patients over the age of 50 who attended a particular clinic within a particular 2 week period, with a diagnosis of gout, and who had an elevated serum creatinine.
Some of this is terminology based, some isn’t. How do you make this work?
Page 26
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
26
Closure
Every new code in a context: Ask server what relationships exist with
codes already in that context Put them all in a ‘closure’ table
Concept table (key : system : code : display) Closure table (keySource, keyDest)
Can include joins on this table as part of other queries E.g.
Page 27
© 2015 HL7 ® Int’l. Licensed under Creative Commons. HL7, Health Level Seven, FHIR & flame logo are registered trademarks of Health Level Seven International. Reg. U.S. TM Office.
®
27