Drugs and formularies
VA Federal Supply Schedule (FSS) drug prices
Rows
N/A
Columns
33
History
2016-05-15 to 2026-03-02
Card
yesgrain, traps, filters
Typed tools
0
What it is
- 1VA Federal Supply Schedule drug price catalog: publicly posted federal government contract prices per drug package, in 3 price types (fss, big4 Federal Ceiling Price, nc national-contract).
- 2A federal low-water-mark benchmark vs commercial and Medicare drug prices.
Grain
| Key | Grain |
|---|---|
ndc11contract_numberprice_type |
|
How to read it
- 1Filter by ndc11 and price_type, take the currently-effective row: select price_usd, package_description, vendor_name from drug_silver.fact_drug_va_fss_price where ndc11=70370106001 and price_type=fss and price_stop_date at-or-after 2026-05-16.
- 2Gives the current VA FSS price for Ingrezza 60mg per 30-count pack; price_type=big4 gives the lower Federal Ceiling Price, ratioable vs commercial/Medicare ASP on ndc11.
Traps
- 1Grain needs price_type: ndc11 alone is 16283 not 21751, and ndc11+contract_number is still not unique (up to 2 price types per contract). Include price_type or you double/triple-count. price_start_date is redundant in the key.
- 2price_type is load-bearing and not comparable across types: big4 (Federal Ceiling Price) sits at or below fss (5338 of 5341 pairs). Use fss for catalog price, big4 for lowest mandated price, nc for generic/standardization. Do not average across price_type.
- 3Single static snapshot, not a time series: is_current true for all rows; observed_period/asserted_at/source_url/sha256/bronze_object_key are constants (2026-05-16). The weekly/2016 history is the spread of price_start_date, not a refresh cadence.
- 4Aliases/dead: effective_period_start=price_start_date and effective_period_end=price_stop_date exactly; sub_item_identifier and drug_source_version_id are 100% NULL though drug_source_version_id is listed as a candidate key. vintage_tag=none, cms_vintage_sequence=2, parse_revision=1 are constants.
- 5Includes lapsed prices: ~2151 rows have price_stop_date before the snapshot; filter price_stop_date at-or-after your as-of date. covered_flag is text T/F not boolean; price_usd is per the free-text package size so cross-NDC compares need pack-size normalization.
Columns (33)
| Column | Type | Meaning |
|---|---|---|
ndc11 | string | 11-digit NDC drug package; 16283 distinct; join key to drug spine |
contract_number | string | VA contract, 657 distinct; 36F797/V797D-=FSS, 36E797/36W797=nc |
price_start_date | date | price effective start; equals effective_period_start; redundant in key |
vendor_name | string | vendor, 520 distinct; one per contract |
contract_start_date | date | umbrella contract start |
contract_stop_date | date | contract end (to 2031); ~2097 already lapsed |
sub_item_identifier | string | 100% NULL, dead |
package_description | string | free-text pack size (100, 10ML); unit for price_usd |
trade_name | string | brand name, 9698 distinct |
generic_name | string | generic name, 7811 distinct |
is_generic | boolean | generic flag ~41% true |
va_class | string | VA drug class code, 413 distinct, 13 nulls |
covered_flag | string | text T/F covered-drug status; T=12517 F=9234 |
prime_vendor_flag | boolean | prime-vendor bool ~93% true |
price_usd | double | package price USD; min 0.01 median ~157 max 3.48M; meaning depends on price_type |
observed_period | date | snapshot date, const 2026-05-16 |
asserted_at | date | record date, const 2026-05-16 |
effective_period_start | date | alias of price_start_date |
effective_period_end | date | alias of price_stop_date |
cms_vintage_sequence | int | const 2 |
parse_revision | int | const 1 |
parser_artifact_hash | string | parser hash, const |
source_url | string | VA vaFssPharmPrices.xlsx, const |
sha256_content_hash | string | raw file hash, const (one file) |
source_id | string | va_fss_pharm_prices, const |
is_current | boolean | TRUE all rows; no-op (one snapshot) |
bronze_object_key | string | S3 bronze key, const |
s3_version_id | string | S3 version id, const |
vintage_tag | string | literal none |
drug_source_version_id | string | 100% NULL, dead (listed as candidate key but empty) |
price_type | string | fss(15417)=FSS price; big4(5343)=Federal Ceiling Price at-or-below fss; nc(991)=national-contract, mostly generics |
price_stop_date | date | price end; alias of effective_period_end; ~2151 already expired |
non_taa_status | string | TAA status Compliant(21332)/Non-Compliant(419) |
Query it
describe_data_source(source_fqn="drug_silver.fact_drug_va_fss_price") # the card, live query_substrate(sql="SELECT * FROM drug_silver.fact_drug_va_fss_price WHERE ndc11 = '<value>' AND contract_number = '<value>' AND price_type = '<value>' LIMIT 100")
| Item | Value |
|---|---|
| Typed tools that read it | none; raw SQL |
| Identity key | ndc11 |
| Join | how_to_join(source_fqn="drug_silver.fact_drug_va_fss_price") |
| Raw door | Athena (read-only via query_substrate): drug_silver.fact_drug_va_fss_price |
This page as markdown: /docs-md/data/drug_silver_fact_drug_va_fss_price.md · every page in one file: /llms-full.txt