OHDSI Home | Forums | Wiki | Github

Mapping to Clinical Drug

(Gerald Pulver) #1

Over time, we’ve built lists of drugs for various purposes, primarily utilizing NDC and RxNorm codes, with a few oddballs thrown-in, to keep it interesting.

I would like to standardize these lists at the generic product with form and strength level. It would seem that the Clinical Drug concept type (RxNorm) would best suit our needs at present. Once the lists are cleaned up, I expect to explore moving then to ATC, with which I have had very little experience.

I tried a fairly simple way of translating the lists, using the “Maps to” relationship and filtering the results for concept_class_id=‘Clinical Drug’. When tested on some very small files, it appeared to work. However, when I used larger files, it became obvious that I losing many drug products in the process.

Exploring data, I note that many drug concepts do not map directly to concepts of the Clinical Drug class. I am thinking of writing a recursive query to follow appropriate relationships until I find a suitable concept is encountered, but A, I don’t know if that would work, and B, I assume that there MUST be a better (= simple & reliable) way to do this, which I am overlooking.

Here’s a list of the concept classes to which entries on my lists belong, by vocabulary. finding mappings .xlsx (10.4 KB) Some of these classes are clearly inappropriate and will be dropped, but I expect that for every NDC & RxNorm code, I should be able to find what I seek. No?


(Anna Ostropolets) #2

Hi Gerry! So far, it’s not exactly clear where your source concepts are coming from (it looks like a strange mix of pretty much anything in drug domain) and why you want to standardize them to the Clinical Drug level (you’ll be losing some info like brand names).
Also, with classification concepts you are likely to get multiple clinical drugs per 1 ATC/SPL as these vocabs aren’t meant to be used as mapping resources.

But if you do want to go this route, you can
a) retrieve the mappings from non-standard drug concepts to RxNorm, go to concept_ancestor, join on descendants and then filter ancestors to Clinical Drug. This approach won’t work if your NDCs (or else) map to Clinical Drug Form or ingredient levels.

b) If you need active ingredient + form + strength as separate fields, you can use concept_relationship and drug_strength (here again no need for recursion)

c) use concept_ancestor to get RxNorm descendants of ATC/SPL

d) do very little with SNOMED drugs (where are you getting these from anyway? :slight_smile: )

So knowing more on why you want to convert your potentially rich data to a certain level of granularity would be useful.