RxNav

RxNorm RESTful Web API User's Guide

updated: 2/21/2012
Lister Hill Center

The RxNorm RESTful API is a web service for accessing the current RxNorm data set.

Useful links:

Introduction

This document details the RxNorm RESTful web API, an alternative web service developed at the National Library of Medicine for the RxNorm data from the previously released SOAP-based RxNorm API web services. Representational state transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. REST-style architectures consist of clients and servers. Clients initiate requests to servers; servers process requests and return appropriate responses. Requests and responses are built around the transfer of "representations" of "resources". A resource can be essentially any coherent and meaningful concept that may be addressed. A representation of a resource is typically a document that captures the current or intended state of a resource.

The RxNorm RESTful web API is a simple web service implemented using HTTP and can be thought of as a collection of resources, specified as URIs. Some characteristics of the RxNorm RESTful web API:

This document will define the valid resources for the RxNorm RESTful web API and provide the representations of the responses to these resource requests. Examples will be present throughout this document to provide a greater understanding of these interactions.

Clients

Clients of the RxNorm RESTful web API can be browsers, such as Internet Explorer or Firefox, or programs such as the Unix/Linux curl command, or user developed clients. For example, the Unix/Linux curl command could be used to get the RxNorm version:
curl http://rxnav.nlm.nih.gov/REST/version
(returns)
<?xml  version="1.0" encoding="UTF-8" standalone="yes"?><rxnormdata><version>02-Aug-2010;18-Aug-2010</version></rxnormdata>
Notice that the data returned from the RxNorm RESTful web API is in XML format. The curl command takes a URL as part of its command sequence. The string http://rxnav.nlm.nih.gov/REST/version is a RxNorm RESTful web API resource. The Resources section details the RxNorm RESTful web API resources available to clients.

Clients to the RxNorm RESTful web API provide resource names in the form of URIs to receive data about the resources. Currently, the RxNorm API RESTful web services return the data in XML form as the default. The API can also return the data in JSON and plain text format. Here is the curl command, modified from above, to return the RxNorm version in JSON format:

 curl -H "Accept:application/json" http://rxnav.nlm.nih.gov/REST/version
(returns)
{"version":"03-Jan-2012;11-Jan-2012"}

Here is the curl command to return the RxNorm version in plain text format:

 curl -H "Accept:text/plain" http://rxnav.nlm.nih.gov/REST/version
(returns)
03-Jan-2012;11-Jan-2012
Below is a client program in perl to get the data in JSON or XML format.

#!/usr/bin/env perl
# test the RESTful services for RxNorm
use strict;
use warnings;
use REST::Client;
use XML::Simple;
use JSON;

# set to 1 for JSON output
my $USE_JSON = 1;

# set to the base URI for the RxNorm resources
my $URL_BASE = 'http://rxnav.nlm.nih.gov/REST';

# REST client
my $client = REST::Client->new();
# headers for JSON
my $headers = $USE_JSON ? {Accept => 'application/json'} : {};

foreach my $resource (<>) {
        my $url = $URL_BASE . $resource;
        $client->GET($url, $headers);
        my $res = $client->responseContent();

        printf "%s\n", $url;
        printf "%s\n", $USE_JSON ? format_json($res) : format_xml($res);
        printf "%s\n", '-' x 40;
}

sub format_xml {
        my $xml_in = shift;

        my ($xml_declaration) = $xml_in =~ /^(\<\?.+\?\>)/o;
        my ($root_name) = $xml_in =~ /\<\/(\w+)\>$/o;
        my $ref = XMLin($xml_in);
        my $xml_out = XMLout($ref, XMLDecl => $xml_declaration, RootName => $root_name );

        return $xml_out;
}

sub format_json {
        my $json_in = shift;

        my $json = JSON->new();
        my $ref = $json->decode($json_in);
        my $json_out = $json->pretty->encode($ref);

        return $json_out;
}

Resources

This section describes the resources of the RxNorm RESTful Web API. For users familiar with the SOAP-based RxNorm API, Table 1 lists the mapping between resources of the RxNorm RESTful web API and the SOAP-based RxNorm API functions. Note that for readability, the base URI has been omitted from the table, so for example the table contains "/version" instead of http://rxnav.nlm.nih.gov/REST/version. In addition, the text in italics indicates a user provided value. The notation {rxcui} indicates that an actual value of an RxCUI is needed.

