OHDSI Home | Forums | Wiki | Github

Drug_concept_id in DRUG_EXPOSURE for a drug with mulitple ingredients

According to the conventions (see below), if a drug has more that one ingredient we create one row per ingredient in DRUG_EXPOSURE.

Do I understand right that then for each row set the drug_concept_id to the corresponding ingredient-concept_id ??

If yes, then we are missing precision on the drug_concept_id. Different ‘Branded Pack’, ‘Clinical Pack’,etc will end up having the same ingredient-concept_id combinations. Moreover, what is then the point of having that precision on compounded drugs, if in the DRUG_EXPOSURE only the high hierarchiy ingrideint is used?

tagging: @ericaVoss, @MaximMoinat

From : https://ohdsi.github.io/CommonDataModel/drug_dose.html

  1. Compounded drugs
    Example: Ibuprofen 20%/Piroxicam 1% Cream, 30ml in 5ml tubes.
    DRUG_STRENGTH We need entries for the ingredients of Ibuprofen and Piroxicam, probably with an amount_value of 1 and a unit of mg.
    DRUG_EXPOSURE The quantity refers to the total amount of the compound. Use one record in the DRUG_EXPOSURE table for each compound.
    Example: 20% Ibuprofen of 30ml = 6mL, 1% Piroxicam of 30ml = 0.3mL
    Ingredient dose= Depends on the drugs involved: One of the use cases above. Ibuprofen dose = 6 x 1mg x 1000 = 6000mg
    Daily dose = Ibuprofen dose/drug duration
    Piroxicam dose = 0.3 x 1mg x 1000 = 300mg
    Daily dose = Piroxicam dose/drug duration
    Note: The analytical side determines that the denominator for both ingredients in the DRUG_STRENGTH table is mg and applies the factor 1000 to convert between mL/g and mg.


Compounded drugs are the ones the pharmacy makes in the shop according to the prescription. That used to be the norm in the 19th century. Now it is very very rare, and I believe only in dermatological creams still used. Almost all drugs are commercially produced and branded. They have concept_ids in the CONCEPT table (RxNorm or, if not available in the US, RxNorm Extension).

If you have drugs in your data that are not in RxNorm/RxNorm Extension you can have them added. The instructions tell you how, and you can get help from the vocab team.

If you really believe you have truly compounded drugs then yes, you have to record them ingredient by ingredient, with their strength, as described above.

Good to know that compounded drug refers specifically to formulations made ‘on-site’, and not multi-ingredient drugs in general. I found this interesting to read: Compounding - Wikipedia

Looking at the CommonDataModel page on drug dose that Javier referenced, do I understand correctly that it suggests adding records to the drug_strength table at ETL time? This table is a lookup for e.g. standard Clinical Drugs which ingredients are used at what strengths. I don’t think we should touch this during ETL. We might have to rewrite and move this page to the vocabulary documentation.

Also, Christian, it might be time to move that instruction on international drugs to a different place. Not sure who still visits the wiki…

Definitely. Will do that soon.