canadian healthcare codes and terminology standards

75
Healthcare Codes and Terminology Standards BC Homes, Chief Technologist Presented in 2012 www.intelliware.com

Upload: intelliware-development-inc

Post on 10-May-2015

1.114 views

Category:

Software


2 download

DESCRIPTION

Codes and Terminology are topics that are easy to introduce, but tricky to understand in full complexity . IT Professionals encounter “codes” all the time . e-Health’s notion is really no different. This presentation focused on following aspects of HL7v3: » Concepts » Code Data Types » Concept Domains, Code Systems and Value Sets » Implementation Concerns

TRANSCRIPT

Page 1: Canadian Healthcare Codes and Terminology Standards

Healthcare Codes and Terminology Standards

BC Homes,Chief Technologist

Presented in 2012

www.intelliware.com

Page 2: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 2© 2014 Intelliware Development Inc.

About Intelliware Development Inc.

Intelliware is a custom software, mobile solutions and product development company headquartered in Toronto, Canada. Intelliware is a leader in Agile software development practices which ensure the delivery of timely high quality solutions for clients. Intelliware is engaged as a technical partner by a wide range of national and global organizations in sectors that span Financial Services, Healthcare, ICT, Retail, Manufacturing and Government.

/company/intelliware-development-inc-

/intelliware.inc

/intelliware_inc

/GooglePlusIntelliware

Page 3: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 3© 2014 Intelliware Development Inc.

HL7 v3 Background

Page 4: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 4© 2014 Intelliware Development Inc.

Agenda

» Concepts» Code Data Types» Concept Domains, Code Systems and Value Sets» Implementation Concerns

Page 5: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 5© 2014 Intelliware Development Inc.

Opening Salvo

» Codes and Terminology are topics that are easyto introduce, but tricky to understand in full complexity» IT Professionals encounter “codes” all the time

› e-Health’s notion is really no different

Page 6: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 6© 2014 Intelliware Development Inc.

Simple Examples

» The classic Canadian example› ‘en’ or ‘fr’

» The most common example› ‘M’ or ‘F’

Page 7: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 7© 2014 Intelliware Development Inc.

Ah-ha!

» At one level, we can conclude that there’s reallynothing to this.

› We’ve all seen codes before› What’s the big deal?

Page 8: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 8© 2014 Intelliware Development Inc.

Recall one of the Complaints aboutHL7 v2

» Limited rigour in use of controlled vocabularies› Links between standard vocabularies and

message structures are ad-hoc andimplementation specific» As a consequence, HL7v3 spells out a numberof very specific things relating to codes

› Much more rigour› Often very exacting› Still leaves room for Jurisdictions to makedifferent choices

Page 9: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 9© 2014 Intelliware Development Inc.

Code Namespaces

» Consider this example:

en

Page 10: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 10© 2014 Intelliware Development Inc.

Not necessarily unique

» “en” = English» “en” = Printer’s measure» “en” = ethylenediamine

Page 11: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 11© 2014 Intelliware Development Inc.

Key Point

» Context is important» Sometimes context might not be enough

› When we’re dealing with (for example) numeric codes, you can have overlaps

• I don’t know of a clear case where this has happened, but better safe than sorry

Page 12: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 12© 2014 Intelliware Development Inc.

OIDs : Like Namespaces for Codes

» Conceptually, you can imagine animplementation of codes in which all valuesexist in one table

› A code is only unique when it is accompanies with an OID› All codes using the same OID are considered to be part of a code system

Page 13: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 13© 2014 Intelliware Development Inc.

Example

» English› code = “en”› codeSystem = “2.16.840.1.113883.6.84”

» XML:

<languageCode code="en" codeSystem="2.16.840.1.113883.6.84"/>

» Why does an e-Health system need a language code?

› e.g.: no guarantee that a patient speaks any particular language

Page 14: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 14© 2014 Intelliware Development Inc.

Question

» Who decided that “en” stands for English?