Table 1 - Mapping of RxNorm API RESTful resources and SOAP-based web services
RESTful web service resourceSOAP-based web service function
/(none)
/allconcepts?tty=valuesgetAllConceptsByTTY
/approx?term=valueapproxMatch
/approxMatch/{term}   DEPRECATEDapproxMatch
/brands?ingredientids=valuegetMultiIngredBrand
/displaynamesgetDisplayTerms
/drugs?name=valuegetDrugs
/idtypesgetIdTypes
/propnamesgetPropNames
/propCategoriesgetPropCategories
/relatypesgetRelaTypes
/remap/{rxcui}findRemapped
/rxcui?idtype=value&id=value&allsrc=valuefindRxcuiById
/rxcui?name=value&srclist=value&allsrc=value&search=valuefindRxcuiByString
/rxcui/{rxcui}(none)
/rxcui/{rxcui}/allProperties?prop=valuesgetAllProperties
/rxcui/{rxcui}/allrelatedgetAllRelatedInfo
/rxcui/{rxcui}/ndcsgetNDCs
/rxcui/{rxcui}/propertiesgetRxConceptProperties
/rxcui/{rxcui}/proprietary?srclist=values&ticket=value&rxaui=valuegetProprietaryInformation
/rxcui/{rxcui}/quantitygetQuantity
/rxcui/{rxcui}/related?rela=valuesgetRelatedByRelationship
/rxcui/{rxcui}/related?tty=valuesgetRelatedByType
/rxcui/{rxcui}/splsetidgetSplSetId
/rxcui/{rxcui}/statusgetRxcuiStatus
/rxcui/{rxcui}/strengthgetStrength
/rxcui/{rxcui}/uniigetUNII
/sourcetypesgetSourceTypes
/spellingsuggestions?name=valuegetSpellingSuggestions
/termtypesgetTermTypes
/versiongetRxNormVersion

Resource "/"

The base URI displays the RxNorm RESTful web API resources available to the user.

Example

http://rxnav.nlm.nih.gov/REST/

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <resourceList>
    <resource>http://rxnav.nlm.nih.gov/REST/version</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/displaynames</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/idtypes</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/relatypes</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/termtypes>/resource>
    <resource>http://rxnav.nlm.nih.gov/REST/brands?ingredientids=yourIngredientIdsList</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/drugs?name=yourName</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/remap/{rxcui}</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui?name=yourName&srclist=yourSources&allsrc=0or1&search=0or1or2</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui?idtype=yourIdtype&id=yourId&allsrc=0or1</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/spellingsuggestions?name=yourName</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/properties</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/ndcs</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/quantity</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/splsetid</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/status</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/strength</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/unii</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/allrelated</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/proprietary?srclist=yourList&ticket=yourTicket&rxaui=yourRxaui</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/related?tty=yourTTYs</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/rxcui/{rxcui}/related?rela=yourRelas</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/approx?term=yourTerm</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/allconcepts?tty=yourTTYs</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/propCategories</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/propnames</resource>
    <resource>http://rxnav.nlm.nih.gov/REST/allProperties?prop=yourPropCategories</resource>
 </resourceList>
</rxnormdata>

Resource "/allconcepts?tty=values"

Return concept information for specified term types.

Query String Fields

tty - a list of one or more RxNorm term types. This field is required. See the /termtypes example for the valid term types.

Example

http://rxnav.nlm.nih.gov/REST/allconcepts?tty=BN

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <minConceptGroup>
    <minConcept>
      <rxcui>1000002</rxcui>
      <name>Tribenzor 40/5/25</name>
      <tty>BN</tty>
    </minConcept>
    <minConcept>
      <rxcui>1000016</rxcui>
      <name>Uritact</name>
      <tty>BN</tty>
    </minConcept>
    <minConcept>
      <rxcui>1000018</rxcui>
      <name>Xeomin </name>
      <tty>BN</tty>
    </minConcept>

    (many more ...)

  </minConceptGroup>
</rxnormdata>

Resource "/approx?term=value"

Do an approximate match search to determine the strings in the data set that most closely match the search string. approximate match algorithm details.

Query String Fields

term - the search string

Example

http://rxnav.nlm.nih.gov/REST/approx?term=zocor%2020%20mg%20oral

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <approxGroup>
    <inputTerm>zocor 20 mg oral</inputTerm>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>786240</rxaui>
      <score>80</score>
      <rank>1</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>786239</rxaui>
      <score>80</score>
      <rank>1</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>786236</rxaui>
      <score>67</score>
      <rank>3</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2303571</rxaui>
      <score>67</score>
      <rank>3</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2996293</rxaui>
      <score>60</score>
      <rank>5</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2651387</rxaui>
      <score>60</score>
      <rank>5</rank>
    </candidate>
    <candidate>
      <rxcui>563654</rxcui>
      <rxaui>2278987</rxaui>
      <score>60</score>
      <rank>5</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2519409</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2519407</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2519408</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>213319</rxcui>
      <rxaui>1170597</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>213319</rxcui>
      <rxaui>1170598</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2519401</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2519406</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2519405</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2519404</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2519403</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>104491</rxcui>
      <rxaui>2980642</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>208220</rxcui>
      <rxaui>1158238</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
    <candidate>
      <rxcui>104490</rxcui>
      <rxaui>786235</rxaui>
      <score>50</score>
      <rank>8</rank>
    </candidate>
  </approxGroup>
</rxnormdata>

Resource "/approxMatch/{term}"

This function is deprecated, replaced by /approx.

Resource "/brands?ingredientids=values"

Get the brands that contain all the specified ingredients. Note that the brands returned may contain other ingredients in addition to those specified.

Query String Fields

ingredientids - list of ingredient RxCUIs that the returned brands must contain.

Example

