Where does a drug concept in RxNorm go when it becomes obsolete or is no longer available on the U.S. market?
If I have an RxCUI in my drug data that is deprecated, how do I track what has become of that drug concept, both from the perspective of my own drug data and from the perspective of the actual drug concept in the real world?
In RxNorm, there is a table for retired RxCUIs, the RXNCUI table. In this table, when an RxCUI is found to be a duplicate of another, or is an error from the source vocabulary, the erroneous RxCUI is replaced by another RxCUI that corrects this error.
Because the data in this table is cumulative, it should allow the user of a particular code to track an RxCUI when it becomes deprecated and superseded by another code. This is somewhat similar to the process in the 3M HDD, in which a duplicate concept
is "inactivated and superseded” by another code, thereby creating a traceable path for a concept over time if the code representing that concept is found to be a duplicate of another. This is how we maintain concept permanence, described in Cimino’s Desiderata.
The RXNCUI table is for longitudinal tracking at the level of the concept, but the historical data for the representations or "atoms" of concepts is tracked in the RXNATOMARCHIVE table. An "atom" may become obsolete for various reasons, which may be a misspelling or some other error in the representation. This table includes all term types that are SAB=RXNORM (or RxNorm-specific), whereas the RxCUI table only tracks the term types SCD (Semantic Clinical Drug), SBD (Semantic Branded Drug), GPCK (Generic Pack), BPCK (Branded Pack).
There is another table that tracks the changes to drug concepts in RxNorm, the RXNCUICHANGES table. This table, unlike the above two tables, is not cumulative. It tracks the changes from one version of RxNorm from the previous version, but it also tracks changes in the source vocabularies, not just the RxNorm curated source (SAB=RXNORM).
One difficulty with tracking an RxNorm drug concept that winds up in the historical tables is that it’s difficult to know why the drug code went away. And if you want to know any more information about the drug, you would need to track down the version of RxNorm in which the concept was last seen, download that version of RxNorm, and then load it into your database to query for its original relationships, representations, and whatever other information you’re looking for. In the 3M HDD, we already have all cumulative versions of RxNorm loaded, and so to find the old RxNorm meaning of that drug concept is a relatively simple matter, but otherwise it would be a serious task.
It’s difficult to know whether a code’s inclusion into one of the RxNorm historical tables is enough to call a drug concept deprecated, or if the suppress value in the RXNCONSO table is what I should be looking at. As an example, take the drug concept Tetracycline 10 MG/ML Ophthalmic Suspension [Achromycin]. It seems neither it nor its generic equivalent is on the U.S. market any longer, but the generic version of the drug (TTY=SCD) still appears in the RXNCONSO table while the code for the branded version of the drug has been put out to pasture in the RXNCUI and RXNATOMARCHIVE tables. The generic form does have a SUPRESS=O status because the original source (SAB) of information, according to the documentation, does not have that drug anymore. However, in the July RxNorm release, both SAB = VANDF and SAB = NDDF are still listed as sources of the drug concept, although with SUPPRESS=O statuses.
So if I really want to make sure that my particular drug concept is current, I would need to check that the RxCUI for that concept is in the RXCONSO table and has a SUPPRESS=N. If my drug and its RxCUI is there with a SUPPRESS value of either O or Y, then my concept may or may not be valid. But if the drug has been moved out of the RXNCONSO table and into the RXNCUI and/or the RXNATOMARCHIVE table, then I can be more confident that the drug isn't valid on the U.S. market anymore. It seems to be a little safer assumption that if the drug is in the RXNCONSO table and even if it has a SUPPRESS value of O it could still be an available drug somewhere.