latest update:
[RxAtlas]

Data dictionary · provenance + exported fields

Every value in the dataset is traceable to a source record. This page covers the provenance model, null policy, and the dataset field catalog shipped through the REST API and snapshot exports.

Provenance model

Provenance is a side table, not a footnote. For each exported field in a record there is a corresponding provenance row recording the source identifier, source URL, source class, and effective value state. Values without commercial-use cleared provenance are excluded from the paid export path.

_provenance entry shape (inline on API responses)json
{
  "field":         "field_name",
  "value":         "...",
  "source":        "cms-sdud",
  "source_class":  "government | registry | manufacturer | aggregator | derived",
  "source_url":    "https://data.medicaid.gov/dataset/158a1baa-5506-400a-8ec3-97756f0b0536",
  "effective":     true,
  "superseded_at": null
}

Export shape

The primary entity is drugs. The export combines the canonical entity table with active provenance from 13 sources. JSON responses and the full JSON download include nested provenance. CSV, Parquet, and SQLite are explicitly curated flat extracts and do not carry nested or separate provenance tables.

Key fields

These fields are selected from the field catalog as the main dimensions for filtering, grouping, matching, and API usage:

  • idRxAtlas canonical drug-product id.Record identity
  • primary_sourceSource code for the first source that created the canonical record.Record identity
  • ndc_listDistinct NDCs observed across source records for this canonical product.Record identity
  • source_idFirst-seen source identifier used to seed the canonical record, such as an NDC, RxCUI, SPL set id, or application number.Record identity
  • source_record_urlURL for the latest source record that contributed to the canonical row.Record identity
  • rxcuiRxNorm concept identifier when the product has an unambiguous redistributable mapped RxCUI.Classification
  • ingredient_identifiersUNII ingredient associations with openFDA UNII substance-name synonyms and independent NDC/UNII source versions.Product form
  • shortagesPackage-NDC-level Drug Shortages observations, including source status, availability, presentation, dates, company, related operational information, and reason fields.Shortage signals
  • brand_nameMarketed brand, label title, or branded RxNorm concept name where supplied.Product names
  • generic_nameGeneric, ingredient, or normalized RxNorm clinical concept name.Product names
  • manufacturer_nameLabeler, applicant, or manufacturer name from product-level source records.Product names
  • dosage_formDosage form for the marketed product.Product form
  • routeAdministration route, normalized as source text.Product form
  • strengthProduct strength, usually built from source ingredient strengths.Product form
  • application_numberFDA application number, such as an NDA, ANDA, or BLA. Used as a soft cross-link because one approval can cover many marketed products.Regulatory status
  • marketing_statusMarketing category or approval status supplied by FDA product sources.Regulatory status

Field catalog

The catalog below contains 28 documented fields from the same field model rendered on this page. Field types and descriptions come from the export contract and source registry. Nullable means unknown or not applicable; it does not mean zero, false, or inferred.

Machine-readable catalogue: /docs/data-dictionary/fields.json.

Record identity6 fields

nametypescopedescriptionsources
idintall exported records
RxAtlas canonical drug-product id.
example: 184233
Provenance: Generated by the canonical product resolver and stable across snapshot exports.
Caveat: Canonical ids are stable within RxAtlas snapshots but are not source-issued regulatory identifiers.
varies
primary_sourcetextidentity / matching
Source code for the first source that created the canonical record.
example: openfda-ndc
Provenance: Set from the source registry code that first seeded the canonical product.
Caveat: The primary source is an ingestion lineage marker; later source records may provide fresher attributes.
varies
source_idtextidentity / matching
First-seen source identifier used to seed the canonical record, such as an NDC, RxCUI, SPL set id, or application number.
example: 0002-8215
Provenance: Copied from the source identifier used during initial canonicalization.
varies
source_record_urltextidentity / matching
URL for the latest source record that contributed to the canonical row.
example: https://open.fda.gov/apis/drug/ndc/
Provenance: Taken from the source connector or source registry homepage when record URLs are not per-row.
varies
ndc_listjsonbidentity / matching
Distinct NDCs observed across source records for this canonical product.
example: ["0002-8215"]
Provenance: Aggregated from openFDA NDC package/product identifiers attached to the canonical product.
1
source_idsjsonbidentity / matching
Cross-source identifiers as objects with scheme, value, and match method. Schemes include ndc, rxcui, spl_id (version-specific document), spl_set_id (stable label family), and application_number.
6