http://rxnav.nlm.nih.gov/REST/brands?ingredientids=8896+20610

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <brandGroup>
    <ingredientList>
      <rxnormId>8896</rxnormId>
      <rxnormId>20610</rxnormId>
    </ingredientList>
    <conceptProperties>
      <rxcui>353102</rxcui>
      <name>Zyrtec-D</name>
      <synonym />
      <tty>BN</tty>
      <language>ENG</language>
      <suppress>N</suppress>
      <umlscui>C1170740</umlscui>
    </conceptProperties>
  </brandGroup>
</rxnormdata>

Resource "/displaynames"

Gets the names used by RxNav for auto completion. This is a large list which includes names of ingredients, brands, and branded packs.

Example

http://rxnav.nlm.nih.gov/REST/displaynames

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <displayTermsList>
    <term>1 plus 1 f</term>
    <term>1-octacosanol</term>
     (many more terms)

  </displayTermsList>
</rxnormdata>

Resource "/drugs?name=value"

Get the drug products associated with a specified name. The name can be an ingredient, brand name, clinical dose form, branded dose form, clinical drug component, or branded drug component.

Query String Fields

name - an ingredient, brand, clinical dose form, branded dose form, clinical drug component or branded drug component name

Example

http://rxnav.nlm.nih.gov/REST/drugs?name=cymbalta

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <drugGroup>
    <name>cymbalta</name>
    <conceptGroup>
      <tty>SBD</tty>
      <conceptProperties>
        <rxcui>596932</rxcui>
        <name>duloxetine 30 MG Enteric Coated Capsule [Cymbalta]</name>
        <synonym>Cymbalta 30 MG Enteric Coated Capsule</synonym>
        <tty>SBD</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C1614249</umlscui>
      </conceptProperties>
      <conceptProperties>
        <rxcui>615186</rxcui>
        <name>duloxetine 60 MG Enteric Coated Capsule [Cymbalta]</name>
        <synonym>Cymbalta 60 MG Enteric Coated Capsule</synonym>
        <tty>SBD</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C1624617</umlscui>
      </conceptProperties>
      <conceptProperties>
        <rxcui>596928</rxcui>
        <name>duloxetine 20 MG Enteric Coated Capsule [Cymbalta]</name>
        <synonym>Cymbalta 20 MG Enteric Coated Capsule</synonym>
        <tty>SBD</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C1656295</umlscui>
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>BPCK</tty>
    </conceptGroup>
  </drugGroup>
</rxnormdata>

Resource "/idtypes"

Get the valid identifier types of the RxNorm data set.

Example

http://rxnav.nlm.nih.gov/REST/idtypes

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <idTypeList>
    <idName>AMPID</idName>
    <idName>ANDA</idName>
    <idName>GCN_SEQNO</idName>
    <idName>GFC</idName>
    <idName>GPPC</idName>
    <idName>HIC_SEQN</idName>
    <idName>LISTING_SEQ_NO</idName>
    <idName>MESH</idName>
    <idName>MMSL_CODE</idName>
    <idName>NDA</idName>
    <idName>NDC</idName>
    <idName>NUI</idName>
    <idName>SNOMEDCT</idName>
    <idName>SPL_SET_ID</idName>
    <idName>UMLSCUI</idName>
    <idName>UNII_CODE</idName>
    <idName>VUID</idName>
  </idTypeList>
</rxnormdata>

Resource "/propnames"

Return the valid property names.

Example

http://rxnav.nlm.nih.gov/REST/propnames

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <propNameList>
    <propName>ACTIVATED</propName>
    <propName>ANDA</propName>
    <propName>AVAILABLE_STRENGTH</propName>
    <propName>BN_CARDINALITY</propName>
    <propName>HUMAN_DRUG</propName>
    <propName>IN_EXPRESSED_FLAG</propName>
    <propName>NDA</propName>
    <propName>ORIG_CODE</propName>
    <propName>ORIG_SOURCE</propName>
    <propName>PRESCRIBABLE</propName>
    <propName>QUANTITY</propName>
    <propName>RxCUI</propName>
    <propName>RxNorm Name</propName>
    <propName>RxNorm Synonym</propName>
    <propName>SPL SET ID</propName>
    <propName>STRENGTH</propName>
    <propName>Source</propName>
    <propName>TTY</propName>
    <propName>UMLSCUI</propName>
    <propName>UNII_CODE</propName>
    <propName>VET_DRUG</propName>
  </propNameList>
</rxnormdata>

Resource "/propCategories"

Return the property categories.

Example

http://rxnav.nlm.nih.gov/REST/propCategories

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
<propCategoryList>
<propCategory>ATTRIBUTES</propCategory>
<propCategory>CODES</propCategory>
<propCategory>NAMES</propCategory>
<propCategory>SOURCES</propCategory>
</propCategoryList>
</rxnormdata>

Resource "/relatypes"

Get the relationship names in the RxNorm data set.

Example

