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.
Related pages
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.
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

The more you log, the clearer your record
Your health history in one place, under your control.
Free · Works in your browser · No card
