Using the RxNorm System


  • Michelle Smerek (Duke Clinical Research Institute, Durham, NC)
  • Jonathan McCall, MS

Tools for Research
The National Library of Medicine’s  RxNorm is a free, publicly available resource that provides “normalized” names for brand-name and generic drugs and supplies a unique identifier for each entity that makes it possible to clearly identify a given drug. In this research tool, we offer an overview of RxNorm and explore the application of a number of its associated tools in the research setting.

In this tool:


[Back to top]

RxNorm is a national initiative created by the National Library of Medicine (NLM). Its purpose is to provide a single system for unambiguously identifying brand-name and generic drugs. RxNorm emerged as a response to the proliferation of drug identification and classification systems among hospitals, clinics, pharmacies, health systems, manufacturers, and payers—all of which might use an array of different names for the same drug, making it difficult to extract meaningful information and communicate across different systems and databases.

RxNorm, which is free and fully open to public access, provides a “normalized” name for each brand-name or generic drug, plus a unique identifier that makes it possible to clearly identify a given drug. RxNorm contains information for drugs only; it does not include dietary supplements, medical devices, radioactive agents, or food items. RxNorm is part of the National Library of Medicine’s Unified Medical Language System (UMLS).

Table 1. Terminology Sources for RxNorm

SourceSource Abbreviation (SAB)
Anatomical Therapeutic Chemical Classification SystemATC
Gold Standard Drug DatabaseGS
Medi-Span Master Drug DatabaseMDDB
Medical Subject Headings (MeSH)MSH
Multum MediSource LexiconMMSL
Micromedex Red Book CMS Formulary Reference File
CMS Formulary Reference FileMTHCMSFRF
National Drug Code DirectoryMTHFDA
FDA Structured Product LabelsMTHSPL
FDB MedKnowledge (formerly NDDF Plus)NDDF
National Drug File - Reference Terminology Source InformationNDFRT
US Edition of SNOMED CT (drug information)SNOMEDCT_US
VA National FormularyVANDF

RxNorm is particularly important because it allows information about medications to be exchanged across electronic health records (EHRs). In fact, the Office of the National Coordinator designated use of RxNorm as a criterion for EHR certification of interoperability and Stage 2 Meaningful Use.

The RxNav Browser

[Back to top]

One method of interacting with the content within RxNorm is the RxNav browser, which can be used to search for different drug attributes across multiple classification systems.

Concept Unique Identifier (RxCUI)

[Back to top]

A key component of RxNorm is the Concept Unique Identifier (RxCUI). The RxCUI is a unique, unambiguous identifier that is assigned to an individual drug entity in RxNorm and used to relate to all things associated with that drug.

Screen capture showing an example of a simple .txt file containing a list of RxCUIs for upload.
Example of a simple .txt file containing a list of RxCUIs for upload.

The RxCUI is used to link one entity in RxNorm to every other entity it’s related to, such as name to ingredient to class.

This diagram depicts the relationships between some of the most fundamental RxNorm concepts: drug name, drug ingredient, and drug class. Drug names are linked to the drug ingredients they contain, and it is these drug ingredients that are grouped into drug classes.
This diagram depicts the relationships between some fundamental RxNorm concepts: drug name, drug ingredient, and drug class. Drug names are linked to the drug ingredients they contain, and it is these drug ingredients that are grouped into drug classes.

RxNorm Users

RxNorm is designed to be used by Investigators, statisticians, data managers, and other clinical trial personnel.

RxNorm-Associated Tools

[Back to top]


RxClass is a web application that allows users to explore and navigate drug class hierarchies in order to find RxNorm drugs associated with each class. RxClass links drug classes as described by a number of different sources (including ATC, MeSH, NDF-RT, and FDA/SPL) to their RxNorm drug elements, including ingredients, precise ingredients, and multiple ingredients.
The tool also allows users to search by class name or identifier to find the relevant RxNorm drug members or to search by RxNorm drug name or identifier to find the classes that the RxNorm drug belongs to.

Screen capture showing an example of the RxClass tool dsplaying results for "beta blocking agents."
Screen capture showing an example of the RxClass tool displaying results for “beta blocking agents.”


RxMix is a web application that allows users to construct programs for exploring RxNorm functions available via the RxNorm application programming interface (API), using a graphical user interface (GUI) tool that eliminates the need to write computer programming code. RxMix offers users the ability to test and run programs instantaneously or in batch mode, with resulting files automatically emailed to the user.

Screen capture of RxMix user interface. Linked to RxMix website.
RxMix user interface. Available at:

RxMix: Example Query

[Back to top]

The schematic below shows an example data manager query of the sort that a user might run using the RxMix tool. In this situation, the user has a list of RxCUIs and wants to know which class or classes these RxCUIs belong to:

Schematic of an example data manager query in RxMix
Example query in RxMix

In the first step (1), the user opens RxMix and selects the function “getClassByRxNormDrugID” from the menu available under “Build.”

Screen capture showing selection of "getClassByRxNormDrugID" function from the "Build" menu.
RxMix query – step 1.

Next, the user selects the  source of drug-class relationships to use (2). Depending on the drug-class source selected, the user may then need to choose the TYPE of drug-class relationship for which to query (3). The source NDFRT (shown below) offers several relationship types including: “has mechanism of action,” “may diagnose,” “may treat,” “may prevent,” and “has physiologic effect.”

Screen capture showing step 2 - selecting source of drug-class relationships
RxMix query – steps 2 and 3.

The user then adds the selected parameters to the workflow and selects batch mode (4); enters email address for file delivery (5); enters or uploads the RxCUIs (6); and selects the desired fields to include in output file and the desired file format (table, xml, json, text) (7).

RxMix query - step 4
RxMix query – steps 4-7

The resulting query output is then shown:

Screen capture showing output in table format for RxMix query
Example query output for RxMix (table output).


Additional Information

[Back to top]

Additional guidance on using RxNav, including video tutorials for RxMix, are available on the RxNav website.

A video demonstration of the RxNorm system (approximate duration: 1 hour)  is also available via the NIH Collaboratory  here.

This content was originally developed as part of a special topic assessment for the National Patient-Centered Clinical Research Network( PCORnet), and presented during the PCORnet Common Data Model (CDM) v3.0 Stakeholder meetings on April 28th and 29th, 2015.

This research tool originally published on October 26, 2015

  • Questions or comments about Rethinking Clinical Trials can be submitted via email. Please add “Living Textbook” to the Subject line of the email.
  • Follow the NIH Collaboratory on Twitter!