User Tools

Site Tools


implementation_international_drug_vocabulary

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
implementation_international_drug_vocabulary [2019/07/22 13:24]
ekorchmar
implementation_international_drug_vocabulary [2021/06/09 10:15]
adavydov
Line 1: Line 1:
-===== International ​drugs vocabulary implementation process ===== +===== International ​drug vocabulary implementation process ===== 
-The most straightforward way to implement ​a local drug [[documentation:​vocabulary|Vocabulary]] is to utilize [[documentation:​international_drugs|RxNorm Extension]] logic to extend standard Drug concept pool and map source drug products to concepts in RxNorm ​extended hierarchy.+The most straightforward way to standardize ​a local drug [[documentation:​vocabulary|Vocabulary]] is to utilize [[documentation:​international_drugs|RxNorm Extension]] logic to extend standard Drug concept pool and map source drug products to concepts in RxNorm ​and RxNorm Exterension.
  
 ==== Combined target structure ==== ==== Combined target structure ====
-To incorporate a new set of drug information, ​structure should be achieved that contains every Concept only once and preserves the RxNorm structure, no matter which vocabulary the additional Concept is coming fromIn way, it should create ​mixed RxNorm/drug vocabularies union.+Standard concepts in [[documentation:​vocabulary:​drug|Drug domain]] are placed in single comprehensive hierarchy based on their attributesTo correctly implement ​vocabulary in CDM and find or build counterpart for each source ​drug concept the following attributes must be extracted:
  
-In order to achieve thisany two equivalent Concepts have to be matched through its componentsIngredients ​to IngredientsForms to FormsSupplier to Supplier, etc. Concepts are defined as matching if all components matchFor example, a Clinical Drug matches another Clinical Drug if it contains the same Ingredients at the same strength and the same Dose Form+  - **Ingredients**:​ active substance(-s) in pharmacological preparation. Examples: AspirinTrastuzumab,​ Ibuprofen etc.; 
 +  - **Dose form**form in which drug is administered ​to patient. Examples: Oral TabletTransdermal SystemInjectable Suspension;​ 
 +  - **Marketed/​Brand Name**: NurofenKadcyla, Prevenar 13 etc.
 +  - **Dosage/​strength** of active substance, **total volume** of liquid drug or **number of actuations** for dosed inhalers or applicators;​ 
 +  - **Information about combination pack contents**, e.g. contraceptives calendar packs with varying dosages and ingredient combinations;​ 
 +  - **Box size**: number of unique package units (like bottlesblisters or syringes) in packaged box. 
 +  - **Manufacturer/​supplier name** (Reckitt Benckiser, TEVA, Ratiopharm etc). Generally, local branch and general name of international entity are considered ​same ("Teva Europe"​ is the same as "​Teva"​).
  
-Standard concepts ​in [[documentation:​vocabulary:drug|Drug domain]] are placed in a single comprehensive hierarchy based on their attributes. ​To correctly implement ​a vocabulary ​in CDMfollowing attributes must be extracted:+Such attributes may be given explicitly ​in a well-structured source ​vocabulary ​or have to be extracted from drug product names. In case of drug products or discrete ​attributes ​like Ingredients or Brand Names not having their own codes, new codes have to be constructed combining the word “OMOP” and a running numberThe running number should be unique across all vocabularies. That means, each time new vocabulary ​is added or refreshedthe next Concept Code should ​be the one of the last (without the '​OMOP'​ string) +1. 
  
-  - Ingredients:​ active substance(-s) in pharmacological preparation. Examples: AspirinTrastuzumabIbuprofen etc.; +All source vocabulary conceptsextracted attributesdosage and packaging information must be staged ​in standardized format ​of input tablesthat can processed to be included into OHDSI Standardized Vocabularies.
-  - Dose form: form in which drug is administered to patient. Examples: Oral Tablet, Transdermal System, Injectable Suspension;​ +
-  - Marketed/​Brand Name: Nurofen, Kadcyla, Prevenar 13 etc.; +
-  - Dosage/​strength ​of active substancetotal volume of liquid drug or number of actuations for dosed inhalers or applicators;​ +
-  - Information about combination pack contents, e.g. contraceptives calendar packs with varying dosages and ingredient combinations;​ +
-  - Box size: number of unique package units (like bottles, blisters or syringes) in a packaged box. +
-  - Manufacturer/​supplier name (Reckitt Benckiser, TEVA, Ratiopharm etc). Generally, local branch and general name of international entity are considered same ("Teva Europe"​ is the same as "​Teva"​).+
  
-Such attributes may be given explicitly in well-structured source vocabulary or have to be extracted from drug product names. In case of drug products or discrete attributes like Ingredients or Brand Names not having their own codesnew codes have to be constructed combining the word “OMOP” and running ​number. The running number should ​be unique across all vocabularies. That means, each time a new vocabulary is added or refreshed, the next Concept Code should be the one of the last (without the '​OMOP'​ string) +1. +=== Challenges and problems === 
 +To implement ​tool to create and maintain the above structure, a number ​of issues need to be taken care of:
  
