Vocab. RXNORM_EXTENSION - OHDSI/Vocabulary-v5.0 GitHub Wiki
RxNorm Extension
RxNorm Extension is an OHDSI resource to represent international drugs in a structure adapted from RxNorm. This describes the process, rules and resulting structure of incorporating international drug vocabularies into an overall RxNorm-like system, called RxNorm Extension.
Drug vocabularies contain drug products and their components. Only about a third of these products are identical in the drug markets of individual countries or jurisdictions of a drug marketing approval agency. Even if the active ingredients are the same, they can differ in their Drug Strengths, Drug Forms, Brand Names, package sizes and manufacturers or distributors.
Therefore, these vocabularies need to be incorporated into the existing Drug Domain in such a way that all existing drugs and their components are correctly mapped, and the missing ones added as new concepts. This includes a life cycle for each Concept, allowing to generation, deprecation and update over time.
The processing script that follows these instructions can be found here.
General structure
The Drug Domain should be organized in a hierarchical structure described in Drug Domain. This structure is based on RxNorm, which also forms the core of the content. RxNorm comprehensively describes the drug market in the United States. It may not contain products sold in the markets of other countries. It also does not contain US medical food or food supplement products.
This structure contains at a minimum (from bottom to top):
Concept Class | Composed of |
---|---|
Branded Drug | Ingredients, their strength, form, brand name |
Clinical Drug | Ingredient, their strength, form |
Branded Drug Form | Ingredient, form, brand name |
Clinical Drug Form | Ingredient, form |
Branded Drug Component | Ingredient, strength, brand name |
Clinical Drug Component | Ingredient, strength |
Dose Form | Form |
Brand Name | Brand name |
Ingredient | Ingredient |
Drug Class | Drug class |
It may optionally contain
Concept Class | Composed of |
---|---|
Marketed Product | Ingredients, their strength, form, supplier (brand name and box size are optional) |
Quantified Branded Drug Box | Ingredients, their strength, form, brand name, size and box size |
Quantified Clinical Drug Box | Ingredients, their strength, form, size and box size |
Branded Drug Box | Ingredients, their strength, form, brand name and box size |
Clinical Drug Box | Ingredients, their strength, form and box size |
Quantified Branded Drug | Ingredients, their strength, form, brand name, size |
Quantified Clinical Drug | Ingredients, their strength, form, size |
Branded Pack | Branded Drugs, their number (box size is optional) |
Clinical Pack | Clinical Drugs, their number (box size is optional) |
Supplier | Supplier |
Currently not supported are the following classes:
Concept Class | Composed of | Remarks |
---|---|---|
Precise Ingredient | Ingredient | Ingredient used instead; Precise Ingredients are mapped to Ingredients inside CONCEPT_RELATIONSHIP table |
Multiple Ingredient | Ingredients | Single ingredients used instead |
Dose Form Group | Dose Form | Explicit Dose Forms used instead; Dose Form Groups exist as Classification concepts and bear relation to standard concepts only inside native RxNorm vocabulary |
The Concepts are connected through hierarchical and lateral relationships.
Combined target structure
To incorporate a new set of drug information, a structure that contains every Concept only once and preserves the RxNorm structure, no matter which vocabulary the additional Concept is coming from should be achieved. This means that for each source drug concept a standard concept that follows RxNorm logic is created and correctly placed inside a hierarchy. In a way, it should create a mixed RxNorm/drug vocabularies union.
In order to achieve this, any two equivalent Concepts have to be matched through its components: Ingredients to Ingredients, Forms to Forms, Supplier to Supplier, etc. Concepts are defined as matching if all components match. For example, a Clinical Drug matches another Clinical Drug if it contains the same Ingredients at the same strength and the same Dose Form.
Rules for adding Concepts
To add a Concept for which there is an existing equivalent:
- It should be recorded as a non-standard (source) Concept.
- It should be mapped through a “Maps to” relationship to its standard equivalent.
- All other relationships are optional and for QA and convenience. The standard Concept will take its place as the official representation.
To add a Concept that does not have an equivalent:
- It should be recorded as a standard Concept (standard_concept = 'S'), with the exception of Brand Names, which should be recorded as a non-standard Concepts.
- It should have hierarchical and lateral relationships in the same manner as RxNorm Concepts do.
- It should form relationship to relevant drug classes. The relationship_id of these relationship do not have to follow the RxNorm standard, as it differs for every drug class. Classes are most often defined for Ingredients, but some non-Ingredients may directly designate a Concept Class and “jump over” the Ingredient or even Drug Forms or Drug Components. They will be inferred automatically.
Units used in the strength determination are not added. They must be mapped to a Standard UCUM Concept instead. If a unit is not present in the UCUM vocabulary it has to be added.
Implementation
Concepts from source vocabularies must be added following the International drugs vocabulary implementation process.
Result
Concepts belonging to source drug vocabularies have 'Maps to' relations to standard concepts in RxNorm and RxNorm Extension vocabularies.
Equivalence relationship to valid non-standard concepts (like Brand Names and Dose forms) is indicated by entry in CONCEPT_RELATIONSHIP table with RELATIONSHIP_ID = 'Source - RxNorm eq'. Such relations are built for attributes like Dose Forms and Brand Names.
Relationships between Drug Products or derivatives (Drug Forms and Components) are connected through CONCEPT_RELATIONSHIP_STAGE records with the the following relationship_id values:
Concept Class 1 | Concept Class 1 | Relationship |
---|---|---|
Brand Name | Branded Drug | Brand name of |
Brand Name | Branded Drug Comp | Brand name of |
Brand Name | Branded Drug Form | Brand name of |
Brand Name | Ingredient | Brand name of |
Brand Name | Quant Branded Drug | Brand name of |
Brand Name | Marketed Product | Brand name of |
Branded Drug | Brand Name | RxNorm has ing |
Branded Drug | Branded Drug Comp | Consists of |
Branded Drug | Branded Drug Form | RxNorm is a |
Branded Drug | Branded Pack | Contained in |
Branded Drug | Clinical Drug | Tradename of |
Branded Drug | Clinical Drug Comp | Consists of |
Branded Drug | Dose Form | RxNorm has dose form |
Branded Drug | Quant Branded Drug | Has quantified form |
Branded Drug | Quant Clinical Drug | Tradename of |
Branded Drug | Marketed Product | Has marketed form |
Branded Drug Comp | Brand Name | RxNorm has ing |
Branded Drug Comp | Branded Drug | Constitutes |
Branded Drug Comp | Clinical Drug Comp | Tradename of |
Branded Drug Comp | Quant Branded Drug | Constitutes |
Branded Drug Form | Brand Name | RxNorm has ing |
Branded Drug Form | Branded Drug | RxNorm inverse is a |
Branded Drug Form | Clinical Drug Form | Tradename of |
Branded Drug Form | Dose Form | RxNorm has dose form |
Branded Drug Form | Quant Branded Drug | RxNorm inverse is a |
Branded Pack | Branded Drug | Contains |
Branded Pack | Clinical Drug | Contains |
Branded Pack | Clinical Pack | Tradename of |
Branded Pack | Dose Form | RxNorm has dose form |
Branded Pack | Quant Branded Drug | Contains |
Branded Pack | Quant Clinical Drug | Contains |
Branded Pack | Marketed Product | Has marketed form |
Clinical Drug | Branded Drug | Has tradename |
Clinical Drug | Branded Pack | Contained in |
Clinical Drug | Clinical Drug Comp | Consists of |
Clinical Drug | Clinical Drug Form | RxNorm is a |
Clinical Drug | Clinical Pack | Contained in |
Clinical Drug | Dose Form | RxNorm has dose form |
Clinical Drug | Quant Branded Drug | Has tradename |
Clinical Drug | Quant Clinical Drug | Has quantified form |
Clinical Drug | Marketed Product | Has marketed form |
Clinical Drug | Marketed Product | Contained in |
Clinical Drug Comp | Branded Drug | Constitutes |
Clinical Drug Comp | Branded Drug Comp | Has tradename |
Clinical Drug Comp | Clinical Drug | Constitutes |
Clinical Drug Comp | Ingredient | Has precise ing |
Clinical Drug Comp | Ingredient | RxNorm has ing |
Clinical Drug Comp | Quant Branded Drug | Constitutes |
Clinical Drug Comp | Quant Clinical Drug | Constitutes |
Clinical Drug Form | Branded Drug Form | Has tradename |
Clinical Drug Form | Clinical Drug | RxNorm inverse is a |
Clinical Drug Form | Dose Form | RxNorm has dose form |
Clinical Drug Form | Ingredient | RxNorm has ing |
Clinical Drug Form | Quant Clinical Drug | RxNorm inverse is a |
Clinical Pack | Branded Pack | Has tradename |
Clinical Pack | Clinical Drug | Contains |
Clinical Pack | Dose Form | RxNorm has dose form |
Clinical Pack | Quant Clinical Drug | Contains |
Clinical Pack | Marketed Product | Has quantified form |
Dose Form | Branded Drug | RxNorm dose form of |
Dose Form | Branded Drug Form | RxNorm dose form of |
Dose Form | Branded Pack | RxNorm dose form of |
Dose Form | Clinical Drug | RxNorm dose form of |
Dose Form | Clinical Drug Form | RxNorm dose form of |
Dose Form | Clinical Pack | RxNorm dose form of |
Dose Form | Quant Branded Drug | RxNorm dose form of |
Dose Form | Quant Clinical Drug | RxNorm dose form of |
Dose Form | Marketed Product | RxNorm dose form of |
Ingredient | Brand Name | Has brand name |
Ingredient | Clinical Drug Comp | RxNorm ing of |
Ingredient | Clinical Drug Form | RxNorm ing of |
Marketed Product | Brand Name | Has brand name |
Marketed Product | Branded Drug | Marketed form of |
Marketed Product | Branded Pack | Marketed form of |
Marketed Product | Clinical Drug | Marketed form of |
Marketed Product | Clinical Drug | Contains |
Marketed Product | Clinical Pack | Marketed form of |
Marketed Product | Dose Form | RxNorm has dose form |
Marketed Product | Quant Branded Drug | Marketed form of |
Marketed Product | Quant Clinical Drug | Contains |
Marketed Product | Quant Clinical Drug | Marketed form of |
Marketed Product | Supplier | Has supplier |
Quant Branded Drug | Brand Name | RxNorm has ing |
Quant Branded Drug | Branded Drug | Quantified form of |
Quant Branded Drug | Branded Drug Comp | Consists of |
Quant Branded Drug | Branded Drug Form | RxNorm is a |
Quant Branded Drug | Branded Pack | Contained in |
Quant Branded Drug | Clinical Drug | Tradename of |
Quant Branded Drug | Clinical Drug Comp | Consists of |
Quant Branded Drug | Dose Form | RxNorm has dose form |
Quant Branded Drug | Quant Clinical Drug | Tradename of |
Quant Branded Drug | Marketed Product | Has marketed form |
Quant Clinical Drug | Branded Drug | Has tradename |
Quant Clinical Drug | Branded Pack | Contained in |
Quant Clinical Drug | Clinical Drug | Quantified form of |
Quant Clinical Drug | Clinical Drug Comp | Consists of |
Quant Clinical Drug | Clinical Drug Form | RxNorm is a |
Quant Clinical Drug | Clinical Pack | Contained in |
Quant Clinical Drug | Dose Form | RxNorm has dose form |
Quant Clinical Drug | Quant Branded Drug | Has tradename |
Quant Clinical Drug | Marketed Product | Has marketed form |
Quant Clinical Drug | Marketed Product | Contained in |
Supplier | Marketed Product | Supplier of |
Name of the Branded and Clinical Pack concepts is built by combining names of the contents.
Relationships between any Drug Concept Class and a Classfication Concept Class is recorded through the “Drug has drug class” and “Drug class of drug” generic relationship pair.
Inferring of missing Concept Classes
After RxNorm Extension Standard concept with the fullest attribute set is created for each source entity, all missing preceding Concept Classes are inferred from the existing ones, from bottom upwards.
Concept Class | Defined by |
---|---|
Clinical Drug Component | Ingredient-strength. Note that Clinical Components are always single-Ingredient. This is in contrast to all other Concept Classes |
Branded Drug Component | Ingredient-strength(s), Brand Name |
Clinical Drug Form | Ingredient(s), Dose Form |
Branded Drug Form | Ingredient(s), Dose Form, Brand Name |
Clinical Drug | Ingredient-strength(s), Dose Form |
Branded Drug | Ingredient-strength(s), Dose Form, Brand Name |
Quantified Clinical Drug | Ingredient-strength(s), Dose Form, Quantity |
Quantified Branded Drug | Ingredient-strength(s), Dose Form, Brand Name, Quantity |
Clinical Drug Box | Ingredient-strength(s), Dose Form, Box size |
Branded Drug Box | Ingredient-strength(s), Dose Form, Brand Name, Box size |
Quantified Clinical Box | Ingredient-strength(s), Dose Form, Quantity, Box size |
Quantified Branded Box | Ingredient-strength(s), Dose Form, Brand Name, Quantity, Box size |
Even though all drug classes are inferred, only those will be created as concepts that have no mapping to an existing equivalent Standard Concept.