Stream: terminology
Topic: NDC question
Grahame Grieve (May 28 2019 at 23:00):
this page https://www2a.cdc.gov/vaccines/iis/iisstandards/vaccines.asp?rpt=ndc lists 49281-0392-78
as a valid NDC code. But when I look in the NDC source at https://www.fda.gov/drugs/drug-approvals-and-databases/national-drug-code-directory, I don't see 49281-0392-78 as a valid code?
Robert McClure (May 29 2019 at 01:09):
@Grahame Grieve The FDA site is not the most authoritative NDC site. In any case that NDC was last used in 2014 so it's not in use and given we're talking about a flu vaccine those are tossed after a year. THE FDA site only has 2019 FLUZONE content.
Grahame Grieve (May 29 2019 at 01:13):
so where's the authoritative list of NDC codes published?
Rob Hausam (May 29 2019 at 20:25):
I think the best answer is that there is not a single authoritative list (that's why the drug database vendors spend a lot of time scouring multiple sources to compile their own lists - at least they've certainly been doing that in the past and I expect still are). I think that the FDA list is probably the best out there for newer and current drugs, but as this points out, it isn't entirely complete. @Robert McClure Are you thinking that there is a more authoritative (and ideally more complete) list out there?
Grahame Grieve (May 29 2019 at 20:54):
wow. words fail me. This isn't even stated on the FDA site...
Grahame Grieve (May 29 2019 at 20:55):
I don't know how I can manage this....
Rob Hausam (May 29 2019 at 21:12):
No, I'm sure that it isn't. And agree, I don't know of any good way to manage this, other than taking the "best" list (FDA or whatever is better if we decide that there is a better one) and declare that the included content is a fragment.
Rob Hausam (May 29 2019 at 21:25):
Theoretically, since 2009, the FDA listing should be complete other than the caveat of:
The NDC Directory does not contain all listed drugs. The new version includes the final marketed drugs which listing information were submitted electronically. It does not include animal drugs, blood products, or human drugs that are not in final marketed form, such as Active Pharmaceutical Ingredients(APIs), drugs for further processing, drugs manufactured exclusively for a private label distributor, or drugs that are marketed solely as part of a kit or combination product or inner layer of a multi-level packaged product not marketed individually. For more information about how certain kits or multi-level packaged drugs are addressed in the new NDC Directory, see the NDC Directory Package File definitions document. For the FDA Online Label Repository page and additional resources go to: FDA Online Label Repository
But I'm not sure exactly what all can possibly fall into those exclusions and if otherwise the reality quite yet matches the intent.
Grahame Grieve (May 29 2019 at 21:35):
so why would the US core implementation guide be trying to use NDC codes that are not listed?
Rob Hausam (May 29 2019 at 21:54):
My guess is that the update process for the CDA crosswalk doesn't purge the older NDC codes on the same schedule as FDA (assuming that it does at all) or probably make any particular attempt to stay in sync with the current FDA NDC listing.
Grahame Grieve (May 29 2019 at 22:02):
past codes...?
Rob Hausam (May 29 2019 at 22:16):
They used to have a problem with code re-use. I think that's much less now that the electronic process with SPL has been implemented, but I'm not sure if it's been entirely eliminated? I don't see any stated policy regarding concept permanence, and I suspect that drugs that are withdrawn from the market may be removed from the list. Does @Robert McClure or anyone have more definitive information on the current state of this?
Grahame Grieve (May 29 2019 at 22:24):
right. so even if they don't reuse, they don't publish codes for old products that are still in use for past immunizations, for example
Rob Hausam (May 29 2019 at 22:25):
apparently so
Grahame Grieve (May 29 2019 at 22:31):
hmm. so as far as I can see, the only evidence for 49281-0392-78 as a code in a CDC excel spreadsheet at https://www2a.cdc.gov/vaccines/iis/iisstandards/downloads/NDC/NDC_Unit_Use.xlsx, which we've amplified a lot. But no other source of NDC codes knows about it.
Grahame Grieve (May 29 2019 at 22:31):
so is it valid?
Patrick McLaughlin (NLM) (May 29 2019 at 23:47):
It is an old Fluzone 2013-2014 code. You can look it up in RxNav or the RxNorm API: https://rxnav.nlm.nih.gov/REST/ndcstatus.json?ndc=49281-0392-78
Grahame Grieve (May 29 2019 at 23:52):
mm thanks. can I get a list anywhere? Should i pull a list out of RxNorm?
Patrick McLaughlin (NLM) (May 29 2019 at 23:57):
You can get our best approximation of all active NDCs, based upon the sources in RxNorm, from the RXNSAT file where SAB=RXNORM and ATN=NDC.
https://www.nlm.nih.gov/research/umls/rxnorm/docs/techdoc.html#s6_0
Patrick McLaughlin (NLM) (May 30 2019 at 00:00):
Inactive/historical NDCs can be checked against the API/RxNav. But I don’t think there’s a full list available.
Grahame Grieve (May 30 2019 at 00:01):
so, I cannot know what are valid NDC codes... and I cannot do an expansion on an NDC value set?
Patrick McLaughlin (NLM) (May 30 2019 at 00:08):
The closest thing that exists is the normalized set of NDCs in RxNorm.
Rob Hausam (May 30 2019 at 00:09):
Yes, I was looking at that and was going to suggest the same thing about getting them from RxNorm.
Rob Hausam (May 30 2019 at 00:11):
Getting a complete and accurate list of the valid NDC codes is still obviously an issue, though (and probably not possible).
Robert McClure (Jun 03 2019 at 15:26):
Sorry - been not in Zulip for a few days but @Patrick McLaughlin (NLM) has described what I understand is the truth of it - RxNorm has the best list, including historical data. I don't think there are many code reuse situations but I say that solely based on the assumption that all the NDC code creators - the manufacturers - care enough to not do this. FDA does not manage NDC codes. What does this mean for NDC validation - it means, technically, that you can validate that a code exists (using RxNorm is what you are hearing suggested) but you can not categorically say that a code is not valid. And oh, let's remember there is more then one structure to these beasts.
Grahame Grieve (Jun 04 2019 at 00:40):
well, that presents an interesting challenge given that the response here is a boolean: http://hl7.org/fhir/codesystem-operation-validate-code.html
Rob Hausam (Jun 04 2019 at 01:02):
yes, that does pose a challenge
I don't like it, but since we can't actually invalidate a code (if it's well-formed) then you could possibly return result = true with a message saying something like the code could be valid, but that it isn't verifiable against any code that is known to the server
Robert McClure (Jun 04 2019 at 15:56):
And we need to keep in mind the issue about when it was/is valid. By that I mean the situation you encountered - if it matters - that an NDC may be valid as a representation of a drug that was available in the past but is no longer available. Is that an issue?
Lloyd McKenzie (Jun 04 2019 at 16:18):
Availability and validity are two different questions. Available should be a value set based on a code system property. Some models will only want "currently dispensible meds". Others will be happy to have any medication that was ever available (or might eventually be available).
Grahame Grieve (Jun 05 2019 at 09:52):
codes remain valid for use independently of the products being valid
Michael Lawley (Jun 05 2019 at 21:10):
IS a "code from the (possible) future" the same as an inactive code? That is, if we know a code is syntactically valid and may be used/defined in the future, can we treat it in a similar manner to an inactive code (for the purposes of validation)?
Rob Hausam (Jun 05 2019 at 22:07):
I’m not sure that it’s possible or wise to do that, as the code could actually be in use but you are just not aware of that (or able to verify it).
Michael Lawley (Jun 06 2019 at 00:47):
But that happens already when a code is from a version of the code system that your validator does not yet know about
Rob Hausam (Jun 06 2019 at 01:09):
Yes, that is true. But you can be sure of the validation if you know and understand the versions. This seems a bit different, in that there is no comprehensive source and no way to really be sure about the validity of some of the codes. I may have read your previous comment too superficially, as treating a code as inactive doesn't necessarily mean at all that it is invalid. But I also note (somewhat disconcertingly) that our documentation for $validate-code (on either ValueSet or CodeSystem) doesn't say anything at all about concept status - it describes how to deal with codes that are 'abstract', but not 'inactive'.
Grahame Grieve (Jun 06 2019 at 05:45):
inactive is different to invalid
Lloyd McKenzie (Jun 06 2019 at 12:46):
We probably want to provide some guidance around what making a code 'inactive' will result in from a usage perspective and provide some guidance about when that flag is appropriate vs. not.
Last updated: Apr 12 2022 at 19:14 UTC