Lab Domain and LOINC Overview – Part III

In this post we are going to start digging into LOINC.  While this is meant to be a critical review, I need to say that I am a fan of LOINC and respect the amount of effort and discipline that is required to build and maintain a terminology.

First, Everything I learned about LOINC is based on information and data that came from the LOINC website.  If you are interested in making the most of LOINC, I recommend you check it out.

As I mentioned in the first post of this series the mission of LOINC is “to facilitate the exchange and pooling of clinical results for clinical care, outcomes management, and research by providing a set of universal codes and names to identify laboratory and other clinical observations.”

So the objectives are to:

  1. Facilitate the exchange of clinical results
  2. Facilitate the pooling (aggregate) of clinical results
  3. Facilitate outcomes management (through the application of 1 and 2)
  4. Facilitate research (through the application of 1 and 2)

And this is accomplished by:

  1. Providing a set of universal codes and names to identify laboratory observations
  2. Providing a set of universal codes and names to identify other clinical observations

If you read the previous post, this may seem familiar.  The objective of LOINC seems to coincide with the objectives in the pharmaceutical industry in the mid-80s relative to data combinability.

We will get into the structure of LOINC later, but I think it is a safe bet that when LOINC began it was focused on laboratory observations and the “other clinical observations” was added later.

We humans have a peanut-sized part of our brains called the amygdala (no, I am not talking about Luke Skywalker’s mom…). The amygdala assesses whether a situation is dangerous, then fires signals to other parts of the brain.  When I hear words like “other”, “miscellaneous” and “universal” my amygdala says {Do you hear that?!?}  My latent informatics super powers notwithstanding (eat your heart out spiderman) this is largely based on years of observing unintended consequences of good intentions in terminology evolution.

For now, let’s pretend that the “other clinical observations” does not exist and just focus on “laboratory observations”.   We will come back to the “other” part of LOINC later.

The Official LOINC terminology

You can download the official LOINC data from here.  I typically download LOINC in MS Access format.  I am going to provide a high level overview of the structure of LOINC but I strongly recommend the LOINC manual as a great source of more information for those that want to do a deeper dive.

The Code

The LOINC code itself is a 3-7 digit sequential base number followed by a required hyphenated check digit (0-9).  Regenstrief recommends you support a 10 character field to allow for future expansion.  Obviously, unless you enjoy calculating check digits, you would store the LOINC code as text not as a number.  The number itself is a ‘dumb number’, in that it has no inherent meaning in and of itself.

The Term

Each LOINC code has an associated term.  The term has several incarnations.  There is a short name, a long common name and the distinct parts that describe the term. Initially we will focus on the parts.

A given LOINC Term is comprised of six major parts (with a total potential of 16 parts when you factor in optional sub-parts and sub-classes). {Do you hear that?!? }

LOINC-structure
Here are the major parts:

Component This is the principle name of the order or result.  As depicted above the component has the potential to be fairly convoluted and complex.
Property This is the nature of the property being measured.  You can almost think of this as the type of result unit.  For example: ‘mg/dL’ is a ‘Mass Concentration’ property.
Time Aspect For most results this is ‘Point in time’.  For results whose value represents a measurement that in measured or calculated over an interval of time this represents the time interval.
System This is the substance that the test was performed on.  I tend to think of this as the specimen type.
Scale This is the measurement type.  A majority of the lab result LOINC codes are either Quantitative or Ordinal (89%). In fact, 65% of them are Quantitative.
Method (optional) The method is how the test was actually performed.

Preparing your working LOINC subset

If you are going to dig into the Official LOINC data, with a focus on lab results, the first thing you need to do is prepare your working subset.  To do that you need to do the following:

1.            Identify the Active Lab Observation population of LOINC codes

I am going to be throwing some numbers at you as we continue.  The subset I am going to be focusing on is the following LOINC terms:

  • Are laboratory observations (CLASSTYPE equals ’1’)
  • Are active (STATUS is equal to ‘ACTIVE’)
  • Represent lab results (ORDER_OBS is either ‘Observation’ or ‘Both’)

For those of you playing the home game… here is the query I am using.

SELECT LOINC.CHNG_TYPE, LOINC.CLASSTYPE, LOINC.ORDER_OBS, LOINC.*
FROM LOINC
WHERE ((Not (LOINC.STATUS)=’ACTIVE’) AND ((LOINC.CLASSTYPE)=1) AND ((LOINC.ORDER_OBS)=’observation’ Or (LOINC.ORDER_OBS)=’both’));

This results in a list of about 41,313 distinct LOINC terms in the database I am working in.

I am excluding lab orders because they are not clinical terms (Orders are administrative terms).
I am excluding ‘other clinical observations’. {Do you hear that?!? }
I am excluding terms that are not active… because I only care about active terms.

2.            Only include LOINC relevant LOINC fields

According to the LOINC documentation there are a number of columns that are no longer updated, deprecated or for internal use.  I create a view that allows only shows rows that are useful. These are the following:

Column Description
LOINC_NUM The Unique LOINC code
COMPONENT Term – part 1 – Component
PROPERTY Term – part 2 – Property
TIME_ASPCT Term – part 3 – Time aspect
SYSTEM Term – part 4 – System
SCALE_TYP Term – part 5 –Scale type
METHOD_TYP Term – part 6 – Method Type
STATUS The status of the term (should all be active from step 1)
CLASSTYPE 1=Laboratory class; 2=Clinical class; 3=Claims attachments; 4=Surveys
SHORTNAME The short name (not very useful)
EXAMPLE_UNITS These are not consistently populated but worth keeping around
ORD_OBS Indicates whether the term is an order, observation or both
INPC_PERCENTAGE INPC result volume indicator
LONG_COMMON_NAME “human readable” constructed term description

Here is the query (combining the useful columns and the term filters from above):

SELECT LOINC.LOINC_NUM, LOINC.COMPONENT, LOINC.PROPERTY, LOINC.TIME_ASPCT, LOINC.SYSTEM, LOINC.SCALE_TYP, LOINC.METHOD_TYP, LOINC.STATUS, LOINC.CLASSTYPE, LOINC.SHORTNAME, LOINC.ORDER_OBS, LOINC.EXAMPLE_UNITS, LOINC.INPC_PERCENTAGE, LOINC.LONG_COMMON_NAME
FROM LOINC
WHERE (((LOINC.STATUS)=”Active”) AND ((LOINC.CLASSTYPE)=1) AND ((LOINC.ORDER_OBS)=”Observation” Or (LOINC.ORDER_OBS)=”Both”));

In the next post we will dive into the component part of the LOINC term and discuss some strategies that can simplify your life, if you are trying to map to or use LOINC.


Lingua Freaka: Amygdala hijackdid-you-hear-that

Amygdala hijack is a term coined by Daniel Goleman in his 1996 book Emotional Intelligence: Why It Can Matter More Than IQ. (it would also be a cool name for your band…)

The amygdala is responsible for our fight or flight response.  This function, that evolved very early, is designed to react in milliseconds to perceived danger without thinking twice.  The term Amygdala Hijack is used to describe emotional responses from people which are out of measure with the actual threat because it has triggered a much more significant emotional threat.

An amygdala hijack exhibits three signs: strong emotional reaction, sudden onset, and post-episode realization that the reaction was inappropriate.

Know the signs… and remember to apologize.

Leave a Reply

Your email address will not be published. Required fields are marked *

71 − = 66