http://rxnav.nlm.nih.gov/REST/relatypes

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <relationTypeList>
    <relationType>consists_of</relationType>
    <relationType>constitutes</relationType>
    <relationType>contained_in</relationType>
    <relationType>contains</relationType>
    <relationType>dose_form_of</relationType>
    <relationType>form_of</relationType>
    <relationType>has_dose_form</relationType>
    <relationType>has_form</relationType>
    <relationType>has_ingredient</relationType>
    <relationType>has_ingredients</relationType>
    <relationType>has_part</relationType>
    <relationType>has_precise_ingredient</relationType>
    <relationType>has_quantified_form</relationType>
    <relationType>has_tradename</relationType>
    <relationType>has_doseformgroup</relationType>
    <relationType>ingredient_of</relationType>
    <relationType>ingredients_of</relationType>
    <relationType>inverse_isa</relationType>
    <relationType>isa</relationType>
    <relationType>part_of</relationType>
    <relationType>precise_ingredient_of</relationType>
    <relationType>quantified_form_of</relationType>
    <relationType>reformulated_to</relationType>
    <relationType>reformulation_of</relationType>
    <relationType>tradename_of</relationType>
    <relationType>doseformgroup_of</relationType>
  </relationTypeList>
</rxnormdata>

Resource "/remap/{rxcui}"

This resource to be deprecated. Use "/rxcui/{rxcui}/status" instead. Find the remapped concepts from an obsolete concept.

Example

http://rxnav.nlm.nih.gov/REST/remap/105048

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <remapGroup>
    <rxcui>105048</rxcui>
    <remappedToRxcui>849389</remappedToRxcui>
    <remappedToRxcui>849394</remappedToRxcui>
  </remapGroup>
</rxnormdata>

Resource "/rxcui?idtype=value&id=value&allsrc=value"

Search for an identifier from another vocabulary and return the RxCUIs of any concepts which have an RxNorm term as a synonym or have that identifier as an attribute. See the /idtypes example for the valid types.

Query String Fields

idType - the identifier type. Valid types are listed in the table below:

idType Example Id Details
AMPID 2050 the Gold Standard Drug Identifier from Gold Standard Drug Database (SAB:GS)
ANDA ANDA007581 the FDA Abbreviated New Drug Application identifier
GCN_SEQNO 009172 the Generic Code Sequence Number from First Databank Inc (SAB:NDDF)
GFC 108077 the Generic Formula Code (GFC) from Micromedex RED BOOK (SAB:MMX)
GPPC 14559 the first five characters of the Generic Product Packaging Code from Master Drug Data Base (SAB:MDDB). Medi-Span, a division of Wolters Kluwer Health
HIC_SEQN 004489 the ingredient identifier from First Databank Inc (SAB:NDDF)
LISTING_SEQ_NO 203855 the FDA generated unique identification number for each product from FDA National Drug Code Directory (SAB:MTHFDA)
MESH D000212 a Subject Medical Headings (MeSH) identifier from the National Library of Medicine (SAB:MSH).
MMSL_CODE CD1001 a derived identifier that combines the Term type (TTY) and the Multum Mediasource Lexicon (SAB:MMSL) numeric code. First two letters represent the term type: BD, BN, CD, GN or IN.
NDA NDA021400 the FDA New Drug Application identifier
NDC 00378802505 the National Drug Code (NDC) from the National Drug Code Directory
NUI N0000148200 the National Drug File Reference Terminology unique identifier (SAB:NDFRT)
SNOMEDCT 1039008 the SNOMED CT concept identifier from SNOMED Clinical Terms drug information (SAB:SNOMEDCT). SNOMED International
SPL_SET_ID 1C5BC1DD-E9EC-44C1-9281-67AD482315D9 the FDA Structured Product Label Set Identifier
UMLSCUI C0000266 the Unified Medical Language System (UMLS) Concept Unique Identifier
UNII_CODE LVX8N1UT73 the FDA Unique Ingredient Identifier Code.
VUID 4021359 the Veterans Health Administration Unique Identifier from the Veterans Health Administration National Drug File (SAB:VANDF)

id - the identifier

allsrc - an optional field indicating whether all RxCUIs are to be returned. If set to 1, all non-suppressed RxCUIs will be returned, including those which contain no terms from the RxNorm vocabulary. If set to 0 (the default), only RxCUIs which contain a non-suppressed RxNorm vocabulary term will be returned.

Example

http://rxnav.nlm.nih.gov/REST/rxcui?idtype=umlscui&id=C0487782

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <idGroup>
    <idType>umlscui</idType>
    <id>C0487782</id>
    <rxnormId>131725</rxnormId>
  </idGroup>
</rxnormdata>

Resource "/rxcui?name=value&srclist=values&allsrc=value&search=value"

Search for a name in the RxNorm data set and return the RxCUIs of any concepts which have that name as an RxNorm term or as a synonym of an RxNorm term.

Query String Fields

name - the search string. This must be specified.

srclist - a list of the source vocabulary names to use. Only used when allsrc is set to 1. See the /sourcetypes example for the valid source vocabularies. If not specified, all sources are used.

allsrc - a field indicating whether all RxCUIs are to be returned. If set to 0 (the default), only RxCUIs which contain a non-suppressed RxNorm vocabulary term will be returned. If set to 1, all non-suppressed RxCUIs will be returned that match any of the sources specified, even if there is not a RxNorm vocabulary term for the concept.

search - a number indicating the type of search to be performed. If set to 0 (the default), exact match search will be performed. If set to 1, a normalized string search will be done. When search = 2, then an exact match search will be done, and if no results are found, a normalized search will be done. Normalized string search details.

Example

