An interoperability primer Part 3: Nomenclature, vocabulary and terminology

March 30, 2017
Nick Hatt Staff Software Engineer, Tech Lead

In part 1 of this series I gave a high-level overview of what HL7 is and does. In part 2 I outlined what integration profiles are and why we need them.

In this article I will shed some light on one of the biggest moving targets in integration: code systems.

What is a code system?

Code systems arise out of very simple problems: my lab system and my EHR are made by different vendors, how do I make sure that a CBC order placed in the EHR is recognized in the lab system? What about the results? How do I make sure that the white cells number from the lab systems gets to the white cell count field in the EHR?

Enter code systems. The lab system and EHR will need to agree to a set of mutual codes that identify all the tests and lab components they have in common.

This concept extends far beyond connecting two systems – what if the CDC wants to monitor results of certain tests (they do) to spot an epidemic before it happens? They need to be able to recognize those lab tests and results from various EHR/health system combinations.

What are the coding systems I should care about?

The C-CDA implementation guide references 40 different code sets (see appendix D). These range from the familiar and understandable (like US ZIP codes) to behemoths that encompass hundreds of thousands of medical terms.

Here’s a brief rundown of some of the most popular:

What should I do with this information?

Developers

If you are built from the ground up using LOINC or SNOMED to capture clinical concepts, you are already on the path to more successful interoperability. If not, Redox can help by providing translation between you and the health system.

If you can support multiple identifiers for the same thing, that’s awesome – if not, it’s something to keep in mind. In addition to codes for services, patient IDs, provider IDs, location IDs, etc. all (conveniently) can have multiple identifiers coming from one health system.

Health Systems

Meaningful Use is forcing your hand, but go above and beyond what is required – don’t be like these guys:

Here is an excerpt from my CCD, downloaded from an Epic customer:

<code codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC" nullFlavor="UNK"> <translation code="41232" codeSystem="1.2.840" codeSystemName="Epic.LRR.ID" displayName="CREATININE"/>

What you’re looking at is the ‘creatine’ component of a basic metabolic panel. The health system is telling me that they don’t have a LOINC code for this, and instead are offering me the Epic internal identifier for creatine, which is not useful at all. At the end of the day, an EMR can usually only provide a place to put a LOINC code, it’s huge project for a health system to actually line them up with what is already there.

Disclaimer: This lab test was performed in 2013, so it’s possible that historic results don’t have LOINC codes on them, as the LOINC MU mandates were part of stage 2.

Conclusions

The breadth, depth, and overlap of code systems is not a problem that will be going away any time soon. Code systems pervade interoperability and compete amongst each other for mind share in standards development. The more nimble your software is and the more willing to adapt you are, the better off you will be.

Stay in the know! Subscribe to our newsletter.