Product names3 fields

nametypescopedescriptionsources
brand_nametextproduct
Marketed brand, label title, or branded RxNorm concept name where supplied.
4
generic_nametextproduct
Generic, ingredient, or normalized RxNorm clinical concept name.
3
manufacturer_nametextproduct
Labeler, applicant, or manufacturer name from product-level source records.
3

Product form6 fields

nametypescopedescriptionsources
dosage_formtextproduct
Dosage form for the marketed product.
2
routetextproduct
Administration route, normalized as source text.
2
strengthtextproduct
Product strength, usually built from source ingredient strengths.
2
product_typetextproduct
openFDA NDC product type, such as human prescription drug or human OTC drug.
1
active_ingredientsjsonbproduct
Array of active ingredient names accrued across contributing sources.
1
ingredient_identifiersjsonbproduct
UNII ingredient associations with openFDA UNII substance-name synonyms and independent NDC/UNII source versions.
Provenance: The product-to-UNII relation comes from the openFDA NDC bulk row; names come from the separately versioned openFDA UNII bulk feed.
2

Regulatory status3 fields

nametypescopedescriptionsources
marketing_statustextregulatory
Marketing category or approval status supplied by FDA product sources.
2
dea_scheduletextregulatory
DEA controlled-substance schedule when present in openFDA NDC data.
1
application_numbertextregulatory
FDA application number, such as an NDA, ANDA, or BLA. Used as a soft cross-link because one approval can cover many marketed products.
2

Classification3 fields

nametypescopedescriptionsources
rxcuitextclassification
RxNorm concept identifier when the product has an unambiguous redistributable mapped RxCUI.
Provenance: Limited to redistributable RXNORM/MTHSPL mappings.
2
atc_codetextclassification
Reserved classification field; not advertised as a key field until a redistributable ATC source populates it.
varies
pharm_classjsonbclassification
Array of pharmacologic class values available from openFDA NDC records.
1

Provenance2 fields

nametypescopedescriptionsources
_provenancejsonbprovenance payload
Per-field active provenance entries with source, source URL, confidence, and fetched timestamp. Specialized UNII and shortage sidecars carry their own source/version fields.
6
_sourcesjsonbprovenance payload
All resale-cleared sources actively contributing either ordinary field provenance or a specialized sidecar to this product.
8

Shortage signals1 fields

nametypescopedescriptionsources
shortagesjsonbshortage
Package-NDC-level Drug Shortages observations, including source status, availability, presentation, dates, company, related operational information, and reason fields.
Caveat: An observation is an operational FDA signal, not medical advice or a guarantee of local availability. Field presence follows the source status: availability is expected for Current observations, shortage_reason is optional even for Current observations, resolved_note applies to Resolved observations, and discontinued_date applies to To Be Discontinued observations but can be source-null. Non-applicable fields remain null; upstream contact details are not collected or retained.
1

Pricing2 fields

nametypescopedescriptionsources
nadac_per_unitnumericpricing
Latest National Average Drug Acquisition Cost per unit for matched NDCs.
1
pricing_unittextpricing
NADAC pricing unit, such as EA, ML, or GM.
1

Recall signals2 fields

nametypescopedescriptionsources
has_recallboolrecall
True when an openFDA drug enforcement record names the product NDC.
1
recall_reasontextrecall
Most recent recall reason text carried by an enforcement record for the product.
1

NULL policy

A missing field on a record is a missing field: not a zero, not a negative assertion, and not an imputed value. Fields that do not apply to a record are explicitly NULL. Coverage gaps are visible by design.

Audit trail

Every provenance row carries the observed value, source code, source record URL, effective state, and ingest context. Snapshot manifests and source licence notes document which upstream records were cleared for commercial use.

Field requests are reviewed against the same commercial-use source gate as the rest of the export. A field only ships when its source terms permit commercial use in the buyer-facing dataset.