Announcing new features for LOINC’s Terminology Service using HL7® FHIR®

We are excited to share several advancements to our LOINC Terminology Service (TS) using the HL7® FHIR® standard. This API provides a means for users to access LOINC content programmatically. New in this update are:

  • Support for multiple versions of LOINC across CodeSystem, ConceptMap, and ValueSet resources
  • Inclusion of LOINC concept translations and alternate names as FHIR designations

Regenstrief Institute partnered with SmileCDR to complete this work. In addition to LOINC’s TS, support for these enhancements is included in its commercial product as well as the free and open source HAPI FHIR.

Please note that requests made using the LOINC TS, including the examples provided below, require a LOINC username and password. Users can register for free on the LOINC website. If you are new to LOINC’s TS, we recommend that you visit the documentation as an introduction.

Version support for CodeSystem, ConceptMap, and ValueSet resources

Users can now provide a LOINC version identifier to retrieve previous versions of concepts defined in LOINC. The version parameter is presently supported on CodeSystem, ConceptMap, and ValueSet resources. Requests without an explicit version number will always return content from the current LOINC release. In addition to the current 2.72 version, we have loaded 2.71, 2.70, and 2.69 versions of LOINC to this service.

A potential use case for version support is the programmatic validation of a provider’s LOINC mappings through per-code analysis of term properties.

To illustrate use of versions, consider the following example API requests on the CodeSystem endpoint:

  1. https://fhir.loinc.org/CodeSystem/$lookup?system=http://loinc.org&code=96595-4
  2. https://fhir.loinc.org/CodeSystem/$lookup?system=http://loinc.org&code=96595-4&version=2.69
  3. https://fhir.loinc.org/CodeSystem/$lookup?system=http://loinc.org&code=96595-4&version=2.70
  4. https://fhir.loinc.org/CodeSystem/$lookup?system=http://loinc.org&code=99463-2&version=2.71

The first example is a $lookup operation on the LOINC CodeSystem for code 96595-4 (Hemoglobin A1c/Hemoglobin.total in DBS). No version argument is passed so the current (presently 2.72) representation of this concept is returned. In requests two and three, a version is specified as a separate argument. This code was created in 2.69. If you examine this response and the one for 2.70, you will see its CLASS changed from HEM/BC to CHEM. The code requested in the fourth example, 99463-2 Food Allergen Mix 22 (Cashew+Pecan or Hickory nut+Walnut+Pistachio) IgG Ab [Mass/volume] in Serum, was released in version 2.72 so this request for 2.71 returns an error as expected.

Use of versions on ValueSet and ConceptMap resources have an important distinction. The version number is supplied as a suffix to the resource identifiers. More examples:

  1. https://fhir.loinc.org/ValueSet/LG51018-6 
  2. https://fhir.loinc.org/ValueSet/$expand?url=http://loinc.org/vs/LG51018-6-2.70 
  3. https://fhir.loinc.org/ValueSet/$expand?url=http://loinc.org/vs/LG51018-6-2.71 
  4. https://fhir.loinc.org/ValueSet/$expand?url=http://loinc.org/vs/LG51018-6-2.72 

The first request is for LG51018-6, a LOINC Group for SARS-CoV-2 serology tests. As no version suffix is supplied on the identifier, it returns the current version of the set. The second example is an expansion of concepts within this Group as it existed for the 2.70 release. This request yields 28 members. Request three is the same Group but for version 2.71; it now has 29 members. The final example request returns all 33 code constituents for the Group in 2.72. If we were to leave off the “-2.72” suffix in the fourth URL, we would get the same result presently. Once the next version of LOINC is released, the suffix-less identifier would potentially be different. Note that LOINC Groups remain in BETA and are not intended for production use.

For more information on tapping the power of versioned resources, see our complete TS documentation.

LOINC linguistic variants as designations

Designations within FHIR are described as additional representations of a given concept. They are the common means of providing human language translations. LOINC’s Linguistic Variants, concept translations provided by a network of volunteers, are now available from our service as designations.

See the following request and corresponding response excerpt in JSON for 8462-4 Diastolic blood pressure.

https://fhir.loinc.org/CodeSystem/$lookup?system=http://loinc.org&code=8462-4

{
    "name": "designation",
    "part": [ {
      "name": "language",
      "valueCode": "es-AR"
    }, {
      "name": "use",
      "valueCoding": {
        "system": "http://loinc.org",
        "code": "FullySpecifiedName",
        "display": "FullySpecifiedName"
      }
    }, {
      "name": "value",
      "valueString": "diastólico intravascular:presión:punto en el tiempo:sistema arterial:cuantitativo:"
    } ]
  }, {
    "name": "designation",
    "part": [ {
      "name": "language",
      "valueCode": "zh-CN"
    }, {
      "name": "use",
      "valueCoding": {
        "system": "http://loinc.org",
        "code": "FullySpecifiedName",
        "display": "FullySpecifiedName"
      }
    }, {
      "name": "value",
      "valueString": "血管内心脏舒张期:压力或压强:时间点:动脉系统:定量型:"
    } ]
  }, {
    "name": "designation",
    "part": [ {
      "name": "language",
      "valueCode": "es-MX"
    }, {
      "name": "use",
      "valueCoding": {
        "system": "http://loinc.org",
        "code": "LONG_COMMON_NAME",
        "display": "LONG_COMMON_NAME"
      }
    }, {
      "name": "value",
      "valueString": "Diastólica intravascular:Sistema arterial :Punto temporal:Pres:Cuantitativo:"
    }

Additional LOINC display names as designations

Several names exist for each concept represented in LOINC. This update provides access to Consumer Names and Short Names. Important: LOINC’s Consumer Names carry an ALPHA status and are intended only for downstream display. This request and sample response show the alternate names for 87422-2, Glucose [Mass/volume] in Blood --post meal.

https://fhir.loinc.org/CodeSystem/$lookup?system=http://loinc.org&code=87422-2

{
    "name": "designation",
    "part": [ {
      "name": "language"
    }, {
      "name": "use",
      "valueCoding": {
        "display": "ConsumerName"
      }
    }, {
      "name": "value",
      "valueString": "Glucose after Meal, Blood"
    } ]
  }, {
    "name": "designation",
    "part": [ {
      "name": "language"
    }, {
      "name": "use",
      "valueCoding": {
        "display": "ShortName"
      }
    }, {
      "name": "value",
      "valueString": "Glucose p meal Bld-mCnc"
    } ]
  }

LOINC’s Terminology Service remains in BETA

The LOINC TS maintains a BETA status and as a result we cannot recommend using the service in a production setting. We will evaluate its maturity as development continues.

As a reminder, all LOINC content available through this service is production level with the exception of LOINC Groups (provided as ValueSets) which is BETA and Consumer Names (provided as CodeSystem designations) with an ALPHA status.

Feedback requested

As always, LOINC grows by responding to user needs. We encourage you to contact us with your feedback and feature requests regarding this service.

This work is supported by the Office of the National Coordinator for Health Information Technology (ONC) of the U.S. Department of Health and Human Services (HHS) under grant 90AX0021/01 Enhancing the Logical Observation Identifiers Names and Codes Standard to Support U.S. Interoperability cooperative agreement. This information or content and conclusions are those of the author and should not be construed as the official position or policy of, nor should any endorsements be inferred by ONC, HHS or the U.S. Government.