http://rxnav.nlm.nih.gov/REST/rxcui?name=lipitor

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <idGroup>
    <name>lipitor</name>
    <rxnormId>153165</rxnormId>
  </idGroup>
</rxnormdata>

Resource "/rxcui/{rxcui}"

Return the concept name of the given RxCUI.

Example

http://rxnav.nlm.nih.gov/REST/rxcui/131725

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <idGroup>
    <name>Ambien</name>
    <rxnormId>131725</rxnormId>
  </idGroup>
</rxnormdata>

Resource "/rxcui/{rxcui}/allrelated"

Get all the related RxNorm concepts for a given RxNorm identifier. This includes concepts of term types "IN", "MIN", "PIN", "BN", "SBD", "SBDC", "SBDF", "SBDG", "SCD", "SCDC", "SCDF", "SCDG", "DF", "DFG", "BPCK" and "GPCK".

Examples

http://rxnav.nlm.nih.gov/REST/rxcui/866350/allrelated

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <allRelatedGroup>
    <rxcui>866350</rxcui>
    <conceptGroup>
      <tty>BN</tty>
      <conceptProperties>
        <rxcui>866350</rxcui>
        <name>Zyrtec Itchy Eye</name>
        <synonym />
        <tty>BN</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui />
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>BPCK</tty>
    </conceptGroup>
    <conceptGroup>
      <tty>DF</tty>
      <conceptProperties>
        <rxcui>7670</rxcui>
        <name>Ophthalmic Solution</name>
        <synonym />
        <tty>DF</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C0029083</umlscui>
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>GPCK</tty>
    </conceptGroup>
    <conceptGroup>
      <tty>IN</tty>
      <conceptProperties>
        <rxcui>6146</rxcui>
        <name>Ketotifen</name>
        <synonym />
        <tty>IN</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C0022642</umlscui>
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>MIN</tty>
    </conceptGroup>
    <conceptGroup>
      <tty>PIN</tty>
      <conceptProperties>
        <rxcui>11404</rxcui>
        <name>Ketotifen Fumarate</name>
        <synonym />
        <tty>PIN</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C0043443</umlscui>
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>SBD</tty>
      <conceptProperties>
        <rxcui>866353</rxcui>
        <name>Ketotifen 0.25 MG/ML Ophthalmic Solution [Zyrtec Itchy Eye]</name>
        <synonym>Zyrtec Itchy Eye 0.025 % Ophthalmic Solution</synonym>
        <tty>SBD</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui />
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>SBDC</tty>
      <conceptProperties>
        <rxcui>866351</rxcui>
        <name>Ketotifen 0.25 MG/ML [Zyrtec Itchy Eye]</name>
        <synonym />
        <tty>SBDC</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui />
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>SBDF</tty>
      <conceptProperties>
        <rxcui>866352</rxcui>
        <name>Ketotifen Ophthalmic Solution [Zyrtec Itchy Eye]</name>
        <synonym />
        <tty>SBDF</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui />
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>SCD</tty>
      <conceptProperties>
        <rxcui>311237</rxcui>
        <name>Ketotifen 0.25 MG/ML Ophthalmic Solution</name>
        <synonym />
        <tty>SCD</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C0978054</umlscui>
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>SCDC</tty>
      <conceptProperties>
        <rxcui>330367</rxcui>
        <name>Ketotifen 0.25 MG/ML</name>
        <synonym />
        <tty>SCDC</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C1126007</umlscui>
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>SCDF</tty>
      <conceptProperties>
        <rxcui>372550</rxcui>
        <name>Ketotifen Ophthalmic Solution</name>
        <synonym />
        <tty>SCDF</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C1246608</umlscui>
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>SCDG</tty>
      <conceptProperties>
        <rxcui>1160974</rxcui>
        <name>Ketotifen Ophthalmic Products</name>
        <synonym />
        <tty>SCDG</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui />
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>SBDG</tty>
      <conceptProperties>
        <rxcui>1186676</rxcui>
        <name>Zyrtec Itchy Eye Ophthalmic Products</name>
        <synonym />
        <tty>SBDG</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui />
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>DFG</tty>
      <conceptProperties>
        <rxcui>1151135</rxcui>
        <name>Ophthalmic Products</name>
        <synonym />
        <tty>DFG</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui />
      </conceptProperties>
    </conceptGroup>
  </allRelatedGroup>
</rxnormdata>
In the example below, the plain text output is returned from a curl command. The plain text output is tab delimited and can be easily imported into a spreadsheet.
curl -H "Accept:text/plain" http://rxnav.nlm.nih.gov/REST/rxcui/866350/allrelated

(returns)

