LOINC FHIR Terminology Server

Access LOINC's terminology content through the HL7® FHIR® API

Great news! You can now access current LOINC content programmatically. Our server uses the terminology services defined by HL7's FHIR standard.

FHIR version: R4

LOINC version: 2.68
(Only content published in the latest LOINC release is currently available via our FHIR TS)

The service base URL is:


BETA LOINC's FHIR services are BETA status. Things may change, and we will update this documentation to stay current. They may not be available 100% of the time, so don't rely on them for production use. You can visit our dedicated User Forum to discuss this server. If you notice something not working as expected, please let us know.

If you already have a solid grasp on FHIR concepts, you may want to jump to our developer reference for LOINC in FHIR.


This primer will familiarize you on FHIR terminology concepts and how they are used within LOINC's implementation. We will also let you know what you need to get started with this LOINC API and provided examples.

FHIR resource

A FHIR resource is an individual specification for how to represent a particular concept related to healthcare. Currently more than 100 FHIR resources have been defined, including clinical (Medication, Immunization, Diagnosis), people or organizations (Patient, Provider), financial (Claim, Account), security (Provenance, AuditEvent), and terminology (CodeSystem, ValueSet).

Select FHIR terminology resources

Describes key elements of a terminology (i.e., code system).
Identifies a set of codes from one or more code systems that is used for a specific purpose. LOINC Answer lists and LOINC Groups are examples of value sets provided by the LOINC FHIR terminology server.
Defines a mapping between one or more concepts in one code system to one or more concepts in another code system. LOINC Part to SNOMED CT concept and LOINC term to RadLex Playbook concept are examples of concept maps.


An operation is a command that specifies an action performed on a resource.

Select FHIR terminology operations/parameters

Returns information about a specific resource, such as a concept (e.g., LOINC term or Part), ValueSet (e.g., LOINC Answer list), or ConceptMap.
Returns the set of codes included in a ValueSet.
Checks to see if a specific code is in a given ValueSet.
Use with the ConceptMap resource to find all of the concepts a particular source concept is mapped to.
Specific information about a resource. There are general properties defined across code systems (e.g., ), as well as specific properties defined within the LOINC code system (e.g., VersionFirstReleased, COMPONENT, ORDER_OBS, CLASSTYPE). Use with $lookup to return only the information related to that property.

You need a LOINC login

All requests to LOINC's FHIR terminology server require a LOINC username and password. If you do not already have a LOINC account, you may sign up for free.

Your LOINC account also enables you to download LOINC files, use search.loinc.org, and participate in our Forum.

Tips on using examples

All provided examples will work within a browser. You will need to provide your login information upon the first request of a session. We also suggest using the free Postman software as an API client.

Each example includes a button so you may copy the URL and paste it into a browser window or within a Postman GET request. (As with the browser, you will need to provide your credentials using Postman’s Basic Auth option.)

Related content

FHIR and LOINC go together like chips and salsa

Learn more about how the FHIR and LOINC standards go together like chips and salsa. Presented by Daniel J. Vreeman, PT, DPT, MS at FHIR DevDays 2018 in Boston on 2018-06-19.


The CodeSystem resource specifies a set of codes drawn from one or more code systems. Code systems define which codes (symbols and/or expressions) exist, and how they are understood.

We have created a canonical definition of how to represent LOINC as a CodeSystem in FHIR that extends its representation to include more LOINC-specific features. LOINC's CodeSystem definition is available at for download available at https://loinc.org/fhir/loinc.xml. With the LOINC 2.68 release, we expanded the LOINC-specific properties available in our FHIR representation to include those that are published in the LoincPartLink_supplementary file, which is available in the Part download file.

NOTE Over time, we do anticipate updating this canonical definition in collaboration with the FHIR and LOINC community.

The following are identifiers within the LOINC code system. All are included within the LOINC CodeSystem resource.


e.g. 21176-3


e.g. LP31755-9

LOINC Answer Lists

e.g. LL715-4

LOINC Answers

e.g. LA11165-0

Get the specialized properties available for LOINC as a CodeSystem in FHIR

Use the canonical URI for LOINC, http://loinc.org, to retrieve all the information about LOINC as a CodeSystem in FHIR through this request:

The server provides the following sample response, represented in JSON:

  "resourceType": "Bundle",
  "id": "c66e40ce-df09-4a1f-895b-748d58d00493",
  "meta": {
    "lastUpdated": "2020-06-17T20:23:38.171+00:00"
  "type": "searchset",
  "total": 1,
  "link": [ {
    "relation": "self",
    "url": "https://fhir.loinc.org/CodeSystem/?_format=json&url=http%3A%2F%2Floinc.org"
  } ],
  "entry": [ {
    "fullUrl": "https://fhir.loinc.org/CodeSystem/loinc",
    "resource": {
      "resourceType": "CodeSystem",
      "id": "loinc",
      "fhir_comments": [ "\nLOINC is a freely available international standard for tests, measurements, and observations. It is a well maintained, version independent code system.\n\nUse of LOINC is governed by the LOINC License: https://loinc.org/license/\n\nThis CodeSystem resource describes 'LOINC' independent of any particular version. There are notes about changes for version specific LOINC code system resources.\n\nNote that the following set of codes are defined by the LOINC code systems:\n - the main LOINC codes\n - the LOINC Answer codes (LA-) and the LOINC Answer list codes (LL-)\n - the LOINC Part codes (LP-) in the Multiaxial Hierarchy\n - the LOINC Part codes (LP-) for the properties\n    Note: there are license restrictions on the use of LOINC Part codes\n - the LOINC Group codes (LG-)\n    Note: presently the LOINC Group codes are used to identify these roll-up groups as ValueSets, but are not yet loaded as codes in the CodeSystem\n\nServers may generate variants of this for the LOINC version(s) and features they support.\n\nFile Version: 0.6\n" ],
      "meta": {
        "versionId": "1",
        "lastUpdated": "2020-06-17T20:07:11.186+00:00"
      "url": "http://loinc.org",
      "_url": {
        "fhir_comments": [ "\n\tThis url is unchanged for all versions of LOINC. There can only be one correct Code System resource for each value of the version attribute (at least, only one per server).\n\t" ]
      "identifier": [ {
        "fhir_comments": [ " the HL7 v3 OID assigned to LOINC " ],
        "system": "urn:ietf:rfc:3986",
        "value": "urn:oid:2.16.840.1.113883.6.1"
      } ],
      "name": "LOINC",
      "_name": {
        "fhir_comments": [ "\n\tIf a version is specified:\n\tgt;\n\t", "\n\tIf a specific version is specified, the name should carry this information (e.g. LOINC_268).\n\t" ]
      "title": "LOINC Code System",
      "status": "active",
      "experimental": false,
      "publisher": "Regenstrief Institute, Inc.",
      "contact": [ {
        "telecom": [ {
          "value": "http://loinc.org"
        } ]
      } ],
      "description": "LOINC is a freely available international standard for tests, measurements, and observations",
      "_description": {
        "fhir_comments": [ "\n\tgt;\n\t" ]
      "copyright": "This material contains content from LOINC (http://loinc.org). LOINC is copyright ©1995-2020, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.",
      "caseSensitive": false,
      "valueSet": " http://loinc.org/vs",
      "hierarchyMeaning": "is-a",
      "_hierarchyMeaning": {
        "fhir_comments": [ "\n\t For a version specific reference:\n\t <valueSet value=\"http://loinc.org/2.68/vs\"/>gt;\n  ", "\n\t  It's at the discretion of servers whether to present fragments of LOINC hierarchically or not, when using the code system resource. But, if they are hierarchical, the Hierarchy SHALL be based on the is-a relationship that is derived from the LOINC Multiaxial Hierarchy.\n\t" ]
      "compositional": false,
      "versionNeeded": false,
      "_versionNeeded": {
        "fhir_comments": [ " no compositional grammar in LOINC " ]
      "content": "not-present",
      "_content": {
        "fhir_comments": [ "\n\tThis canonical definition of LOINC does not include the LOINC content, which is distributed separately for portability.\n\n\tServers may choose to include fragments of LOINC for illustration purposes.\n " ]
      "filter": [ {
        "fhir_comments": [ "\n\t  <count value=\"65000\"/>gt;\n\t  If working with a specific version, you could nominate a count of the total number of concepts (including the answers, Hierarchy, etc.). In this canonical definition we do not.\n\t", "\n\t  FILTERS\n\t  Generally defined filters for specifying value sets\n\t  In LOINC, all the properties can also be used as filters, but they are not defined explicitly as filters.\n\t  Parent/child properties are as defined by FHIR. Note that at this time the LOINC code system resource does not support ancestor/descendant relationships.\n\n\t  For illustration purposes, consider this slice of the LOINC Multiaxial Hierarchy when reading the descriptions below:\n\n\t  Microbiology [LP7819-8]\n\t\t Microorganism [LP14559-6]\n\t\t\tVirus [LP14855-8]\n\t\t\t  Zika virus [LP200137-0]\n\t\t\t\t Zika virus RNA | XXX [LP203271-4]\n\t\t\t\t\tZika virus RNA | XXX | Microbiology [LP379670-5]\n\t\t\t\t\t  Zika virus RNA [Presence] in Unspecified specimen by Probe and target amplification method [79190-5]\n\n\t  Language Note: The filters defined here are specified using the default LOINC language - English (US). Requests are meant to be specified and interpreted on the English version. The return can be in a specified language (if supported by the server). But note that not all filters/properties have language translations available.\n\t  " ],
        "code": "parent",
        "description": "Allows for the selection of a set of codes based on their appearance in the LOINC Multiaxial Hierarchy. Parent selects immediate parent only. For example, the code '79190-5' has the parent 'LP379670-5'",
        "operator": [ "=" ],
        "value": "A Part code"
      }, {
        "code": "child",
        "description": "Allows for the selection of a set of codes based on their appearance in the LOINC Multiaxial Hierarchy. Child selects immediate children only. For example, the code 'LP379670-5' has the child '79190-5'. Only LOINC Parts have children; LOINC codes do not have any children because they are leaf nodes.",
        "operator": [ "=" ],
        "value": "A comma separated list of Part or LOINC codes"
      }, {
        "code": "copyright",
        "description": "Allows for the inclusion or exclusion of LOINC codes that include 3rd party copyright notices. LOINC = only codes with a sole copyright by Regenstrief. 3rdParty = only codes with a 3rd party copyright in addition to the one from Regenstrief",
        "operator": [ "=" ],
        "value": "LOINC | 3rdParty"
      } ],
      "property": [ {
        "fhir_comments": [ "\n\tPROPERTIES\n\tThere are 4 kinds of properties that apply to all LOINC codes:\n\t  1. FHIR: display, designation; these are not described here since they are inherent in the specification\n\t  2. Infrastructural: defined by FHIR, but documented here for the LOINC Multiaxial Hierarchy\n\t  3. Primary LOINC properties: defined by the main LOINC table\n\t  4. Secondary LOINC properties: defined by the LoincPartLink table\n\tAdditionally, there are 2 kinds of properties specific to Document ontology and Radiology codes, respectively:\n\t  1. LOINC/RSNA Radiology Playbook properties\n\t  2. Document Ontology properties\n\t", "\n\tInfrastructural properties - inherited from FHIR, but documented here for the LOINC Multiaxial Hierarchy.\n\t" ],
        "code": "parent",
        "uri": "http://hl7.org/fhir/concept-properties#parent",
        "description": "A parent code in the Multiaxial Hierarchy"
      }, {
        "code": "child",
        "uri": "http://hl7.org/fhir/concept-properties#child",
        "description": "A child code in the Multiaxial Hierarchy"
      }, {
        "fhir_comments": [ "\n\t  Primary LOINC properties.\n\t  These apply to the main LOINC codes, but not the Multiaxial Hierarchy, Answer lists, or the Part codes.\n\t  Notes:\n\t\t In the LOINC code system resource, the display element = LONG_COMMON_NAME\n\t\t Many properties are specified as type \"coding\", which allows use of LOINC Part codes (LP-) and the display text. LOINC Parts and their associations to LOINC terms are published in the LOINC Part File.\n\t\t The properties defined here follow the guidance of the LOINC Users' Manual, which states that they should be expressed with the LOINC attributes contained in the LOINC Table. Properties that are not defined in the LOINC Table use FHIR-styled names.\n\t" ],
        "code": "STATUS",
        "uri": "http://loinc.org/property/STATUS",
        "description": "Status of the term. Within LOINC, codes with STATUS=DEPRECATED are considered inactive. Current values: ACTIVE, TRIAL, DISCOURAGED, and DEPRECATED",
        "type": "string"
      }, {
        "code": "COMPONENT",
        "uri": "http://loinc.org/property/COMPONENT",
        "description": "First major axis-component or analyte: Analyte Name, Analyte sub-class, Challenge",
        "type": "Coding"
      }, {
        "code": "PROPERTY",
        "uri": "http://loinc.org/property/PROPERTY",
        "description": "Second major axis-property observed: Kind of Property (also called kind of quantity)",
        "type": "Coding"
      }, {
        "code": "TIME_ASPCT",
        "uri": "http://loinc.org/property/TIME_ASPCT",
        "description": "Third major axis-timing of the measurement: Time Aspect (Point or moment in time vs. time interval)",
        "type": "Coding"
      }, {
        "code": "SYSTEM",
        "uri": "http://loinc.org/property/SYSTEM",
        "description": "Fourth major axis-type of specimen or system: System (Sample) Type",
        "type": "Coding"
      }, {
        "code": "SCALE_TYP",
        "uri": "http://loinc.org/property/SCALE_TYP",
        "description": "Fifth major axis-scale of measurement: Type of Scale",
        "type": "Coding"
      }, {
        "code": "METHOD_TYP",
        "uri": "http://loinc.org/property/METHOD_TYP",
        "description": "Sixth major axis-method of measurement: Type of Method",
        "type": "Coding"
      }, {
        "code": "CLASS",
        "uri": "http://loinc.org/property/CLASS",
        "description": "An arbitrary classification of the terms for grouping related observations together",
        "type": "Coding"
      }, {
        "code": "VersionLastChanged",
        "uri": "http://loinc.org/property/VersionLastChanged",
        "description": "The LOINC version number in which the record has last changed. For new records, this field contains the same value as the VersionFirstReleased property.",
        "type": "string"
      }, {
        "code": "CLASSTYPE",
        "uri": "http://loinc.org/property/CLASSTYPE",
        "description": "1=Laboratory class; 2=Clinical class; 3=Claims attachments; 4=Surveys",
        "type": "string"
      }, {
        "code": "ORDER_OBS",
        "uri": "http://loinc.org/property/ORDER_OBS",
        "description": "Provides users with an idea of the intended use of the term by categorizing it as an order only, observation only, or both",
        "type": "string"
      }, {
        "code": "HL7_ATTACHMENT_STRUCTURE",
        "uri": "http://loinc.org/property/HL7_ATTACHMENT_STRUCTURE",
        "description": "This property is populated in collaboration with the HL7 Attachments Work Group as described in the HL7 Attachment Specification: Supplement to Consolidated CDA Templated Guide.",
        "type": "string"
      }, {
        "code": "VersionFirstReleased",
        "uri": "http://loinc.org/property/VersionFirstReleased",
        "description": "This is the LOINC version number in which this LOINC term was first published.",
        "type": "string"
      }, {
        "code": "PanelType",
        "uri": "http://loinc.org/property/PanelType",
        "description": "For LOINC terms that are panels, this attribute classifies them as a 'Convenience group', 'Organizer', or 'Panel'",
        "type": "string"
      }, {
        "code": "ValidHL7AttachmentRequest",
        "uri": "http://loinc.org/property/ValidHL7AttachmentRequest",
        "description": "A value of Y in this field indicates that this LOINC code can be sent by a payer as part of an HL7 Attachment request for additional information.",
        "type": "string"
      }, {
        "code": "DisplayName",
        "uri": "http://loinc.org/property/DisplayName",
        "description": "A name that is more 'clinician-friendly' compared to the current LOINC Short Name, Long Common Name, and Fully Specified Name. It is created algorithmically from the manually crafted display text for each Part and is generally more concise than the Long Common Name.",
        "type": "string"
      }, {
        "code": "answer-list",
        "uri": "http://loinc.org/property/answer-list",
        "description": "An answer list associated with this LOINC code (if there are matching answer lists defined).",
        "type": "Coding"
      }, {
        "fhir_comments": [ "\n\t\tSecondary LOINC properties.\n\t\tThese properties also apply to the main LOINC codes, but not the Multiaxial Hierarchy, Answer lists, or the Part codes.\n\t\tNotes:\n\t\t  These properties are defined in the LoincPartLink table.\n\t " ],
        "code": "analyte",
        "uri": "http://loinc.org/property/analyte",
        "description": "First sub-part of the Component, i.e., the part of the Component before the first carat",
        "type": "Coding"
      }, {
        "code": "analyte-core",
        "uri": "http://loinc.org/property/analyte-core",
        "description": "The primary part of the analyte without the suffix",
        "type": "Coding"
      }, {
        "code": "analyte-suffix",
        "uri": "http://loinc.org/property/analyte-suffix",
        "description": "The suffix part of the analyte, if present, e.g., Ab or DNA",
        "type": "Coding"
      }, {
        "code": "analyte-numerator",
        "uri": "http://loinc.org/property/analyte-numerator",
        "description": "The numerator part of the analyte, i.e., everything before the slash in analytes that contain a divisor",
        "type": "Coding"
      }, {
        "code": "analyte-divisor",
        "uri": "http://loinc.org/property/analyte-divisor",
        "description": "The divisor part of the analyte, if present, i.e., after the slash and before the first carat",
        "type": "Coding"
      }, {
        "code": "analyte-divisor-suffix",
        "uri": "http://loinc.org/property/analyte-divisor-suffix",
        "description": "The suffix part of the divisor, if present",
        "type": "Coding"
      }, {
        "code": "challenge",
        "uri": "http://loinc.org/property/challenge",
        "description": "Second sub-part of the Component, i.e., after the first carat",
        "type": "Coding"
      }, {
        "code": "adjustment",
        "uri": "http://loinc.org/property/adjustment",
        "description": "Third sub-part of the Component, i.e., after the second carat",
        "type": "Coding"
      }, {
        "code": "count",
        "uri": "http://loinc.org/property/count",
        "description": "Fourth sub-part of the Component, i.e., after the third carat",
        "type": "Coding"
      }, {
        "code": "time-core",
        "uri": "http://loinc.org/property/time-core",
        "description": "The primary part of the Time",
        "type": "Coding"
      }, {
        "code": "time-modifier",
        "uri": "http://loinc.org/property/time-modifier",
        "description": "The modifier of the Time value, such as mean or max",
        "type": "Coding"
      }, {
        "code": "system-core",
        "uri": "http://loinc.org/property/system-core",
        "description": "The primary part of the System, i.e., without the super system",
        "type": "Coding"
      }, {
        "code": "super-system",
        "uri": "http://loinc.org/property/super-system",
        "description": "The super system part of the System, if present. The super system represents the source of the specimen when the source is someone or something other than the patient whose chart the result will be stored in. For example, fetus is the super system for measurements done on obstetric ultrasounds, because the fetus is being measured and that measurement is being recorded in the patient's (mother's) chart.",
        "type": "Coding"
      }, {
        "code": "analyte-gene",
        "uri": "http://loinc.org/property/analyte-gene",
        "description": "The specific gene represented in the analyte",
        "type": "Coding"
      }, {
        "code": "category",
        "uri": "http://loinc.org/property/category",
        "description": "A single LOINC term can be assigned one or more categories based on both programmatic and manual tagging. Category properties also utilize LOINC Class Parts.",
        "type": "Coding"
      }, {
        "code": "search",
        "uri": "http://loinc.org/property/search",
        "description": "Synonyms, fragments, and other Parts that are linked to a term to enable more encompassing search results.",
        "type": "Coding"
      }, {
        "fhir_comments": [ "\n\tLOINC/RSNA Radiology Playbook properties. These apply only to terms in the LOINC/RSNA Radiology Playbook File.\n\t\t  Notes:\n\t\t\tProperties are specified as type \"coding\", which are represented by LOINC Part codes (LP-) and their display names.\n\t\t\tThe attribute names here use FHIR styled names rather than their original LOINC style names because the original names contain periods.\n\t" ],
        "code": "rad-modality-modality-type",
        "uri": "http://loinc.org/property/rad-modality-modality-type",
        "description": "Modality is used to represent the device used to acquire imaging information.",
        "type": "Coding"
      }, {
        "code": "rad-modality-modality-subtype",
        "uri": "http://loinc.org/property/rad-modality-modality-subtype",
        "description": "Modality subtype may be optionally included to signify a particularly common or evocative configuration of the modality.",
        "type": "Coding"
      }, {
        "code": "rad-anatomic-location-region-imaged",
        "uri": "http://loinc.org/property/rad-anatomic-location-region-imaged",
        "description": "The Anatomic Location Region Imaged attribute is used in two ways: as a coarse-grained descriptor of the area imaged and a grouper for finding related imaging exams; or, it is used just as a grouper.",
        "type": "Coding"
      }, {
        "code": "rad-anatomic-location-imaging-focus",
        "uri": "http://loinc.org/property/rad-anatomic-location-imaging-focus",
        "description": "The Anatomic Location Imaging Focus is a more fine-grained descriptor of the specific target structure of an imaging exam. In many areas, the focus should be a specific organ.",
        "type": "Coding"
      }, {
        "code": "rad-anatomic-location-laterality-presence",
        "uri": "http://loinc.org/property/rad-anatomic-location-laterality-presence",
        "description": "Radiology Exams that require laterality to be specified in order to be performed are signified with an Anatomic Location Laterality Presence attribute set to 'True'",
        "type": "Coding"
      }, {
        "code": "rad-anatomic-location-laterality",
        "uri": "http://loinc.org/property/rad-anatomic-location-laterality",
        "description": "Radiology exam Laterality is specified as one of: Left, Right, Bilateral, Unilateral, Unspecified",
        "type": "Coding"
      }, {
        "code": "rad-view-aggregation",
        "uri": "http://loinc.org/property/rad-view-aggregation",
        "description": "Aggregation describes the extent of the imaging performed, whether in quantitative terms (e.g., '3 or more views') or subjective terms (e.g., 'complete').",
        "type": "Coding"
      }, {
        "code": "rad-view-view-type",
        "uri": "http://loinc.org/property/rad-view-view-type",
        "description": "View type names specific views, such as 'lateral' or 'AP'.",
        "type": "Coding"
      }, {
        "code": "rad-maneuver-maneuver-type",
        "uri": "http://loinc.org/property/rad-maneuver-maneuver-type",
        "description": "Maneuver type indicates an action taken with the goal of elucidating or testing a dynamic aspect of the anatomy.",
        "type": "Coding"
      }, {
        "code": "rad-timing",
        "uri": "http://loinc.org/property/rad-timing",
        "description": "The Timing/Existence property used in conjunction with pharmaceutical and maneuver properties. It specifies whether or not the imaging occurs in the presence of the administered pharmaceutical or a maneuver designed to test some dynamic aspect of anatomy or physiology .",
        "type": "Coding"
      }, {
        "code": "rad-pharmaceutical-substance-given",
        "uri": "http://loinc.org/property/rad-pharmaceutical-substance-given",
        "description": "The Pharmaceutical Substance Given specifies administered contrast agents, radiopharmaceuticals, medications, or other clinically important agents and challenges during the imaging procedure.",
        "type": "Coding"
      }, {
        "code": "rad-pharmaceutical-route",
        "uri": "http://loinc.org/property/rad-pharmaceutical-route",
        "description": "Route specifies the route of administration of the pharmaceutical.",
        "type": "Coding"
      }, {
        "code": "rad-reason-for-exam",
        "uri": "http://loinc.org/property/rad-reason-for-exam",
        "description": "Reason for exam is used to describe a clinical indication or a purpose for the study.",
        "type": "Coding"
      }, {
        "code": "rad-guidance-for-presence",
        "uri": "http://loinc.org/property/rad-guidance-for-presence",
        "description": "Guidance for.Presence indicates when a procedure is guided by imaging.",
        "type": "Coding"
      }, {
        "code": "rad-guidance-for-approach",
        "uri": "http://loinc.org/property/rad-guidance-for-approach",
        "description": "Guidance for.Approach refers to the primary route of access used, such as percutaneous, transcatheter, or transhepatic.",
        "type": "Coding"
      }, {
        "code": "rad-guidance-for-action",
        "uri": "http://loinc.org/property/rad-guidance-for-action",
        "description": "Guidance for.Action indicates the intervention performed, such as biopsy, aspiration, or ablation.",
        "type": "Coding"
      }, {
        "code": "rad-guidance-for-object",
        "uri": "http://loinc.org/property/rad-guidance-for-object",
        "description": "Guidance for.Object specifies the target of the action, such as mass, abscess or cyst.",
        "type": "Coding"
      }, {
        "code": "rad-subject",
        "uri": "http://loinc.org/property/rad-subject",
        "description": "Subject is intended for use when there is a need to distinguish between the patient associated with an imaging study, and the target of the study.",
        "type": "Coding"
      }, {
        "fhir_comments": [ "\n\tDocument Ontology properties.\n\tThese apply only to terms in the LOINC Document Ontology File\n\t\t  Notes\n\t\t\tProperties are specified as type \"coding\", which are represented by LOINC Part codes (LP-) and their display names.\n\t\t\tThe attribute names here use FHIR styled names rather than their original LOINC style names because those contain periods.\n\t " ],
        "code": "document-kind",
        "uri": "http://loinc.org/property/document-kind",
        "description": "Characterizes the general structure of the document at a macro level.",
        "type": "Coding"
      }, {
        "code": "document-role",
        "uri": "http://loinc.org/property/document-role",
        "description": "Characterizes the training or professional level of the author of the document, but does not break down to specialty or subspecialty.",
        "type": "Coding"
      }, {
        "code": "document-setting",
        "uri": "http://loinc.org/property/document-setting",
        "description": "Setting is a modest extension of CMS’s coarse definition of care settings, such as outpatient, hospital, etc. Setting is not equivalent to location, which typically has more locally defined meanings.",
        "type": "Coding"
      }, {
        "code": "document-subject-matter-domain",
        "uri": "http://loinc.org/property/document-subject-matter-domain",
        "description": "Characterizes the clinical domain that is the subject of the document. For example, Internal Medicine, Neurology, Physical Therapy, etc.",
        "type": "Coding"
      }, {
        "code": "document-type-of-service",
        "uri": "http://loinc.org/property/document-type-of-service",
        "description": "Characterizes the kind of service or activity provided to/for the patient (or other subject of the service) that is described in the document.",
        "type": "Coding"
      }, {
        "fhir_comments": [ " Answer list related properties ", " Note for future consideration. These are properties of LA codes in the context of a particular list. Not global properties.\n\t<property>gt;\n\t  <code value=\"sequence\"/>gt;\n\t  <uri value=\"http://loinc.org/property/sequence\"/>gt;\n\t  <description value=\"Sequence Number of a answer in a set of answers (LA- codes only)\"/>gt;\n\t  <type value=\"integer\"/>gt;\n\t</property>gt;\n\t<property>gt;\n\t  <code value=\"score\"/>gt;\n\t  <uri value=\"http://loinc.org/property/score\"/>gt;\n\t  <description value=\"Score assigned to an answer (LA- codes only)\"/>gt;\n\t  <type value=\"integer\"/>gt;\n\t</property>gt;\n\t " ],
        "code": "answers-for",
        "uri": "http://loinc.org/property/answers-for",
        "description": "A LOINC Code for which this answer list is used.",
        "type": "Coding"
      } ]
    "search": {
      "mode": "match"
  } ]

Get info on an individual LOINC term, Part, Answer List, or Answer string

Use the $lookup operation to see details on any of the LOINC identifiers. As illustrated in the following examples, you can pass the canonical LOINC URI and code to the CodeSystem endpoint to perform the operation.


Focus the request to return just what you want

Add a third parameter, &&property, to the examples above and you can limit the response to only the property—or properties—needed. As shown in the second example below, you can specify more than one property in a single request.


Find relationships between LOINC terms and Parts

LOINC terms and Parts have relationships via the LOINC Multiaxial hierarchy. These relationships can be found by using the $lookup operation in conjunction with the parent and child properties.

LOINC Parts have a single parent and one or more children.


Because LOINC terms only exist at the leaf-level in the Multiaxial hierarchy, they will have a parent but no children.



FHIR's ValueSet resource specifies a set of codes drawn from one or more code systems.

In LOINC's case, we have defined three main types of value sets:

Broadly useful collections
of LOINC terms

Answer Lists

e.g. LL4700-2

LOINC Groups

e.g. LG32763-1

Return the ValueSet definition

The examples below show how to call the ValueSet resource directly to give back the whole resource entry. This returns all of the metadata and definition criteria for a value set, including, for extensional value sets, which terms it includes. For example:


Alternatively, you can specify the same value set as:


Get the list of terms in the ValueSet

Use the $expand operation to only return the terms in a given value set (called a value set "expansion"), without the value set metadata.


Determine if a term is in a ValueSet

Use the $validate-code operation to verify if a particular term is in the given ValueSet. This example will return a valueBoolean of true.



Public health value sets

We have defined several new subsets of LOINC terms related to SARS-CoV-2/COVID-19 testing and reporting. The first three are LOINC Groups, which we are specifically calling out here so that they will be easily accessible, and the fourth is a value set for LOINC terms related to public health case reporting. These terms may be used in other contexts besides the COVID-19 pandemic.

Here are the subsets, their identifiers, and expansions:

LOINC terms for SARS-CoV-2 laboratory tests

VS type: extensional

Full list of published and pre-release SARS-CoV-2/COVID-19 related LOINC terms

SARS-CoV-2 detection (including molecular, antigen, and culture)


SARS-CoV-2 molecular detection


SARS-CoV-2 serology tests


LOINC terms related to public health case reporting

VS type: extensional

Full list of published and pre-release SARS-CoV-2/COVID-19 and case reporting-related LOINC terms



General collections of LOINC terms

We have defined several key subsets of LOINC terms as ValueSets because they are useful collections for various purposes. Here are the current collections, their identifiers, and expansions:

LOINC Document Ontology

VS type: extensional

More information on this collection


LOINC/RSNA Radiology Playbook and Playbook Core

VS type: extensional

More information on these collections

Radiology Playbook


Radiology Playbook Core


LOINC Top 2000+ Lab Observations

VS type: extensional

More information on these subsets

US Version (for mass-based reporting like mg/dL)


SI Version (for substance-based reporting like mmol/L)


Valid HL7 Attachment Requests and Responses

VS type: intensional
See Issue related to expansion of intensionally-defined ValueSets

More information on these subsets

Valid HL7 Attachment Requests


Valid HL7 Attachment Responses


Valid HL7 Attachment Responses - Implementation Guide Exists


Valid HL7 Attachment Responses - No Implementation Guide Exists


Deprecated LOINC Terms

VS type: intensional
See Issue related to expansion of intensionally-defined ValueSets


LOINC Answer Lists as Value Sets

Brief background on answer lists in LOINC

LOINC contains links between many of its observation terms and a set of possible answers that could be used as result values. Within LOINC, we have created a structured representation of these answer lists.

LOINC Answer Lists are assigned a non-semantic identifier with a “LL” prefix and a Luhn/mod-10 check digit. The individual answers (called LOINC Answers) within a list are assigned a non-semantic identifier with a “LA” prefix and a mod-10 check digit. The answer codes LOINC assigns are unique by lexical string (ignoring capitalization), and by intention do not distinguish between strings that may have different meanings depending on their contextual use.

Using LOINC Answer Lists

LOINC Answer Lists represent collections of coded concepts that can be used as response values to LOINC terms. The canonical URI pattern for identifying the value set defined by a LOINC Answer List is: http://loinc.org/vs/{LOINC Answer List code}

Get the list of LOINC Answers in a LOINC Answer List as a FHIR Value Set expansion


Search for all Answer Lists with “Yes” in their name


Determine if a LOINC Answer is in an Answer List


LOINC Groups as Value Sets

LOINC Groups are a technique for rolling up groups of LOINC terms that could be treated as equivalent or useful for various purposes. For example, you may want to aggregate data for displaying on a flowsheet within an electronic health record (EHR) system, retrieve data for quality measure reporting, or process data for research.

Each LOINC Group is assigned a non-semantic identifier with a “LG” prefix. The LG codes serve as a coded value set identifier. As such, they correspond to a particular “definition” of what should be included in the group. Following best practices, LOINC Groups intend to keep the logical definition stable in meaning over time. However, the members of the group may change as the underlying terminology (LOINC) evolves. For example, new concepts may be added that fulfill a group’s definition and are thus included.

LOINC Group as Value Set


Confirm a LOINC Code as a member of a Group



The ConceptMap resource in FHIR defines a mapping from one set of concepts defined in a code system ("source") to one or more concepts defined in other code systems ("target").

We have created the following bidirectional concept maps and will continue to add to these over time.

In the examples below, calling the ConceptMap resource directly gives you back the whole resource entry for the specified set. This will give you all the ConceptMap metadata, the mappings, etc. Each ConceptMap resource is referenced using its canonical URI.

LOINC terms IEEE device codes


LOINC terms RadLex Playbook procedure codes (RPIDs)


LOINC Parts RadLex clinical terms (RIDs)


LOINC Parts RxNorm terms


LOINC Parts PubChem terms




LOINC terms PhenX concepts


LOINC terms CMS Long-term Post-acute care (LT-PAC) assessment concepts


LOINC Parts ChEBI concepts


LOINC Parts NCBI ClinVar concepts


LOINC Parts NCBI Gene concepts


LOINC Parts NCBI Taxonomy concepts



Each individual map has an equivalence value that indicates whether the source and target concepts are equivalent or whether one is broader or narrower in meaning than the other. Note that FHIR defines the equivalence as going from the target concept to the source, so if the equivalence value is "narrower", that means the target concept is more specific than the source concept.

For example, LOINC 30657-1 (MR Brain WO contrast) is mapped to RPID479 (MR Head wo IV contrast) with equivalence "equivalent" while the same LOINC term is mapped to RPID593 (MR Head wo IV contrast Pediatric) with equivalence "narrower", because RPID593 is specific for pediatric patients.


Get the mapping for a particular LOINC Code

Use the $translate operation to find a mapping for a particular source term.



FHIR's questionnaire resource provides a way to represent a set of questions in a structured format along with associated information such as answer lists, instructions, and skip logic. The Argonaut questionnaire profile is a specific implementation of the questionnaire resource, and we have chosen this profile for our first deployment of LOINC panels as FHIR questionnaires.

Our current deployment renders the LOINC panels as they are currently represented in the database. In the future we anticipate enhancing the content so that we can add more features, such as computable skip logic.

Return a LOINC panel as a FHIR questionnaire

The following examples show how you can return a LOINC panel as a FHIR questionnaire using the canonical LOINC URI pattern for questionnaires: http://loinc.org/q/{LOINC #}.


Using this call will return the full LOINC panel, including all of the Answer lists contained in that panel as value sets, the binding between each LOINC question term and its specific Answer List, and any codes or scores contained in each list.


Known Issues

  • The service maintains a BETA status.
  • Three term properties are duplicated (PROPERTY, SCALE_TYP, and METHOD_TYP) when looking up term details.
  • Some properties' values for the property valueCode is equal to the code value, e.g., STATUS, while for others it is equal to the URI value, e.g., http://loinc.org/property/COMPONENT.
  • Expansion of intensional value sets containing more than 1,000 terms is not working after the 2.68 release and associated FHIR TS updates.