Page 15: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 15© 2014 Intelliware Development Inc.

Answer

» ISO : International Organization for Standardization» Specifically, the two-letter code for identifying languages is part of ISO standard 639-1

› First created in 1967› Contains 184 codes (languages)

Page 16: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 16© 2014 Intelliware Development Inc.

Answer

» We can say, then, that the “meaning” of our OID,2.16.840.1.113883.6.84, is the ISO 639-1 standard

› The “code system” is essentially means a “published standard” (with a defined context)› e.g: ISO 639-1 is a “published standard” to describe “languages” (context of “language”)

» In HL7 terms, the notion of the context is calleda “Concept Domain”

› We’ll say more about this in a bit

Page 17: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 17© 2014 Intelliware Development Inc.

The Treachery of OIDs

» Finding the right OID is an extremely tricky exercise

› There are multiple places you can try to look them up. No one source has the complete list› And sometimes they change when you’re not paying attention

• These are “living standards”

Page 18: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 18© 2014 Intelliware Development Inc.

Looking Up OIDs

Page 19: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 19© 2014 Intelliware Development Inc.

Surprise! Change!

» In the V02R02 standard, the OID for the ISO639-1 was 2.16.840.1.113883.6.84» In the most recently-published standard,R02.04.02, the OID for ISO 639-1 is 1.0.639.2

› What’s more, Canada no longer uses the 2-character language code.

• Rather than “en”, we should use “eng”

» Our important take-away: forget I ever told youabout 2.16.840.1.113883.6.84

Page 20: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 20© 2014 Intelliware Development Inc.

A Moment to Discuss OIDs

» Hierarchical system› 0: itu-t› 1: iso

• 2: member body› 2: joint-iso-itu-t

• 16: countryo ISO 3166 country code (e.g. Canada = 124)

2.16.124.113635

Page 21: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 21© 2014 Intelliware Development Inc.

It gets more complicated

» Surely no one in this room believes that thereare only 184 languages in the world» ISO 639-2 uses a 3-character language codeand has more than 450 entries» ISO 639-3 also uses a 3-character languagecode and has about 7700 entries» Example:

› Arabic• Chadian Arabic• Libyan Arabic (and others)

Page 22: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 22© 2014 Intelliware Development Inc.

How Important is this?

» Truthfully, I’m not sure» In Canada, it might be “good enough” to record“Arabic”, rather than “Libyan Arabic”

› But if I were implementing an e-Health system inthe middle-east, I might have a different opinion» The important part is that the HL7 standardrecognizes that some implementations need tomake different choices

Page 23: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 23© 2014 Intelliware Development Inc.

What Does this Example Reveal about the Design of HL7v3?

Page 24: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 24© 2014 Intelliware Development Inc.

Key Idea

» We can talk about the notion that people have communication preferences in a particular “HumanLanguage” without needing to be specific about what codes are being used

› More to the point, HL7 does define many types this way

Page 25: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 25© 2014 Intelliware Development Inc.

How is this used in HL7 Types?

Page 26: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 26© 2014 Intelliware Development Inc.

XML Representation

» Here’s a portion of an HL7 message

<person classCode="PSN" determinerCode="INSTANCE" >...<administrativeGenderCode code="en"codeSystem="1.0.639.1"/><languageCommunication><languageCode code="en" codeSystem="1.0.639.1"/></languageCommunication>...</person>

» Why is this wrong?

Page 27: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 27© 2014 Intelliware Development Inc.

Using Concept Domains in Definitions

A portion of the message definition for PRPA_MT010001CA

Page 28: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 28© 2014 Intelliware Development Inc.

Defining an HL7 Environment

» For any code attribute someone must define:› What Concept Domain is applicable› What Code System is bound to that Concept Domain

» In today’s world, to the best of my knowledge, there is no single source of all those definitions

› To the extent that much of it is defined, much of it is defined in word documents or spreadsheets

Page 29: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 29© 2014 Intelliware Development Inc.

