WORKED EXAMPLE · FDA NDC REFERENCE
FDA reference: enrich NDCs without inflating totals
Add product names, labelers and dosage forms to package NDCs—while keeping your inventory totals intact.
This worked example is included with our FDA NDC reference. Try it below, or see the full product, fields and purchase details.
Inspect the worked example ↓What you would be paying us to prepare
The FDA source is free. We separate nested product, package and ingredient records into tables, preserve leading zeros, check keys and missing fields, and provide a join that accounts for every input row. An analyst who prefers to do that work can use the FDA source directly.
The download includes the three full CSV tables, a normalized code index, field dictionary, source and processing records, a quality report, and the local enrichment script. No measured time savings or representative buyer match rate is claimed.
A join can inflate the number you meant to analyze
Our example has 8 synthetic inventory lines totaling 124 units. The reference records are real. Some products have several ingredients; one package code has repeated source entries. Joining every package entry and then every ingredient, before summing, produces 12 rows and 174 units.
The checked enrichment returns 8 rows and 124 units. Four lines receive product attributes. Four remain visible with an explicit reason: missing input, unsupported format, or absent from this snapshot. Multiple package entries for one product allow product attributes, but require review before using package-specific details.
This deliberately chosen example demonstrates an arithmetic risk. It is not a customer match-rate estimate or a claim about the frequency of errors.
| Line | Input NDC | Units | Outcome | Ingredient entries |
|---|---|---|---|---|
| L1 | 00002001303 | 7 | matched | 1 |
| L2 | 00003005014 | 11 | matched | 2 |
| L3 | 72043250001 | 13 | matched | 2 |
| L4 | 0002-0013-03 | 5 | matched | 1 |
| L5 | 0002001303 | 17 | unsupported format | — |
| L6 | 99999999999 | 19 | not in snapshot | — |
| L7 | 47848-026-XX | 23 | unsupported format | — |
| L8 | (blank) | 29 | missing input | — |
Try it on your computer
Download these files into one folder. Python’s standard library is sufficient; the script makes no network requests. The sample reference contains only the selected example records.
- Eight synthetic inventory lines
- Expected enriched result
- Selected product records
- Selected package entries
- Selected ingredient entries
- Local enrichment script
- Run instructions
python join.py --reference . --input input.csv --output demo.csv
Keep identifiers as text. We accept supported hyphenated package codes and 11-digit codes. We do not guess the missing segment boundaries of an unhyphenated 10-digit code.
What the source audit uncovered
- 1,909 product NDCs appear in several product records. A product NDC alone is not the table’s unique key; use the source record ID.
- 4 package codes have repeated entries with differing marketing dates. Both entries remain available; we do not silently pick a date.
- 2 package entries cannot be normalized safely. They remain in the source table and are excluded from the matching index.
- 24,311 products have multiple ingredient entries. Expanding these rows can multiply quantities. Another 2,528 have no supplied ingredient records.
- 37,798 package start dates use a format other than YYYYMMDD. Dates remain source text; two-digit years are not guessed.
Inspect the complete quality counts and field missingness · Field dictionary
Source edition and our processing
FDA source edition: 2026-10-09. This preview reprocesses the same retained FDA snapshot used by the earlier prototype. It does not claim a new FDA release. ACD’s buyer-pilot recipe adds the checked join, identifier index, missingness and date audits, and this reproducible example.
Sources can be refreshed separately from our processing. The candidate pins the original source, staging tables and exact processing code. View the snapshot and candidate identities.
Where it fits—and where it does not
Use this for source-record enrichment and data preparation. Listing does not establish FDA approval or current availability. This snapshot does not answer which product matched a transaction on a past date. Routes remain source arrays; strengths remain text. There is no RxNorm, ATC, Orange Book or clinical recommendation in this candidate.
Put the prepared reference to work
The full source snapshot and checked enrichment workflow are available for $29 once. Feedback about fields and historical coverage is welcome; descriptions or synthetic examples are enough. Please do not send patient records.
Buy the FDA reference · $29 → · Give Ben feedback
Independent preparation of FDA data; no endorsement. FDA documentation · Source terms · All research candidates