STU 3 Candidate

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4 R3 R2

1.30.1.3 Using LOINC with FHIR

Vocabulary Work GroupMaturity Level: N/ABallot Status: DSTU 2

1.30.1.3.1 Summary

SourceLOINC is made available by the Regenstrief Institute at http://loinc.org
SystemThe URI http://loinc.org identifies LOINC codes
VersionWhere a version is used, it should be the standard LOINC version e.g. 2.48
CodeThe LOINC Code Identifier e.g. 21176-3. LOINC codes are not case sensitive. In addition, LOINC part codes and LOINC answer string ids can be used where appropriate
DisplayUse either the SHORTNAME or LONG_COMMON_NAME field for the display
Filter PropertiesSeveral properties are defined as described below

1.30.1.3.2 Copyright Issues

The terms of use for LOINC require that a notice be included with any use of LOINC codes. This notice must appear in the copyright element of any value set that includes LOINC codes (either in the code or filter elements, or in an expansion):

<copyright value="This content LOINC® is copyright © 1995 Regenstrief Institute, Inc. and the LOINC Committee, and available at no cost under the license at http://loinc.org/terms-of-use"/>

Additional copyright statements may also be found in the copyright element. Some LOINC codes have 3rd party copyright statements. When these codes are included in a value set, they must carry their own copyright statement as well.

1.30.1.3.3 Case Sensitivity

For comparison purposes, LOINC codes, displays, and property values are not case sensitive, though implementers SHOULD maintain the correct case when using LOINC codes and property values.

1.30.1.3.4 Use of LOINC PARTS

As described in the LOINC Manual section 10.2, LOINC Parts are a coded representation of a value for a dimension used to specify a LOINC Term which are assigned a non-semantic identifier with a "LP" prefix and a mod-10 check digit. Following the LOINC license, these part codes may be used in the following ways:

  • In filter properties, as described below
  • In Structure Definitions, where the structure describes the use of a set of LOINC codes
  • In a ConceptMap resource, where mappings between LOINC codes and other codes are being defined

