LOINC in Vietnam: laboratory test and clinical observation standardization
LOINC (Logical Observation Identifiers Names and Codes) is the international code set for laboratory tests, clinical observations, vital signs, and medical document types. It has been published free of charge by the Regenstrief Institute since 1994; version 2.82 (24/02/2026) contains 109,325 terms. In Vietnam, the Ministry of Health released a directory of 2,964 laboratory indicators in batch 1 via Decision 1227/QĐ-BYT (11/04/2025) — a local code layer used alongside LOINC to standardize laboratory results across hospitals.
This page is for LIS/HIS developers mapping results into FHIR Observation, hospital CIOs who need a terminology roadmap, and clinicians who want to understand how a LOINC code precisely describes a single test. After reading, you will know when to use LOINC, when to use SNOMED CT, and how to combine an internal Vietnamese code with LOINC inside a single CodeableConcept.
Quick summary
- LOINC standardizes the naming of laboratory tests, observations, vital signs, and medical document types.
- Version 2.82 (24/02/2026) carries 109,325 terms; free under the dedicated LOINC license (not Apache).
- Vietnam: Decision 1227/QĐ-BYT (11/04/2025) issues 2,964 indicators in batch 1, covering Hematology and Transfusion, Biochemistry, Microbiology, Pathology, and Radiology/Diagnostic Imaging.
- FHIR R4 binds
Observation.codeto LOINC at example strength; VN Core tightens this and recommends LOINC for laboratory tests whenever a code exists. - VN Core convention: record both the LOINC code and the Vietnamese local code in the same
CodeableConcept.coding.
On this page
- What LOINC is
- The structure of a LOINC code
- The six semantic axes of LOINC
- LOINC and SNOMED CT — how they differ and complement each other
- Licensing
- Decision 1227/QĐ-BYT — 2,964 indicators in batch 1
- FHIR Observation integration — a Vietnamese example
- Tooling: RELMA and FHIR ConceptMap
- Frequently asked questions
- Further reading
1. What LOINC is
LOINC stands for Logical Observation Identifiers Names and Codes. It is a standardized terminology launched in 1994 by the Regenstrief Institute at Indiana University, with a single goal: to answer the question "what does this measurement represent" using a universal identifier instead of the disconnected internal codes of each laboratory.
LOINC's scope spans three main groups: laboratory results (hematology, biochemistry, microbiology, immunology, pathology), clinical observations (vital signs, anthropometric measurements, ECG findings, scaled assessment instruments), and classification of medical documents (types of discharge summaries, types of consultation notes). Version 2.82, released on 24/02/2026, contains 109,325 terms, including deprecated codes retained for backward compatibility.
LOINC has official translations into more than ten languages — English, Spanish, French, German, Italian, Korean, Chinese, Russian, Dutch, Greek, Arabic — but there is no official Vietnamese translation yet. Decision 1227/QĐ-BYT is the first national-scale mapping effort, and the majority of the laboratory codes carry an equivalent LOINC annotation in their definition column. The Ministry of Health's choice to build a separate local code set instead of translating LOINC directly reflects reality: many routine tests in Vietnam (for example, certain biochemistry indicators tied to local test kits) do not yet have a 1-to-1 LOINC equivalent.
2. The structure of a LOINC code
A LOINC record consists of a short code in the form NNNNN-N (an auto-incrementing number with a check digit), a Long Common Name describing the concept in full, a Short Name for systems with character limits, and six semantic axes. The classic example — measuring total cholesterol in blood — looks like this:
LOINC code: 2093-3
Long Common Name: Cholesterol [Mass/volume] in Serum or Plasma
Short Name: Cholest SerPl-mCnc
Component: Cholesterol
Property: MCnc (Mass Concentration)
Time: Pt (Point in time)
System: Ser/Plas
Scale: Qn (Quantitative)
Method: (none specified)
Class: CHEM (Chemistry)
The code 2093-3 is not bound to a specific reagent kit, a specific analyzer, or a specific unit of measure. It only defines the measurement concept: the mass concentration of cholesterol in serum or plasma, at a single point in time, on a quantitative scale. The unit (mmol/L, mg/dL) is recorded separately in Observation.valueQuantity.unit with a UCUM code, and is not part of LOINC.
3. The six semantic axes of LOINC
Every LOINC code decomposes into six required axes. This is the core distinction from flat code systems (such as ICD-10): two codes that share the first five axes but differ in measurement method are treated as different codes, because their results are not directly comparable.
| Axis | Question it answers | Example for 2093-3 |
|---|---|---|
| Component | What substance or phenomenon is measured? | Cholesterol |
| Property | What physical or chemical quantity? | MCnc — mass concentration |
| Time | A single point in time, or aggregated over an interval? | Pt — point in time |
| System | Where is the specimen drawn from? | Ser/Plas — serum or plasma |
| Scale | What measurement scale? | Qn — quantitative |
| Method | Which specific method (when needed to disambiguate)? | Not specified |
The Method axis is optional but matters when results depend on technique — for instance, Glucose [Mass/volume] in Capillary blood by Glucometer (code 14743-9) differs from Glucose [Mass/volume] in Serum or Plasma (code 2345-7): both measure blood sugar, but their reference ranges, accuracy, and clinical interpretation are not interchangeable, so the two should not be aggregated in the same report.
4. LOINC and SNOMED CT — how they differ and complement each other
LOINC and SNOMED CT are often mistaken for competitors, but they actually cover two different domains. The convention used in SNOMED CT and FHIR R4 is clear:
| Criterion | LOINC | SNOMED CT |
|---|---|---|
| Domain | Names of tests and observations ("what is being measured") | General clinical concepts: diseases, symptoms, procedures, anatomy |
| Granularity | Six axes — each code is a specific measurement | A concept network with rich parent-child relationships |
| Typical FHIR placement | Observation.code, DiagnosticReport.code | Condition.code, AllergyIntolerance.code, Procedure.code, BodySite |
| Cost | Free under the LOINC license | Paid (SNOMED International membership) |
A practical rule for VN Core: use LOINC for test names, use SNOMED CT alongside Vietnamese ICD-10 for diagnoses. A blood biochemistry DiagnosticReport records its code using LOINC to describe the "basic metabolic panel"; if the result reveals diabetes, the diagnosis code attached to the Condition must be SNOMED CT (for example 44054006) together with the Vietnamese ICD-10 code E11.
5. Licensing
LOINC is free for both commercial and non-commercial use worldwide, under the Regenstrief Institute's dedicated LOINC license. This is not an Apache or MIT license — the LOINC license carries some specific conditions: attribution is required, you may not turn LOINC into the foundation of a competing code set, you may not unilaterally redefine the semantic fields, and any language translation must be returned to Regenstrief for inclusion in an official release.
To download the full release (a .csv file with 109,325 rows and the accompanying reference tables), you need a free account at loinc.org/downloads. OmiGroup's recommendation for Vietnamese hospitals and LIS vendors: use LOINC as the primary code for every laboratory test, and record the internal code in parallel inside CodeableConcept.coding to preserve continuity with legacy operations.
6. Decision 1227/QĐ-BYT — 2,964 indicators in batch 1
Decision 1227/QĐ-BYT, dated 11/04/2025 issues the "List of common codes for laboratory indicators, batch 1", with 2,964 indicators distributed across five specialty groups. This is the largest standardization push for laboratory testing in Vietnam to date, tied to the mandatory electronic medical record (EMR) timeline under Circular 13/2025/TT-BYT.
| Specialty group | Indicator count |
|---|---|
| Hematology and Transfusion | 1,022 |
| Biochemistry | 447 |
| Microbiology | 174 |
| Pathology | 81 |
| Radiology / Diagnostic Imaging | 1,240 |
| Total | 2,964 |
Each row in the directory has a CLS (laboratory) code, a Vietnamese test name, and (for most laboratory indicators) an equivalent LOINC annotation inside the definition. This is a partial mapping: not every CLS code has a LOINC counterpart, particularly within diagnostic imaging and several pathology techniques. Batches 2 and 3 are being prepared by the Ministry of Health and are expected to expand into the missing measurements and refresh the LOINC mapping once an official Vietnamese translation becomes available.
VN Core implements this directory as the CodeSystem vn-cls-cs (canonical http://fhir.hl7.org.vn/core/CodeSystem/vn-cls-cs). For example, the entry for total blood cholesterol carries the code 1010053, the display "Định lượng Cholesterol toàn phần (máu)", and a definition that explicitly lists 2093-3 as the LOINC equivalent.
7. FHIR Observation integration — a Vietnamese example
FHIR R4 binds Observation.code to LOINC at the example binding strength — meaning LOINC is recommended but not required. The VNCoreObservationLab profile in VN Core tightens this to extensible for laboratory tests: LOINC must be used when an appropriate code exists, and a local code may be carried in parallel. The convention below illustrates a total cholesterol measurement with both codes attached at once.
{
"resourceType": "Observation",
"status": "final",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "laboratory",
"display": "Laboratory"
}]
}],
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "2093-3",
"display": "Cholesterol [Mass/volume] in Serum or Plasma"
},
{
"system": "http://fhir.hl7.org.vn/core/CodeSystem/vn-cls-cs",
"code": "1010053",
"display": "Định lượng Cholesterol toàn phần (máu)"
}
],
"text": "Total cholesterol"
},
"subject": { "reference": "Patient/vn-001" },
"effectiveDateTime": "2026-04-15T08:00:00+07:00",
"valueQuantity": {
"value": 5.2,
"unit": "mmol/L",
"system": "http://unitsofmeasure.org",
"code": "mmol/L"
},
"referenceRange": [{
"low": { "value": 3.0, "unit": "mmol/L", "system": "http://unitsofmeasure.org", "code": "mmol/L" },
"high": { "value": 5.2, "unit": "mmol/L", "system": "http://unitsofmeasure.org", "code": "mmol/L" }
}]
}
Three details to note in the example above: (1) category.coding.system must be the canonical http://terminology.hl7.org/CodeSystem/observation-category, not a shortened URL; (2) valueQuantity uses UCUM (mmol/L) through the canonical system http://unitsofmeasure.org; (3) the local CodeSystem URL ends with the -cs suffix per VN Core naming convention — even a one-character mismatch will prevent the validator from resolving the terminology.
When no LOINC equivalent exists: record the Vietnamese CLS code alone inside Observation.code.coding and let code.text describe the measurement in Vietnamese. A LOINC mapping can be added later through a ConceptMap without breaking historical data.
8. Tooling: RELMA and FHIR ConceptMap
RELMA (Regenstrief LOINC Mapping Assistant) is a free desktop tool from Regenstrief that helps map an LIS's internal test codes onto LOINC. RELMA suggests LOINC codes based on the local test name, lets you inspect the six axes in detail, and exports the mapping as CSV. It is the practical starting point for any "bring the LIS onto FHIR" project in Vietnam — when no mapping exists, a laboratory can run RELMA over a few weeks to build a map for the 200–500 most-used codes.
Once a mapping is in place, package it as a FHIR ConceptMap resource so it can be reused across systems. VN Core plans to publish an official ConceptMap from vn-cls-cs to http://loinc.org in upcoming releases, in sync with the Ministry of Health's CLS directory update cycle. Common terminology servers — HAPI FHIR JPA, Ontoserver — all support the $translate operation on ConceptMap, allowing a client to call a single API to convert a Vietnamese CLS code into a LOINC code at the moment data is sent to an international partner.
9. Frequently asked questions
Are we required to convert every test code to LOINC?
No. VN Core accepts that internal codes (LIS codes, Vietnamese CLS codes) remain inside the same CodeableConcept.coding alongside LOINC. What matters is that, when a LOINC equivalent exists, both codes are recorded so the data is ready for international interoperability.
Can two different test kits share the same LOINC code?
Yes — provided the five axes Component, Property, Time, System, and Scale match and the measurement methods produce equivalent results. If a different method shifts the reference range — for example, a bedside rapid test compared with a central automated analyzer — LOINC splits them into two distinct codes to prevent mixing data that should not be compared directly.
When will Vietnam have an official LOINC translation?
As of 05/2026, the Ministry of Health has not announced a roadmap for translating the entire LOINC into Vietnamese. Decision 1227/QĐ-BYT is a local mapping, not a translation — the Vietnamese descriptions belong to the Vietnamese CLS directory and do not replace the canonical LOINC names.
Does LOINC apply to diagnostic imaging data?
Yes, at the level of imaging study type ("CT chest with contrast"), but it does not replace DICOM for the images themselves and their technical metadata. Inside a FHIR Observation/DiagnosticReport, LOINC describes the report type; the actual images are referenced via ImagingStudy pointing to a separate PACS/DICOM system.
References
- Regenstrief Institute. Introduction to LOINC. Accessed 05/2026.
- Regenstrief Institute. LOINC 2.82 release notes (24/02/2026, 109,325 terms).
- Regenstrief Institute. LOINC license.
- Regenstrief Institute. RELMA — LOINC Mapping Assistant.
- HL7 International. FHIR R4 — Observation.code binding.
- HL7 Terminology. CodeSystem observation-category.
- Ministry of Health. Decision 1227/QĐ-BYT (11/04/2025) — Directory of laboratory indicator codes, batch 1.
- Ministry of Health. Circular 13/2025/TT-BYT — Electronic medical records.