inputId tty     rxcui   name    synonym tty     lang    suppr   umlscui
866350  BN      866350  Zyrtec Itchy Eye                BN      ENG     N       C2723240
866350  BPCK
866350  DF      7670    Ophthalmic Solution             DF      ENG     N       C0029083
866350  GPCK
866350  IN      6146    Ketotifen               IN      ENG     N       C0022642
866350  MIN
866350  PIN     11404   Ketotifen Fumarate              PIN     ENG     N       C0043443
866350  SBD     866353  Ketotifen 0.25 MG/ML Ophthalmic Solution [Zyrtec Itchy Eye]     Zyrtec Itchy Eye 0.025 % Ophthalmic Solution    SBD     ENG     N       C2723243
866350  SBDC    866351  Ketotifen 0.25 MG/ML [Zyrtec Itchy Eye]         SBDC    ENG     N       C2723241
866350  SBDF    866352  Ketotifen Ophthalmic Solution [Zyrtec Itchy Eye]                SBDF    ENG     N       C2723242
866350  SCD     311237  Ketotifen 0.25 MG/ML Ophthalmic Solution        ketotifen 0.025 % Ophthalmic Solution   SCD     ENG     N       C0978054
866350  SCDC    330367  Ketotifen 0.25 MG/ML            SCDC    ENG     N       C1126007
866350  SCDF    372550  Ketotifen Ophthalmic Solution           SCDF    ENG     N       C1246608
866350  SCDG    1160974 Ketotifen Ophthalmic Products           SCDG    ENG     N
866350  SBDG    1186676 Zyrtec Itchy Eye Ophthalmic Products            SBDG    ENG     N
866350  DFG     1151135 Ophthalmic Products             DFG     ENG     N


Resource "/rxcui/{rxcui}/allProperties?prop=values"

Return the properties for a specified concept.

Query String Fields

prop - the property categories for the properties to be returned. This field is required. See the /propCategories example for the valid property categories.

Example

http://rxnav.nlm.nih.gov/REST/rxcui/161/allProperties?prop=attributes

(returns)

<rxnormdata>
  <propConceptGroup>
    <propConcept>
      <propCategory>ATTRIBUTES</propCategory>
      <propName>TTY</propName>
      <propValue>IN</propValue>
    </propConcept>
    <propConcept>
      <propCategory>ATTRIBUTES</propCategory>
      <propName>PRESCRIBABLE</propName>
      <propValue>Y</propValue>
    </propConcept>
  </propConceptGroup>
</rxnormdata>

Resource "/rxcui/{rxcui}/ndcs"

Get the National Drug Codes (NDCs) for the RxNorm concept.

Example

http://rxnav.nlm.nih.gov/REST/rxcui/213269/ndcs

(returns)

  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
 <rxnormdata>
   <ndcGroup>
     <rxcui>213269</rxcui>
     <ndcList>
      <ndc>00069420030</ndc>
      <ndc>00247174330</ndc>
      <ndc>23490938000</ndc>
      <ndc>23490938001</ndc>
      <ndc>23490938002</ndc>
      <ndc>23490938003</ndc>
      <ndc>23490938004</ndc>
      <ndc>23490938005</ndc>
      <ndc>35356034015</ndc>
      <ndc>43063025606</ndc>
      <ndc>43353076402</ndc>
      <ndc>43353076406</ndc>
      <ndc>54569456800</ndc>
      <ndc>54868478400</ndc>
      <ndc>55154272700</ndc>
      <ndc>55154272704</ndc>
      <ndc>55154272706</ndc>
    </ndcList>
  </ndcGroup>
</rxnormdata>

Resource "/rxcui/{rxcui}/properties"

Get the RxNorm concept properties.

Example

http://rxnav.nlm.nih.gov/REST/rxcui/131725/properties

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <properties>
    <rxcui>131725</rxcui>
    <name>Ambien</name>
    <synonym />
    <tty>BN</tty>
    <language>ENG</language>
    <suppress>N</suppress>
    <umlscui>C0487782</umlscui>
  </properties>
</rxnormdata>

Resource "/rxcui/{rxcui}/proprietary?srclist=values&ticket=value&rxaui=value"

Get the concept information associated with the concept for the specified sources. The user must have a valid UMLS license and be able to access the UTS authority service to obtain proxy tickets to use this function.

Query String Fields

srclist - list of source vocabularies to use. If not specified, information from all sources is retrieved. See the /sourcetypes example for the valid source vocabularies.

ticket - a proxy ticket obtained from the UTS authority service. This field must be specified.

rxaui - the RxNorm atomic identifier. This parameter is optional. If specified, only the information pertaining to this identifier will be returned.

Example

In the following example, the ticket is not functional and must be replaced with a ticket obtained by the user.
http://rxnav.nlm.nih.gov/REST/rxcui/261455/proprietary?ticket=ST-12035-6IGLfuHZrCJCijuMU7sD-cas&srclist=MSH+RXNORM

(returns)

<rxnormdata>
  <proprietaryGroup>
    <rxcui>261455</rxcui>
    <sourceList>
      <sourceName>MSH</sourceName>
      <sourceName>RXNORM</sourceName>
    </sourceList>
    <proprietaryInfo>
      <rxcui>261455</rxcui>
      <name>SmithKline Beecham brand of rosiglitazone maleate</name>
      <type>CE</type>
      <id>C089730</id>
      <source>MSH</source>
    </proprietaryInfo>
    <proprietaryInfo>
      <rxcui>261455</rxcui>
      <name>GlaxoSmithKline brand of rosiglitazone maleate</name>
      <type>CE</type>
      <id>C089730</id>
      <source>MSH</source>
    </proprietaryInfo>
    <proprietaryInfo>
      <rxcui>261455</rxcui>
      <name>Glaxo Wellcome brand of rosiglitazone maleate</name>
      <type>CE</type>
      <id>C089730</id>
      <source>MSH</source>
    </proprietaryInfo>
    <proprietaryInfo>
      <rxcui>261455</rxcui>
      <name>Avandia</name>
      <type>PCE</type>
      <id>C089730</id>
      <source>MSH</source>
    </proprietaryInfo>
    <proprietaryInfo>
      <rxcui>261455</rxcui>
      <name>Avandia</name>
      <type>BN</type>
      <id>261455</id>
      <source>RXNORM</source>
    </proprietaryInfo>
  </proprietaryGroup>