Quick Recap

» HL7 uses codes a lot» Codes have two parts:

› code› code system (OID)

» A “Concept Domain” defines an abstract notion where a code can be used» A “Code System” is a collection of codes defined together and managed by some group

› Formal identification via an OID (e.g. 1.0.639.1)› Informal identification via name (e.g. ISO 639-1)

Page 30: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 30© 2014 Intelliware Development Inc.

Agenda

» Concepts» Code Data Types» Concept Domains, Code Systems and Value Sets» Implementation Concerns

Page 31: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 31© 2014 Intelliware Development Inc.

Let’s Look at a Transport Wrapper

Page 32: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 32© 2014 Intelliware Development Inc.

Let’s Look at a Transport Wrapper

A portion of a sample Find Candidates message

Page 33: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 33© 2014 Intelliware Development Inc.

It’s Like I Totally Lied

» Where are the Code System OIDs?

Page 34: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 34© 2014 Intelliware Development Inc.

Ah, But these are “Simple” Codes

Page 35: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 35© 2014 Intelliware Development Inc.

Code Data Types

» CS: Coded Simple Value» CV: Coded Value» CE: Coded with Equivalents» CD: Concept Descriptor

» also:

» SC: Character String with Code» CD.LAB: Concept Descriptor (LAB)

Page 36: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 36© 2014 Intelliware Development Inc.

Code Data Types

» HL7 also defines:› CO: Coded Ordinal

» I haven’t seen this example occur in nature

Page 37: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 37© 2014 Intelliware Development Inc.

Where are the Data Types defined?

» You have to consult two sources:› The HL7 site

• http://www.hl7.org/v3ballot/html/infrastructure/ datatypes/datatypes.html

› The Data Types document of the pan-Canadian standards releases

» The HL7 site references the international standard; Canada has customized the standard

Page 38: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 38© 2014 Intelliware Development Inc.

Example of Customization

» The International Standard for a basic CodedValue type allows something that looks like this:

<administrativeGenderCodecode="F"codeSystem="2.16.840.1.113883.5.1"displayName="Female"codeSystemName="HL7v3 AdministrativeGender" />

» The “displayName” and “codeSystemName”properties are Not Permitted according to theCanadian Data Types standard

Page 39: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 39© 2014 Intelliware Development Inc.

Coded Simple Value (CS)

» The Code System is implicit» This type is only used in some very limited circumstances

› HL7 defines and manages the list of valid codes› Usually related to

• message structure; or• transport wrapper data.

Page 40: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 40© 2014 Intelliware Development Inc.

Coded Simple in Transport Wrapper

A portion of a sample Find Candidates message

Page 41: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 41© 2014 Intelliware Development Inc.

Coded Simple Value

» The Code System is implicit» This type is only used in some very limitedcircumstances

› HL7 defines and manages the list of valid codes› Usually related to

• message structure;• transport wrapper data; or• part of another data type.

<quantity value="400" unit="ml" />

Page 42: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 42© 2014 Intelliware Development Inc.

XML Representation

» When a CS value is “immutable” (old term:“structural”) then the code value appears as anXML attribute

<sender typeCode="SND" > ...

» Otherwise a CS value appears as a normal XMLelement

<processingCode code="P" />

» I think it’s largely because of the first case thatthey don’t show the codeSystem

Page 43: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 43© 2014 Intelliware Development Inc.

Coded Value (CV)

» Possibly the most basic Code type

<administrativeGenderCode code="F" codeSystem="2.16.840.1.113883.5.1" />

Page 44: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 44© 2014 Intelliware Development Inc.

Coded with Equivalents (CE)

» Introduces the concept of “equivalent” codes» Consider the example of HumanLanguage

<code code="eng" codeSystem="1.0.639.2"><translation code="en" codeSystem="1.0.639.1"/>

</code>

» This is a bad example, because language code is never defined as a “CE” type.

› Language is a pretty simple concept

