SNOMED CT in Vietnam: localization roadmap and FHIR integration

SNOMED CT is the world's largest clinical terminology, with roughly 350,000 active concepts. Vietnam completed its first three localization waves in 2025, releasing a combined 77,393 codes. These releases pave the way for Condition.code, Observation.code, and AllergyIntolerance.code in VN Core to align with international clinical standards.

This page covers the definition, concept architecture, comparison with ICD-10, the Ministry of Health's localization roadmap, FHIR VN Core binding patterns, and practical tooling (Snowstorm, Ontoserver). Audience: FHIR engineers, healthcare system architects, terminology stewards, and clinicians interested in standardized vocabulary.

Quick summary

  • Three release waves in 2025: Decision 2427/QĐ-BYT (issued July 25, 2025) for Body Structure with 35,889 codes, Decision 2493/QĐ-BYT (issued August 4, 2025) for Morphologic Abnormality with 5,155 codes, and Decision 2805/QĐ-BYT (issued September 4, 2025) for Clinical Finding and Allergy with 36,349 codes.
  • A total of 77,393 concepts now have Vietnamese translations and national VN codes, representing roughly 22% of the full SNOMED CT International collection.
  • As of April 2026, Vietnam is not yet a National Member of SNOMED International. Membership procedures are running in parallel with expansion of the localized scope.
  • In VN Core, Condition.code and AllergyIntolerance.code use extensible binding to a ValueSet of codings under the system http://snomed.info/sct — not a Vietnamese URI extension.
  • Reference tooling: Snowstorm (open source, maintained by SNOMED International) and Ontoserver (CSIRO, commercial) — both offer terminology servers with full ECL support.

1. What is SNOMED CT

SNOMED CT stands for Systematized Nomenclature of Medicine — Clinical Terms, a structured, multi-hierarchical clinical terminology governed by the non-profit organization SNOMED International. The July 2024 international release contained roughly 350,000 active concepts covering diagnoses, symptoms, procedures, pharmaceutical products, organisms, anatomical sites, and dozens of supporting domains.

SNOMED International is a non-profit registered in England and Wales, headquartered in London. It was formed in 2007 by the merger of the College of American Pathologists (CAP) work and the UK NHS contribution. The legacy name "International Health Terminology Standards Development Organisation" (IHTSDO) was shortened to SNOMED International in 2017. Denmark is one of the founding members but is not the current headquarters location.

The terminology supports multiple languages, with translations or localizations from Spain, France, Denmark, the Netherlands, Sweden, Portugal, Germany, Finland, Norway, Estonia, Asian member countries such as South Korea, Singapore, and Australia — and most recently Vietnam. With its deep clinical coverage, SNOMED CT is widely viewed as the de facto standard for encoding electronic medical record content in mature health systems.

2. Concept structure and hierarchies

Each SNOMED CT concept is identified by a SCTID, a unique integer — for example, 38341003 corresponds to "Hypertensive disorder". Each concept comes with a set of descriptions (Fully Specified Name and Synonyms), a set of relationships defining its links to other concepts, and module metadata identifying the publishing source.

Concept 38341003 |Hypertensive disorder|
  description[]
    FSN     "Hypertensive disorder, systemic arterial (disorder)"
    Synonym "Hypertension"
    Synonym "HTN"
  relationship[]
    IS-A             → 64572001  |Disease|
    Finding site     → 113257007 |Cardiovascular system structure|
  module
    900000000000207008 |SNOMED CT core|

The IS-A relationship forms a multi-inheritance tree, allowing a concept to belong to several parent branches. In addition, attributes such as Finding site, Causative agent, and Associated morphology form a post-coordination model with rich semantics — far beyond any linear classification scheme.

The international edition divides the concept space into 19 top-level hierarchies: Body Structure, Clinical Finding, Procedure, Substance, Pharmaceutical / Biologic Product, Observable Entity, Specimen, Physical Object, Physical Force, Event, Environment / Geographical Location, Social Context, Situation with Explicit Context, Staging and Scales, Qualifier Value, Record Artifact, SNOMED CT Model Component, Special Concept, and Organism. Note that "Disorder" is not a top-level hierarchy on its own; disorder and diagnosis concepts form a sub-tree within Clinical Finding.