</rxnormdata>

Resource "/rxcui/{rxcui}/related?rela=values"

Get the related RxNorm identifiers of an RxNorm concept specified by a relational attribute.

Query String Fields

rela - a list of the relationship attribute names such as "tradename_of", "has_form", "isa", etc. This field is required. See the /relatypes example for the valid relationship attributes.

Example

http://rxnav.nlm.nih.gov/REST/rxcui/174742/related?rela=tradename_of+has_precise_ingredient

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <relatedGroup>
    <rxcui>174742</rxcui>
    <rela>tradename_of</rela>
    <rela>has_precise_ingredient</rela>
    <conceptGroup>
      <tty>IN</tty>
      <conceptProperties>
        <rxcui>32968</rxcui>
        <name>clopidogrel</name>
        <synonym />
        <tty>IN</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C0070166</umlscui>
      </conceptProperties>
    </conceptGroup>
    <conceptGroup>
      <tty>PIN</tty>
      <conceptProperties>
        <rxcui>236991</rxcui>
        <name>Clopidogrel bisulfate</name>
        <synonym />
        <tty>PIN</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C0772326</umlscui>
      </conceptProperties>
    </conceptGroup>
  </relatedGroup>
</rxnormdata>

Resource "/rxcui/{rxcui}/related?tty=values"

Get the related RxNorm identifiers of an RxNorm concept specified by one or more term types.

Query String Fields

tty - a list of one or more RxNorm term types. This field is required. See the /termtypes example for the valid term types.

Examples

http://rxnav.nlm.nih.gov/REST/rxcui/174742/related?tty=SBD+SBDF

(returns)

 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
 <rxnormdata>
   <relatedGroup>
    <rxcui>174742</rxcui>
    <termType>SBD</termType>
    <termType>SBDF</termType>
    <conceptGroup>
      <tty>SBD</tty>
      <conceptProperties>
        <rxcui>213169</rxcui>
        <name>clopidogrel 75 MG Oral Tablet [Plavix]</name>
        <synonym>Plavix 75 MG Oral Tablet</synonym>
        <tty>SBD</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C0716159</umlscui>
      </conceptProperties>
      <conceptProperties>
        <rxcui>749198</rxcui>
        <name>clopidogrel 300 MG Oral Tablet [Plavix]</name>
        <synonym>Plavix 300 MG Oral Tablet</synonym>
        <tty>SBD</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C1967398</umlscui>
      </conceptProperties>
    </conceptGroup>
     <conceptGroup>
      <tty>SBDF</tty>
      <conceptProperties>
        <rxcui>368301</rxcui>
        <name>clopidogrel Oral Tablet [Plavix]</name>
        <synonym />
        <tty>SBDF</tty>
        <language>ENG</language>
        <suppress>N</suppress>
        <umlscui>C1242283</umlscui>
      </conceptProperties>
    </conceptGroup>
  </relatedGroup>
</rxnormdata>
The following example shows plain text output using the curl command. The plain text output is tab delimited and can be easily imported into a spreadsheet.
curl -H "Accept:text/plain" http://rxnavdev.nlm.nih.gov/REST/rxcui/174742/related?tty=SBD+SBDF

(returns)

inputId tty     rxcui   name    synonym tty     lang    suppr   umlscui
174742  SBD     213169  clopidogrel 75 MG Oral Tablet [Plavix]  Plavix 75 MG Oral Tablet        SBD     ENG     N       C0716159
174742  SBD     749198  clopidogrel 300 MG Oral Tablet [Plavix] Plavix 300 MG Oral Tablet       SBD     ENG     N       C1967398
174742  SBDF    368301  clopidogrel Oral Tablet [Plavix]                SBDF    ENG     N       C1242283

Resource "/rxcui/{rxcui}/quantity"

Get the quantity attribute for a concept.

Example

http://rxnav.nlm.nih.gov/REST/rxcui/207716/quantity

(returns)

<rxnormdata>
  <quantityGroup>
    <rxcui>207716</rxcui>
    <quantity>24 HR</quantity>
  </quantityGroup>
</rxnormdata>

Resource "/rxcui/{rxcui}/splsetid"

Get the structured product label set identifiers for a concept.

Example

http://rxnav.nlm.nih.gov/REST/rxcui/757702/splsetid

(returns)

<rxnormdata>
  <splSetIdGroup>
    <rxcui>757702</rxcui>
    <splSetId>34B56F73-BEA4-4265-8B2A-C57520CF8E70</splSetId>
  </splSetIdGroup>
</rxnormdata>

Resource "/rxcui/{rxcui}/status"

Get the status for a concept.

Examples