Part codes are the same LOINC system(http://loinc.org), and SHALL be represented in uppercase (e.g. LP31755-9).

1.30.1.3.5 Use of LOINC Answer Lists

LOINC also allocates Answer List and Answer String Ids for use in various forms and questionnaires. LOINC Answer String IDs are also valid LOINC codes:

  <coding>
    <system value="http://loinc.org"/>
    <code value="LA11165-0"/>
    <display value="Platelet anisocytosis"/>
  </coding>

LOINC Answer List Ids are actually value set identifiers. See below for how to use these.

1.30.1.3.6 LOINC Filter Properties

This section documents the property filters that can be used with the LOINC code system in value set composition statements.

1.30.1.3.6.1 LOINC Property filter

DescriptionAllows the selection of a set of LOINC codes with a common property value
Property NameOne of the names listed in the "Field Name" column in LOINC Database Structure (Appendix A of the LOINC manual)
Operations Allowed= / regex
Values Allowed[string value]
CommentsThe 6 properties COMPONENT, PROPERTY, TIME_ASPCT, SYSTEM, SCALE_TYP, and METHOD_TYP are most likely to be useful.

1.30.1.3.6.2 3rd Party Copyright

DescriptionAllows for the inclusion or exclusion of LOINC codes that include 3rd party copyright notices
Property Namecopyright
Operations Allowed=
Values AllowedLOINC | 3rdParty
CommentsLOINC = only codes with a sole copyright by Regenstrief. 3rdParty = only codes with a 3rd party copyright in addition to the one from Regenstrief.

1.30.1.3.6.3 Multi-Axial Hierarchy

DescriptionAllows for the selection of a set of codes base on their appearance in the LOINC multi-axial hierarchy
Property Nameparent | ancestor
Operations Allowed= / in
Values AllowedPart Code (or, for "in", multiple part codes separated by commas)
Comments"parent" selects immediate parents only. For example, the code "44022-2" has the parent "LP52960-9". Ancestor includes parents transitively, e.g. "LP52960-9" eventually has a parent "LP31755-9", so the code "44022-2" is in the set of codes that have ancestor=LP31755-9

TODO: Document Ontology

1.30.1.3.7 Implicit Value Sets

Implicit value sets are those whose specification can be predicted based on the grammar of the underlying code system, and the known structure of the URL that refers to them. LOINC defines one set of implicit value sets: By Multi-Axial Hierarchy Entry.

If any value set resources exist with an identifier that conforms to the URL patterns specified below, the content of the resource must conform to the template provided. Profiles and other value set references are allowed to reference these value sets directly. todo: can LOINC actually host a service that returns these?

The value set identifier http://loinc.org/vs is a value set that contains all LOINC codes.

1.30.1.3.7.1 LOINC Answer List

LOINC defines a set of Answer lists, each of which contains a set of LOINC codes. LOINC answer lists are value sets. The value set identifier "http://loinc.org/vs/[id]" identifies a value set that contains a set of LOINC codes. For instance, the value set identifier http://loinc.org/vs/LL715-4 has the following definition for LOINC 2.52:

<ValueSet xmlns="http://hl7.org/fhir">
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      [some html that identifies that this value set 
      includes all LOINC codes in this answer list]
    </div>
  </text>
  <identifier value="http://loinc.org/vs/LL715-4"/>
  <version value="2.52"/>
  <name value="Platelet morph"/>
  <description value="LOINC Answer List for Platelet morph"/>
  <status value="active"/>
  <date value="[optional date of LOINC release]"/>
  <compose>
    <include>
      <system value="http://loinc.org"/>
      <concept>
        <code value="LA11165-0"/>
        <display value="Platelet anisocytosis"/>
      </concept>
      <concept>
        <code value="LA11168-4"/>
        <display value="Platelet clump"/>
      </concept>
      <concept>
        <code value="LA11167-6"/>
        <display value="Platelet large fragments"/>
      </concept>
      <concept>
        <code value="LA11166-8"/>
        <display value="Platelet satellitism"/>
      </concept>
      <concept>
        <code value="LA11169-2"/>
        <display value="Platelets.agranular"/>
      </concept>
      <concept>
        <code value="LA11170-0"/>
        <display value="Platelets.giant"/>
      </concept>
      <concept>
        <code value="LA11172-6"/>
        <display value="Platelets.large"/>
      </concept>
      <concept>
        <code value="LA11171-8"/>
        <display value="Platelets.small"/>
      </concept>
    </include>
  </compose>
</ValueSet>

Here is an example of a LOINC Answer list used in a Questionnaire question:

<question>
  <concept>
    <system value="http://loinc.org"/>
    <code value="11125-2"/>
    <display value="Plat morph Bld"/>
  </concept>
  <type value="choice"/>
  <options>
    <reference value="http://loinc.org/vs/LL715-4"/>
  </options>
</question>

1.30.1.3.7.2 Multi-Axial Hierarchy Entry

A value set with an identifier of "http://loinc.org/vs/[partcode]" must conform to this template, where [partcode] is a part code from the multi-axial hierarchy:

<ValueSet xmlns="http://hl7.org/fhir">
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      [some html that identifies that this value set 
      includes all LOINC codes subsumed by the identified 
      Multi-Axial Hierarchy Part Code]
    </div>
  </text>
  <identifier value="http://loinc.org/vs/[partcode]"/>
  <version value="[optional - but strongly recommended - LOINC version]"/>
  <name value="LOINC Value Set from Multi-Axial Hierarchy code [partcode]"/>
  <description value="All LOINC codes for [partcode or name]"/>
  <status value="active"/>
  <date value="[optional date of LOINC release]"/>
  <compose>
    <include>
      <system value="http://loinc.org"/>
      <filter>
        <property value="ancestor"/>
        <op value="="/>
        <value value="[partcode]"/>
      </filter>
    </include>
  </compose>
</ValueSet>