3. SNOMED CT versus ICD-10

ICD-10 and SNOMED CT serve two different but complementary purposes — they are not interchangeable. ICD-10 is a classification used for disease statistics, epidemiological reporting, and insurance billing. SNOMED CT is a clinical terminology used to record medical events with high precision.

Criterion SNOMED CT ICD-10
Purpose Clinical documentation, decision support Disease classification, social health insurance (BHYT) billing
Scale ~350,000 concepts ~14,000 codes
Structure Multi-inheritance, post-coordination Single-level classification
Release cycle Every 6 months (Jan 1 and Jul 1) WHO baseline, periodic revisions
Status in Vietnam 3 localization waves in 2025 (Decisions 2427, 2493, 2805) Decision 4469/QĐ-BYT (issued October 28, 2020)
FHIR use cases Condition.code, Observation.code, BodyStructure Condition.code (billing), statistics

The recommended practice in FHIR VN Core is to send both codings inside the same CodeableConcept. ICD-10 satisfies the BHYT billing obligation under Decision 4469/QĐ-BYT, while SNOMED CT preserves rich clinical semantics for decision support and downstream analytics.

{
  "resourceType": "Condition",
  "subject": { "reference": "Patient/example" },
  "code": {
    "coding": [
      {
        "system": "http://snomed.info/sct",
        "code": "38341003",
        "display": "Hypertensive disorder"
      },
      {
        "system": "http://hl7.org/fhir/sid/icd-10",
        "code": "I10",
        "display": "Essential (primary) hypertension"
      },
      {
        "system": "http://fhir.hl7.org.vn/core/CodeSystem/vn-icd10-cs",
        "code": "I10",
        "display": "Tăng huyết áp vô căn (nguyên phát)"
      }
    ]
  }
}

4. Membership and licensing

SNOMED CT runs on a membership model. National Members pay an annual fee scaled to GDP and population, then redistribute the rights to use SNOMED CT free of charge to every organization in their country. Non-Member organizations can apply for an Affiliate License for limited research, development, or small-scale commercial use.

As of April 2026, Vietnam is not yet on the list of 50+ Members of SNOMED International. The Ministry of Health is pursuing two parallel work streams: localizing content through Ministerial Decisions, and advancing the application for national membership. During this transition, Vietnamese organizations may use the Vietnamese content published by the Ministry of Health and contact SNOMED International for an Affiliate License covering production systems.

Another option is to use the SNOMED CT IPS Terminology subset, which SNOMED International publishes under a CC-BY-4.0 license — free for any purpose. The IPS Terminology contains roughly 15,000 concepts intended for the International Patient Summary, and it is broad enough to start use cases such as AllergyIntolerance before national membership is in place.

5. Vietnam's localization roadmap

The Ministry of Health laid the legal foundation through Decision 1928/QĐ-BYT (2023) on the Health e-Government Architecture version 2.1, which designates SNOMED CT as one of the national standard terminologies. The year 2025 marked real momentum, with three consecutive release waves.

Wave Document Scope Concept count
1 Decision 2427/QĐ-BYT (issued July 25, 2025) Body Structure — anatomical structures 35,889
2 Decision 2493/QĐ-BYT (issued August 4, 2025) Morphologic Abnormality 5,155
3 Decision 2805/QĐ-BYT (issued September 4, 2025) Clinical Finding (35,022) + Allergy (1,327) 36,349
Total localized to date 77,393

Each concept in the localization package carries four core fields: vn_code — the national code assigned by the Ministry of Health, snomed_ct_id — identical to the international SCTID, name_vn — the Vietnamese name, and name_en — the English name retained from the original. This structure avoids forking from SNOMED CT International and preserves traceability for cross-border communication.

