Replies: 4 comments
-
|
Here's an example:
The same NDC, '00132000508' is in both template files with a different DrOn IRI. They are associated with different IRI targets as well. If you look at branded_drug.tsv, you see that the two targets are related by subClassOf, which is what we would expect:
The branded_drug ( Because the NDC did not exist yet in the ndc_branded_drug.tsv template, it got added (duplicated) and associated with the branded drug. But the process did not recognize the duplication, so the NDC remained in the ndc_clinical_drug.tsv template, with its association to the clinical drug. |
Beta Was this translation helpful? Give feedback.
-
|
There is a somewhat larger "philosophical" issue at play here: do we want to track all the history of NDCs and the SCDs and SBDs with which they have been associated over time? The key challenge with a "yes" answer is the considerable amount of effort it would entail. A more immediate, less-intensive approach: update NDC associations in DrOn as they change in RxNorm. DrOn will therefore mostly be consistent with the most recent association an NDC has/had. But I'd like to add one caveat: once an NDC is associated with an SBD, I don't think it makes sense to revert it to an SCD: it should instead stay with the SBD (every NDC has a brand implicit in it, after all, and technically, they should all be associated with SBDs). We would therefore only update SCD -> SBD changes. What this means:
|
Beta Was this translation helpful? Give feedback.
-
|
query to generate new entries in templates/obsolete.tsv
Query to update replace DrOn IRIs in ndc_branded_drug with IRIs from ndc_clinical_drug where NDCs are equal:
Query to delete NDCs from ndc_clinical_drug that are already in ndc_branded_drug: How it went interactively in sqlite3: |
Beta Was this translation helpful? Give feedback.
-
|
These issues have all been fixed. Closing. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Despite cleaning up duplicate NDCs and implementing a fix in the scripts to prevent the error from recurring, there are a couple dozen NDCs that exist in both template files: ndc_branded_drug.tsv and ndc_clinical_drug.tsv.
My theory about how these errors occur is that in earlier versions of RxNorm, the NDC is associated with an SCD (clinical drug), and then in later versions of RxNorm, gets "reassociated" with an SBD (branded drug).
The current script adds any NDC to ndc_branded_drug that does not already exist there, then adds NDCs to ndc_clinical_drug as long as the NDC does not exist in ndc_branded_drug.
As with all such issues, there are two stages of resolution: (1) fix the existing problem and (2) implement a fix that prevents if from recurring.
In terms of preventive fix, one thought is to first add all NDCs that do not exist in either table, then find all "reassignments" of NDCs to different RxCUIs. One tricky aspect is the situation where we'd have to "move" an NDC from ndc_clinical_drug to ndc_branded_drug (which would just be implemented by deletion and insertion, but still...).
Beta Was this translation helpful? Give feedback.
All reactions