UMLS 101
A Friendly Introduction to the Meta-Vocabulary That Connects Them All
If you've been following this series, you've noticed that every single post — SNOMED, CPT, ICD, LOINC, RxNorm — has mentioned the same thing in its "how does this play with other vocabularies?" section: UMLS. Every time. It keeps coming up because it's the answer to a question that doesn't get asked directly: how does anyone know that "myocardial infarction" in SNOMED CT, "I21.9" in ICD-10-CM, "Myocardial Infarction" in MeSH, and "heart attack" in plain English all mean the same thing?
The answer is UMLS — the Unified Medical Language System. It's the integrating fabric of biomedical terminology in the U.S. and, arguably, the most strategically important resource in healthcare informatics that almost nobody outside the field has heard of.
This post is a friendly tour of what UMLS is, where it came from, how its surprisingly elegant three-part structure works, who uses it, how to get it (the licensing question is interesting), and how it sits above the rest of the vocabulary ecosystem.
Let's dive in.
What is UMLS, really?
UMLS — the Unified Medical Language System — is a meta-vocabulary. It's not a clinical terminology in its own right. It doesn't invent new codes or describe new clinical concepts. Instead, it takes roughly 190 existing source vocabularies — SNOMED CT, ICD-10-CM, ICD-10-PCS, LOINC, RxNorm, MeSH, MedDRA, CPT, CDT, NCI Thesaurus, HPO, GO, ICD-O, ICPC, and many more — and aligns them into a single shared semantic layer.
The center of UMLS is the Concept Unique Identifier, or CUI. Every meaning across every source vocabulary gets one CUI. If twelve different vocabularies all have terms for "myocardial infarction," those twelve terms share a single CUI. If a vocabulary has one term that means two different things in different contexts, those two meanings get two different CUIs.
The CUI is the closest thing biomedical informatics has to a primary key for meaning itself, separate from any particular vocabulary's representation of that meaning.
A useful way to visualize the relationship:
SNOMED CT, ICD-10-CM, LOINC, RxNorm, CPT — vocabularies that each describe healthcare from their own angle.
UMLS — a layer that sits above all of them, saying "these things mean the same thing" and "these things are related this way."
The Metathesaurus, which is the largest of the three UMLS components, currently contains about 3.45 million concepts with roughly 17.1 million unique concept names drawn from those 190 source vocabularies. Those are big numbers, and they reflect the genuine scale of biomedical language.
A brief history: an NLM moonshot that quietly succeeded
UMLS has a clear creation story with one prime mover and a remarkably consistent stewardship since.
1986 — UMLS is launched. Then-NLM Director Donald A.B. Lindberg, MD initiated the UMLS project at the National Library of Medicine. The vision was ambitious: build a unifying layer over the proliferating biomedical vocabularies so that researchers, clinicians, and software systems could move between them. Lindberg was a longtime medical informatics pioneer (his tenure at NLM ran from 1984 to 2015 — a remarkable thirty-one years) and UMLS reflected his conviction that biomedical knowledge was fundamentally interconnected and worth integrating.
1990 — First UMLS release. Four years of building produced the first public release. It was modest by today's standards but established the architecture that survives essentially unchanged: a Metathesaurus, a Semantic Network, and the SPECIALIST Lexicon.
1990s — Steady expansion. Each year added more source vocabularies and refined the integration. SNOMED, ICD, MeSH, LOINC, and dozens of others were progressively absorbed.
2000s — RxNorm joins the family. The NLM launched RxNorm in the early 2000s and incorporated it into UMLS from the start. UMLS became the natural home for working with RxNorm's full release.
2010s — Federal recognition. Federal agencies — FDA, CDC, CMS, NIH — increasingly used UMLS as the substrate for cross-vocabulary work. The HITECH Act's Meaningful Use programs, while not directly mandating UMLS, drove EHR vendors to it as the practical way to map local terms to standard vocabularies.
2020s — AI and the new urgency. With the explosion of clinical NLP and large language models in healthcare, UMLS has become foundational infrastructure for grounding AI systems in real biomedical concepts. Almost every academic clinical NLP paper of the past decade references UMLS somewhere.
Today. UMLS releases twice a year. As of this writing, the 2025AB release (November 2025) is current; 2025AA (May 2025) contained 3.45 million concepts and 17.1 million unique concept names. Donald Lindberg passed away in 2019, but his project keeps growing.
How is UMLS structured?
UMLS has three components — called the Knowledge Sources — each of which serves a different purpose. Understanding the three-part structure is the key to understanding what UMLS can do for you.
1. The Metathesaurus
The Metathesaurus is the heart of UMLS. It's a giant concept graph that integrates the 190 source vocabularies.
Key building blocks:
Concept (CUI) — a single meaning, shared across vocabularies. Identifier format
C0000000. Example:C0027051is the CUI for "Myocardial Infarction."Atom (AUI) — one specific term from one specific source vocabulary. Identifier format
A0000000. A single concept may have many atoms — every synonym in every source vocabulary contributes an atom.Source Vocabulary (SAB) — the source identifier (SNOMEDCT_US, ICD10CM, MSH, LNC, RXNORM, CPT, etc.).
Relationships — typed connections between concepts, drawn from the source vocabularies and harmonized across them.
Semantic Types — links each concept to one or more categories from the Semantic Network (the next Knowledge Source).
Let's anchor this with our example. The CUI C0027051 for "Myocardial Infarction" might include:
An atom from SNOMED CT (
SNOMEDCT_US): "Myocardial infarction (disorder)" — SCTID 22298006An atom from ICD-10-CM (
ICD10CM): "Acute myocardial infarction, unspecified" — I21.9An atom from MeSH (
MSH): "Myocardial Infarction" — D009203An atom from MedDRA (
MDR): "Myocardial infarction" — PT 10028596An atom from NCI Thesaurus (
NCI): "Myocardial Infarction" — C27996And many more atoms from other source vocabularies, plus lay-term synonyms like "Heart Attack"
All of those atoms hang off the same CUI. That's the integration UMLS provides.
2. The Semantic Network
The Semantic Network is a separate, much smaller layer that gives every concept a type. There are 127 semantic types organized in a hierarchy, plus about 54 relation types between them.
A handful of representative semantic types:
Disease or Syndrome
Sign or Symptom
Pharmacologic Substance
Clinical Drug
Therapeutic or Preventive Procedure
Diagnostic Procedure
Anatomical Structure
Body Part, Organ, or Organ Component
Laboratory Procedure
Gene or Genome
Patient or Disabled Group
Our myocardial infarction concept gets the semantic type Disease or Syndrome. A LOINC lab test concept like hemoglobin A1c gets Laboratory Procedure. An RxNorm ingredient like ibuprofen gets Pharmacologic Substance.
The Semantic Network lets you ask broad questions across the entire Metathesaurus without enumerating individual codes: "show me all concepts of semantic type Pharmacologic Substance that interact with concepts of semantic type Disease or Syndrome." That's an enormously powerful capability — and it's exactly the kind of structure that modern AI systems need for grounded reasoning.
3. The SPECIALIST Lexicon
The SPECIALIST Lexicon is the least-known of the three Knowledge Sources, but it's quietly important for natural language processing on biomedical text. It contains:
A lexicon of English biomedical terms with morphological information (singular/plural, verb forms, parts of speech)
A set of tools called lvg (Lexical Variant Generation) that normalize text variations (uppercase/lowercase, hyphens, plurals, possessives, derivational variants)
If you're building an NLP system that needs to recognize "myocardial infarctions" and "myocardial infarction" as the same thing, or "MI" and "M.I." as equivalent, the SPECIALIST Lexicon is what makes that tractable.
Putting it together
The three Knowledge Sources are designed to work together. A typical AI/NLP pipeline might:
Use the SPECIALIST Lexicon to normalize raw text variations.
Use the Metathesaurus to map normalized strings to CUIs.
Use the Semantic Network to filter CUIs by clinical category.
Each layer does one job well, and the composition is more powerful than any single layer.
Where does UMLS live, and how often is it updated?
UMLS is updated twice a year with two named releases:
AA release — published in May
AB release — published in November
So the 2025 calendar year saw the 2025AA release (May 2025) and the 2025AB release (November 2025). The two-letter suffix is a bit of NLM idiosyncrasy that takes getting used to.
The authoritative source is the UMLS Terminology Services (UTS) at uts.nlm.nih.gov. The UTS is the portal for:
Downloading the full UMLS release (and precomputed subsets)
Browsing the Metathesaurus interactively
Using the REST API for programmatic access
Distribution formats:
RRF (Rich Release Format) — pipe-delimited UTF-8 text files. Core files:
MRCONSO.RRF(concepts and atoms),MRREL.RRF(relationships),MRSTY.RRF(semantic types),MRSAB.RRF(sources),MRDEF.RRF(definitions), and many more. Same file family as RxNorm.MetamorphoSys — a Java application bundled with the Full Release that lets you produce customized subsets (e.g., "only English-language atoms from SNOMED CT, RxNorm, LOINC, and ICD-10-CM"). Most consumers run MetamorphoSys to slim down the full release to what they actually need.
REST API —
documentation.uts.nlm.nih.gov/rest/home.html— returns JSON; supports CUI lookup, search, and content views.Lexicon files — the SPECIALIST Lexicon ships in its own LRABR/LRAGR formats.
The full release is large. Several gigabytes uncompressed. Most production deployments load it into a relational database (PostgreSQL is common) and query from there.
Who uses UMLS, and why?
UMLS has a more research-flavored user base than the other vocabularies in this series, but its reach is broader than people realize.
Academic biomedical informaticians. Almost every academic clinical NLP paper of the past two decades is grounded in UMLS in some way. UMLS is the standard substrate for entity recognition, concept normalization, and cross-vocabulary studies.
Clinical NLP and AI vendors. Companies building clinical NLP systems — for risk adjustment, autonomous coding, summarization, decision support — almost all use UMLS as their concept backbone. When an LLM-based tool claims to "extract structured clinical concepts from notes," UMLS is usually involved.
EHR and CDS vendors mapping local terms. When a hospital has 5,000 local lab order codes, 3,000 local medication codes, and 10,000 local diagnosis abbreviations, UMLS is the standard resource for normalizing them to the major standard vocabularies. RELMA (LOINC's mapping tool) is built on UMLS principles. Commercial terminology services like Apelon DTS use UMLS heavily.
FDA. UMLS underpins the FDA's medical product safety surveillance, drug labeling work, and adverse event signal detection (where UMLS sits next to MedDRA).
NIH. Nearly every NIH-funded clinical informatics or AI/ML project uses UMLS. The NLM is part of NIH, so this is somewhat circular, but it's a meaningful user community.
CMS quality measure tooling. The CMS eCQM and HEDIS measure-development infrastructure uses UMLS (and the NLM's Value Set Authority Center, which is UMLS-based) for value-set authoring and validation.
ETL pipelines for clinical data warehouses. When a health system builds a research data warehouse pulling from multiple source EHRs, UMLS is how disparate local codes get normalized into a single semantic layer.
Cross-vocabulary research. Anyone studying the relationship between, say, MedDRA adverse-event terms and ICD-10-CM diagnoses, or between SNOMED CT clinical findings and HPO phenotypes, almost certainly starts from UMLS.
Translation and multilingual healthcare data. UMLS contains atoms in many languages for many source vocabularies, making it a useful resource for cross-language biomedical work.
The common thread: anywhere a problem requires reasoning about meaning across multiple vocabularies, UMLS is the resource.
How do you get UMLS?
The licensing arrangement is unusual and worth understanding properly. UMLS is free, but the path to access has several requirements that matter operationally.
The UMLS Metathesaurus License
You sign one master license — the UMLS Metathesaurus License — that covers the entire Knowledge Source bundle. The process:
Register a free UTS account at
uts.nlm.nih.govAccept the UMLS Metathesaurus License terms
Download the Full Release (or a subset via MetamorphoSys)
The license itself is free. There are no fees, no per-user pricing, no royalty obligations.
The annual usage report (don't miss this)
The one operational gotcha: licensees are required to file an annual usage report each January describing how UMLS was used in the prior calendar year. Miss this and your license terminates.
For organizations integrating UMLS into a product, the annual report should be treated like a SOC-2-style control: ownership assigned, calendar reminders set, the report drafted and filed every January without fail. The NLM is reasonable about what the report needs to contain, but they enforce the filing requirement.
Source-level restrictions
Here's where it gets nuanced. UMLS aggregates 190 source vocabularies, and the source vocabularies have different licensing terms. The UMLS license categorizes them into levels:
Level 0 sources — no usage restrictions beyond the UMLS license itself (NLM-curated sources like RxNorm and MeSH, public-domain sources like ICD-10-CM, and open-licensed sources like NCI Thesaurus and HPO).
Higher-restriction sources — additional terms apply. SNOMED CT is governed by the SNOMED CT Affiliate License (Appendix 2 of the UMLS license; free in the U.S. but with usage reporting). CPT, CDT, and several others retain their proprietary licensing through their owning organizations — you can use them for research under the UMLS license, but commercial production use requires a separate license direct from the owner.
For most product builders, the practical workflow is:
Start with the full UMLS release for research and design work.
Use MetamorphoSys to build a subset containing only the source vocabularies you actually need.
Track which sources are Level 0 vs. restricted, and obtain direct commercial licenses (AMA for CPT, ADA for CDT, etc.) for production use.
NLM also publishes a precomputed Level 0 subset for users who want a fully unrestricted slice.
The UMLS REST API
For lookups rather than bulk downloads, the UMLS REST API at documentation.uts.nlm.nih.gov/rest/home.html is free with a UTS account. It supports search, CUI lookup, source-specific queries, semantic type filtering, and content views. For prototyping or low-volume integration, the API alone may be sufficient.
Third-party tooling
Because UMLS has been around for decades and is foundational to biomedical informatics, the surrounding ecosystem is mature:
MetaMap and MetaMap Lite — NLM's own tools for mapping free text to UMLS concepts. Free.
cTAKES (Clinical Text Analysis and Knowledge Extraction System) — open-source Apache project for clinical NLP, UMLS-aware.
QuickUMLS — a fast Python library for UMLS concept extraction from text.
scispaCy — spaCy models for biomedical NLP that integrate UMLS.
MedCAT (Medical Concept Annotation Toolkit) — open-source library for biomedical concept annotation.
VSAC (Value Set Authority Center) — the NLM's value set repository, UMLS-based. Free with UTS account.
Commercial terminology platforms — Apelon DTS, Wolters Kluwer Health Language, Intelligent Medical Objects (IMO) — built on UMLS or UMLS-equivalent infrastructure.
Cloud platforms — Google Cloud Healthcare API, AWS Comprehend Medical, Microsoft Azure Text Analytics for Health — all incorporate UMLS-derived concept extraction.
For most teams building new systems, the practical stack is: load the relevant UMLS subset into PostgreSQL, use a clinical NLP library (cTAKES, scispaCy, MedCAT, or QuickUMLS) for concept extraction, and call the REST API for ad-hoc lookups.
How does UMLS connect to other vocabularies?
This section is structured a little differently from the other posts in the series — because UMLS doesn't have crosswalks to other vocabularies the way SNOMED has a map to ICD-10-CM. UMLS is the crosswalk infrastructure. The question to ask is: how does each major vocabulary appear inside UMLS?
SNOMED CT in UMLS
Source abbreviation SNOMEDCT_US. The U.S. Edition of SNOMED CT is incorporated in full, including the SNOMED CT to ICD-10-CM Map. SNOMED CT atoms account for a large share of all atoms in the Metathesaurus. Because SNOMED CT is also distributed natively in RF2, UMLS is most useful as a way to align SNOMED CT with other vocabularies — once you have SNOMED CT and ICD-10-CM atoms attached to the same CUI, you've effectively learned that those codes mean the same clinical concept.
ICD-10-CM and ICD-10-PCS in UMLS
Source abbreviations ICD10CM and ICD10PCS. Both are incorporated in full. Because they're freely available, you can also get them from CMS or CDC NCHS directly — UMLS's value is in alignment with other vocabularies.
LOINC in UMLS
Source abbreviation LNC. LOINC is incorporated in full. The CUI-level integration is what makes it possible, for example, to align a LOINC lab observation with a SNOMED CT clinical finding (and with the new LOINC Ontology, the alignment is becoming richer over time).
RxNorm in UMLS
Source abbreviation RXNORM. RxNorm is incorporated in full and is itself a child of the UMLS family — the two are maintained by the same group at NLM and use the same file format (RRF). For most drug-related cross-vocabulary work, you can stay entirely within RxNorm. UMLS becomes valuable when you need to bridge drugs to other clinical concepts (drugs ↔ indications, drugs ↔ adverse events, drugs ↔ MeSH literature topics).
CPT in UMLS
Source abbreviation CPT. CPT is incorporated, but as noted in the licensing section, commercial use of CPT content requires a direct AMA license regardless of UMLS membership. Use UMLS for research and internal mapping; license CPT directly from AMA for any production or external-facing product.
MedDRA in UMLS
Source abbreviation MDR. MedDRA is incorporated. As with CPT, commercial use of MedDRA content requires a direct subscription to MSSO. UMLS membership doesn't grant industry-tier MedDRA rights.
MeSH in UMLS
Source abbreviation MSH. MeSH is incorporated in full and is one of the original "founder" vocabularies of UMLS (since MeSH is also an NLM product). MeSH is essential for connecting clinical concepts to PubMed literature.
NCI Thesaurus in UMLS
Source abbreviation NCI. NCI Thesaurus is incorporated in full. Because NCIt is openly licensed (CC-BY 4.0), it's a strong candidate for default content when building cross-vocabulary systems — particularly in oncology.
HPO, MONDO, GO, ICD-O, and the genomics ecosystem
Source abbreviations HPO, MONDO, GO, ICDO3, and friends. All are incorporated. UMLS is the bridge between the clinical world (SNOMED, ICD, LOINC, RxNorm) and the genomics/rare-disease world (HPO, MONDO, OMIM, GO, ClinVar). This bridge is particularly important for precision medicine and rare-disease diagnostics.
And about 180 more
The full list of UMLS source vocabularies is published at nlm.nih.gov/research/umls/sourcereleasedocs/. Every release of UMLS adds or updates source vocabularies; the document set tells you exactly what's in scope.
Wrapping up
UMLS is the answer to the question every other vocabulary in this series implicitly raises. SNOMED, CPT, ICD, LOINC, RxNorm — each describes healthcare from its own angle. UMLS is what makes them computable as a single, integrated semantic layer.
If you're learning U.S. healthcare data, the key things to take away about UMLS:
UMLS is a meta-vocabulary, not a vocabulary. It integrates ~190 source vocabularies into ~3.45M Concept Unique Identifiers.
The CUI is the central abstraction. Two atoms with the same CUI mean the same thing, regardless of source.
The three Knowledge Sources work together — Metathesaurus for concepts, Semantic Network for typing, SPECIALIST Lexicon for text normalization.
Two releases per year — AA (May) and AB (November).
Free, but with a real license. UTS account, UMLS Metathesaurus License, annual usage report each January (non-negotiable), and source-level restrictions on top.
It's the substrate of clinical NLP and biomedical AI. Nearly every clinical NLP system in academic literature uses UMLS.
For an NLM project launched almost forty years ago to integrate scattered biomedical vocabularies, UMLS has become quietly indispensable. It's the connective tissue of biomedical informatics — and as healthcare AI matures, its strategic importance is only growing.
Welcome to the world of integrated biomedical meaning. Once you've spent some time with CUIs, every other vocabulary starts to feel like a view onto the same underlying reality. Which, of course, is exactly what Donald Lindberg had in mind.
