Health data standards

RxNorm vs ATC: the two medication code systems, US and international, compared

RxNorm names clinical drugs down to strength and form for US systems; ATC classifies active substances by organ and therapeutic group for international statistics and exchange. How each is built, examples for metformin and warfarin, and how to use them together in FHIR.

by Published 2 min read

Short answer: RxNorm, maintained by the US National Library of Medicine, gives normalised names and identifiers (RxCUI) to clinical drugs: ingredient, strength and dose form, linking the names used by different drug databases in the US. ATC (Anatomical Therapeutic Chemical classification), maintained by the WHO Collaborating Centre in Oslo, classifies active substances in five levels by the organ they act on and their therapeutic, pharmacological and chemical group. Metformin is RxCUI 6809 (ingredient) and ATC A10BA02.

How ATC is built

Five levels, read left to right:

  • A: alimentary tract and metabolism (1st level, anatomical group).
  • A10: drugs used in diabetes (therapeutic subgroup).
  • A10B: blood glucose lowering drugs, excluding insulins.
  • A10BA: biguanides.
  • A10BA02: metformin (the substance).

Warfarin is B01AA03; enalapril C09AA02. ATC identifies the substance, not the product, strength or brand.

How RxNorm differs

RxNorm has concepts at several levels: ingredient (metformin), clinical drug (metformin 500 mg oral tablet), branded drug, and packs, with relationships between them. It is the standard for medications in US exchange; outside the US, national product databases and ATC are more common, and the EU is building common product identifiers.

In FHIR, a medication's code is a CodeableConcept that can carry both: an RxNorm coding (http://www.nlm.nih.gov/research/umls/rxnorm) and an ATC coding (http://www.whocc.no/atc). See CodeableConcept and Coding.

In Anpheros

Anpheros codes medicines in ATC, which works across countries, and keeps the name on the box as text. See the medication tracker and, for developers, medication data for AI agents.

Sources

Frequently asked questions

What is the difference between RxNorm and ATC?

RxNorm identifies clinical drugs (ingredient, strength, form) in the US; ATC classifies active substances by therapeutic group internationally.

What is the ATC code for metformin?

A10BA02.

Does ATC include the strength?

No. ATC identifies the substance; strength and form come from product data or RxNorm.

Can a FHIR medication have both codes?

Yes. A CodeableConcept can carry RxNorm and ATC codings together.

Anpheros Platform

Try it free in the sandbox

Your first FHIR call in 5 minutes. An HL7 FHIR R4 API with the patient's consent built in: try it in the sandbox, then connect your own app or clinic system.

Free · 30 synthetic patients · no card

This guide is for information and does not replace medical advice. For decisions about your health, talk to your doctor. In an emergency, call your local emergency number (112 in Europe).
Written by
The Anpheros team

Anpheros builds a medical record that the patient controls and can share with any clinic, on an HL7 FHIR R4 platform, based in the EU. These guides help you understand and organise your health; they do not replace your doctor.

About Anpheros →
Anpheros

The more you log, the clearer your record

Your health history in one place, under your control.

Symptom diaryPatterns show over time
Emergency cardQR in your phone's Wallet
All your resultsLabs and reports together
You decideWho sees what, and for how long
Create your free account

Free · Works in your browser · No card