-All source vocabulary concepts, extracted attributes ​and dosage and packaging information must be staged ​in standardized format ​of input tables, ​that can processed ​to be included into CDM Standardized Vocabularies.+  * **Excipients:​** There is no general agreement of what is an active agreement ​and what is an excipient. Therefore, some of the ingredients need to be declared as “semiactive”,​ such as gelatine. Generally, if ingredient can be biologically active, but is not present ​in preparation for its pharmaceutical properties, it should be considered excipient. Excipients should be excluded from a list of a drug's ingredients. 
 +  * **Forms:** These are not used the same way across drug vocabularies. For example, RxNorm has a Form "​Cream",​ but also "​Ophthalmic cream",​ "​Vaginal cream",​ "​Rectal cream",​ "Oral cream" and "​Cutaneous cream",​ making this Form ambiguous. Instead of a one-to-one mapping, a one to many mapping with an order of precedence is required to establish matching equivalence between Forms. 
 +  * **Strength:​** RxNorm normalizes weight units to "​mg"​ and volume units to mL, but other vocabularies might not. There might be units like "​µg",​ "​gram-%"​ or "​volume-%"​. Special unit conversion ​tables ​are needed instead of simple unit mappings. This approach becomes infeasible if units are used where the conversion is dependent on the moleculelike "​mol"​ or "​equivalent"​. 
 +  * **Ingredient forms:** Ingredients might have ambiguous chemical forms, which RxNorm calls "​Ingredient"​ and "​Precise Ingredient"​ (e.g. a salt of the active compound). They have to be mapped to the right Standard RxNorm Ingredient. If there is no RxNorm Ingredient to map to and the drug vocabulary to be added contains several ambiguous forms of the same Ingredient, one of them has to be declared Standard. In rare cases there might be several Standard duplicates of the same Ingredient. In those cases mappings from source vocabularies must be made with precedence. Another problem might occur due to the strength is given for a precise ingredient, rather than a standard ingredient. An ingredient that is presented in the way of aqueous/​spirit extract should be considered as the same one.
  
 === Creation of input tables === === Creation of input tables ===
-The new vocabulary should be prepared in the following tables:+The new vocabulary should be prepared in the following ​input tables
 +Hereon, the DDL is given in PostgreSQL dialect. For other dialects, an appropriate data type has to be found. For example, for PostgreSQL we specifically set numbers to be NUMERIC and not FLOAT.
  
 ==DRUG_CONCEPT_STAGE== ==DRUG_CONCEPT_STAGE==
  
 ^ Field                    ^ Required ​ ^ Type         ^ Description ​                                                                                                                                                                                ^ ^ Field                    ^ Required ​ ^ Type         ^ Description ​                                                                                                                                                                                ^
-| concept_name ​            | Yes       ​| ​string(255)  | An unambiguous,​ meaningful and descriptive name for the Concept in English language ​                                                                                                        | +| concept_name ​            | Yes       ​| ​VARCHAR(255)  | An unambiguous,​ meaningful and descriptive name for the Concept in English language ​                                                                                                        | 
-| domain_id ​               | Yes       ​| ​string(20)   | A foreign key to the DOMAIN table. The standard content is '​Drug',​ but for non-drugs it could be '​Device' ​of '​Observation' ​                                                                 | +| domain_id ​               | Yes       ​| ​VARCHAR(20)   | A foreign key to the DOMAIN table. The standard content is '​Drug',​ but for non-drugs it could be '​Device' ​or '​Observation' ​                                                                 | 
-| vocabulary_id ​           | Yes       ​| ​string(20)   | A foreign key to the VOCABULARY table. The value of this field should be identical for all records, indicating the new vocabulary being added. ​                                             | +| vocabulary_id ​           | Yes       ​| ​VARCHAR(20)   | A foreign key to the VOCABULARY table. The value of this field should be identical for all records, indicating the new vocabulary being added. ​                                             | 
-| concept_class_id ​        | Yes       ​| ​string(20)   | One of the above listed RxNorm Concept Classes ​                                                                                                                                             | +| concept_class_id ​        | Yes       ​| ​VARCHAR(20)   | One of the above listed RxNorm Concept Classes ​                                                                                                                                             | 
-| concept_code ​            | Yes       ​| ​string(50)   | The code in the source vocabulary. If the source vocabulary does not contain a code, e.g. for ingredients or dose forms, they will be created automatically (see below OMOP created codes) ​ | +| concept_code ​            | Yes       ​| ​VARCHAR(50)   | The code in the source vocabulary. If the source vocabulary does not contain a code, e.g. for ingredients or dose forms, they will be created automatically (see below OMOP created codes) ​ | 
-| source_concept_class_id ​ | No        | string(20)   | Concept class that is given by the source vocabulary ​                                                                                                                                       | +| source_concept_class_id ​ | No        | VARCHAR(20)   | Concept class that is given by the source vocabulary ​                                                                                                                                       | 
-| possible_excipient ​      | No        | string(1)    | A flag only relevant to ingredients,​ indicating whether or not they are not active ingredients and could be omitted from an ingredient list.                                                | +| possible_excipient ​      | No        | VARCHAR(1)    | A flag only relevant to ingredients,​ indicating whether or not they are not active ingredients and could be omitted from an ingredient list. Currently ignored.                                                | 
-| valid_start_date ​        | No        | date         | Date when the Concept became valid. This may or may not coincide with the date the product went to market. ​                                                                                 +| valid_start_date ​        | No        | DATE         | Date when the Concept became valid. This may or may not coincide with the date the product went to market. ​Default value is 01.01.1970, unless source gives explicit date.
-| valid_end_date ​          | No        | date         | Date when the Concept became invalid. Market withdrawal does not mean a Concept is invalid. ​                                                                                                ​+| valid_end_date ​          | No        | DATE         | Date when the Concept became invalid. Market withdrawal does not mean a Concept is invalid. ​Deprecated concepts have VALID_END_DATE of a day before update, unless source gives explicit date. VALID_END_DATE for all valid source concepts must be 31.12.2099 ​                                                                                               ​
-| invalid_reason ​          | No        | string(1)    | Flag indicating wether the Concept is active (today'​s date between valid_start and valid_end_date),​ or upgraded ('​U'​) or deprecated ('​D'​). ​                                                 |+| invalid_reason ​          | No        | VARCHAR(1)    | Flag indicating wether the Concept is active (today'​s date between valid_start and valid_end_date),​ or upgraded ('​U'​) or deprecated ('​D'​). ​                                                 |
  
