Dashboard

LOINC Search API

Search Regenstrief's LOINC database for laboratory and clinical observation codes.

Endpoint

GET /v1/loinc/search

Quick Start

Node.js
import { Fhirfly } from "@fhirfly-io/terminology";

const client = new Fhirfly({ apiKey: "YOUR_API_KEY" });

// Search for glucose tests in chemistry
const results = await client.loinc.search({
  q: "glucose",
  class: "CHEM"
});

console.log(`Found ${results.total} codes`);
for (const item of results.items) {
  console.log(`${item.code}: ${item.display_name}`);
}

Parameters

At least one text search parameter is required.

ParameterDescriptionExample
qGeneral text searchq=hemoglobin
nameSearch display namename=glucose
componentSearch component (analyte)component=sodium

Filters

ParameterTypeDescriptionExample
classstringLOINC classCHEM, HEM/BC
systemstringSpecimen systemSer/Plas, Urine
propertystringProperty measuredMCnc, SCnc
scalestringScale typeQn, Ord, Nom
methodstringMethod usedAutomated count
order_obsstringOrder/ObservationBoth, Order, Observation
statusstringLOINC statusACTIVE, DEPRECATED

Pagination & Response

ParameterDefaultMaxDescription
limit20100Results per page
page1100Page number
shapecompactcompact, standard, full

Example Response

{
  "facets": {
    "class": {
      "CHEM": 169
    },
    "order_obs": {
      "Both": 131,
      "Observation": 38
    },
    "scale": {
      "Qn": 154,
      "Ord": 7,
      "Nom": 2
    },
    "system": {
      "Ser/Plas": 19,
      "Urine": 22,
      "Bld": 10
    }
  },
  "has_more": true,
  "items": [
    {
      "class": "CHEM",
      "code": "51595-7",
      "component": "Glucose",
      "display_name": "Glucose, Stool",
      "shortname": "Glucose Stl Ql"
    },
    {
      "class": "CHEM",
      "code": "2349-9",
      "component": "Glucose",
      "display_name": "Glucose, Urine",
      "shortname": "Glucose Ur Ql"
    }
  ],
  "limit": 2,
  "meta": {
    "legal": {
      "attribution_required": true,
      "citation": "LOINC from Regenstrief Institute. Accessed 2026-01-28 via FHIRfly.",
      "license": "regenstrief_license",
      "source_name": "LOINC",
      "terms_of_use": "https://loinc.org/license/"
    }
  },
  "page": 1,
  "total": 169,
  "total_capped": false
}

Use Cases

Find Blood Chemistry Tests

Node.js
const results = await client.loinc.search({
  q: "sodium",
  class: "CHEM",
  system: "Ser/Plas"
});

Find Urinalysis Tests

Node.js
const results = await client.loinc.search({
  class: "UA",
  system: "Urine",
  order_obs: "Both"
});

Find Quantitative Tests

Node.js
// Qn = Quantitative (numeric result)
const results = await client.loinc.search({
  component: "hemoglobin",
  scale: "Qn"
});

Find Orderable Tests

Node.js
const results = await client.loinc.search({
  q: "complete blood count",
  order_obs: "Order"
});

LOINC Classes

Common LOINC classes:

ClassDescription
CHEMChemistry
HEM/BCHematology/Blood Cell Count
UAUrinalysis
MICROMicrobiology
SEROSerology
COAGCoagulation
DRUG/TOXDrug/Toxicology

Scale Types

ScaleDescription
QnQuantitative (numeric)
OrdOrdinal (ordered categories)
NomNominal (unordered categories)
NarNarrative (free text)
DocDocument

Facets

LOINC search returns these facets:

FacetDescription
classDistribution by LOINC class
systemDistribution by specimen system
scaleDistribution by scale type
order_obsDistribution by order/observation

License Note

LOINC requires attribution. The meta.legal field includes:

  • attribution_required: true
  • Link to LOINC license terms

Required Scope

loinc.search

See Also