Sorry for the delay in replying. I had written a response the next day, but realized that my understanding was lacking and that I should wait until I had a better handle on the relationships, rather than risk wasting the time of others, so deleted my draft before hitting SAVE.
I understand more now and may be better able to explain my situation.
At DARTNet Institute, our primary sources of data are the EHR systems of providers and organizations, ranging in size from small practices to massive integrated delivery systems. Most commonly, we see NDC and RxNorm; some provide Multum, OMOP Concept IDs, or free text (OUCH!). And we may encounter a smattering of other codes, typically in defining lists of drugs of interest, “value sets”, rather than raw data. By the way, I can’t recall ever getting a SNOMED drug code from an EHR, though I may have seen it in some specifications. When I started out on the project, I wanted the resultant code to be widely applicable as possible; after several weeks on this, I am becoming more selective.
My present task is to write a query which, will map whatever is given, or as much as is practical, to the appropriate generic RxNorm Concept ID. Ideally, this will be to Clinical Drug level, as brand names are of no value to our projects. However, if the source can be uniquely mapped only to Clinical Form,Clinical Comp, or Ingredient concepts, we’ll happily take it.
I initially naively expected that the Maps to relationship might magically do the mappings, but soon was disabused of that notion and added Tradename of to my queries, as I found NDC would have a Maps to relationship to Branded Drug, I needed to include and another mapping from the Branded Drug concept to Clinical Drug concept.
I also discovered that using Maps to works not at all, or only in part for some vocabularies and concepts.
So I tried using a broader selection of relationships: Maps to, Tradename of, VAProd - RxNorm eq, CVX - RxNorm, SPL - RxNorm, Source - RxNorm eq, Quantified form of, Marketed form of, and Box of, with a de-dupping step for the overlaps. That was a painful lesson, leading me to scale back my ambition, as I discovered such concept types as Quantified Branded Drug Box which maps to Quantified Clinical Drug Box and Branded Drug Box and which each requires a different sequence of further mappings to eventually get to Clinical Drug, maybe.
As of last night, I had dumped my consideration of the various RxNorm and RxNorm Extension concept types to Clinical Drug, Clinical Form , Clinical Comp , or Ingredient, and their branded counterparts, and restricted my source vocabularies to NDC, RxNorm, RxNorm Extension, CVX, VA Prod and Multum.
I thought that I was home free last night, until I saw how my code dealt with
21051061 Branded Drug Methylphenidate 30 MG Extended Release Oral Capsule [Equasym] is trade name for both
• 40221126 Clinical Drug 50/50 Release 24 HR methylphenidate hydrochloride 30 MG Extended Release Oral Capsule and
• 40221131 Clinical Drug 30/70 Release 24 HR methylphenidate hydrochloride 30 MG Extended Release Oral Capsule
My clinical colleague advises me that “Equasym is a 30/70 XL drug, while Ritalin LA is a 50/50 drug”. Thus the mapping to 40221126 is incorrect.
This upset the apple cart because I had thought of the Tradename of relationship as many-to-one e.g.
|Walgreens Ibuprofen Pain Reliever/Fever Reducer 200mg Tablets
||Ibuprofen 200 mg Tablet (Clinical Drug)
|Advil Coated Tablets Pain Reliever and Fever Reducer, Ibuprofen 200mg
Thus the mapping is in error and I am no longer confident of my understanding of the Tradename of relationship. Is it truly many-to-one, and I simply came across an error in the data?
So, tonight I am going to review your suggestion about using ancestry relationships, as I probably should have two weeks ago!