-This table is expected to contain ​as a minimum the comprehensive list of Concept Classes:+This table is expected to contain ​concepts having following ​Concept Classes:
  
   * Drug Product (Branded Drug, Clinical Drug, Marketed Product etc.)   * Drug Product (Branded Drug, Clinical Drug, Marketed Product etc.)
Line 44: Line 49:
   * Brand Name   * Brand Name
   * Ingredient   * Ingredient
-  * Unit 
   * Supplier   * Supplier
-  * Device (for source ​conccepts ​falling outside of Drug cathegory)+  * Device (for source ​concepts ​falling outside of Drug cathegory)
  
-It may contain Branded or Clinical Drug Forms or Components, but if not they will be derived (see below). Note that units should not have their own concept ​in the DRUG_CONCEPT_STAGE table. Instead, they should be used as verbatim. If the precise Concept Class is not known, it can be included as "Drug Product"​ and the correct Concept Class will be assigned during the incorporation automatically based on the availability of Strength, Dose Form, Brand Name, Supplier, Quantity and Box Size information.+It may contain Branded or Clinical Drug Forms or Components, but if not they will be derived (see below). Note that units should not necessarily ​have an entry in the DRUG_CONCEPT_STAGE table. Instead, they should be used as verbatim. If the precise Concept Class of a Drug Product ​is relevant, it can be preserved in source_concept_class_id field.
  
 Brand Names that are simple combinations of generic international name of active substance and manufacturer name (e.g. "​Aspirin Bayer"​) should not appear as attributes for Drug Products. Manufacturer information should be stored as a concept with Supplier class. Brand Names that are simple combinations of generic international name of active substance and manufacturer name (e.g. "​Aspirin Bayer"​) should not appear as attributes for Drug Products. Manufacturer information should be stored as a concept with Supplier class.
  
-Concepts that belong to the source vocabulary, but do not belong to Drug domain by OMOP rules., should be classified as '​Device'​. Typically, these belong to different ​substance ​groups: +Concepts that belong to the source vocabulary, but do not belong to Drug domain by OMOP CDM conventions, should be classified as '​Device'​. Typically, these belong to different groups ​- check the list [[documentation:vocabulary:​drug|here]].
-  * Radiographic contrasts and dyes (barium sulfate, radiolabeled iodides) +
-  * Nutritional supplements without stated mechanism of pharmaceutical action (e.g. herbal complexes, homeopathic preparations) +
-  * Formulas for infant feeding +
-  * Parenteral nutrition (aminoacids and/or lipid mixes) +
-  * Solution for dialysis, catheter maintenance etc. +
-  * Blood products for transfusion,​ blood plasma, autologous and non-autologous transplants of any kind +
-  * Cosmetics, sunscreens, non-medicated shampoos and soaps, etc. +
-  * Surgical materials like bone cements +
-  * Topical/​external disinfectants+
    
 Animal drugs can be handled as Drugs or Devices, depending on what their role in patient data can be expected to be. Animal drugs can be handled as Drugs or Devices, depending on what their role in patient data can be expected to be.
Line 67: Line 62:
  
 ==RELATIONSHIP_TO_CONCEPT== ==RELATIONSHIP_TO_CONCEPT==
-This table should contain the mapping between source codes and Standard Concepts for Ingredients,​ Brand Names, Dose Forms, Suppliers and Units.It also may contain mapping from source drugs to Standard Concepts for related ATC classes. All other relationships will be ignored.+This table should contain the mapping between source codes and Standard Concepts for Ingredients,​ Brand Names, Dose Forms, Suppliers and Units. All other relationships will be ignored.
  
