Medicare Advantage, Part D, Medicaid
MA pbp section c
Rows
N/A
Columns
465
History
2001 (benefit year; observed_period/effective_period_start 2001-01-01) to 2026 (benefit year; effective_period_start 2026-01-01). 21 distinct benefit years present; years 2007-2011 are entirely missing (data jumps 2006 -> 2012), and 2020 is missing its Q3 release.
Card
yesgrain, traps, filters
Typed tools
1
What it is
- 1CMS Medicare Advantage Plan Benefit Package (PBP) "Section C" — the medical/hospital benefit cost-sharing detail (inpatient hospital, SNF, outpatient service groups, deductibles, plan maximum-out-of-pocket, prior-authorization/referral rules, and out-of-network / point-of-service / visitor-travel terms) for each MA plan, parsed from the public CMS PBP PUF zips.
- 2It documents what an MA enrollee pays for Part-A/Part-B-style medical services under each plan-year.
Grain
| Key | Grain |
|---|---|
contract_idplan_idsegment_idreport_yearquarterversionpbp_c_outpt_group_num_id |
|
How to read it
- 1Latest out-of-network inpatient coinsurance for 2026 MA plans: SELECT contract_id, plan_id, segment_id, pbp_c_oon_coins_iph_pct FROM medicare_silver.pbp_section_c WHERE report_year=2026 AND quarter=(SELECT max(quarter) FROM medicare_silver.pbp_section_c WHERE report_year=2026) AND pbp_c_oon_coins_iph_pct IS NOT NULL.
- 2This answers 'what does each MA plan charge an enrollee in coinsurance for an out-of-network inpatient hospital stay in 2026' (real values cluster at 50%).
- 3Always pin quarter to the max for the year to avoid double-counting re-releases, and remember in-network cost-sharing columns are NULL for 2012+.
Traps
- 1BIGGEST TRAP — in-network cost-sharing is empty for all modern years. Every pbp_c in-network benefit column (general deductible, in-network MOOP/gen_oop_med_amt, inpatient iha/iph/ihs copay & coinsurance, outpatient groups 1-5, gated_vs_open, auth/referral flags) is 100% NULL for benefit years 2012-2026. Only the OON (out-of-network), POS (point-of-service), and VT (visitor/travel) families are populated post-2012 (2023: pos 93/130 cols, oon 73/91, vt 3/3). In-network values exist ONLY in 2004-2006, and sparsely. Do NOT use this table to look up a current MA plan's in-network deductible/copay/MOOP — those columns are blank.
- 2No is_current / no snapshot dedup flag. The same plan-year is re-published every quarter (and at multiple submission versions), all stored as separate rows. quarter and version are BOTH part of the grain. To get the 'latest' view of a plan-year you must filter to the max quarter (and max version) per contract_id+plan_id+segment_id+report_year yourself — nothing does it for you. Naively counting rows double-counts plans across quarters.
- 3bid_id looks like the natural key but is NULL for all 2001-2006 rows (8,590 rows) and only 17,463 distinct vs 20,668 distinct contract+plan+segment. When non-null it is exactly contract_id||'_'||plan_id||'_'||segment_id. Use contract_id+plan_id+segment_id (not bid_id) for joins across the full history.
- 4pbp_c_outpt_group_num_id is the hidden grain disambiguator but is NULL 97.9% of the time — it only splits a plan into multiple rows (outpatient groups 1-10) in 2004-2006. For 2012+ ignore it. observed_period is also a false key: it equals Jan-1-of-report_year and is identical across a year's quarterly re-releases, so it is coarser than report_year+quarter.
- 5Time coverage has holes: benefit years 2007-2011 are entirely absent (data jumps from 2006 straight to 2012) and 2020 is missing its Q3 release. report_year is the benefit/effective year (what plan terms apply to), NOT a publication date. asserted_at (only 2 dates) is the Vlada ingest date, not a data dimension. All cost amounts are USD and all coinsurance fields are percentages 0-100; _yn flags use '1'=yes / '2'=no.
Columns (465)
| Column | Type | Meaning |
|---|---|---|
contract_id | string | CMS MA contract id (e.g. H0022, R5342). 1,565 distinct. Part of identity. With plan_id+segment_id forms the plan-segment key; equals the prefix of bid_id. |
plan_id | string | Plan number within the contract (e.g. '001','806'). 656 distinct. Identity. |
segment_id | string | Plan segment ('0','1',...). 26 distinct, usually '0'. Identity; segments are geographic/benefit sub-divisions of a plan. |
version | double | PBP submission/resubmission version of the plan's bid, 0-27 (double). Higher versions = later resubmissions and progressively rarer (v0=8,590 rows are the 2001-2006 legacy rows; v3 peak ~26k). Part of grain — the same plan-year-quarter can appear at multiple versions. |
report_year | double | Benefit year the plan terms are effective for (double, 2001-2026). 21 distinct. Equals year(effective_period_start) and year(observed_period). Primary time dimension. |
quarter | double | Which quarterly CMS PUF release the row came from (1-4, double). Older years carry only Q1; 2018/2019/2023 carry Q1-Q4; each quarter re-publishes the FULL plan set (e.g. 2019 Q1=Q2=Q3=Q4=5,002 rows). Part of grain — needed to separate re-releases of the same benefit year. |
bid_id | string | Concatenated id = contract_id||'_'||plan_id||'_'||segment_id (e.g. 'H0022_001_0'). VERIFIED equal to the concat for all non-null rows. TRAP: NULL for all 2001-2006 rows (8,590 rows) and version=0 there, so it is NOT a universal key — use contract_id+plan_id+segment_id instead. 17,463 distinct (< the 20,668 distinct plan-segments because of the nulls). |
orgtype | string | CMS organization type code (string, zero-padded). Domain observed: '01' (HMO/local CCP, 161,262 rows, dominant), '04','05','06','11','14'. Identifies the MA plan org structure. |
pbp_a_ben_cov | string | Benefit-coverage indicator carried from PBP Section A. Domain: '1' (166,700 rows) and '2' (3,952). One of the very few non-pbp_c columns populated in modern years. |
pbp_a_plan_type | string | MA plan type code from Section A (string). Domain: '01' (HMO, 89k), '04' (Local PPO, 54k), '02' (HMO-POS, 18k), '31','18','09','48','26', etc. Use this to distinguish HMO vs PPO vs POS plans. |
pbp_c_accpt_new_bene_beg | double | |
pbp_c_accpt_new_bene_end | double | |
pbp_c_bene_contact | string | |
pbp_c_coins_iha_bgnd_intrvl1 | double | |
pbp_c_coins_iha_bgnd_intrvl2 | double | |
pbp_c_coins_iha_bgnd_intrvl3 | double | |
pbp_c_coins_iha_cov | string | |
pbp_c_coins_iha_endd_intrvl1 | double | |
pbp_c_coins_iha_endd_intrvl2 | double | |
pbp_c_coins_iha_endd_intrvl3 | double | |
pbp_c_coins_iha_intrvl_num | string | |
pbp_c_coins_iha_pct | double | |
pbp_c_coins_iha_pct_intrvl1 | double | |
pbp_c_coins_iha_pct_intrvl2 | double | |
pbp_c_coins_iha_pct_intrvl3 | double | |
pbp_c_coins_ihs_ben_type | string | |
pbp_c_coins_ihs_yn | string | |
pbp_c_coins_iph_bgnd_intrvl1 | double | |
pbp_c_coins_iph_bgnd_intrvl2 | double | |
pbp_c_coins_iph_bgnd_intrvl3 | double | |
pbp_c_coins_iph_cov | string | |
pbp_c_coins_iph_endd_intrvl1 | double | |
pbp_c_coins_iph_endd_intrvl2 | double | |
pbp_c_coins_iph_endd_intrvl3 | double | |
pbp_c_coins_iph_intrvl_num | string | |
pbp_c_coins_iph_pct | double | |
pbp_c_coins_iph_pct_intrvl1 | double | |
pbp_c_coins_iph_pct_intrvl2 | double | |
pbp_c_coins_iph_pct_intrvl3 | double | |
pbp_c_copay_iha_amt_intrvl1 | double | |
pbp_c_copay_iha_amt_intrvl2 | double | |
pbp_c_copay_iha_amt_intrvl3 | double | |
pbp_c_copay_iha_bgnd_intrvl1 | double | |
pbp_c_copay_iha_bgnd_intrvl2 | double | |
pbp_c_copay_iha_bgnd_intrvl3 | double | |
pbp_c_copay_iha_endd_intrvl1 | double | |
pbp_c_copay_iha_endd_intrvl2 | double | |
pbp_c_copay_iha_endd_intrvl3 | double | |
pbp_c_copay_iha_intrvl_num | string | |
pbp_c_copay_iha_ps_amt | double | |
pbp_c_copay_ihs_ben_type | string | |
pbp_c_copay_ihs_yn | string | |
pbp_c_copay_iph_amt_intrvl1 | double | |
pbp_c_copay_iph_amt_intrvl2 | double | |
pbp_c_copay_iph_amt_intrvl3 | double | |
pbp_c_copay_iph_bgnd_intrvl1 | double | |
pbp_c_copay_iph_bgnd_intrvl2 | double | |
pbp_c_copay_iph_bgnd_intrvl3 | double | |
pbp_c_copay_iph_endd_intrvl1 | double | |
pbp_c_copay_iph_endd_intrvl2 | double | |
pbp_c_copay_iph_endd_intrvl3 | double | |
pbp_c_copay_iph_intrvl_num | string | |
pbp_c_copay_iph_ps_amt | double | |
pbp_c_csc_clause_und_bba | string | |
pbp_c_dif_coor_care_outside | string | |
pbp_c_dif_coor_care_within | string | |
pbp_c_dualelig_freq_a | string | |
pbp_c_dualelig_freq_b | string | |
pbp_c_dualelig_freq_c | string | |
pbp_c_dualelig_freq_d | string | |
pbp_c_gated_vs_open | string | |
pbp_c_gen_auth | string | |
pbp_c_gen_auth_subcats | string | |
pbp_c_gen_auth_viol | string | |
pbp_c_gen_auth_viollist | string | |
pbp_c_gen_auth_yn | string | |
pbp_c_gen_bendesc_subcats | string | |
pbp_c_gen_ded_amt | double | |
pbp_c_gen_ded_cost_type | string | |
pbp_c_gen_ded_med_cat | string | |
pbp_c_gen_ded_med_yn | string | |
pbp_c_gen_ded_nm_amt | double | |
pbp_c_gen_ded_nm_cat | string | |
pbp_c_gen_ded_nm_yn | string | |
pbp_c_gen_ded_yn | string | |
pbp_c_gen_maxenr_amt | double | |
pbp_c_gen_maxenr_cost_type | string | |
pbp_c_gen_maxenr_per | string | |
pbp_c_gen_maxenr_yn | string | |
pbp_c_gen_maxplan_amt | double | |
pbp_c_gen_maxplan_cost_type | string | |
pbp_c_gen_maxplan_cov | string | |
pbp_c_gen_maxplan_per | string | |
pbp_c_gen_maxplan_yn | string | |
pbp_c_gen_offer_ben_yn | string | |
pbp_c_gen_oon_pre_yn | string | |
pbp_c_gen_oop_med_amt | double | |
pbp_c_gen_oop_med_yn | string | |
pbp_c_gen_oop_nm_amt | double | |
pbp_c_gen_oop_nm_cat | string | |
pbp_c_gen_oop_nm_per | string | |
pbp_c_gen_oop_nm_yn | string | |
pbp_c_gen_referral_subcats | string | |
pbp_c_gen_referral_yn | string | |
pbp_c_ihs_auth | string | |
pbp_c_ihs_auth_yn | string | |
pbp_c_ihs_ded_acu_amt | double | |
pbp_c_ihs_ded_comb_amt | double | |
pbp_c_ihs_ded_cost_type | string | |
pbp_c_ihs_ded_psyc_amt | double | |
pbp_c_ihs_ded_yn | string | |
pbp_c_ihs_maxenr_acu_amt | double | |
pbp_c_ihs_maxenr_comb_amt | double | |
pbp_c_ihs_maxenr_cost_type | string | |
pbp_c_ihs_maxenr_psyc_amt | double | |
pbp_c_ihs_maxenr_yn | string | |
pbp_c_ihs_maxplan_acu_amt | double | |
pbp_c_ihs_maxplan_comb_amt | double | |
pbp_c_ihs_maxplan_cost_type | string | |
pbp_c_ihs_maxplan_psyc_amt | double | |
pbp_c_ihs_maxplan_yn | string | |
pbp_c_oon_bendesc_bens | string | |
pbp_c_oon_bendesc_cats | string | |
pbp_c_oon_coins_iha_bgnd_i1 | double | |
pbp_c_oon_coins_iha_bgnd_i2 | double | |
pbp_c_oon_coins_iha_bgnd_i3 | double | |
pbp_c_oon_coins_iha_endd_i1 | double | |
pbp_c_oon_coins_iha_endd_i2 | double | |
pbp_c_oon_coins_iha_endd_i3 | double | |
pbp_c_oon_coins_iha_intrvl_num | string | |
pbp_c_oon_coins_iha_mc_cost_yn | string | |
pbp_c_oon_coins_iha_pct | double | |
pbp_c_oon_coins_iha_pct_i1 | double | |
pbp_c_oon_coins_iha_pct_i2 | double | |
pbp_c_oon_coins_iha_pct_i3 | double | |
pbp_c_oon_coins_ihs_ben_type | string | |
pbp_c_oon_coins_ihs_yn | string | |
pbp_c_oon_coins_iph_bgnd_i1 | double | |
pbp_c_oon_coins_iph_bgnd_i2 | double | |
pbp_c_oon_coins_iph_bgnd_i3 | double | |
pbp_c_oon_coins_iph_endd_i1 | double | |
pbp_c_oon_coins_iph_endd_i2 | double | |
pbp_c_oon_coins_iph_endd_i3 | double | |
pbp_c_oon_coins_iph_intrvl_num | string | |
pbp_c_oon_coins_iph_mc_cost_yn | string | |
pbp_c_oon_coins_iph_pct | double | |
pbp_c_oon_coins_iph_pct_i1 | double | |
pbp_c_oon_coins_iph_pct_i2 | double | |
pbp_c_oon_coins_iph_pct_i3 | double | |
pbp_c_oon_coins_snf_bgnd_i1 | double | |
pbp_c_oon_coins_snf_bgnd_i2 | double | |
pbp_c_oon_coins_snf_bgnd_i3 | double | |
pbp_c_oon_coins_snf_endd_i1 | double | |
pbp_c_oon_coins_snf_endd_i2 | double | |
pbp_c_oon_coins_snf_endd_i3 | double | |
pbp_c_oon_coins_snf_intrvl_num | string | |
pbp_c_oon_coins_snf_mc_cost_yn | string | |
pbp_c_oon_coins_snf_pct | double | |
pbp_c_oon_coins_snf_pct_i1 | double | |
pbp_c_oon_coins_snf_pct_i2 | double | |
pbp_c_oon_coins_snf_pct_i3 | double | |
pbp_c_oon_coins_snf_yn | string | |
pbp_c_oon_copay_iha_amt_i1 | double | |
pbp_c_oon_copay_iha_amt_i2 | double | |
pbp_c_oon_copay_iha_amt_i3 | double | |
pbp_c_oon_copay_iha_bgnd_i1 | double | |
pbp_c_oon_copay_iha_bgnd_i2 | double | |
pbp_c_oon_copay_iha_bgnd_i3 | double | |
pbp_c_oon_copay_iha_endd_i1 | double | |
pbp_c_oon_copay_iha_endd_i2 | double | |
pbp_c_oon_copay_iha_endd_i3 | double | |
pbp_c_oon_copay_iha_intrvl_num | string | |
pbp_c_oon_copay_iha_mc_cost_yn | string | |
pbp_c_oon_copay_iha_ps_amt | double | |
pbp_c_oon_copay_ihs_ben_type | string | |
pbp_c_oon_copay_ihs_yn | string | |
pbp_c_oon_copay_iph_amt_i1 | double | |
pbp_c_oon_copay_iph_amt_i2 | double | |
pbp_c_oon_copay_iph_amt_i3 | double | |
pbp_c_oon_copay_iph_bgnd_i1 | double | |
pbp_c_oon_copay_iph_bgnd_i2 | double | |
pbp_c_oon_copay_iph_bgnd_i3 | double | |
pbp_c_oon_copay_iph_endd_i1 | double | |
pbp_c_oon_copay_iph_endd_i2 | double | |
pbp_c_oon_copay_iph_endd_i3 | double | |
pbp_c_oon_copay_iph_intrvl_num | string | |
pbp_c_oon_copay_iph_mc_cost_yn | string | |
pbp_c_oon_copay_iph_ps_amt | double | |
pbp_c_oon_copay_snf_amt | double | |
pbp_c_oon_copay_snf_amt_i1 | double | |
pbp_c_oon_copay_snf_amt_i2 | double | |
pbp_c_oon_copay_snf_amt_i3 | double | |
pbp_c_oon_copay_snf_bgnd_i1 | double | |
pbp_c_oon_copay_snf_bgnd_i2 | double | |
pbp_c_oon_copay_snf_bgnd_i3 | double | |
pbp_c_oon_copay_snf_endd_i1 | double | |
pbp_c_oon_copay_snf_endd_i2 | double | |
pbp_c_oon_copay_snf_endd_i3 | double | |
pbp_c_oon_copay_snf_intrvl_num | string | |
pbp_c_oon_copay_snf_mc_cost_yn | string | |
pbp_c_oon_copay_snf_yn | string | |
pbp_c_oon_ihs_ded_acu_amt | double | |
pbp_c_oon_ihs_ded_comb_amt | double | |
pbp_c_oon_ihs_ded_cost_type | string | |
pbp_c_oon_ihs_ded_psyc_amt | double | |
pbp_c_oon_ihs_ded_yn | string | |
pbp_c_oon_mc_bendesc_cats | string | |
pbp_c_oon_nmc_bendesc_cats | string | |
pbp_c_oon_outpt_group_num | double | |
pbp_c_oon_snf_ded_amt | double | |
pbp_c_oon_snf_ded_yn | string | |
pbp_c_oon_yn | string | |
pbp_c_other_exc | string | |
pbp_c_outpt1_auth | string | |
pbp_c_outpt1_bendesc_cats | string | |
pbp_c_outpt1_coins_cov | string | |
pbp_c_outpt1_coins_max_pct | double | |
pbp_c_outpt1_coins_min_pct | double | |
pbp_c_outpt1_coins_yn | string | |
pbp_c_outpt1_copay_max_amt | double | |
pbp_c_outpt1_copay_min_amt | double | |
pbp_c_outpt1_copay_yn | string | |
pbp_c_outpt1_ded_amt | double | |
pbp_c_outpt1_ded_yn | string | |
pbp_c_outpt1_group_num | string | |
pbp_c_outpt1_maxenr_amt | double | |
pbp_c_outpt1_maxenr_per | string | |
pbp_c_outpt1_maxenr_yn | string | |
pbp_c_outpt1_maxplan_amt | double | |
pbp_c_outpt1_maxplan_cov | string | |
pbp_c_outpt1_maxplan_per | string | |
pbp_c_outpt1_maxplan_yn | string | |
pbp_c_outpt2_auth | string | |
pbp_c_outpt2_bendesc_cats | string | |
pbp_c_outpt2_coins_cov | string | |
pbp_c_outpt2_coins_max_pct | double | |
pbp_c_outpt2_coins_min_pct | double | |
pbp_c_outpt2_coins_yn | string | |
pbp_c_outpt2_copay_max_amt | double | |
pbp_c_outpt2_copay_min_amt | double | |
pbp_c_outpt2_copay_yn | string | |
pbp_c_outpt2_ded_amt | double | |
pbp_c_outpt2_ded_yn | string | |
pbp_c_outpt2_maxenr_amt | double | |
pbp_c_outpt2_maxenr_per | string | |
pbp_c_outpt2_maxenr_yn | string | |
pbp_c_outpt2_maxplan_amt | double | |
pbp_c_outpt2_maxplan_cov | string | |
pbp_c_outpt2_maxplan_per | string | |
pbp_c_outpt2_maxplan_yn | string | |
pbp_c_outpt3_auth | string | |
pbp_c_outpt3_bendesc_cats | string | |
pbp_c_outpt3_coins_cov | string | |
pbp_c_outpt3_coins_max_pct | double | |
pbp_c_outpt3_coins_min_pct | double | |
pbp_c_outpt3_coins_yn | string | |
pbp_c_outpt3_copay_max_amt | double | |
pbp_c_outpt3_copay_min_amt | double | |
pbp_c_outpt3_copay_yn | string | |
pbp_c_outpt3_ded_amt | double | |
pbp_c_outpt3_ded_yn | string | |
pbp_c_outpt3_maxenr_amt | double | |
pbp_c_outpt3_maxenr_per | string | |
pbp_c_outpt3_maxenr_yn | string | |
pbp_c_outpt3_maxplan_amt | double | |
pbp_c_outpt3_maxplan_cov | string | |
pbp_c_outpt3_maxplan_per | string | |
pbp_c_outpt3_maxplan_yn | string | |
pbp_c_outpt4_auth | string | |
pbp_c_outpt4_bendesc_cats | string | |
pbp_c_outpt4_coins_cov | string | |
pbp_c_outpt4_coins_max_pct | double | |
pbp_c_outpt4_coins_min_pct | double | |
pbp_c_outpt4_coins_yn | string | |
pbp_c_outpt4_copay_max_amt | double | |
pbp_c_outpt4_copay_min_amt | double | |
pbp_c_outpt4_copay_yn | string | |
pbp_c_outpt4_ded_amt | double | |
pbp_c_outpt4_ded_yn | string | |
pbp_c_outpt4_maxenr_amt | double | |
pbp_c_outpt4_maxenr_per | string | |
pbp_c_outpt4_maxenr_yn | string | |
pbp_c_outpt4_maxplan_amt | double | |
pbp_c_outpt4_maxplan_cov | string | |
pbp_c_outpt4_maxplan_per | string | |
pbp_c_outpt4_maxplan_yn | string | |
pbp_c_outpt5_auth | string | |
pbp_c_outpt5_bendesc_cats | string | |
pbp_c_outpt5_coins_cov | string | |
pbp_c_outpt5_coins_max_pct | double | |
pbp_c_outpt5_coins_min_pct | double | |
pbp_c_outpt5_coins_yn | string | |
pbp_c_outpt5_copay_max_amt | double | |
pbp_c_outpt5_copay_min_amt | double | |
pbp_c_outpt5_copay_yn | string | |
pbp_c_outpt5_ded_amt | double | |
pbp_c_outpt5_ded_yn | string | |
pbp_c_outpt5_maxenr_amt | double | |
pbp_c_outpt5_maxenr_per | string | |
pbp_c_outpt5_maxenr_yn | string | |
pbp_c_outpt5_maxplan_amt | double | |
pbp_c_outpt5_maxplan_cov | string | |
pbp_c_outpt5_maxplan_per | string | |
pbp_c_outpt5_maxplan_yn | string | |
pbp_c_outpt_bendesc_cats | string | |
pbp_c_outpt_coins_cov | string | |
pbp_c_outpt_coins_max_pct | double | |
pbp_c_outpt_coins_min_pct | double | |
pbp_c_outpt_coins_yn | string | |
pbp_c_outpt_copay_max_amt | double | |
pbp_c_outpt_copay_min_amt | double | |
pbp_c_outpt_copay_yn | string | |
pbp_c_outpt_group_num | string | |
pbp_c_outpt_group_num_id | string | Legacy disambiguator: outpatient-benefit group number '1'-'10'. TRAP: NULL for 167,181 of 170,652 rows (97.9%); only non-null in 2004-2006, where a single plan is split into up to 10 rows (one per outpatient benefit group). Required to make the grain unique for those legacy years. |
pbp_c_pos_auth | string | |
pbp_c_pos_auth_bens | string | |
pbp_c_pos_auth_mc_subcats | string | |
pbp_c_pos_auth_nmc_subcats | string | |
pbp_c_pos_auth_subcats | string | |
pbp_c_pos_auth_yn | string | |
pbp_c_pos_bendesc_amo | string | |
pbp_c_pos_bendesc_bens | string | |
pbp_c_pos_bendesc_subcats | string | |
pbp_c_pos_coins_iha_bgnd_i1 | double | |
pbp_c_pos_coins_iha_bgnd_i2 | double | |
pbp_c_pos_coins_iha_bgnd_i3 | double | |
pbp_c_pos_coins_iha_endd_i1 | double | |
pbp_c_pos_coins_iha_endd_i2 | double | |
pbp_c_pos_coins_iha_endd_i3 | double | |
pbp_c_pos_coins_iha_intrvl_num | string | |
pbp_c_pos_coins_iha_mc_cost_yn | string | |
pbp_c_pos_coins_iha_pct | double | |
pbp_c_pos_coins_iha_pct_i1 | double | |
pbp_c_pos_coins_iha_pct_i2 | double | |
pbp_c_pos_coins_iha_pct_i3 | double | |
pbp_c_pos_coins_ihs_ben_type | string | |
pbp_c_pos_coins_ihs_yn | string | |
pbp_c_pos_coins_iph_bgnd_i1 | double | |
pbp_c_pos_coins_iph_bgnd_i2 | double | |
pbp_c_pos_coins_iph_bgnd_i3 | double | |
pbp_c_pos_coins_iph_endd_i1 | double | |
pbp_c_pos_coins_iph_endd_i2 | double | |
pbp_c_pos_coins_iph_endd_i3 | double | |
pbp_c_pos_coins_iph_intrvl_num | string | |
pbp_c_pos_coins_iph_mc_cost_yn | string | |
pbp_c_pos_coins_iph_pct | double | |
pbp_c_pos_coins_iph_pct_i1 | double | |
pbp_c_pos_coins_iph_pct_i2 | double | |
pbp_c_pos_coins_iph_pct_i3 | double | |
pbp_c_pos_coins_snf_bgnd_i1 | double | |
pbp_c_pos_coins_snf_bgnd_i2 | double | |
pbp_c_pos_coins_snf_bgnd_i3 | double | |
pbp_c_pos_coins_snf_endd_i1 | double | |
pbp_c_pos_coins_snf_endd_i2 | double | |
pbp_c_pos_coins_snf_endd_i3 | double | |
pbp_c_pos_coins_snf_intrvl_num | string | |
pbp_c_pos_coins_snf_mc_cost_yn | string | |
pbp_c_pos_coins_snf_pct | double | |
pbp_c_pos_coins_snf_pct_i1 | double | |
pbp_c_pos_coins_snf_pct_i2 | double | |
pbp_c_pos_coins_snf_pct_i3 | double | |
pbp_c_pos_coins_snf_yn | string | |
pbp_c_pos_comb_ded_amt | double | |
pbp_c_pos_copay_iha_amt_i1 | double | |
pbp_c_pos_copay_iha_amt_i2 | double | |
pbp_c_pos_copay_iha_amt_i3 | double | |
pbp_c_pos_copay_iha_bgnd_i1 | double | |
pbp_c_pos_copay_iha_bgnd_i2 | double | |
pbp_c_pos_copay_iha_bgnd_i3 | double | |
pbp_c_pos_copay_iha_endd_i1 | double | |
pbp_c_pos_copay_iha_endd_i2 | double | |
pbp_c_pos_copay_iha_endd_i3 | double | |
pbp_c_pos_copay_iha_intrvl_num | string | |
pbp_c_pos_copay_iha_mc_cost_yn | string | |
pbp_c_pos_copay_iha_ps_amt | double | |
pbp_c_pos_copay_ihs_ben_type | string | |
pbp_c_pos_copay_ihs_yn | string | |
pbp_c_pos_copay_iph_amt_i1 | double | |
pbp_c_pos_copay_iph_amt_i2 | double | |
pbp_c_pos_copay_iph_amt_i3 | double | |
pbp_c_pos_copay_iph_bgnd_i1 | double | |
pbp_c_pos_copay_iph_bgnd_i2 | double | |
pbp_c_pos_copay_iph_bgnd_i3 | double | |
pbp_c_pos_copay_iph_endd_i1 | double | |
pbp_c_pos_copay_iph_endd_i2 | double | |
pbp_c_pos_copay_iph_endd_i3 | double | |
pbp_c_pos_copay_iph_intrvl_num | string | |
pbp_c_pos_copay_iph_mc_cost_yn | string | |
pbp_c_pos_copay_iph_ps_amt | double | |
pbp_c_pos_copay_snf_amt | double | |
pbp_c_pos_copay_snf_amt_i1 | double | |
pbp_c_pos_copay_snf_amt_i2 | double | |
pbp_c_pos_copay_snf_amt_i3 | double | |
pbp_c_pos_copay_snf_bgnd_i1 | double | |
pbp_c_pos_copay_snf_bgnd_i2 | double | |
pbp_c_pos_copay_snf_bgnd_i3 | double | |
pbp_c_pos_copay_snf_endd_i1 | double | |
pbp_c_pos_copay_snf_endd_i2 | double | |
pbp_c_pos_copay_snf_endd_i3 | double | |
pbp_c_pos_copay_snf_intrvl_num | string | |
pbp_c_pos_copay_snf_mc_cost_yn | string | |
pbp_c_pos_copay_snf_yn | string | |
pbp_c_pos_ded_amt | double | |
pbp_c_pos_ded_yn | string | |
pbp_c_pos_iha_ded_amt | double | |
pbp_c_pos_iha_maxplan_per | string | |
pbp_c_pos_iha_maxplan_per_d | string | |
pbp_c_pos_ihp_maxplan_per | string | |
pbp_c_pos_ihp_maxplan_per_d | string | |
pbp_c_pos_ihs_ded_type | string | |
pbp_c_pos_ihs_ded_yn | string | |
pbp_c_pos_ihs_maxplan_acu_amt | double | |
pbp_c_pos_ihs_maxplan_comb_amt | double | |
pbp_c_pos_ihs_maxplan_per | string | |
pbp_c_pos_ihs_maxplan_per_d | string | |
pbp_c_pos_ihs_maxplan_psyc_amt | double | |
pbp_c_pos_ihs_maxplan_type | string | |
pbp_c_pos_ihs_maxplan_yn | string | |
pbp_c_pos_iph_ded_amt | double | |
pbp_c_pos_maxenr_oopc_amt | double | |
pbp_c_pos_maxenr_oopc_per | string | |
pbp_c_pos_maxenr_oopc_per_d | string | |
pbp_c_pos_maxenr_oopc_yn | string | |
pbp_c_pos_maxplan_amt | double | |
pbp_c_pos_maxplan_bens | string | |
pbp_c_pos_maxplan_mc_subcats | string | |
pbp_c_pos_maxplan_nmc_subcats | string | |
pbp_c_pos_maxplan_per | string | |
pbp_c_pos_maxplan_per_d | string | |
pbp_c_pos_maxplan_subcats | string | |
pbp_c_pos_maxplan_yn | string | |
pbp_c_pos_mc_bendesc_subcats | string | |
pbp_c_pos_nmc_bendesc_subcats | string | |
pbp_c_pos_outpt_group_num | double | |
pbp_c_pos_refer_benefit_bens | string | |
pbp_c_pos_refer_mc_subcats | string | |
pbp_c_pos_refer_nmc_subcats | string | |
pbp_c_pos_referral_subcats | string | |
pbp_c_pos_referral_yn | string | |
pbp_c_pos_snf_ded_amt | double | |
pbp_c_pos_snf_ded_yn | string | |
pbp_c_pos_state_limit_yn | string | |
pbp_c_pos_territories_yn | string | |
pbp_c_pos_yn | string | |
pbp_c_prof_monitor_care | string | |
pbp_c_prof_part | string | |
pbp_c_serv_prior_esd | string | |
pbp_c_special_avail | string | |
pbp_c_vt_geographic_area | string | |
pbp_c_vt_us_mo | string | |
pbp_c_vt_us_yn | string | |
observed_period | date | Snapshot date = Jan 1 of report_year (date). 21 distinct. TRAP: identical for all quarterly re-releases of a year, so it is COARSER than report_year+quarter and cannot separate quarters in the grain (using it instead of year+quarter drops you to 87,877 distinct). |
asserted_at | date | Vlada load/ingest date (date). Only 2 values: 2026-05-16 (initial load of Q1 + all legacy years) and 2026-05-20 (backfill of the extra quarterly re-releases). A load-batch marker, NOT a benefit dimension. |
effective_period_start | date | |
effective_period_end | date | |
cms_vintage_sequence | int | Integer 1-4 marking ingest vintage/order of the source files (1=74,378 rows, 2,3,4 smaller). Provenance ordering, correlated with but distinct from quarter; do not use as a benefit field. |
parse_revision | int | Parser revision integer (2 distinct values). Silver-tier provenance — which version of the extraction code produced the row. |
parser_artifact_hash | string | Hash of the parser artifact (35 distinct, one per source file). Provenance. |
source_url | string | Exact CMS PBP PUF zip the row came from, e.g. .../pbp-benefits-2019-q1.zip or .../pbp-benefits-2024-quarter-3.zip. 35 distinct = one per (report_year, quarter). Full lineage. |
sha256_content_hash | string | SHA-256 of the source file content (35 distinct, 1:1 with source_url). Provenance/integrity. |
pbp_c_* (in-network cost-sharing families: coins_*, copay_*, gen_*, ihs_*, outpt1_*..outpt5_*, outpt_*, accpt_*, dif_*, dualelig_*, gated_vs_open, *_auth*, *_ded_*, *_maxenr_*, *_maxplan_*, *_oop_*) | The core in-network medical cost-sharing detail: inpatient hospital acute (iha) / psych (iph,ihs) copay & coinsurance by interval, outpatient service groups 1-5 (copay/coins min-max, deductible, plan max), general deductible (gen_ded_amt), in-network maximum-out-of-pocket (gen_oop_med_amt / gen_maxenr_amt), prior-auth & referral flags, gated-vs-open. CRITICAL TRAP: these are 100% NULL for every benefit year 2012-2026. They carry values ONLY in 2004-2006 (and even there sparsely: e.g. 2006 iph coinsurance populated on 2,017 of 3,516 rows). Amounts are USD; coinsurance fields are percent (0-100); _yn flags are '1'=yes/'2'=no. | |
pbp_c_oon_* (out-of-network family, ~91 cols) | Out-of-network cost-sharing for the plan: oon_yn (offers OON?), OON inpatient/SNF coinsurance pct (oon_coins_iph_pct, oon_coins_iha_pct, oon_coins_snf_pct — real values e.g. 50% common for OON inpatient), OON copays, OON deductibles, OON benefit-description category lists. POPULATED in modern years (2023: 73/91 cols; 2026: oon_yn on 2,600 rows). This is one of only three benefit families with data post-2012. | |
pbp_c_pos_* (point-of-service family, ~130 cols) | Point-of-service option cost-sharing (pos_yn, pos_maxplan_*, pos_ded_*, pos_auth_yn, pos_bendesc_*, per-service POS copay/coins). POPULATED in modern years (2023: 93/130 cols). The most-populated benefit family for 2012+. Lets an HMO offer limited out-of-network access. | |
pbp_c_vt_* (visitor/travel family: vt_us_yn, vt_us_mo, vt_geographic_area) | Visitor/travel benefit terms — whether the plan covers enrollees temporarily outside the service area and for how many months. Small family, populated in modern years (vt_us_yn on 29,603 rows in 2023). | |
effective_period_start / effective_period_end | Benefit-year window as dates: Jan 1 - Dec 31 of report_year (e.g. 2025-01-01 .. 2025-12-31). 21 distinct. Provenance/time field; year matches report_year exactly. |
Query it
describe_data_source(source_fqn="medicare_silver.pbp_section_c") # the card, live query_substrate(sql="SELECT * FROM medicare_silver.pbp_section_c WHERE contract_id = '<value>' AND plan_id = '<value>' AND segment_id = '<value>' AND report_year = '<value>' AND quarter = '<value>' AND version = '<value>' AND pbp_c_outpt_group_num_id = '<value>' LIMIT 100")
| Item | Value |
|---|---|
| Typed tools that read it | get_pbp_benefit |
| Identity key | contract_id |
| Join | how_to_join(source_fqn="medicare_silver.pbp_section_c") |
| Raw door | Athena (read-only via query_substrate): medicare_silver.pbp_section_c |
| Note | Grain-governed; live in Glue / query_substrate. Source family pbp_benefits. |
This page as markdown: /docs-md/data/medicare_silver_pbp_section_c.md · every page in one file: /llms-full.txt