Page 45: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 45© 2014 Intelliware Development Inc.

Coded with Equivalents (CE)

» Consider the example of Clinical Drug› In Canada, most pharmacists tend to refer to drugs using DIN numbers› Other drug numbers exist. E.g.: Health Canada defines an Active Ingredient Group code› There are times when they’re equivalent ways of referring to the same thing

<code code="02147629" codeSystem="2.16.840.1.113883.5.1105"> <translation code="0131282002"

codeSystem="2.16.840.1.113883.5.1106"/>

</code>

» Both indicate 400mg of Acebutol

Page 46: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 46© 2014 Intelliware Development Inc.

Concept Descriptor (CD)

» Very similar to CE» There’s a key difference between HL7 International and HL7 Canada, here

› qualifiers» Canada has changed its support for qualifiers

› V02R02 (MR 2007) vs. R02.04.02 (MR 2009)» Notion of post-coordinated codes

› HL7 International would use a series of qualifiers to provide qualifying codes

Page 47: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 47© 2014 Intelliware Development Inc.

Post-Coordinated Values

» Used to combine codes more expressively

<valuecode="397956004:363704007=24136001:272741003=7771000{363699004=304120007,260686004= 257867005}" codeSystem="2.16.840.1.113883.6.96"/>

› 397956004 = prosthetic arthroplasty of the hip› 363704007 = Procedure site› 24136001 = Hip joint structure› 272741003 = laterality› 7771000 = left› 363699004 = direct device› 304120007 = Total hip replacement prosthesis

Page 48: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 48© 2014 Intelliware Development Inc.

Post-Coordinated Values using Qualifiers

Page 49: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 49© 2014 Intelliware Development Inc.

Character String with Code (SC)

» Key idea: the string is more salient than the code is» Only example I know of is address parts:

Page 50: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 50© 2014 Intelliware Development Inc.

Concept Descriptor for Lab (CD.LAB)

» Same as CD, but displayName is permitted

Page 51: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 51© 2014 Intelliware Development Inc.

Object Hierarchy

This is a strange,backward hierarchy

Page 52: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 52© 2014 Intelliware Development Inc.

Additional Considerations

» Original Text» Coding Strength

› CNE (coded, non-extensible)› CWE (coded, with extensibility)

Page 53: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 53© 2014 Intelliware Development Inc.

Recap

» What we’ve learned about Data Types› CS, CV, CD, CE, SC

» Translations» Qualifiers» Original Text and Coding Strength

Page 54: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 54© 2014 Intelliware Development Inc.

Exercise

» Find Candidates Payload› Peruse the MIF› Look for all the properties (attributes) that are defined as code values

• Hint: look at <mif:type name=”??” />› What kind of codes are they?› Also, look at the XSDs and see how the corresponding properties (XML Elements) are defined there

Page 55: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 55© 2014 Intelliware Development Inc.

Agenda

» Concepts» Code Data Types» Concept Domains, Code Systems and Value Sets» Implementation Concerns

Page 56: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 56© 2014 Intelliware Development Inc.

Code System and Concept Domains

» We’ve touched on Code Systems and ConceptDomains before

› All codes associated with a particular “standard” are part of the same code system› A Concept Domain is used to describe a particular business concept that can be described using a code.

Page 57: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 57© 2014 Intelliware Development Inc.

Sample Concept Domains

Page 58: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 58© 2014 Intelliware Development Inc.

Major Concept Domains

» ActCode» EntityCode» ObservationValue

Page 59: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 59© 2014 Intelliware Development Inc.

Hierarchical Concept Domains

Page 60: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 60© 2014 Intelliware Development Inc.

Hierarchical Concept Domains

Page 61: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 61© 2014 Intelliware Development Inc.

What is a Value Set?

» You could think of it as a subset of a code system

› A value set includes some or all of the codes from a code system

› All codes in a value set come from the same code system

Page 62: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 62© 2014 Intelliware Development Inc.

