Reference/RxNorm

What is RxNorm?

RxNorm is a standardized nomenclature for clinical drugs produced by the U.S. National Library of Medicine (NLM). It provides normalized names and unique identifiers — called RxCUIs — that allow different drug databases, EHR systems, and pharmacy systems to communicate without ambiguity.

Maintained by

NLM / NIH

Updated

Weekly

Identifier

RXCUI (integer)

Coverage

~100K+ concepts

The RXCUI

Every concept in RxNorm — ingredients, drug forms, specific strengths, brand names — is assigned an integer identifier called an RXCUI (RxNorm Concept Unique Identifier). RxCUIs are stable: once assigned, an RXCUI is never reused for a different concept, even if the original concept is retired.

-- Atorvastatin 10 MG Oral Tablet
RXCUI: 617314-- TTY = SCD

Term Types (TTY)

Each RxNorm concept has a term type (TTY) that defines its level in the drug hierarchy. The most analytically useful types are SCD (generic drug + strength) and SBD (branded version).

TTYName
INIngredient
MINMultiple Ingredients
PINPrecise Ingredient
BNBrand Name
SCDFSemantic Clinical Drug Form
SCDSemantic Clinical Drug
SBDSemantic Branded Drug
GPCKGeneric Pack
BPCKBrand Pack

SCD and SBD rows are highlighted — these are the primary identifiers for drug analytics.

The Drug Concept Hierarchy

RxNorm organizes drug concepts in a directed hierarchy from ingredient through clinical drug form to specific strength. This hierarchy is what makes RxNorm useful for cross-system aggregation: you can roll up NDCs (individual packages) all the way to a single ingredient concept.

INatorvastatin
SCDFatorvastatin oral
SCD / SBDatorvastatin 10 mg oral tablet
NDC00071021340
TTYRXCUIName
IN83367Atorvastatin
SCDF310193Atorvastatin Oral Product
SCD617314Atorvastatin 10 MG Oral Tablet
SCD617318Atorvastatin 20 MG Oral Tablet
SCD617320Atorvastatin 40 MG Oral Tablet
SBD617321Lipitor 10 MG Oral Tablet

Note that a single ingredient (RXCUI 83367) maps to one SCDF, which maps to multiple SCDs at different strengths. All branded products (SBD) link back to a corresponding generic SCD.

Why RxNorm Matters for Data Analytics

Cross-system normalization

Claims data, EHR data, and pharmacy data each use different drug identifiers. RxNorm provides a common concept layer. An NDC from a Medicaid claim can be mapped to an RXCUI, which can then be joined to clinical enrichment data, pricing benchmarks, or ATC classifications.

Ingredient-level roll-up

Analyzing spend or utilization at the ingredient level requires collapsing hundreds of NDCs (different strengths, packages, manufacturers) into a single concept. The SCD → SCDF → IN hierarchy makes this straightforward.

Generic/brand distinction

SCD is the generic concept; SBD is the branded equivalent. This relationship is explicit in RxNorm, making generic substitution analysis deterministic — no fuzzy matching required.

Stable identifiers

RxCUIs are persistent. Unlike NDCs (which can be reassigned to different drugs) or drug names (which vary by source), an RXCUI assigned to a concept remains valid indefinitely, even after a drug is retired.

Sample Data — drug_detail Table

Below is a representative sample from the TwinFyRx drug_detail table, showing how RxNorm concepts are stored with drug_id (RXCUI), term type, ingredient, and generic/brand classification.

drug_iddrug_nametty
617314Atorvastatin 10 MG Oral TabletSCD
617318Atorvastatin 20 MG Oral TabletSCD
617321Lipitor 10 MG Oral TabletSBD
197361Amlodipine 5 MG Oral TabletSCD
314077Lisinopril 10 MG Oral TabletSCD
860975Metformin 500 MG Oral TabletSCD
213169Glucophage 500 MG Oral TabletSBD
311700Omeprazole 20 MG Delayed Release Oral CapsuleSCD
352304Duloxetine 30 MG Delayed Release Oral CapsuleSCD
1049640Eliquis 5 MG Oral TabletSBD
310429Levothyroxine 50 MCG Oral TabletSCD
856845Gabapentin 300 MG Oral CapsuleSCD

12 rows from the TwinFyRx drug_detail table. SBD (branded) rows highlighted. Full dataset contains 2,500+ SCD/SBD concepts. Download a free sample.

How TwinFyRx uses RxNorm

TwinFyRx is built on the full RxNorm release as its foundation layer. Every drug concept in the platform — including ICD-10 mappings, ATC classifications, NADAC pricing, and suspecting rules — is anchored to an RXCUI. The primary analytical key is drug_id (SCD/SBD RXCUI), with clinical_drug_form_rxcui (SCDF) as the join point for enrichment layers.

View the data model →