http://rxnav.nlm.nih.gov/REST/rxcui/44/status

(returns)

<rxnormdata>
  <rxcuiStatus>
    <status>Active</status>
    <minConceptGroup>
      <minConcept>
        <rxcui>44</rxcui>
        <name>Mesna</name>
        <tty>IN</tty>
      </minConcept>
    </minConceptGroup>
  </rxcuiStatus>
</rxnormdata>

http://rxnav.nlm.nih.gov/REST/rxcui/105048/status

(returns)

<rxnormdata>
  <rxcuiStatus>
    <status>Remapped</status>
    <remappedDate>090504F</remappedDate>
    <minConceptGroup>
      <minConcept>
        <rxcui>849389</rxcui>
        <name>Amantadine Hydrochloride 100 MG Oral Capsule</name>
        <tty>SCD</tty>
      </minConcept>
      <minConcept>
        <rxcui>849394</rxcui>
        <name>Amantadine Hydrochloride 100 MG Oral Capsule [Symmetrel]</name>
        <tty>SBD</tty>
      </minConcept>
    </minConceptGroup>
  </rxcuiStatus>
</rxnormdata>

http://rxnav.nlm.nih.gov/REST/rxcui/884271/status

(returns)

<rxnormdata>
  <rxcuiStatus>
    <status>Retired</status>
  </rxcuiStatus>
</rxnormdata>


Resource "/rxcui/{rxcui}/strength"

Get the strength attribute for a concept.

Example

http://rxnav.nlm.nih.gov/REST/rxcui/315246/strength

(returns)

<rxnormdata>
  <strengthGroup>
    <rxcui>315246</rxcui>
    <strength>100 MG</strength>
  </strengthGroup>
</rxnormdata>

Resource "/rxcui/{rxcui}/unii"

Get the FDA Unique Identifier Code (UNII_CODE) for a concept.

Example

http://rxnav.nlm.nih.gov/REST/rxcui/161/unii

(returns)

<rxnormdata>
  <uniiGroup>
    <rxcui>161</rxcui>
    <unii>362O9ITL9D</unii>
  </uniiGroup>
</rxnormdata>

Resource "/sourcetypes"

Get the vocabulary abbreviated source types.

Example

http://rxnav.nlm.nih.gov/REST/sourcetypes

(returns)

<rxnormdata>
  <sourceTypeList>
    <sourceName>GS</sourceName>
    <sourceName>MDDB</sourceName>
    <sourceName>MMSL</sourceName>
    <sourceName>MMX</sourceName>
    <sourceName>MSH</sourceName>
    <sourceName>MTHFDA</sourceName>
    <sourceName>MTHSPL</sourceName>
    <sourceName>NDDF</sourceName>
    <sourceName>NDFRT</sourceName>
    <sourceName>RXNORM</sourceName>
    <sourceName>SNOMEDCT</sourceName>
    <sourceName>VANDF</sourceName>
  </sourceTypeList>
</rxnormdata>

Resource "/spellingsuggestions?name=value"

Get spelling suggestions for a given term. The suggestions are RxNorm terms contained in the current version, listed in decreasing order of closeness to the original phrase.

Query String Fields

name - the name for which spelling suggestions are to be generated. This field is required.

Example

http://rxnav.nlm.nih.gov/REST/spellingsuggestions?name=ambienn

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <suggestionGroup>
    <name>ambienn</name>
    <suggestionList>
      <suggestion>Ambien</suggestion>
      <suggestion>Amben</suggestion>
      <suggestion>amopen</suggestion>
      <suggestion>Ambi</suggestion>
      <suggestion>Ambifed</suggestion>
      <suggestion>Amrinon</suggestion>
      <suggestion>Amen</suggestion>
      <suggestion>Amikin</suggestion>
      <suggestion>Adbeon</suggestion>
      <suggestion>Ambenyl</suggestion>
    </suggestionList>
  </suggestionGroup>
</rxnormdata>

Resource "/termtypes"

Get the valid term types in the RxNorm data set.

Example

http://rxnav.nlm.nih.gov/REST/termtypes

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <termTypeList>
    <termType>BN</termType>
    <termType>BPCK</termType>
    <termType>DF</termType>
    <termType>DFG</termType>
    <termType>GPCK</termType>
    <termType>IN</termType>
    <termType>MIN</termType>
    <termType>PIN</termType>
    <termType>SBD</termType>
    <termType>SBDC</termType>
    <termType>SBDF</termType>
    <termType>SBDG</termType>
    <termType>SCD</termType>
    <termType>SCDC</termType>
    <termType>SCDF</termType>
    <termType>SCDG</termType>
  </termTypeList>
</rxnormdata>

Resource "/version"

Get the version of the RxNorm data set.

Example

http://rxnav.nlm.nih.gov/REST/version

(returns)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<rxnormdata>
  <version>07-Jan-2013;23-Jan-2013</version>
</rxnormdata>

Comments? Feedback? Questions?
Contact: Contact us


U.S. National Library of Medicine, 8600 Rockville Pike, Bethesda, MD 20894
National Institutes of Health, Department of Health & Human Services
Copyright, Privacy, Accessibility, Viewers & Players, Freedom of Information Act, USA.gov