RxClass API
getSimilarityInformation
- Information returned
- Similarity of the clinically-significant membership of two classes
- Service domain
- https://rxnav.nlm.nih.gov
- HTTP request
- GETÂ /REST/rxclass/class/similarInfo.xml?classId1=value&relaSource1=value&rela1=value&classId2=value&relaSource2=value&rela2=value
Description
Return metrics of the similarity between two classes, identified by (relaSource1, classId1, rela1) and (relaSource2, classId2, rela2) respectively.
For combinations of rela and relaSrc that can uniquely identify a class, see getClassMembers. A rela parameter, rela1 or rela2, may be omitted only if it would be empty.
Class similarity compares clinically-significant RxNorm ingredients, which may be different from the drugs reported by getClassMembers. See Similarity Scoring for details on how the similar classes are determined.
The classes' similarity scores are returned in response elements equivalenceScore and inclusionScore. A summary of the basis of computation is returned in intersection, cardinality1, and cardinality2. The clinically-significant RxNorm ingredients considered in the computation are returned in drugClassPair, including flags inClass1 and inClass2.
Parameters
Parameter | Location | Use | Description | Default |
---|---|---|---|---|
format | Path | Optional | Notation for results One of:
| .xml |
classId1 | Query | Required | Class 1: class identifier | |
relaSource1 | Query | Required | Class 1: source of relationships of classId1 to drugs (See getSourcesOfDrugClassRelations for the menu.) | |
rela1 | Query | Required | Class 1: relationship of classId1 to its members (See getRelas for the menu.) | |
classId2 | Query | Required | Class 2: class identifier | |
relaSource2 | Query | Required | Class 2: source of relationships of classId2 to drugs (See getSourcesOfDrugClassRelations for the menu.) | |
rela2 | Query | Required | Class 2: relationship of classId2 to its members (See getRelas for the menu.) |
All query parameters are case-insensitive.
Note that HTTP requires that query parameters be "URL encoded". For full information on URL encoding, please refer to IETF RFC 3986, "Uniform Resource Identifier".
Output structure
Results are available as either XML or JSON.
The XML result has the root element rxclassdata. It is described in the XML Schema for the RxClass API; the relevant element structure is summarized below. Elements that would be empty might be left out.
The JSON result is an object {...}, analogous to the content of the XML rxclassdata. Fields that might occur multiple times in the XML are expressed as an array. Fields that would be empty might be null or left out. Numbers are expressed as strings.
Both XML and JSON results follow the same outline:
- rxclassdata
- Root element in XML, or anonymous object in JSON
- SimilarityInformation
- drugClassConcept (array of 2)
- rela
- Member relationship that defines the class
- relaSource
- Drug-member relationship source
- rxclassMinConceptItem
- Drug class
- classId
- Class identifier (an ID in the namespace of the class source)
- className
- Class name
- classType
- Class type (ATC1-4, CHEM, DISPOS, EPC, VA, etc.)
- classUrl
- Link to the class source
- drugClassPair (array)
- minConcept
- Drug that is a class member
- rxcui
- RxNorm identifier
- name
- Drug name
- tty
- Drug term type
- inClass1
- "true" or "false" - whether the drug is a member of class 1
- inClass2
- "true" or "false" - whether the drug is a member of class 2
- similarityEntityItem
- Similarity stats
- equivalenceScore
- Degree of overlap of two classes
- inclusionScore
- Degree to which one compared class includes the other
- intersection
- Number of drugs common to both classes
- cardinality1
- Number of drugs in class 1
- cardinality2
- Number of drugs in class 2
Example: Comparison of ATC "natural opium alkaloids" (id=N02AA) with MoA "Full Opioid Agonists" (id=N0000175684)
An XML result is shown below.
<rxclassdata> <SimilarityInformation> <drugClassConcept> <rela/> <relaSource>ATC</relaSource> <rxclassMinConceptItem> <classId>N02AA</classId> <className>Natural opium alkaloids</className> <classType>ATC1-4</classType> </rxclassMinConceptItem> </drugClassConcept> <drugClassConcept> <rela>has_moa</rela> <relaSource>DAILYMED</relaSource> <rxclassMinConceptItem> <classId>N0000175684</classId> <className>Full Opioid Agonists</className> <classType>MOA</classType> </rxclassMinConceptItem> </drugClassConcept> <drugClassPair> <minConcept> <rxcui>23088</rxcui> <name>dihydrocodeine</name> <tty>IN</tty> </minConcept> <inClass1>true</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>3423</rxcui> <name>hydromorphone</name> <tty>IN</tty> </minConcept> <inClass1>true</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>7052</rxcui> <name>morphine</name> <tty>IN</tty> </minConcept> <inClass1>true</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>7676</rxcui> <name>opium</name> <tty>IN</tty> </minConcept> <inClass1>true</inClass1> <inClass2>false</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>7804</rxcui> <name>oxycodone</name> <tty>IN</tty> </minConcept> <inClass1>true</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>7814</rxcui> <name>oxymorphone</name> <tty>IN</tty> </minConcept> <inClass1>true</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>10689</rxcui> <name>tramadol</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>1653781</rxcui> <name>eluxadoline</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>2569089</rxcui> <name>difelikefalin</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>2670</rxcui> <name>codeine</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>4337</rxcui> <name>fentanyl</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>480</rxcui> <name>alfentanil</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>56795</rxcui> <name>sufentanil</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>6378</rxcui> <name>levorphanol</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>6754</rxcui> <name>meperidine</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>6813</rxcui> <name>methadone</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <drugClassPair> <minConcept> <rxcui>73032</rxcui> <name>remifentanil</name> <tty>IN</tty> </minConcept> <inClass1>false</inClass1> <inClass2>true</inClass2> </drugClassPair> <similarityEntityItem> <equivalenceScore>0.2695633</equivalenceScore> <inclusionScore>-0.6944444</inclusionScore> <intersection>5</intersection> <cardinality1>6</cardinality1> <cardinality2>16</cardinality2> </similarityEntityItem> </SimilarityInformation> </rxclassdata>