An Example

» Code System: Confidentiality» Codes (about 14 in total)

› N: Normal› R: Restricted› HIV: HIV-related› ETH: Substance-abuse related› PSY: Psychiatry-related› C: Celebrity› T: Taboo

Page 63: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 63© 2014 Intelliware Development Inc.

x_VeryBasicConfidentialityKind

» Only 2 codes› N: Normal› R: Restricted

» Note that there are relationships between codes› Everything except “N” can been “rolled up” to “R”

Page 64: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 64© 2014 Intelliware Development Inc.

Other Thoughts

» SNOMED CT› one code system that tries to describe medical terminology across many, many concept domains› We generally care about specific subsets (Value Sets), rather than the whole code system

• e.g.: ActServiceDeliveryLocationService» Inconveniently, HL7.org often uses the same names to describe a Value Set and a Concept Domain

› Adds to confusion

Page 65: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 65© 2014 Intelliware Development Inc.

Binding

Page 66: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 66© 2014 Intelliware Development Inc.

Agenda

» Concepts» Code Data Types» Concept Domains, Code Systems and Value Sets» Implementation Concerns

Page 67: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 67© 2014 Intelliware Development Inc.

Common Healthcare Standards

» DIN› A Drug Identification Number (DIN) is a computer-generated eight digit number assigned by Health Canada to a drug product prior to being marketed in Canada. It uniquely identifies all drug products sold in a dosage form in Canada and is located on the label of prescription and over-the-counter drug products that have been evaluated and authorized for sale in Canada.

Page 68: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 68© 2014 Intelliware Development Inc.

Common Healthcare Standards

» SNOMED CT› SNOMED CT (Systematized Nomenclature of Medicine -- Clinical Terms), is a systematically organised computer processable collection of medical terminology covering most areas of clinical information such as diseases, findings, procedures, microorganisms, substances, etc.

Page 69: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 69© 2014 Intelliware Development Inc.

Common Healthcare Standards

» LOINC› Logical Observation Identifiers Names and Codes (LOINC) is a database and universal standard for identifying medical laboratory observations. It was developed and is maintained by the Regenstrief Institute, a US non-profit medical research organization, in 1994.

Page 70: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 70© 2014 Intelliware Development Inc.

Common Healthcare Standards

» ICD-10› The International Statistical Classification of Diseases and Related Health Problems, 10th Revision (known as "ICD-10") is a medical classification list for the coding of diseases, signs and symptoms, abnormal findings, complaints, social circumstances, and external causes of injury or diseases, as maintained by the World Health Organization (WHO).

Page 71: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 71© 2014 Intelliware Development Inc.

Implementation Considerations

» Change and Lifecycles» Just because a standard exists, doesn’t mean that it never changes

› Country codes• Example: Sint Maarten

Page 72: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 72© 2014 Intelliware Development Inc.

More on Lifecycle

» Some code values are bound to different pan- Canadian standards releases.» A jurisdiction that implements a prior release should use the previous codes» On the other hand, some code systems are updated regularly

› e.g.: ClinicalDrug• The list of drug products managed by Health Canada is updated every quarter

» There’s no formal distinction of these code categories

Page 73: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 73© 2014 Intelliware Development Inc.

Mapping

» At Partnership, it’s not uncommon to hear jurisdictions talk about “implementation”

› What they’re often talking about is code mapping» In the target architecture, Accenture plans to use a HLI to provide mapping services

› Don’t assume that mapping is a trivial exercise› Some concepts don’t map neatly

Page 74: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com 74© 2014 Intelliware Development Inc.

Final Recap

» Concepts» Code Data Types» Concept Domains, CodeSystems and Value Sets» Implementation Concerns

Page 75: Canadian Healthcare Codes and Terminology Standards

www.intelliware.com

Intelliware Development200 Adelaide Street West, Suite 100

Toronto, Canada

www.intelliware.com

© 2014 Intelliware Development Inc.75