The next phase of the roadmap, per Ministry of Health planning documents, will expand into Procedure, Pharmaceutical Product, Substance, Observable Entity, and Specimen. The long-term goal is to establish a National Release Center, operate a complete VN SNOMED CT extension, and apply for national membership. OmiGroup recommends prioritizing Procedure in the next wave to support Procedure.code and DiagnosticReport.code, since these are the two highest-volume use cases in electronic medical records under Circular 13/2025/TT-BYT.

6. Localized scope

In VN Core, the 77,393-concept set is declared through the CodeSystem VNSNOMEDSubsetCS with canonical URL http://fhir.hl7.org.vn/core/CodeSystem/vn-snomed-subset-cs. Following the KR Core good practice, this CodeSystem uses content = #not-present on the public IG to keep only metadata wrappers; the detailed data is distributed as a JSON artifact in the hl7.fhir.vn.terminology.clinical package.

Coding usage note

When sending resources outside Vietnam or to international systems, use system = http://snomed.info/sct together with code = snomed_ct_id to remain compatible with SNOMED CT International. The vn_code field is the Ministry of Health's internal management code and should not be used for FHIR coding. The display can be either name_vn or name_en depending on the presentation context.

VN Core ships companion ValueSets for context-aware bindings: vn-body-site-vs for Procedure.bodySite and Condition.bodySite, vn-condition-code-vs for Condition.code, and vn-allergy-code-vs for AllergyIntolerance.code. A separate erratum page for the SNOMED CT VN translation is published in the IG so that the community can flag corrections.

7. Integration with FHIR VN Core

The VNCoreCondition profile binds code to vn-condition-code-vs at extensible strength, allowing both ICD-10 (mandatory under Decision 4469/QĐ-BYT) and SNOMED CT (recommended) to be sent together. The VNCoreAllergyIntolerance profile uses the SNOMED CT IPS Terminology for code, also at extensible strength, to take advantage of the free CC-BY-4.0 license while Vietnam does not yet hold formal membership.

// VNCoreCondition.fsh — extract
* code 1..1 MS
* code from $vn-condition-code-vs (extensible)

// VNCoreAllergyIntolerance.fsh — extract
* code 1..1 MS
* code from $vn-allergy-code-vs (extensible)

// VN Body Site for Condition.bodySite
* bodySite from $vn-body-site-vs (preferred)

Extensible bindings let systems fall back to ICD-10 or text descriptions when no suitable SNOMED concept exists yet, while still reporting conformance once one is available. For systems that need parallel coding for BHYT reporting, the VNCoreConditionDiagnosis profile extends VNCoreCondition by making ICD-10 mandatory and SNOMED CT optional but recommended.

A well-formed CodeableConcept should include at least one coding with system = http://snomed.info/sct if the concept is among the 77,393 codes already released. For diagnoses used in BHYT billing, also include a Vietnamese ICD-10 coding to comply with Decision 3176/QĐ-BYT on output data standards. Stacking two or three codings inside a single CodeableConcept is a familiar pattern across mature IGs such as IPS, US Core, and JP Core.

8. ECL — the query language

Expression Constraint Language (ECL) is the official query language of SNOMED International. It defines concept subsets based on relationships in the terminology graph. ECL is used to build dynamic ValueSets, filter concepts by attribute, and write semantic validation rules.

// ECL examples
< 38341003 |Hypertensive disorder|
   // all descendant concepts (excluding the concept itself)

<< 38341003 |Hypertensive disorder|
   // descendants including the concept itself

< 64572001 |Disease| : 363698007 |Finding site| = << 80891009 |Heart structure|
   // Diseases whose Finding site is Heart or any descendant of Heart

In FHIR R4, ECL is embedded inside ValueSets through filter operators. VN Core uses the standard FHIR syntax with descendent-of or is-a — note the FHIR R4 spelling (descendent, not descendant).

ValueSet: VNHypertensionVS
Id: vn-hypertension-vs
* include codes from system http://snomed.info/sct
    where concept descendent-of #38341003

