OHDSI Home | Forums | Wiki | Github

[Vocab] Ingredient vs Clinical Drug Comp

Probably for @Christian_Reich . . .

CONCEPT_ID    CONCEPT_NAME
523290 - 0.5 ML Acellular Pertussis Vaccine 0.116 MG/ML / Diphtheria Toxoid Vaccine 50 UNT/ML / Hepatitis B Surface Antigen Vaccine 0.02 MG/ML / Poliovirus vaccine inactivated, type 1 (Mahoney) 80 UNT/ML / Poliovirus vaccine inactivated, type 2 (MEF-1) 16 UNT/ML /

I just came across this example, this drug is linked to ingredients in OMOP Vocabulary v4.4 2013-10-15 but not in v5.0 3-Apr-2015. I’m thinking it is because in the old vocab the individual components were “ingredients” but now they are “Clinical Drug Comp”

--OMOP Vocabulary v4.4 2013-10-15
SELECT *
FROM CONCEPT c
	JOIN CONCEPT_ANCESTOR ca
		ON ca.DESCENDANT_CONCEPT_ID = c.CONCEPT_ID
	JOIN CONCEPT c1
		ON c1.CONCEPT_ID = ca.ANCESTOR_CONCEPT_ID
		AND c1.CONCEPT_CLASS = 'Ingredient'
WHERE c.CONCEPT_ID = 523290
523283	Poliovirus vaccine inactivated, type 1 (Mahoney)
523365	Poliovirus vaccine inactivated, type 2 (MEF-1)
523367	Poliovirus vaccine inactivated, type 3 (Saukett)
528323	Hepatitis B Surface Antigen Vaccine
529218	Acellular Pertussis Vaccine
529303	Diphtheria Toxoid Vaccine
529411	Tetanus Toxoid Vaccine

--v5.0 3-Apr-2015
SELECT *
FROM CONCEPT c
	JOIN CONCEPT_ANCESTOR ca
		ON ca.DESCENDANT_CONCEPT_ID = c.CONCEPT_ID
	JOIN CONCEPT c1
		ON c1.CONCEPT_ID = ca.ANCESTOR_CONCEPT_ID
WHERE c.CONCEPT_ID = 523290

You receive no results here but if you look in the relationships you can pick up the “clinical drug comp”.

SELECT *
FROM CONCEPT c
	JOIN CONCEPT_RELATIONSHIP cr
		ON cr.CONCEPT_ID_1 = c.concept_id
	JOIN concept c2
		ON c2.concept_id = cr.concept_id_2
		AND c2.VOCABULARY_ID = 'RxNorm'
		AND c2.CONCEPT_CLASS_ID = 'Clinical Drug Comp'
WHERE c.CONCEPT_ID = 523290
19129478	poliovirus vaccine inactivated, type 1 (Mahoney) 80 UNT/ML
19129479	poliovirus vaccine inactivated, type 2 (MEF-1) 16 UNT/ML
528324	Hepatitis B Surface Antigen Vaccine 0.02 MG/ML
19131358	tetanus toxoid vaccine, inactivated 20 UNT/ML
529275	acellular pertussis vaccine, inactivated 0.116 MG/ML
19129481	poliovirus vaccine inactivated, type 3 (Saukett) 64 UNT/ML
19131356	diphtheria toxoid vaccine, inactivated 50 UNT/ML

I was just wondering about this situation. Maybe this is a vaccine thing I’ll need to keep in mind in the future.

That’s an interesting case. The concept you started with is a
non-standard concept: http://www.ohdsi.org/web/hermes/#/concept/523290.
That’s the reason why it’s not in the CONCEPT_ANCESTOR table. You’d have
to map from the non-standard id to one or more standard concepts, and then
from there, you should have able to use the CONCEPT_ANCESTOR as per usual
to get the corresponding ingredient concept ids.

That would explain the change in the CONCEPT_ANCESTOR from the old vocab and the new vocab.

Actually, the situation is even more special. This code is a so-called Quantified Branded Drug, which means it contains the information about the total content of the vial (0.5 mL). There is an equivalent Branded Drug without the 0.5 mL: Concept 42902525. Since the 0.5 mL doesn’t really help anybdoy (e.g. for the calculation of the dose), there is the equivalent without the quantity and we don’t want to have the same product twice as standard concepts we decided to de-standardize it and leave the non-quantified version intact. The relationship is called “Quantified form of”.

I am so far behind documentation of all this. :frowning:

t