RxNorm
The US normalised drug vocabulary — how it turns a thousand ways of naming the same medicine into one identifier, and why 'the same drug' is a harder question than it looks.
In one line
RxNorm is the US National Library of Medicine's normalised naming system for clinical
drugs — the thing that lets a system know that Tylenol 500 mg, acetaminophen 500 mg tablet,
and some hospital's ACETAMIN500TAB are all the same medicine.
The problem it solves
Drug naming is a swamp, and every field in it is a different swamp:
- Brand vs generic. Tylenol, Panadol, Crocin, Calpol — all paracetamol/acetaminophen.
- The same molecule, two names. Paracetamol in India and the UK; acetaminophen in the US. Same drug. Different word. Systems that match on strings simply fail here.
- Local codes. Every hospital has its own pharmacy identifiers, invented by whoever built the formulary.
- Packaging. The manufacturer's product code changes when the box changes, even though the medicine didn't.
Now try to answer a question that actually matters: is this patient on two things that interact? If your prescription says "Crocin" and your allergy list says "acetaminophen", a string comparison says no. The patient says otherwise.
RxNorm exists so that question has a computable answer.
The idea: normalise to a concept
RxNorm assigns an RXCUI — a concept identifier — and relates the many names to it. The key insight is that "a drug" isn't one thing; it's a stack of increasingly specific ideas:
Ingredient acetaminophen
↓
Clinical Drug Component acetaminophen 500 MG
↓
Clinical Drug Form acetaminophen Oral Tablet
↓
Clinical Drug (SCD) acetaminophen 500 MG Oral Tablet
↓
Branded Drug (SBD) acetaminophen 500 MG Oral Tablet [Tylenol]
Which level you want depends entirely on the question:
- Allergy or interaction checking? You care about the ingredient. The brand is noise.
- Prescribing? You want the clinical drug — molecule, strength, form.
- Dispensing / inventory? You're down at the branded drug or the packaged product.
Most drug-data bugs are a level error: code that checks interactions at the branded level and misses the generic, or a formulary that matches ingredients and cheerfully substitutes a different strength.
Where it fits with its neighbours
- NDC — the US package identifier. Commercial, granular, changes with packaging. RxNorm maps to it.
- ATC — WHO's therapeutic classification. Answers "what class of drug is this?" rather than "which exact product?"
- SNOMED CT — has drug concepts too, and RxNorm relates to them. Which you use is usually decided by your jurisdiction and your FHIR profile, not by preference.
- FHIR —
Medication,MedicationRequest,MedicationStatementtypically carry RxNorm codings in US-realm profiles.
Rule of thumb: RxNorm for "what is this drug", ATC for "what kind of drug", NDC for "which box".
The honest caveats
It's US-centric. RxNorm covers drugs available in the United States. It is not a world formulary. Indian brands, dose forms and fixed-dose combinations that never reached the US market are simply absent — and India's FDC-heavy market makes that gap wider than newcomers expect. Do not assume you can normalise an Indian prescription through RxNorm and be done.
Free, and genuinely so. RxNorm is public, from the NLM, with an API (RxNav) you can query today. That's a pleasant contrast with CPT, and the reason drug tooling is easier to build than billing tooling.
Normalisation isn't clinical judgement. RxNorm can tell you two orders share an ingredient. Whether that's a duplicate, a deliberate taper, or a genuine hazard is a decision the system should surface to a human — not resolve on their behalf.
संदर्भ
संबंधित entries
SNOMED CT®, LOINC®, ICD और अन्य terminologies अपने-अपने स्वामियों की संपत्ति हैं और लाइसेंस के अंतर्गत केवल शिक्षा के लिए दिखाई गई हैं। लाइसेंस और attributions