Canadian Healthcare Codes and Terminology Standards

Post on 10-May-2015

1114 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

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

Healthcare Codes and Terminology Standards

BC Homes,Chief Technologist

Presented in 2012

www.intelliware.com

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

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

HL7 v3 Background

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

Agenda

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

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

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

Simple Examples

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

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

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?

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

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

Code Namespaces

» Consider this example:

en

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

Not necessarily unique

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

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

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

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

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

Question

» Who decided that “en” stands for English?

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)

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

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”

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

Looking Up OIDs

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

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

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)

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

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

What Does this Example Reveal about the Design of HL7v3?

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

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

How is this used in HL7 Types?

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?

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

Using Concept Domains in Definitions

A portion of the message definition for PRPA_MT010001CA

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

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)

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

Agenda

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

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

Let’s Look at a Transport Wrapper

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

Let’s Look at a Transport Wrapper

A portion of a sample Find Candidates message

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

It’s Like I Totally Lied

» Where are the Code System OIDs?

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

Ah, But these are “Simple” Codes

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)

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

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

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

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.

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

Coded Simple in Transport Wrapper

A portion of a sample Find Candidates message

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" />

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

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" />

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

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

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

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

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

Post-Coordinated Values using Qualifiers

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:

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

Concept Descriptor for Lab (CD.LAB)

» Same as CD, but displayName is permitted

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

Object Hierarchy

This is a strange,backward hierarchy

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

Additional Considerations

» Original Text» Coding Strength

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

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

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

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

Agenda

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

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.

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

Sample Concept Domains

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

Major Concept Domains

» ActCode» EntityCode» ObservationValue

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

Hierarchical Concept Domains

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

Hierarchical Concept Domains

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

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

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”

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

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

Binding

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

Agenda

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

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.

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.

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.

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).

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

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

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

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

Final Recap

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

www.intelliware.com

Intelliware Development200 Adelaide Street West, Suite 100

Toronto, Canada

www.intelliware.com

© 2014 Intelliware Development Inc.75

top related