Medicare Advantage, Part D, Medicaid
MA pbp section b1a inpat hosp
medicare_silver.pbp_section_b1a_inpat_hosp·partial·silver·annual·Medicare Advantage Plan Benefit Packages (PBP)Rows
N/A
Columns
492
History
2010 (report_year 2010, effective_period_start 2010-01-01) to 2026 (report_year 2026, effective_period_start 2026-01-01)
Card
yesgrain, traps, filters
Typed tools
1
What it is
- 1A CMS Plan Benefit Package (PBP) Section B-1a mirror table giving the member cost-sharing design for the INPATIENT HOSPITAL (acute) benefit of every Medicare Advantage plan: copays/coinsurance/deductible by day-interval and tier, prior-auth/referral rules, and benefit limits.
- 2It is the authoritative source for 'what does an MA plan charge a member for an inpatient stay' and underpins MA benefit benchmarking / plan-design comparison for the cost-data catalog.
Grain
| Key | Grain |
|---|---|
bid_idreport_yearquarter |
|
How to read it
- 1To get one current-design row per plan for a plan year, pick the latest quarter per plan: e.g.
- 2`SELECT bid_id, pbp_a_plan_type, pbp_b1a_copay_mcs_amt_int1_t1, pbp_b1a_copay_mcs_bgnd_int1_t1, pbp_b1a_copay_mcs_endd_int1_t1 FROM medicare_silver.pbp_section_b1a_inpat_hosp WHERE report_year=2026 AND quarter=(SELECT max(quarter) FROM medicare_silver.pbp_section_b1a_inpat_hosp WHERE report_year=2026)`.
- 3Answers: 'what is the per-day inpatient copay (and for which days) for each MA plan in 2026?' To read a plan's day-tiered copay, walk int1->int2->int3 with their bgnd/endd day boundaries (e.g. $375/day for days 1-7, then $0).
Traps
- 1NO is_current / latest flag exists. The table keeps EVERY quarterly snapshot, so there are multiple rows per plan-year (179,479 rows vs only 92,166 bid x year combos vs 19,819 distinct plans). A query like `WHERE report_year=2023` returns up to 4 rows per plan and will double/quadruple-count. ALWAYS filter to one quarter (e.g. quarter=max per year, or cms_vintage_sequence=max per year).
- 2The grain is (bid_id, report_year, quarter) -- NOT bid_id alone, NOT bid_id+report_year, and `version` is NOT part of it. The profiler reported a 25-column superset key only because the inpatient `maxplan` benefit columns contain the substring 'plan'; those are benefit attributes, not identifiers.
- 3Two parallel copay encodings: a plan populates EITHER the flat per-tier copay (pbp_b1a_copay_mcs_amt_t1) when cost does not vary by day, OR the per-day-interval set (pbp_b1a_copay_mcs_amt_int1_t1 + bgnd/endd day bounds) when it does. Reading only one family misses ~half the plans (in 2026Q1: 5,108 use flat _t1, 4,046 use _int1_t1). 'mcs' = Medicare-Covered Stay; that is the inpatient field -- not _ad (additional days), _up (uncovered), _lrd (lifetime reserve), or _nmcs.
- 4Coinsurance (pbp_b1a_coins_mcs_pct) and deductible (pbp_b1a_ded_amt) are essentially UNUSED for MA inpatient (0 populated in 2026Q1) -- MA inpatient cost-sharing is copay-based. Empty here means 'not how this benefit is structured', not missing data.
- 5The `_bonly` column family (e.g. pbp_b1a_coins_pct_bonly, copay_amt_ps_bonly) is populated ONLY for the ~2% of rows that are Part-B-only plans (pbp_a_ben_cov='2'); it is always null for standard Part-A plans (ben_cov='1'). Use the non-bonly fields for normal plans.
- 6asserted_at (2 values), parse_revision, parser_artifact_hash, sha256_content_hash, source_url, cms_vintage_sequence are silver-layer PROVENANCE/load metadata, not business data. asserted_at is the ingest date (May 2026), not a plan date; cms_vintage_sequence resets to 1 each year (it is the quarter-rank within the year, not a global version). effective_period_start/end and observed_period are fully redundant with report_year (Jan 1 / Dec 31 / Jan 1).
- 7Early years (2010-2017) have ONLY a Q1 snapshot while 2018+ have several quarters, and some year/quarter combos are absent (e.g. 2020 has Q1,Q2,Q4 but no Q3; 2024 has Q1,Q3,Q4 but no Q2). Do not assume four quarters per year. Within-year benefit drift is tiny though (only 2 of 7,741 plans changed inpatient copay between 2023 Q1 and Q4), so any single quarter is a fair representation of that plan-year's design -- but you must still pick exactly one.
Columns (492)
| Column | Type | Meaning |
|---|---|---|
contract_id | string | CMS 5-char MA/MA-PD contract ID (e.g. 'H0028'). 1,680 distinct. First component of bid_id. Joins to other Medicare contract-level tables. |
plan_id | string | 3-char Plan Benefit Package ID within the contract (e.g. '001'). 656 distinct values reused across contracts; NOT unique alone. |
segment_id | string | Plan segment number as string ('0'..'15'). 92% are '0' (single-segment); >0 means a service-area segment of a regional/PPO plan that varies benefits by sub-area. |
version | double | CMS bid submission version of this PBP record (1..27; double). The plan's bid can be refiled many times in a year. Exactly ONE version per (bid,year,quarter) snapshot (verified), so it is a carried attribute, NOT part of the grain. Lower mass at high versions. |
report_year | double | Plan/contract year the benefit design applies to (double, 2010..2026). Equivalent to year(effective_period_start) and year(observed_period) (verified identical). Part of the grain. |
quarter | double | Which quarterly CMS PBP landscape re-release within the plan year (1..4, double). Part of the grain. Early years (2010-2017) have only Q1; 2018+ have multiple quarters. The reason there are ~2.5x more rows than plan-years. |
bid_id | string | The plan-segment identifier = contract_id||'_'||plan_id||'_'||segment_id EXACTLY (verified 0 mismatches), e.g. 'H0028_001_0'. 19,819 distinct plans. This is THE plan key; combine with report_year+quarter for the row grain. |
orgtype | string | CMS contract organization-type code (string): '01'=Local CCP (HMO/PPO, ~90% of rows), '04'=PFFS, '02','05','06','08','11','14'=other org types. Plan-level attribute repeated each snapshot. |
pbp_a_ben_cov | string | Part A/B coverage indicator: '1'=plan covers Part A+B (97.7%), '2'=Part B only (2.1%, has no standard inpatient stay -> uses the _bonly fields), null (288 rows). Gates which cost-share family is populated. |
pbp_a_plan_type | string | MA plan-type code (string): '01'=HMO (50%), '04'=Local/Regional PPO (29%), '02'=HMO-POS, '20','31','18','09','48' etc. Describes the plan product type. |
pbp_b1a_ad_cost_vary_low_tier | string | |
pbp_b1a_ad_cost_vary_tier_num | string | |
pbp_b1a_ad_cost_vary_tiers_yn | string | |
pbp_b1a_auth | string | |
pbp_b1a_auth_bonly | string | |
pbp_b1a_auth_yn | string | |
pbp_b1a_auth_yn_bonly | string | |
pbp_b1a_bendesc_ad_up_nmcs | string | |
pbp_b1a_bendesc_amo_ad | string | |
pbp_b1a_bendesc_amo_iact_bonly | string | |
pbp_b1a_bendesc_amo_nmcs | string | |
pbp_b1a_bendesc_amo_up | string | |
pbp_b1a_bendesc_amt_ad | double | |
pbp_b1a_bendesc_amt_days_bonly | double | |
pbp_b1a_bendesc_lim_ad | string | |
pbp_b1a_bendesc_per_bonly | string | |
pbp_b1a_bendesc_per_bonly_d | string | |
pbp_b1a_bendesc_ulim_bonly | string | |
pbp_b1a_bendesc_yn | string | |
pbp_b1a_bendesc_yn_bonly | string | |
pbp_b1a_coins_ad_bgnd_int1_t1 | double | |
pbp_b1a_coins_ad_bgnd_int1_t2 | double | |
pbp_b1a_coins_ad_bgnd_int1_t3 | double | |
pbp_b1a_coins_ad_bgnd_int2_t1 | double | |
pbp_b1a_coins_ad_bgnd_int2_t2 | double | |
pbp_b1a_coins_ad_bgnd_int2_t3 | double | |
pbp_b1a_coins_ad_bgnd_int3_t1 | double | |
pbp_b1a_coins_ad_bgnd_int3_t2 | double | |
pbp_b1a_coins_ad_bgnd_int3_t3 | double | |
pbp_b1a_coins_ad_bgnd_intrvl1 | double | |
pbp_b1a_coins_ad_bgnd_intrvl2 | double | |
pbp_b1a_coins_ad_bgnd_intrvl3 | double | |
pbp_b1a_coins_ad_endd_int1_t1 | double | |
pbp_b1a_coins_ad_endd_int1_t2 | double | |
pbp_b1a_coins_ad_endd_int1_t3 | double | |
pbp_b1a_coins_ad_endd_int2_t1 | double | |
pbp_b1a_coins_ad_endd_int2_t2 | double | |
pbp_b1a_coins_ad_endd_int2_t3 | double | |
pbp_b1a_coins_ad_endd_int3_t1 | double | |
pbp_b1a_coins_ad_endd_int3_t2 | double | |
pbp_b1a_coins_ad_endd_int3_t3 | double | |
pbp_b1a_coins_ad_endd_intrvl1 | double | |
pbp_b1a_coins_ad_endd_intrvl2 | double | |
pbp_b1a_coins_ad_endd_intrvl3 | double | |
pbp_b1a_coins_ad_intrvl_num | string | |
pbp_b1a_coins_ad_intrvl_num_t1 | string | |
pbp_b1a_coins_ad_intrvl_num_t2 | string | |
pbp_b1a_coins_ad_intrvl_num_t3 | string | |
pbp_b1a_coins_ad_pct_int1_t1 | double | |
pbp_b1a_coins_ad_pct_int1_t2 | double | |
pbp_b1a_coins_ad_pct_int1_t3 | double | |
pbp_b1a_coins_ad_pct_int2_t1 | double | |
pbp_b1a_coins_ad_pct_int2_t2 | double | |
pbp_b1a_coins_ad_pct_int2_t3 | double | |
pbp_b1a_coins_ad_pct_int3_t1 | double | |
pbp_b1a_coins_ad_pct_int3_t2 | double | |
pbp_b1a_coins_ad_pct_int3_t3 | double | |
pbp_b1a_coins_ad_pct_intrvl1 | double | |
pbp_b1a_coins_ad_pct_intrvl2 | double | |
pbp_b1a_coins_ad_pct_intrvl3 | double | |
pbp_b1a_coins_cov_ad | string | |
pbp_b1a_coins_cov_bonly | string | |
pbp_b1a_coins_cov_lrd | string | |
pbp_b1a_coins_cov_mcs | string | |
pbp_b1a_coins_cov_nmcs | string | |
pbp_b1a_coins_cov_up | string | |
pbp_b1a_coins_lrd_bgnd_int1_t1 | double | |
pbp_b1a_coins_lrd_bgnd_int1_t2 | double | |
pbp_b1a_coins_lrd_bgnd_int1_t3 | double | |
pbp_b1a_coins_lrd_bgnd_int2_t1 | double | |
pbp_b1a_coins_lrd_bgnd_int2_t2 | double | |
pbp_b1a_coins_lrd_bgnd_int2_t3 | double | |
pbp_b1a_coins_lrd_bgnd_int3_t1 | double | |
pbp_b1a_coins_lrd_bgnd_int3_t2 | double | |
pbp_b1a_coins_lrd_bgnd_int3_t3 | double | |
pbp_b1a_coins_lrd_bgnd_intrvl1 | double | |
pbp_b1a_coins_lrd_bgnd_intrvl2 | double | |
pbp_b1a_coins_lrd_bgnd_intrvl3 | double | |
pbp_b1a_coins_lrd_endd_int1_t1 | double | |
pbp_b1a_coins_lrd_endd_int1_t2 | double | |
pbp_b1a_coins_lrd_endd_int1_t3 | double | |
pbp_b1a_coins_lrd_endd_int2_t1 | double | |
pbp_b1a_coins_lrd_endd_int2_t2 | double | |
pbp_b1a_coins_lrd_endd_int2_t3 | double | |
pbp_b1a_coins_lrd_endd_int3_t1 | double | |
pbp_b1a_coins_lrd_endd_int3_t2 | double | |
pbp_b1a_coins_lrd_endd_int3_t3 | double | |
pbp_b1a_coins_lrd_endd_intrvl1 | double | |
pbp_b1a_coins_lrd_endd_intrvl2 | double | |
pbp_b1a_coins_lrd_endd_intrvl3 | double | |
pbp_b1a_coins_lrd_int_num_t1 | string | |
pbp_b1a_coins_lrd_int_num_t2 | string | |
pbp_b1a_coins_lrd_int_num_t3 | string | |
pbp_b1a_coins_lrd_intrvl_num | string | |
pbp_b1a_coins_lrd_pct_int1_t1 | double | |
pbp_b1a_coins_lrd_pct_int1_t2 | double | |
pbp_b1a_coins_lrd_pct_int1_t3 | double | |
pbp_b1a_coins_lrd_pct_int2_t1 | double | |
pbp_b1a_coins_lrd_pct_int2_t2 | double | |
pbp_b1a_coins_lrd_pct_int2_t3 | double | |
pbp_b1a_coins_lrd_pct_int3_t1 | double | |
pbp_b1a_coins_lrd_pct_int3_t2 | double | |
pbp_b1a_coins_lrd_pct_int3_t3 | double | |
pbp_b1a_coins_lrd_pct_intrvl1 | double | |
pbp_b1a_coins_lrd_pct_intrvl2 | double | |
pbp_b1a_coins_lrd_pct_intrvl3 | double | |
pbp_b1a_coins_mcs_bgnd_int1_t1 | double | |
pbp_b1a_coins_mcs_bgnd_int1_t2 | double | |
pbp_b1a_coins_mcs_bgnd_int1_t3 | double | |
pbp_b1a_coins_mcs_bgnd_int2_t1 | double | |
pbp_b1a_coins_mcs_bgnd_int2_t2 | double | |
pbp_b1a_coins_mcs_bgnd_int2_t3 | double | |
pbp_b1a_coins_mcs_bgnd_int3_t1 | double | |
pbp_b1a_coins_mcs_bgnd_int3_t2 | double | |
pbp_b1a_coins_mcs_bgnd_int3_t3 | double | |
pbp_b1a_coins_mcs_bgnd_intrvl1 | double | |
pbp_b1a_coins_mcs_bgnd_intrvl2 | double | |
pbp_b1a_coins_mcs_bgnd_intrvl3 | double | |
pbp_b1a_coins_mcs_endd_int1_t1 | double | |
pbp_b1a_coins_mcs_endd_int1_t2 | double | |
pbp_b1a_coins_mcs_endd_int1_t3 | double | |
pbp_b1a_coins_mcs_endd_int2_t1 | double | |
pbp_b1a_coins_mcs_endd_int2_t2 | double | |
pbp_b1a_coins_mcs_endd_int2_t3 | double | |
pbp_b1a_coins_mcs_endd_int3_t1 | double | |
pbp_b1a_coins_mcs_endd_int3_t2 | double | |
pbp_b1a_coins_mcs_endd_int3_t3 | double | |
pbp_b1a_coins_mcs_endd_intrvl1 | double | |
pbp_b1a_coins_mcs_endd_intrvl2 | double | |
pbp_b1a_coins_mcs_endd_intrvl3 | double | |
pbp_b1a_coins_mcs_int_num_t1 | string | |
pbp_b1a_coins_mcs_int_num_t2 | string | |
pbp_b1a_coins_mcs_int_num_t3 | string | |
pbp_b1a_coins_mcs_intrvl_num | string | |
pbp_b1a_coins_mcs_pct | double | |
pbp_b1a_coins_mcs_pct_int1_t1 | double | |
pbp_b1a_coins_mcs_pct_int1_t2 | double | |
pbp_b1a_coins_mcs_pct_int1_t3 | double | |
pbp_b1a_coins_mcs_pct_int2_t1 | double | |
pbp_b1a_coins_mcs_pct_int2_t2 | double | |
pbp_b1a_coins_mcs_pct_int2_t3 | double | |
pbp_b1a_coins_mcs_pct_int3_t1 | double | |
pbp_b1a_coins_mcs_pct_int3_t2 | double | |
pbp_b1a_coins_mcs_pct_int3_t3 | double | |
pbp_b1a_coins_mcs_pct_intrvl1 | double | |
pbp_b1a_coins_mcs_pct_intrvl2 | double | |
pbp_b1a_coins_mcs_pct_intrvl3 | double | |
pbp_b1a_coins_mcs_pct_t1 | double | |
pbp_b1a_coins_mcs_pct_t2 | double | |
pbp_b1a_coins_mcs_pct_t3 | double | |
pbp_b1a_coins_nmcs_bgnd_ntrvl1 | double | |
pbp_b1a_coins_nmcs_bgnd_ntrvl2 | double | |
pbp_b1a_coins_nmcs_bgnd_ntrvl3 | double | |
pbp_b1a_coins_nmcs_endd_ntrvl1 | double | |
pbp_b1a_coins_nmcs_endd_ntrvl2 | double | |
pbp_b1a_coins_nmcs_endd_ntrvl3 | double | |
pbp_b1a_coins_nmcs_intrvl_num | string | |
pbp_b1a_coins_nmcs_pct | double | |
pbp_b1a_coins_nmcs_pct_intrvl1 | double | |
pbp_b1a_coins_nmcs_pct_intrvl2 | double | |
pbp_b1a_coins_nmcs_pct_intrvl3 | double | |
pbp_b1a_coins_nmcs_struc_yn | string | |
pbp_b1a_coins_pct_bonly | double | |
pbp_b1a_coins_pct_up | double | |
pbp_b1a_coins_ps_bgnd1_bonly | double | |
pbp_b1a_coins_ps_bgnd2_bonly | double | |
pbp_b1a_coins_ps_bgnd3_bonly | double | |
pbp_b1a_coins_ps_endd1_bonly | double | |
pbp_b1a_coins_ps_endd2_bonly | double | |
pbp_b1a_coins_ps_endd3_bonly | double | |
pbp_b1a_coins_ps_num_bonly | string | |
pbp_b1a_coins_ps_pct1_bonly | double | |
pbp_b1a_coins_ps_pct2_bonly | double | |
pbp_b1a_coins_ps_pct3_bonly | double | |
pbp_b1a_coins_up_cstshr_yn | string | |
pbp_b1a_coins_yn | string | |
pbp_b1a_coins_yn_bonly | string | |
pbp_b1a_copay_ad_amt_int1_t1 | double | |
pbp_b1a_copay_ad_amt_int1_t2 | double | |
pbp_b1a_copay_ad_amt_int1_t3 | double | |
pbp_b1a_copay_ad_amt_int2_t1 | double | |
pbp_b1a_copay_ad_amt_int2_t2 | double | |
pbp_b1a_copay_ad_amt_int2_t3 | double | |
pbp_b1a_copay_ad_amt_int3_t1 | double | |
pbp_b1a_copay_ad_amt_int3_t2 | double | |
pbp_b1a_copay_ad_amt_int3_t3 | double | |
pbp_b1a_copay_ad_amt_intrvl1 | double | |
pbp_b1a_copay_ad_amt_intrvl2 | double | |
pbp_b1a_copay_ad_amt_intrvl3 | double | |
pbp_b1a_copay_ad_bgnd_int1_t1 | double | |
pbp_b1a_copay_ad_bgnd_int1_t2 | double | |
pbp_b1a_copay_ad_bgnd_int1_t3 | double | |
pbp_b1a_copay_ad_bgnd_int2_t1 | double | |
pbp_b1a_copay_ad_bgnd_int2_t2 | double | |
pbp_b1a_copay_ad_bgnd_int2_t3 | double | |
pbp_b1a_copay_ad_bgnd_int3_t1 | double | |
pbp_b1a_copay_ad_bgnd_int3_t2 | double | |
pbp_b1a_copay_ad_bgnd_int3_t3 | double | |
pbp_b1a_copay_ad_bgnd_intrvl1 | double | |
pbp_b1a_copay_ad_bgnd_intrvl2 | double | |
pbp_b1a_copay_ad_bgnd_intrvl3 | double | |
pbp_b1a_copay_ad_endd_int1_t1 | double | |
pbp_b1a_copay_ad_endd_int1_t2 | double | |
pbp_b1a_copay_ad_endd_int1_t3 | double | |
pbp_b1a_copay_ad_endd_int2_t1 | double | |
pbp_b1a_copay_ad_endd_int2_t2 | double | |
pbp_b1a_copay_ad_endd_int2_t3 | double | |
pbp_b1a_copay_ad_endd_int3_t1 | double | |
pbp_b1a_copay_ad_endd_int3_t2 | double | |
pbp_b1a_copay_ad_endd_int3_t3 | double | |
pbp_b1a_copay_ad_endd_intrvl1 | double | |
pbp_b1a_copay_ad_endd_intrvl2 | double | |
pbp_b1a_copay_ad_endd_intrvl3 | double | |
pbp_b1a_copay_ad_intrvl_num | string | |
pbp_b1a_copay_ad_intrvl_num_t1 | string | |
pbp_b1a_copay_ad_intrvl_num_t2 | string | |
pbp_b1a_copay_ad_intrvl_num_t3 | string | |
pbp_b1a_copay_amt_ps_bonly | double | |
pbp_b1a_copay_lrd_amt_int1_t1 | double | |
pbp_b1a_copay_lrd_amt_int1_t2 | double | |
pbp_b1a_copay_lrd_amt_int1_t3 | double | |
pbp_b1a_copay_lrd_amt_int2_t1 | double | |
pbp_b1a_copay_lrd_amt_int2_t2 | double | |
pbp_b1a_copay_lrd_amt_int2_t3 | double | |
pbp_b1a_copay_lrd_amt_int3_t1 | double | |
pbp_b1a_copay_lrd_amt_int3_t2 | double | |
pbp_b1a_copay_lrd_amt_int3_t3 | double | |
pbp_b1a_copay_lrd_amt_intrvl1 | double | |
pbp_b1a_copay_lrd_amt_intrvl2 | double | |
pbp_b1a_copay_lrd_amt_intrvl3 | double | |
pbp_b1a_copay_lrd_bgnd_int1_t1 | double | |
pbp_b1a_copay_lrd_bgnd_int1_t2 | double | |
pbp_b1a_copay_lrd_bgnd_int1_t3 | double | |
pbp_b1a_copay_lrd_bgnd_int2_t1 | double | |
pbp_b1a_copay_lrd_bgnd_int2_t2 | double | |
pbp_b1a_copay_lrd_bgnd_int2_t3 | double | |
pbp_b1a_copay_lrd_bgnd_int3_t1 | double | |
pbp_b1a_copay_lrd_bgnd_int3_t2 | double | |
pbp_b1a_copay_lrd_bgnd_int3_t3 | double | |
pbp_b1a_copay_lrd_bgnd_intrvl1 | double | |
pbp_b1a_copay_lrd_bgnd_intrvl2 | double | |
pbp_b1a_copay_lrd_bgnd_intrvl3 | double | |
pbp_b1a_copay_lrd_endd_int1_t1 | double | |
pbp_b1a_copay_lrd_endd_int1_t2 | double | |
pbp_b1a_copay_lrd_endd_int1_t3 | double | |
pbp_b1a_copay_lrd_endd_int2_t1 | double | |
pbp_b1a_copay_lrd_endd_int2_t2 | double | |
pbp_b1a_copay_lrd_endd_int2_t3 | double | |
pbp_b1a_copay_lrd_endd_int3_t1 | double | |
pbp_b1a_copay_lrd_endd_int3_t2 | double | |
pbp_b1a_copay_lrd_endd_int3_t3 | double | |
pbp_b1a_copay_lrd_endd_intrvl1 | double | |
pbp_b1a_copay_lrd_endd_intrvl2 | double | |
pbp_b1a_copay_lrd_endd_intrvl3 | double | |
pbp_b1a_copay_lrd_int_num_t1 | string | |
pbp_b1a_copay_lrd_int_num_t2 | string | |
pbp_b1a_copay_lrd_int_num_t3 | string | |
pbp_b1a_copay_lrd_intrvl_num | string | |
pbp_b1a_copay_mcs_amt | double | |
pbp_b1a_copay_mcs_amt_int1_t1 | double | |
pbp_b1a_copay_mcs_amt_int1_t2 | double | |
pbp_b1a_copay_mcs_amt_int1_t3 | double | |
pbp_b1a_copay_mcs_amt_int2_t1 | double | |
pbp_b1a_copay_mcs_amt_int2_t2 | double | |
pbp_b1a_copay_mcs_amt_int2_t3 | double | |
pbp_b1a_copay_mcs_amt_int3_t1 | double | |
pbp_b1a_copay_mcs_amt_int3_t2 | double | |
pbp_b1a_copay_mcs_amt_int3_t3 | double | |
pbp_b1a_copay_mcs_amt_intrvl1 | double | |
pbp_b1a_copay_mcs_amt_intrvl2 | double | |
pbp_b1a_copay_mcs_amt_intrvl3 | double | |
pbp_b1a_copay_mcs_amt_t1 | double | |
pbp_b1a_copay_mcs_amt_t2 | double | |
pbp_b1a_copay_mcs_amt_t3 | double | |
pbp_b1a_copay_mcs_bgnd_int1_t1 | double | |
pbp_b1a_copay_mcs_bgnd_int1_t2 | double | |
pbp_b1a_copay_mcs_bgnd_int1_t3 | double | |
pbp_b1a_copay_mcs_bgnd_int2_t1 | double | |
pbp_b1a_copay_mcs_bgnd_int2_t2 | double | |
pbp_b1a_copay_mcs_bgnd_int2_t3 | double | |
pbp_b1a_copay_mcs_bgnd_int3_t1 | double | |
pbp_b1a_copay_mcs_bgnd_int3_t2 | double | |
pbp_b1a_copay_mcs_bgnd_int3_t3 | double | |
pbp_b1a_copay_mcs_bgnd_intrvl1 | double | |
pbp_b1a_copay_mcs_bgnd_intrvl2 | double | |
pbp_b1a_copay_mcs_bgnd_intrvl3 | double | |
pbp_b1a_copay_mcs_endd_int1_t1 | double | |
pbp_b1a_copay_mcs_endd_int1_t2 | double | |
pbp_b1a_copay_mcs_endd_int1_t3 | double | |
pbp_b1a_copay_mcs_endd_int2_t1 | double | |
pbp_b1a_copay_mcs_endd_int2_t2 | double | |
pbp_b1a_copay_mcs_endd_int2_t3 | double | |
pbp_b1a_copay_mcs_endd_int3_t1 | double | |
pbp_b1a_copay_mcs_endd_int3_t2 | double | |
pbp_b1a_copay_mcs_endd_int3_t3 | double | |
pbp_b1a_copay_mcs_endd_intrvl1 | double | |
pbp_b1a_copay_mcs_endd_intrvl2 | double | |
pbp_b1a_copay_mcs_endd_intrvl3 | double | |
pbp_b1a_copay_mcs_int_num_t1 | string | |
pbp_b1a_copay_mcs_int_num_t2 | string | |
pbp_b1a_copay_mcs_int_num_t3 | string | |
pbp_b1a_copay_mcs_intrvl_num | string | |
pbp_b1a_copay_nmcs_amt | double | |
pbp_b1a_copay_nmcs_amt_intrvl1 | double | |
pbp_b1a_copay_nmcs_amt_intrvl2 | double | |
pbp_b1a_copay_nmcs_amt_intrvl3 | double | |
pbp_b1a_copay_nmcs_bgnd_ntrvl1 | double | |
pbp_b1a_copay_nmcs_bgnd_ntrvl2 | double | |
pbp_b1a_copay_nmcs_bgnd_ntrvl3 | double | |
pbp_b1a_copay_nmcs_endd_ntrvl1 | double | |
pbp_b1a_copay_nmcs_endd_ntrvl2 | double | |
pbp_b1a_copay_nmcs_endd_ntrvl3 | double | |
pbp_b1a_copay_nmcs_intrvl_num | string | |
pbp_b1a_copay_nmcs_struc_yn | string | |
pbp_b1a_copay_ps_amt1_bonly | double | |
pbp_b1a_copay_ps_amt2_bonly | double | |
pbp_b1a_copay_ps_amt3_bonly | double | |
pbp_b1a_copay_ps_bgnd1_bonly | double | |
pbp_b1a_copay_ps_bgnd2_bonly | double | |
pbp_b1a_copay_ps_bgnd3_bonly | double | |
pbp_b1a_copay_ps_endd1_bonly | double | |
pbp_b1a_copay_ps_endd2_bonly | double | |
pbp_b1a_copay_ps_endd3_bonly | double | |
pbp_b1a_copay_ps_num_bonly | string | |
pbp_b1a_copay_up_amt_day | double | |
pbp_b1a_copay_up_amt_stay | double | |
pbp_b1a_copay_up_cstshr_yn | string | |
pbp_b1a_copay_yn | string | |
pbp_b1a_copay_yn_bonly | string | |
pbp_b1a_cost_discharge_yn | string | |
pbp_b1a_cost_share_vary_yn | string | |
pbp_b1a_cost_vary_low_tier | string | |
pbp_b1a_cost_vary_tier_num | string | |
pbp_b1a_cost_vary_tiers_yn | string | |
pbp_b1a_ded_amt | double | |
pbp_b1a_ded_amt_bonly | double | |
pbp_b1a_ded_amt_t1 | double | |
pbp_b1a_ded_amt_t2 | double | |
pbp_b1a_ded_amt_t3 | double | |
pbp_b1a_ded_yn | string | |
pbp_b1a_ded_yn_bonly | string | |
pbp_b1a_discharge_yn_bonly | string | |
pbp_b1a_esrd_copay_amt | double | |
pbp_b1a_esrd_maxenr_amt | double | |
pbp_b1a_hosp_ben_period | string | |
pbp_b1a_hosp_ben_period_oth | string | |
pbp_b1a_maxenr_amt | double | |
pbp_b1a_maxenr_amt_bonly | double | |
pbp_b1a_maxenr_per | string | |
pbp_b1a_maxenr_per_bonly | string | |
pbp_b1a_maxenr_per_bonly_d | string | |
pbp_b1a_maxenr_per_d | string | |
pbp_b1a_maxenr_yn | string | |
pbp_b1a_maxenr_yn_bonly | string | |
pbp_b1a_maxplan_amt_bonly | double | |
pbp_b1a_maxplan_cov_bonly | string | |
pbp_b1a_maxplan_per_bonly | string | |
pbp_b1a_maxplan_per_bonly_d | string | |
pbp_b1a_maxplan_yn_bonly | string | |
pbp_b1a_mc_coins_cstshr_yn_t1 | string | |
pbp_b1a_mc_coins_cstshr_yn_t2 | string | |
pbp_b1a_mc_coins_cstshr_yn_t3 | string | |
pbp_b1a_mc_copay_cstshr_yn_t1 | string | |
pbp_b1a_mc_copay_cstshr_yn_t2 | string | |
pbp_b1a_mc_copay_cstshr_yn_t3 | string | |
pbp_b1a_mdcr_coins_cstshrs_yn | string | |
pbp_b1a_mdcr_copay_cstshrs_yn | string | |
pbp_b1a_pffs_copay_amt | double | |
pbp_b1a_pffs_maxenr_amt | double | |
pbp_b1a_refer_yn | string | |
pbp_b1a_refer_yn_bonly | string | |
observed_period | date | Date the snapshot represents = Jan 1 of report_year (date); identical to effective_period_start (verified). Silver-layer snapshot anchor. |
asserted_at | date | Silver-layer LOAD date -- when Vlada asserted these facts (only 2 values: 2026-05-16, 2026-05-20). Pipeline metadata, NOT a business/CMS date. Do not use for plan-year logic. |
effective_period_start | date | Plan year start = Jan 1 of report_year (date). Silver-layer temporal column; redundant with report_year. Profiler's primary time column (2010-01-01 .. 2026-01-01). |
effective_period_end | date | Plan year end = Dec 31 of report_year (verified, 0 mismatch). Fully redundant with report_year. 17 distinct values. |
cms_vintage_sequence | int | Ordinal of the snapshot WITHIN its report_year (int): 1=Q1, 2=Q2, 3=Q3, 4=Q4 -- it resets each year, it is NOT a global sequence. max(cms_vintage_sequence) per (bid,year) = the latest within-year release. |
parse_revision | int | Parser version that produced the row (int, 1 or 2). Pipeline provenance metadata. |
parser_artifact_hash | string | Hash of the parser artifact used (string). Provenance/lineage metadata. |
source_url | string | URL of the CMS PBP landscape source file (string). Exactly 31 distinct = one per (report_year, quarter) snapshot. The provenance link for every row in a snapshot. |
sha256_content_hash | string | SHA-256 content hash of the source record (string). Provenance/dedup integrity column. |
pbp_b1a_auth_pos | string | |
pbp_b1a_auth_pos_bonly | string | |
pbp_b1a_bendec_yesno_bonly | string | |
pbp_b1a_bendes_per_bonly | string | |
pbp_b1a_coins_cov_pos | string | |
pbp_b1a_coins_cov_pos_bonly | string | |
pbp_b1a_coins_yesno | string | |
pbp_b1a_coins_yesno_bonly | string | |
pbp_b1a_coins_yesno_pos | string | |
pbp_b1a_coins_yesno_pos_bonly | string | |
pbp_b1a_copay_yesno_bonly | string | |
pbp_b1a_copay_yesno_pos | string | |
pbp_b1a_copay_yesno_pos_bonly | string | |
pbp_b1a_ded_yesno_pos | string | |
pbp_b1a_ded_yesno_pos_bonly | string | |
pbp_b1a_maxenr_yesno_bonly | string | |
pbp_b1a_maxenr_yesno_pos | string | |
pbp_b1a_maxenr_yn_pos_bonly | string | |
pbp_b1a_maxplan_yesno_bonly | string | |
pbp_b1a_maxplan_yesno_pos | string | |
pbp_b1a_maxplan_yesno_pos_b | string | |
pbp_b1a_maxpln_cov_pos | string | |
pbp_b1a_maxpln_cov_pos_bonly | string | |
pbp_b1a_maxpln_per_pos | string | |
pbp_b1a_maxpln_per_pos_bonly | string | |
pbp_b1b_auth_bonly | string | |
pbp_b1b_auth_pos | string | |
pbp_b1b_auth_pos_bonly | string | |
pbp_b1b_bendec_yesno_bonly | string | |
pbp_b1b_bendes_per_bonly | string | |
pbp_b1b_bendesc_amo_bonly | string | |
pbp_b1b_bendesc_lim_bonly | string | |
pbp_b1b_coins_cov_pos | string | |
pbp_b1b_coins_cov_pos_bonly | string | |
pbp_b1b_coins_yesno | string | |
pbp_b1b_coins_yesno_bonly | string | |
pbp_b1b_coins_yesno_pos | string | |
pbp_b1b_coins_yesno_pos_bonly | string | |
pbp_b1b_copay_yesno_bonly | string | |
pbp_b1b_copay_yesno_pos | string | |
pbp_b1b_copay_yesno_pos_bonly | string | |
pbp_b1b_ded_yesno_bonly | string | |
pbp_b1b_ded_yesno_pos | string | |
pbp_b1b_ded_yesno_pos_bonly | string | |
pbp_b1b_maxenr__cov_yn_pos | string | |
pbp_b1b_maxenr_cov_yn_pos_b | string | |
pbp_b1b_maxenr_per_bonly | string | |
pbp_b1b_maxenr_type_bonly | string | |
pbp_b1b_maxenr_yesno_bonly | string | |
pbp_b1b_maxenr_yesno_pos | string | |
pbp_b1b_maxenr_yesno_pos_bonly | string | |
pbp_b1b_maxplan_cov_bonly | string | |
pbp_b1b_maxplan_cov_pos | string | |
pbp_b1b_maxplan_cov_pos_bonly | string | |
pbp_b1b_maxplan_per_bonly | string | |
pbp_b1b_maxplan_type_bonly | string | |
pbp_b1b_maxplan_type_pos | string | |
pbp_b1b_maxplan_type_pos_bonly | string | |
pbp_b1b_maxplan_yesno_bonly | string | |
pbp_b1b_maxplan_yesno_pos | string | |
pbp_b1b_maxplan_yesno_pos_b | string | |
pbp_b1b_maxpln_per_pos | string | |
pbp_b1b_maxpln_per_pos_bonly | string | |
pbp_b_1a_auth | string | |
pbp_b_1a_auth_bonly | string | |
pbp_b_1a_bendec_ad_up | string | |
pbp_b_1a_bendec_yesno | string | |
pbp_b_1a_bendesc_amo_ad | string | |
pbp_b_1a_bendesc_amo_up | string | |
pbp_b_1a_bendesc_lim_ad | string | |
pbp_b_1a_coins_cov_ad | string | |
pbp_b_1a_coins_cov_mc | string | |
pbp_b_1a_coins_cov_up | string | |
pbp_b_1a_copay_yesno | string | |
pbp_b_1a_ded_yesno | string | |
pbp_b_1a_ded_yesno_bonly | string | |
pbp_b_1a_maxenr_per | string | |
pbp_b_1a_maxenr_yesno | string | |
pbp_b_1b_auth | string | |
pbp_b_1b_bendec_ad | string | |
pbp_b_1b_bendec_yesno | string | |
pbp_b_1b_bendesc_amo_ad | string | |
pbp_b_1b_bendesc_lim_ad | string | |
pbp_b_1b_coins_cov_ad | string | |
pbp_b_1b_coins_cov_bonly | string | |
pbp_b_1b_coins_cov_mc | string | |
pbp_b_1b_copay_yesno | string | |
pbp_b_1b_ded_yesno | string | |
pbp_b_1b_maxenr_per | string | |
pbp_b_1b_maxenr_type | string | |
pbp_b_1b_maxenr_yesno | string | |
pbp_b1a_copay_mcs_amt_int{1,2,3}_t{1,2,3} (+ _intrvl1..3) | Inpatient copay DOLLAR amount for a Medicare-Covered Stay (MCS=Medicare-covered stay), per day-interval (int1/2/3) and cost tier (t1/2/3). The headline cost field. Populated ~4,046/7,420 in 2026Q1. e.g. $375 for interval 1. The dominant inpatient cost-share mechanism (coinsurance/deductible are near-zero). | |
pbp_b1a_copay_mcs_bgnd_int{n}_t{m} / _endd_int{n}_t{m} | Begin-day (bgnd) and end-day (endd) of each copay day-interval, e.g. days 1-7 then 8+. Defines the 'pay $X/day for days 1..N then $0' structure. Pairs with the copay_mcs_amt fields. | |
pbp_b1a_copay_mcs_amt_t{1,2,3} | Flat (non-interval) MCS copay per tier, used when copay does NOT vary by day. ALTERNATIVE encoding to the _int* fields (~5,108 populated in 2026Q1). A plan populates EITHER the flat _t* OR the per-interval _int*_t* set, not both -> a real trap when reading copays. | |
pbp_b1a_coins_mcs_pct (+ _pct_int*_t*, _pct_t*) | Inpatient coinsurance PERCENTAGE for a Medicare-covered stay, per interval/tier. Near-zero population for MA (0 in 2026Q1) -- MA inpatient is copay-based, not coinsurance. The _ad (additional days), _up (uncovered/non-Medicare), _lrd (lifetime reserve days), _nmcs (non-MCS) variants exist for special day categories. | |
pbp_b1a_ded_amt (+ _t1..t3, _yn) | Inpatient deductible dollar amount and yes/no flags. ~0 populated for MA inpatient in 2026 (MA plans rarely use a Part-A-style deductible). Mostly null. | |
pbp_b1a_maxenr_amt / _per / _yn | Maximum enrollee out-of-pocket for THIS inpatient benefit, the period it applies over (_per), and yes/no flags. Sparse (~101/7,420 in 2026Q1). | |
pbp_b1a_maxplan_* and pbp_b1b_maxplan_* | Plan-side benefit maximums (amount/coverage/period/yesno) for B-1a and the related B-1b psychiatric section. Mostly null. NOTE: the profiler wrongly swept these into the grain key because their names contain 'plan'; they are benefit attributes, NOT keys. | |
pbp_b1a_*_bonly (e.g. coins_pct_bonly, copay_amt_ps_bonly, bendesc_*_bonly) | Parallel cost-share encoding used ONLY for Part-B-only plans (pbp_a_ben_cov='2'): populated for 274 rows, all under ben_cov='2', zero under '1'. Ignore for standard Part-A plans. | |
pbp_b1a_auth / _yn / _refer / _refer_yn (+ _bonly, _pos) | Prior-authorization and referral requirement codes/flags for inpatient hospital (e.g. auth='00001'). String coded fields describing utilization-management rules, not dollars. | |
pbp_b1a_bendesc_* (yn, amo, amt, lim, per, ulim) | Benefit-description fields: whether a benefit description exists (yn), amount/limit/period of any plan-defined day limit (e.g. amt_days_bonly), unlimited flag. Describe coverage limits on the inpatient benefit. | |
pbp_b1a_ad_cost_vary_* / cost_vary_tiers_yn / tier_num | Flags indicating whether additional-day (ad) cost-sharing varies, the number of cost tiers, and the lowest tier. Govern how to interpret the t1/t2/t3 tier suffixes. |
Query it
describe_data_source(source_fqn="medicare_silver.pbp_section_b1a_inpat_hosp") # the card, live query_substrate(sql="SELECT * FROM medicare_silver.pbp_section_b1a_inpat_hosp WHERE bid_id = '<value>' AND report_year = '<value>' AND quarter = '<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_b1a_inpat_hosp") |
| Raw door | Athena (read-only via query_substrate): medicare_silver.pbp_section_b1a_inpat_hosp |
| Note | Grain-governed; live in Glue / query_substrate. Source family pbp_benefits. |
This page as markdown: /docs-md/data/medicare_silver_pbp_section_b1a_inpat_hosp.md · every page in one file: /llms-full.txt