-^Field^Required^Type^Description^ +^ Field              ^ Required ​ ^ Type         ​^ Description ​                                                                                                                                                                                                                                                                                                                                                                                ​
-|concept_code_1|Yes|string(255)|The source code| +| concept_code_1 ​    ​| Yes       ​VARCHAR(50 | The source code                                                                                                                                                                                                                                                                                                                                                                             | 
-|concept_id_2|Yes|integer|The existing target Concept| +| vocabulary_id_1 ​   | Yes       | VARCHAR(20) ​ | The source vocabulary ​                                                                                                                                                                                                                                                                                                                                                                      
-|precedence|No|integer|For multiple concept_code_1/​concept_id_2 combination the order of precedence in which they should be considered for equivalence testing. The mapping with the highest prevalence among the drugs will be used for writing a record to the CONCEPT_RELATIONSHIP table. A missing precedence will be interpreted as precedence 1. Every precedence value should be unique per concept_code_1| +| concept_id_2 ​      ​| Yes       ​INTEGER ​     ​| The existing target Concept ​                                                                                                                                                                                                                                                                                                                                                                ​
-|conversion_factor|No|float|The factor used to convert the source code to the target Concept. This is usually defined for units|+| precedence ​        ​| No        SMALLINT ​    | For multiple concept_code_1/​concept_id_2 combination the order of precedence in which they should be considered for equivalence testing. The mapping with the highest prevalence among the drugs will be used for writing a record to the CONCEPT_RELATIONSHIP table. A missing precedence will be interpreted as precedence 1. Every precedence value should be unique per concept_code_1 ​ 
 +| conversion_factor ​ | No        NUMERIC ​     ​| The factor used to convert the source code to the target Concept. This is usually defined for units                                                                                                                                                                                                                                                                                         ​|
  
 This table should contain all mappings from the new to existing Concepts and their precedence. This table should contain all mappings from the new to existing Concepts and their precedence.
  
-**Units** should be mapped to Standard Concept Units. Weight units should be converted to milligram, volume units should be mapped to milliliter, molar - to millimole with the right conversion factor. The source_code field should contain the verbatim string of the unit. It is highly ​preferrable ​to use the same units that are in use for valid drugs stored in RxNorm, not just Standard units.+**Units** should be mapped to Standard Concept Units. Weight units should be converted to milligram, volume units should be mapped to milliliter, molar - to millimole with the right conversion factor. The source_code field should contain the verbatim string of the unit. It is highly ​desirable ​to only use units that are in use by Standard native RxNorm concepts. Query [[documentation:​cdm:​drug_strength|DRUG_STRENGTH table]] ​for a distinct list.
  
-Note that it is highly desirable to only use units that are in use by Standard native RxNorm concepts. Querry [[documentation:​cdm:​drug_strength|DRUG_STRENGTH table]] for a distinct list. +**Ingredients** ​are usually mapped to Standard concepts one to one. If ingredient is given as mix (e.g. Co-dried gel of Magnesium Carbonate and Aluminium Hydroxide), it should be split in multiple ​entities ​with distinct new codes; each component of the mix must be mapped to standard ingredient.
- +
-**Ingredients** ​must be usually mapped to Standard concepts one to one. If ingredient is given as mix (e.g. Co-dried gel of Magnesium Carbonate and Aluminium Hydroxide), it should be split in multiple ​enitities ​with distinct new codes; each component of the mix must be mapped to standard ingredient.+
  
 One to many mappings with precedence should be used if: One to many mappings with precedence should be used if:
   * Source ingredient is an ion (like calcium, iron, zinc, etc.), which should be mapped to all it's salts;   * Source ingredient is an ion (like calcium, iron, zinc, etc.), which should be mapped to all it's salts;
   * Source ingredient is a herbal extract, which should be mapped to all suitable standard concepts;   * Source ingredient is a herbal extract, which should be mapped to all suitable standard concepts;
-  * Target vocabularies contain duplicates ​of standard ingredients. This is rare.+  * Target vocabularies contain ​logical ​duplicates ​among standard ingredients. This is rare. Example: RxNorm contains both 19026739 Pantothenic Acid and 19088079 pantothenate as separate standard ingredients (as of July 2019).
  
 **Dose Forms** are commonly mapped to multiple RxNorm dose forms with precedence. Modified release forms should be first mapped to corresponding forms in RxNorm vocabulary (like Delayed Release Oral Capsule), and then to more generic forms (Oral Capsule) with lower precedence. **Dose Forms** are commonly mapped to multiple RxNorm dose forms with precedence. Modified release forms should be first mapped to corresponding forms in RxNorm vocabulary (like Delayed Release Oral Capsule), and then to more generic forms (Oral Capsule) with lower precedence.
Line 93: Line 87:
  
 ^Field^Required^Type^Description^ ^Field^Required^Type^Description^
-|concept_code_1|Yes|string(255)|One source code of the pair| +|concept_code_1|Yes|VARCHAR(50)|One source code of the pair| 
-|concept_code_2|Yes|string(255)|The other source code of the pair|+|concept_code_2|Yes|VARCHAR(50)|The other source code of the pair|
  
-This table should contain relationships for each Drug Concept: To the Ingredients (always), the Dose Form (if appropriate),​the Supplier (if appropriate) and the Brand Name (if appropriate). All other relationships will be derived and ignored if they exist in the table. The relationships need not be symmetrical,​ only the one initiating from the Drug Concept is required.+This table should contain relationships for each Drug Concept: To the Ingredients (always), the Dose Form (if appropriate),​the Supplier (if appropriate) and the Brand Name (if appropriate). All other relationships will be derived and ignored if they exist in the table. The relationships ​don'​t ​need to be symmetrical,​ only the one initiating from the Drug Concept is required.
  
-If Drug Product concept does not have an Ingredient attribute, it will not have any standard mapping target after processing. Supplier attribute will not be considered for concepts without DS_STAGE or PC_STAGE entry since Marketed Product concepts can not exist without dosage information.+If Drug Product concept does not have an Ingredient attribute, it will be non-standard (as all source concepts) and not have any standard mapping target after processing. Supplier attribute will not be considered for concepts without DS_STAGE or PC_STAGE entry since Marketed Product concepts can'​t ​exist without dosage information.
  
 ==DS_STAGE== ==DS_STAGE==
  
 ^Field^Required^Type^Description^ ^Field^Required^Type^Description^
-|drug_concept_code|Yes|string(255)|The source code of the Drug or Drug Component, either Branded or Clinical| +|drug_concept_code|Yes| ​VARCHAR(50)|The source code of the Drug or Drug Component, either Branded or Clinical| 
-|ingredient_concept_code|Yes|string(255)|The source code for one of the Ingredients| +|ingredient_concept_code|Yes| ​VARCHAR(50)|The source code for one of the Ingredients| 
-|amount_value|No|float|The numeric value for absolute content (usually solid formulations)| +|amount_value|No|NUMERIC|The numeric value for absolute content (usually solid formulations)| 
-|amount_unit|No|string(255)|The verbatim unit of the absolute content (solids)| +|amount_unit|No| ​VARCHAR(255)|The verbatim unit of the absolute content (solids)| 
-|numerator_value|No|float|The numerator value for a concentration (usually liquid formulations)| +|numerator_value|No|NUMERIC|The numerator value for a concentration (usually liquid formulations)| 
-|numerator_unit|No|string(255)|The verbatim numerator unit of a concentration (liquids)| +|numerator_unit|No| ​VARCHAR(255)|The verbatim numerator unit of a concentration (usually liquid formulations)| 
-|denominator_value|No|float|The denominator value for a concentration (usally ​liquid formulations). It should contain a number for Quantified products, and null for everything else.| +|denominator_value|No|NUMERIC|The denominator value for a concentration (usually ​liquid formulations). It should contain a number for Quantified products, and null for everything else.| 
-|denominator_unit|No|string(255)|The verbatim denominator unit of a concentration (liquids)| +|denominator_unit|No|VARCHAR(255)|The verbatim denominator unit of a concentration (usually liquid formulations)| 
-|box_size|No|integer|The amount ​of units per box|+|box_size|No|SMALLINT|The number ​of units per box|
  
 This table contains the dose of each ingredient in each drug, as well as the box_size. For drugs which have no strength information or have only for some of the containing ingredients,​ the ds_stage record must be omitted. '​0'​ values in ds_stage are only allowed for inert drugs. This table contains the dose of each ingredient in each drug, as well as the box_size. For drugs which have no strength information or have only for some of the containing ingredients,​ the ds_stage record must be omitted. '​0'​ values in ds_stage are only allowed for inert drugs.
 Drug ingredients should match those in internal_relationship_stage. Drug ingredients should match those in internal_relationship_stage.
-If ingredients are mapped to the same one in relationship_to_concept their dosages should be summed up.+If ingredients are mapped to the same one in relationship_to_concept their dosages should be summed up as for a single ingredient before processing.
 A drug should not contain ingredients in solid (amount) and liquid (numerator/​denominator) form. This might be caused be either source data aberration or drug pack, which must be split into separate Drug Products and processed in PC_STAGE table. A drug should not contain ingredients in solid (amount) and liquid (numerator/​denominator) form. This might be caused be either source data aberration or drug pack, which must be split into separate Drug Products and processed in PC_STAGE table.
 +If denominator value is given, quantified drug will be created with given denominator value and unit as total volume.
  
-Inhalers, enemas or sprays that release certain dosage of active ingredient per activation should also be stored in numerator/​denominator form with total number of actuations as denominator (e.g. X MG / Y ACTUAT). ​Drugs that release ​active substance ​over prolonged ​period of time, like transcutaneous patches or modified ​release ​oral pills, can also be stored ​as numerator/​denominator ​with hours as denominators.+  * Inhalers, enemas or sprays that release certain dosage of active ingredient per activation should also be stored in numerator/​denominator form with total number of actuations as denominator (e.g. X MG / Y ACTUAT). 
 +  * All drugs with fixed amount must have dosage in amount fields and all solutions must have dosage filled in numerator and denominator fields. When liquid drugs in data contain concentration information without volume, DENOMINATOR_VALUE field is left empty. 
 +  * Gases for inhalation must be put in numerator fields with % in unit field without filling denominator fields. It’s the only acceptable use of percents in DS_STAGE. Make sure to convert everything else to mg/ml or mg/mg. 
 +  * Patches, drug implants and other forms that release ​molecules ​over period of time (even extended ​release ​tablets or capsules) may also be stored ​in numerator/​denominator ​form (e.g. X MG / Y HOUR). 
 +  * If dose form for the source concept is given as a soluble powder without a solvent (except powder inhalers), dosage is stored in amount field. 
 +  * For drugs that are administered in a form of oral liquid (solution, suspension, syrup), denominator value of 5 ML should be kept only when we are certain that the dosage is not given “per tbsp.”; if 5 ML is not an actual fixed administered dose (e.g. a sachet or vial), it should be treated as concentration (DENOMINATOR_VALUE = NULL). 
 +  * Box size equal to 1 should be simply stored as NULL. 
 +  * Drugs can't have differing information for denominators among different ingredients,​ skip dosage for some ingredients or have same ingredient with different dosages ​
  
-All drugs with fixed amount must have dosage in amount fields and all solutions must have dosage filled in numerator and denominator fields. When liquid drugs in data contain concentration information without volume, DENOMINATOR_VALUE field is left empty.+==PC_STAGE==
  
-Gases for inhalation must be put in numerator fields with % in unit field without filling denominator fields. It’s ​the only acceptable use of percents ​in DS_STAGE. Make sure to convert everything else to mg/ml or mg/mg.+^Field^Required^Type^Description^ 
 +|pack_concept_code|Yes|VARCHAR(50)|The source code of the Pack, either Branded or Clinical| 
 +|drug_concept_code|Yes|VARCHAR(50)|The component drug product ​in the Pack| 
 +|amount|No| SMALLINT |The number ​of units of the drug product ​in a pack| 
 +|box_size|No| SMALLINT |The number of packs if the pack is boxed (several packs in a larger container|
  
-Patches, drug implants and other forms that release molecules over a period ​of time (even extended release tablets ​or capsules) may also be stored in numerator/​denominator form (e.g. X MG / Y HOUR). +This table contains the composition ​of a Clinical ​or Branded Pack: The Clinical or Branded Drug andnumber ​of doses in each box and number of boxes in each pack. If it is a boxed Packit will also contain the box size, since Packs have no records ​in DS_STAGE like the other drug productsPacks are allowed to have branded drugs as componentsalthough usually Brand Name is only attributed to packs as a wholeSupplier may only be attributed ​to the pack as whole.
- +
-Inhalersenemas or sprays that release certain dosage ​of active ingredient per activation should also be stored ​in numerator/​denominator form with total number of actuations as denominator (e.g. X MG / Y ACTUAT). +
- +
-If dose form for the source concept ​is given as soluble powder without a solvent (except powder inhalers)dosage is stored ​in amount field. +
- +
-For drugs that are administered in a form of oral liquid (solutionsuspension, syrup), denominator value of 5 ML should be kept only when we are certain that the dosage is not given “per tbsp.”; if 5 ML is not an actual fixed administered dose (e.g. a sachet or vial), it should ​be treated as concentration (DENOMINATOR_VALUE = NULL). +
- +
-Box size equal to 1 should be simply stored as NULL. +
- +
-If source provides conflicted, mixed or incomplete info on one or more ingredients dosage or solution volume, drug should not have entries in ds_stage +
- +
- +
-==PС_STAGE== +
- +
-^Field^Required^Type^Description^ +
-|pack_concept_code|Yes|string(255)|The source code of the Pack, either Branded or Clinical| +
-|drug_concept_code|Yes|string(255)|The component drug product in the Pack| +
-|amount|No|integer|The number of units of the drug product in drug_concept_code| +
-|box_size|No|integer|The number of packs if the pack is boxed (several packs in larger container|+
  
-This table contains the composition of a Clinical or Branded Pack: The Clinical or Branded Drug and the number in each pack. If it is a boxed Pack, it will also contain the box size, since Packs have no records in DS_STAGE like the other drug products. Packs are allowed to have branded drugs as components, although usually Brand Name is only attributed to packs as a whole.+Box size = 1 should be omitted.
  
 ==CONCEPT_SYNONYM_STAGE== ==CONCEPT_SYNONYM_STAGE==
Line 152: Line 139:
  
 ^Field^Type^Description^ ^Field^Type^Description^
-|synonym_concept_id|integer|Always and empty field in this table| +|synonym_concept_id|INTEGER|Always and empty field in this table| 
-|synonym_name|string(255)|Alternative name of the concept. There is no need to copy the entry from DRUG_CONCEPT_STAGE| +|synonym_name|VARCHAR(255)|Alternative name of the concept. There is no need to copy the entry from DRUG_CONCEPT_STAGE| 
-|synonym_concept_code|string(50)|Concept code in source vocabulary| +|synonym_concept_code| ​VARCHAR(50)|Concept code in source vocabulary| 
-|synonym_vocabulary_id|string(20)|VOCABULARY_ID of source vocabulary| +|synonym_vocabulary_id| ​VARCHAR(20)|VOCABULARY_ID of source vocabulary| 
-|language_concept_id|integer|CONCEPT_ID for Standard concept representing language|+|language_concept_id| ​INTEGER ​|CONCEPT_ID for Standard concept representing language|
  
-**CONCEPT_RELATIONSHIP_MANUAL**+==CONCEPT_RELATIONSHIP_MANUAL==
  
-This table allows to manually map source concepts to existing standard concept in OMOP CDM circumventing standard vocabulary building process. This is useful to represent source concepts that belong ​to a different ​domain, preserve relationships inside the vocabulary or to map concepts to standard Drug concepts from outside of RxNorm and RxNorm Extension logic (e.g. standard concepts in [[documentation:​vocabulary:​atc|ATC]] or [[documentation:​vocabulary:​cvx|CVX]] vocabulary.+This table allows to manually map source concepts to existing standard concept in OMOP CDM circumventing standard vocabulary building process. This is useful to represent source concepts that should be mapped ​to a concept from non-drug ​domain, preserve relationships inside the vocabulary or to map concepts to standard Drug concepts from outside of RxNorm and RxNorm Extension logic (e.g. standard concepts in [[documentation:​vocabulary:​cvx|CVX]] vocabulary. It is also recommended to provide manual mapping for drugs that may have poor source representation yet are usually of special interest for researchers,​ like insulins or vaccines.
  
 ^Field^Required^Type^Description^ ^Field^Required^Type^Description^
-|concept_code_1|Yes|string(255)|CONCEPT_CODE of source concept in either [[documentation:​cdm:​concept|CONCEPT]] or DRUG_CONCEPT_STAGE tables| +|concept_code_1|Yes| ​VARCHAR(255)|CONCEPT_CODE of source concept in either [[documentation:​cdm:​concept|CONCEPT]] or DRUG_CONCEPT_STAGE tables| 
-|concept_code_2|Yes|string(255)|CONCEPT_CODE of target concept in either [[documentation:​cdm:​concept|CONCEPT]] or DRUG_CONCEPT_STAGE tables| +|concept_code_2|Yes| ​VARCHAR(255)|CONCEPT_CODE of target concept in either [[documentation:​cdm:​concept|CONCEPT]] or DRUG_CONCEPT_STAGE tables| 
-|vocabulary_id_1|Yes|string(20)|VOCABULARY_ID value of source concept| +|vocabulary_id_1|Yes| ​VARCHAR(20)|VOCABULARY_ID value of source concept| 
-|vocabulary_id_2|Yes|string(20)|VOCABULARY_ID value of target concept| +|vocabulary_id_2|Yes| ​VARCHAR(20)|VOCABULARY_ID value of target concept| 
-|relationship_id|Yes|sting(20)|Indicates the type of relation from source to target; most usually will indicate equivalence mapping ('Maps to'). Must be one of the values from [[documentation:​cdm:​relationship|RELATIONSHIP table]]| +|relationship_id|Yes| ​VARCHAR(20)|Indicates the type of relation from source to target; most usually will indicate equivalence mapping ('Maps to'). Must be one of the values from [[documentation:​cdm:​relationship|RELATIONSHIP table]]| 
-|valid_start_date|No|date|Date when the relation became valid| +|valid_start_date|No|DATE|Date when the relation became valid| 
-|valid_end_date|No|date|Date when the relation became invalid| +|valid_end_date|No|DATE|Date when the relation became invalid| 
-|invalid_reason|No|string(1)|Non-null entry allows for manual deprecation of existing relationship. Deprecated relationships that are absent from [[documentation:​cdm:​concept_relationship|CONCEPT_RELATIONSHIP table]] will not be added to Standardized Vocabularies|+|invalid_reason|No| ​VARCHAR(1)|Non-null entry allows for manual deprecation of existing relationship. Deprecated relationships that are absent from [[documentation:​cdm:​concept_relationship|CONCEPT_RELATIONSHIP table]] will not be added to Standardized Vocabularies|
  
 This table needs not to be symmetrical like CONCEPT_RELATIONSHIP;​ complementary relationships will be built automatically. This table needs not to be symmetrical like CONCEPT_RELATIONSHIP;​ complementary relationships will be built automatically.
 Note that concepts with equivalence mappings in this table should not have relations to attributes in other input tables. Note that concepts with equivalence mappings in this table should not have relations to attributes in other input tables.
- 
-==== Challenges and problems ==== 
-To implement a tool to create and maintain the above structure, a number of issues need to be taken care of: 
- 
-  * **Excipients:​** There is no general agreement of what is an active agreement and what is an excipient. Therefore, some of the ingredients need to be declared as “semiactive”,​ such as gelatine. Generally, if ingredient can be biologically active, but is not present in preparation for its pharmaceutical properties, it should be considered excipient. Excipients should be excluded from a list of a drug's ingredients. 
-  * **Forms:** These are not used the same way across drug vocabularies. For example, RxNorm has a Form "​Cream",​ but also "​Ophthalmic cream",​ "​Vaginal cream",​ "​Rectal cream",​ "Oral cream" and "​Cutaneous cream",​ making this Form ambiguous. Instead of a one-to-one mapping, a one to many mapping with an order of precedence is required to establish matching equivalence between Forms. 
-  * **Strength:​** RxNorm normalizes weight units to "​mg"​ and volume units to mL, but other vocabularies might not. There might be units like "​µg",​ "​gram-%"​ or "​volume-%"​. Special unit conversion tables are needed instead of simple unit mappings. This approach becomes infeasible if units are used where the conversion is dependent on the molecule, like "​mol"​ or "​equivalent"​. 
-  * **Ingredient forms:** Ingredients might have ambiguous chemical forms, which RxNorm calls "​Ingredient"​ and "​Precise Ingredient"​ (e.g. a salt of the active compound). They have to be mapped to the right Standard RxNorm Ingredient. If there is no RxNorm Ingredient to map to and the drug vocabulary to be added contains several ambiguous forms of the same Ingredient, one of them has to be declared Standard. In rare cases there might be several Standard duplicates of the same Ingredient. In those cases mappings from source vocabularies must be made with precedence. Another problem might occur due to the strength is given for a precise ingredient, rather than a standard ingredient. An ingredient that is presented in the way of aqueous/​spirit extract should be considered as the same one. 
  
  
Line 193: Line 172:
 | Combinations of product components should be unique. These are Ingredient-strength(s) combination,​ Dose Form, Brand Name, Quantity, Box size.  | Only the highest Concept Code is retained, and the other ones are treated as non-standard Concepts and mapped to the highest. ​                                                                                         | | Combinations of product components should be unique. These are Ingredient-strength(s) combination,​ Dose Form, Brand Name, Quantity, Box size.  | Only the highest Concept Code is retained, and the other ones are treated as non-standard Concepts and mapped to the highest. ​                                                                                         |
 | Each product should have links (records in INTERNAL_RELATIONSHIP_STAGE) to all their Ingredients. ​                                             | The product will be treated as if it had only the linked Ingredients. If no Ingredients are linked, the product will be processed into the CONCEPT_STAGE table, but as an orphan without any related Concept Classes. ​ | | Each product should have links (records in INTERNAL_RELATIONSHIP_STAGE) to all their Ingredients. ​                                             | The product will be treated as if it had only the linked Ingredients. If no Ingredients are linked, the product will be processed into the CONCEPT_STAGE table, but as an orphan without any related Concept Classes. ​ |
-| Ingredients should be linked to their Standard ​Counterparts.                                                                                   | These Ingredients are treated as new Standard Ingredients. ​                                                                                                                                                            | +| Ingredients should be linked to their Standard ​counterparts if such concepts exist.                                                                                   | These Ingredients are treated as new Standard Ingredients, which may lead to creation of duplicates.                                                                                                                                                             | 
-| Dose Forms should be linked to their Standard Counterparts.                                                                                    | The processing ​will fail                                                                                                                                                                                             +| Dose Forms should be linked to their valid counterparts if such concepts exist.                                                                                    | These Dose Forms will be treated as new valid Concepts, which may lead to creation of duplicates                                                                                                                                                                                           
-| Brand Names should be linked to their Valid Counterparts.                                                                                   | These Brand Names will be treated as new Concepts. ​                                                                                                                                                                    | +| Brand Names should be linked to their valid counterparts if such concepts exist.                                                                                   | These Brand Names will be treated as new valid Concepts, which may lead to creation of duplicates.                                                                                                                                                                     
-| All % in source dosages should be converted into mg/ml (mg) unless it is a gas.                                                                | A drug would not be mapped to it's Standard ​Conept ​                                                                                                                                                                    |+| Suppliers should be linked to their Valid Counterparts if such concepts exist. 
 +| These Suppliers will be treated as new valid Concepts, which may lead to creation of duplicates. ​     
 +
 +| All % in source dosages should be converted into mg/ml (mg) unless it is a gas.                                                                | A drug would not be mapped to it's Standard ​Concept ​                                                                                                                                                                    |
 | Marketed Product (a drug that has relationship to it's supplier in INTERNAL_RELATIONSHIP_STAGE) should have both dosage and Dose Form          | The product won't be processed into CONCEPT_STAGE table. ​                                                                                                                                                              | | Marketed Product (a drug that has relationship to it's supplier in INTERNAL_RELATIONSHIP_STAGE) should have both dosage and Dose Form          | The product won't be processed into CONCEPT_STAGE table. ​                                                                                                                                                              |
 | Boxed drug should have both dosage and Dose Form.                                                                                              | The product won't be processed into CONCEPT_STAGE table. ​                                                                                                                                                              | | Boxed drug should have both dosage and Dose Form.                                                                                              | The product won't be processed into CONCEPT_STAGE table. ​                                                                                                                                                              |
Line 203: Line 185:
 | Concepts with active 'Maps to' relations inside CONCEPT_RELATIONSHIP_MANUAL should not have any entries indicating relationships with attributes | Redundant branches of RxNorm Extension or multiple mappings may be created | | Concepts with active 'Maps to' relations inside CONCEPT_RELATIONSHIP_MANUAL should not have any entries indicating relationships with attributes | Redundant branches of RxNorm Extension or multiple mappings may be created |
  
-For quality assurance of input tablesyou ​can use drug_stage_tables_QA.sql script from project'​s [[https://​github.com/​OHDSI/​Vocabulary-v5.0/​blob/​master/​working/​|github]].+For quality assurance of input tables you can use drug_stage_tables_QA.sql script from project'​s [[https://​github.com/​OHDSI/​Vocabulary-v5.0/​blob/​master/​working/​|github]].
  
 All propositions to add a new vocabulary into CDM may be submitted (optionally with prepared input tables) as [[https://​github.com/​OHDSI/​Vocabulary-v5.0/​issues|issues on github]]. All propositions to add a new vocabulary into CDM may be submitted (optionally with prepared input tables) as [[https://​github.com/​OHDSI/​Vocabulary-v5.0/​issues|issues on github]].
- 
-** Matching ** 
-This step is necessary to add inferred equivalence relationships between new and existing Standard Concepts. All matches are created. 
- 
-The matching considers all components (Ingredient-strength(s),​ Dose Form, Brand Name, Quantity, Box size) in the order of precedence. A 10% mismatch between strength or total volume values is still considered a match. Matching beteween normal and Quantified products compares the Numerator Value of the non-quantied to the Numerator divided by the Denominator Value. 
- 
-** Inferring of missing Concept Classes ** 
- 
-After RxNorm Extension Standard concept with the fullest attribute set will be 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 written to the CONCEPT table that have no mapping to an existing equivalent Standard Concept. 
- 
- 
-** Result **  
-All records in the DRUG_CONCEPT_STAGE table are written to the CONCEPT_STAGE table as follows. The standard_concept field is set to '​S'​ for all products and Ingredients and Brand Names that have no match to existing Standard Concepts. Dose Forms, Brand Names and Suppliers are always written as non-standard. 
- 
-All records linking drug products to their Ingredients,​ Dose Forms, Suppliers and Brand Names are written to the CONCEPT_RELATIONSHIP_STAGE table. Note that this can be a one or two step connection: 
- 
- * Ingredients,​ Dose Forms, Suppliers and Brand Names that have no equivalent to RxNorm (and are therefore Standard Concepts): These are converted from the INTERNAL_RELATIONSHIP_STAGE table. ​ 
- * Ingredients,​ Dose Forms and Brand Names that have an RxNorm equivalent (at least one) are not written into the CONCEPT_RELATIONSHIP_STAGE table, but the RxNorm equivalent instead, using the records from the RELATIONSHIP_TO_CONCEPT table with the relationship_id = 'Has standard ing', 'Has standard brand' and 'Has standard form' . 
- 
-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 2      ^ Relationship ID       ^ 
-| 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. 
- 
-Finally, a new DRUG_STRENGTH_STAGE table should be created from DS_STAGE and the the unit conversions in RELATIONSHIP_TO_CONCEPT,​ so the content can be added to the DRUG_STRENGTH table. This includes only Drug Concepts that have no mapping to an existing Standard Concept and are now Standard themselves. 
implementation_international_drug_vocabulary.txt · Last modified: 2021/06/09 10:15 by adavydov