Drugs and formularies

VA Federal Supply Schedule (FSS) drug prices

drug_silver.fact_drug_va_fss_price·live·silver·static·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

  1. 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).
  2. 2A federal low-water-mark benchmark vs commercial and Medicare drug prices.

Grain

KeyGrain
ndc11contract_numberprice_type
  1. 1One row per ndc11 per contract_number per price_type.
  2. 2That 3-col key is unique for all 21751 rows; ndc11 alone is 16283 distinct because a drug recurs across contracts and price types. price_start_date is redundant inside the key.

How to read it

  1. 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.
  2. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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)

ColumnTypeMeaning
ndc11string11-digit NDC drug package; 16283 distinct; join key to drug spine
contract_numberstringVA contract, 657 distinct; 36F797/V797D-=FSS, 36E797/36W797=nc
price_start_datedateprice effective start; equals effective_period_start; redundant in key
vendor_namestringvendor, 520 distinct; one per contract
contract_start_datedateumbrella contract start
contract_stop_datedatecontract end (to 2031); ~2097 already lapsed
sub_item_identifierstring100% NULL, dead
package_descriptionstringfree-text pack size (100, 10ML); unit for price_usd
trade_namestringbrand name, 9698 distinct
generic_namestringgeneric name, 7811 distinct
is_genericbooleangeneric flag ~41% true
va_classstringVA drug class code, 413 distinct, 13 nulls
covered_flagstringtext T/F covered-drug status; T=12517 F=9234
prime_vendor_flagbooleanprime-vendor bool ~93% true
price_usddoublepackage price USD; min 0.01 median ~157 max 3.48M; meaning depends on price_type
observed_perioddatesnapshot date, const 2026-05-16
asserted_atdaterecord date, const 2026-05-16
effective_period_startdatealias of price_start_date
effective_period_enddatealias of price_stop_date
cms_vintage_sequenceintconst 2
parse_revisionintconst 1
parser_artifact_hashstringparser hash, const
source_urlstringVA vaFssPharmPrices.xlsx, const
sha256_content_hashstringraw file hash, const (one file)
source_idstringva_fss_pharm_prices, const
is_currentbooleanTRUE all rows; no-op (one snapshot)
bronze_object_keystringS3 bronze key, const
s3_version_idstringS3 version id, const
vintage_tagstringliteral none
drug_source_version_idstring100% NULL, dead (listed as candidate key but empty)
price_typestringfss(15417)=FSS price; big4(5343)=Federal Ceiling Price at-or-below fss; nc(991)=national-contract, mostly generics
price_stop_datedateprice end; alias of effective_period_end; ~2151 already expired
non_taa_statusstringTAA 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")
ItemValue
Typed tools that read itnone; raw SQL
Identity keyndc11
Joinhow_to_join(source_fqn="drug_silver.fact_drug_va_fss_price")
Raw doorAthena (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