OHDSI Home | Forums | Wiki | Github

Vaccines standard - CVX or RxNorm?

(Violetta Komar) #22

Now vaccine from this example will been mapped to RxNorm Ingredient, if you still need comprehensive graphical image i will be making it

(Christian Reich) #23

@Violetta_Komar: Be so kind.

(Dmytry Dymshyts) #24

According the initial question - what are the best candidates to map CPT to.
Here is the table attached with manual evaluation whether meaning of RxNorm or CVX concept is closer to initial CPT4 meaning. See the flags in “RxNorm is better” and “cvx is better”. “0” means no difference.
In the cases where CVX and RxNorm are equivelent we map to RxNorm as it has better hierarchical tree.

cpt_rxn_cvx_compare.xlsx (11.7 KB)

(Lisa Schilling) #25

Hello @Dymshyts
Thank you for all this work!!
Wouldn’t IG IM map to RxNorm code- 108067- Intramuscular immunoglobulin

and IG IV map to - 353532 Immunoglobins, Intravenous

This way we can distinguish the IV from the IM, and there are other more specific codes with concentration but I don’t know if we need those or not.

(Dmytry Dymshyts) #26

You’re welcome, @schillil :slight_smile:
Both “108067- Intramuscular immunoglobulin” and “353532 Immunoglobins, Intravenous” are non-standard concepts. We can use only standard concepts in CDM, thus we map only to standard ones.
108067 Intramuscular immunoglobulin Is Precise Ingredient, Form of 5666 Immunoglobulin G
and 353532 is just outdated, RxNorm never uses Route in Ingredients.

(Dmytry Dymshyts) #27

Mappings from here
exist in OMOP vocabulary now except those that can be mapped to RxNorm better.
And we are working on CVX harmonization itself.

(Lisa Schilling) #28

Ah, @Dymshyts you’re right-- I thought all the RxNorms were standard for drugs so I didn’t even check the specific attributes of the codes. Thanks again.

(Alexander Davydov) #29

Can you use RxNorm Extension here?
36783518 Immunoglobulin G Intravenous Solution
44029797 Immunoglobulin G Intramuscular Solution

(Alexander Davydov) #30

Ah, you’re right, CVX is much better here.

(Dmytry Dymshyts) #31

Technically there should’t be even such a two different Dose Forms like “Intravenous Solution” and “Intramuscular Solution”. both should be “Injectable solution” - exactly as RxNorm does.

(Dmytry Dymshyts) #32

Keeping you posted:
Almost finished, stuck with Influenza vaccines.
We discovered significant inconsistency in concept definition between RxNorm and CVX here:

CVX Influenza concept attributes:
quadrivalent / trivalent / null
preservative-free / contain preservative / null
pediatric / null
intradermal / nasal / injectable / null
seasonal / null

RxNorm Influenza concept attributes
Number of ingredients
Dose Form
distinct strain name (i.e. influenza A virus A/Michigan/45/2015 (H1N1) )

(Melanie Philofsky) #33

I recently completed manual mapping of Colorado’s influenza string data to the most granular concept available. Sometimes this resulted in mapping the source string to an ingredient or generic concept_id because the source string didn’t specify whether the drug contained a preservative or the specific strain of the drug and we don’t make assumptions. Would you like to take a look at some real world data? It’s interesting from a geeky, terminology perspective :slight_smile:

(Christian Reich) #34

CVX and RxNorm Ingredient have a different attributes. But at the detailed product (Clinical or Branded) level only a few attributes combinations really exist. Often only one. So, you may want to create an alternative CVX to RxNorm Detail mapping (a so-called jump) based on these mappings, and then we let the postprocessing sort things out. Want to try?

(Dmytry Dymshyts) #35


Sounds good, doensn’t work.
CVX1 Subsumes “Drug X with ingredient A”
CVX2 Subsumes “Drug Y with ingredient A”
X and Y have the same ingredients but different Brand Names: one of them, let’s say, is “preservative-free”, another “contain preservative”.
Postprocessing will make
CVX1 Subsumes ingredient A
CVX2 Subsumes ingredient A
which is wrong.

We want to release CVX in this way:
If we can find unambigous hierarchical relationships between CVX and RxNorm, we build them as “Is a” / “Subsumes” which will be included in concept_ancestor.
When we’re not sure about a hierarchical connection, we’ll build “CVX - RxNorm” relationships given by the source. But they will be non-hierarchical.

(Violetta Komar) #36

Hi everyone. We have a new proposal mapping logic of CVX here