When the terminology server supports native ECL (both Snowstorm and Ontoserver do), you can pass complex ECL expressions through the filter parameter on $expand — for example filter=<<233604007|Pneumonia|. This pattern is widely used by clinical data-entry applications to surface context-appropriate concepts.

9. Snowstorm and Ontoserver tooling

Two terminology servers commonly turn up in SNOMED CT FHIR deployments: Snowstorm and Ontoserver. Snowstorm is built by SNOMED International and released as open source under Apache 2.0 on GitHub at github.com/IHTSDO/snowstorm. Snowstorm has full ECL support, FHIR Terminology Service operations $lookup, $validate-code, $expand, and $translate, and is the engine that powers the public SNOMED Browser.

Ontoserver is built by CSIRO of Australia and released commercially. Its strengths are high performance, multi-tenant support, and built-in integration with LOINC, ICD-10, ICD-11, and AMT (Australian Medicines Terminology). It is a popular choice for SNOMED member countries with substantial deployment budgets.

For open-source projects or early stages, HAPI FHIR provides a JPA-backed terminology service implementation with partial SNOMED CT support (basic lookup and validation, but no native ECL). If your use case requires complex ECL, the safe choice is to run Snowstorm as a sidecar and have HAPI delegate to it via the FHIR Terminology Service.

OmiGroup currently runs Snowstorm internally to support VN Core IG builds and validation. The instance is preloaded with the JSON artifact from the hl7.fhir.vn.terminology.clinical package, kept in sync with the three Ministry of Health Decisions, so ValueSet expansion tests reflect exactly the content the Ministry has released.

10. Frequently asked questions

Is SNOMED CT free to use in Vietnam?

The content released by the Ministry of Health through Decisions 2427, 2493, and 2805 in 2025 is published for the domestic healthcare community to use in line with Ministry guidance. However, the international SCTIDs remain copyrighted by SNOMED International, and an Affiliate License or national membership is required when using them in production. Each organization should review the SNOMED International terms carefully for its specific scenario.

Is ICD-10 enough for VN Core?

For BHYT billing and epidemiological statistics, Vietnamese ICD-10 under Decision 4469/QĐ-BYT remains the legal requirement. For full clinical documentation, decision support, and downstream analytics, ICD-10 lacks granularity. SNOMED CT is the standard recommended as a complement in Condition.code, Observation.code, and AllergyIntolerance.code.

When will VN Core require SNOMED CT?

On the current roadmap, VN Core keeps SNOMED CT bindings at extensible strength to preserve backward compatibility during the transition. Strengthening to required or preferred will depend on when Vietnam achieves national membership and the localized scope is broad enough — expected from 2027 onwards, after expansion into Procedure, Pharmaceutical Product, and Substance.

Can we test SNOMED CT before membership?

Yes. SNOMED International offers a free Affiliate License for research, evaluation, and non-commercial development. The browser at browser.ihtsdotools.org is open to all. Snowstorm ships a Docker image preloaded with the International Edition for local experimentation.

11. References and further reading

Vietnamese legal documents

  • Decision 2427/QĐ-BYT (issued July 25, 2025) — Common code list for SNOMED CT clinical terminology, Wave 1, Body Structure, 35,889 codes. See khung pháp lý.
  • Decision 2493/QĐ-BYT (issued August 4, 2025) — SNOMED CT Wave 2, Morphologic Abnormality, 5,155 codes. See khung pháp lý.
  • Decision 2805/QĐ-BYT (issued September 4, 2025) — SNOMED CT Wave 3, Clinical Finding and Allergy, 36,349 codes. See khung pháp lý.
  • Decision 1928/QĐ-BYT (2023) — Health e-Government Architecture version 2.1.
  • Decision 4469/QĐ-BYT (issued October 28, 2020) — Vietnamese ICD-10.
  • Circular 13/2025/TT-BYT (issued June 6, 2025) — Electronic medical records.

SNOMED and FHIR resources

Continue in the knowledge hub