Medicare Advantage, Part D, Medicaid
MA pbp section b20
medicare_silver.pbp_section_b20·partial·silver·annual·Medicare Advantage Plan Benefit Packages (PBP)Rows
N/A
Columns
299
History
2018-01-01 to 2026-01-01
Card
yesgrain, traps, filters
Typed tools
1
What it is
- 1CMS Plan Benefit Package (PBP) Section B-20, the cost-sharing/benefit design for OUTPATIENT (Medicare Part B) DRUGS in Medicare Advantage / Part C plans.
- 2One row encodes what an enrollee pays for Part B-covered outpatient drugs (chemotherapy/radiation, insulin, other Part B drugs) under a specific MA plan: whether prior authorization is required, the coinsurance % and/or copay, deductible, max out-of-pocket, plus supplemental Part C outpatient-drug and Part D home-infusion bundling.
- 3Sourced from the quarterly CMS PBP PUF zips.
- 4This slice is a small sample (7 contracts, 50 plans) for demo, not the full national MA universe.
Grain
| Key | Grain |
|---|---|
contract_idplan_idsegment_idreport_yearquarter |
|
How to read it
- 1Get the latest-snapshot Part B outpatient-drug cost sharing for each plan in 2024: pick one row per plan from the most recent quarterly PUF, then read the coinsurance. e.g.
- 2SELECT contract_id, plan_id, pbp_b20_coins_mc_yn, pbp_b20_coins_mc_pct, pbp_b20_auth_yn FROM pbp_section_b20 WHERE report_year=2024 AND quarter=(SELECT max(quarter) FROM pbp_section_b20 WHERE report_year=2024) — answers 'what do these MA plans charge enrollees (coinsurance %) for Medicare Part B drugs, and do they require prior authorization?' To trend across years, GROUP BY contract_id,plan_id,report_year and take the latest quarter per year to avoid double-counting the republished snapshots.
Traps
- 1NO is_current / no dedup, and NO single-version flag. The 463 rows are only 215 distinct plan-years (contract×plan×segment×report_year) republished across 19 quarterly PUF snapshots. Summing or counting rows double-counts plans. To get one row per plan-year, filter to a chosen snapshot (e.g. the max cms_vintage_sequence / latest quarter per report_year) or GROUP to the (contract,plan,segment,report_year) grain.
- 2'version' is a TRAP for picking 'latest'. It is the plan's bid Version Number (a per-contract attribute that differs across contracts within the very same snapshot, e.g. v1/v5/v8 all in 2020-Q4), NOT a global data vintage. Use cms_vintage_sequence + quarter for snapshot recency; use asserted_at for nothing data-related (it's just the load date).
- 3bid_id, observed_period, and effective_period_start are all redundant restatements of the grain (bid_id = contract_plan_segment; observed_period/effective_period_start = Jan-1 of report_year). pbp_b20_bendesc_grp_num LOOKS like a sub-grain but is NOT — there is exactly one row per plan per snapshot.
- 4This table is Medicare Part B / OUTPATIENT DRUGS (chemo, insulin, other Part B drugs administered in a clinical setting) under MA plans — it is NOT Part D pharmacy benefits. For Part D drug tiers/formulary use the pbp_mrx* tables; sibling pbp_section_b15_partb_rx_drugs also covers Part B Rx, so confirm which section the use-case needs. B20 ('Outpatient Drugs') carries the prior-auth, coinsurance (mostly the standard 20%), and supplemental-bundling design.
- 5Most fields are NULL by design: deductible amount, copay amounts, MOOP, addl_cost, all grp1-5 supplemental blocks, and the maxplan_* caps are almost entirely empty — the sampled plans price Part B drugs via simple Medicare-covered coinsurance (commonly 20%). A NULL _yn means the question wasn't answered/parsed (10 all-null placeholder rows = plan_type '02'/orgtype '01'); a '2' explicitly means 'No'. coins_mc_ehc is a concatenated bitmask code string ('11','101'), not a numeric value.
- 6This is a small SAMPLE (7 contracts / 50 plans), not the national MA universe. Do not treat counts here as population statistics.
Columns (299)
| Column | Type | Meaning |
|---|---|---|
contract_id | string | CMS MA contract ID (the 'H number', e.g. H0602). 7 distinct in this sample. Part of grain. |
plan_id | string | 3-char plan identifier within the contract (e.g. '001'). 30 distinct values. Part of grain. |
segment_id | string | Plan segment ID; always '0' in this sample (1 distinct). A real PBP grain dimension (plans can have service-area segments) so kept in the canonical key even though it adds no cardinality here. |
pbp_b20_bendesc_grp_num | string | Benefit-description group number for the supplemental (Part C) outpatient-drug benefit. Mostly empty string ''; value '2' on 31 rows. NOT part of the grain — there is always exactly 1 row per plan×snapshot (max rows per cps×year×quarter = 1). |
version | double | CMS dict 'Version Number' — the plan's BID submission version. A per-plan/per-contract attribute that varies across contracts within a single snapshot (in 2020-Q4: H0602=v1, H4140=v8, H5256=v5). NOT a global data vintage; do not use it to pick 'latest'. |
report_year | double | Contract/benefit year the PBP describes (2018-2026, 9 distinct). Part of grain. Equals YEAR(observed_period)=YEAR(effective_period_start). |
quarter | double | Which quarterly PUF release (1-4) the row came from. Part of grain. The SAME report_year appears under several quarters (e.g. 2018 has Q2,Q3,Q4), which is what makes 463 rows but only 215 distinct plan-years. |
bid_id | string | Concatenation contract_id_plan_id_segment_id (e.g. 'H0602_001_0'). Redundant with the three ID columns; (bid_id, report_year, quarter) is an equivalent grain key. |
orgtype | string | CMS organization-type code: '06' (443+10 rows) and '01' (10 rows). '01' co-occurs with the all-null cost-share placeholder rows. |
pbp_a_ben_cov | string | Part A/plan benefit-coverage indicator ('1' on 453 rows, '2' on 10). From the shared PBP Section-A plan header. |
pbp_a_plan_type | string | CMS plan-type code: '18' (453 rows) vs '02' (10 rows). The '02'/orgtype-'01' rows are the all-null B20 placeholder records. |
pbp_b20_addl_cost | string | Does the enrollee pay EXTRA (above coins/copay) for choosing a higher-priced drug when a cheaper one exists? service_category '20(NMC)'=non-Medicare-covered. 1=Yes,2=No. Entirely NULL in data. |
pbp_b20_auth | string | Free-text authorization detail. Entirely NULL in this data. |
pbp_b20_auth_yn | string | Is prior authorization required for Medicare-covered outpatient (Part B) drugs? 1=Yes, 2=No (CMS YN convention). 77 plans=Yes, 288=No, 10 null. |
pbp_b20_b_coins_max_pct | double | |
pbp_b20_b_coins_min_pct | double | |
pbp_b20_b_copay_max | double | |
pbp_b20_b_min_copay | double | |
pbp_b20_bendesc_amo | string | |
pbp_b20_bendesc_yn | string | |
pbp_b20_chemo_coins_max_pct | double | Max coinsurance % for Part B Chemotherapy/Radiation drugs. Always 20.0 where present. |
pbp_b20_coins_awpd_mc_pct | double | |
pbp_b20_coins_awpf_mc_amt | double | |
pbp_b20_coins_awpf_mc_amt_max | double | |
pbp_b20_coins_mc_cov | string | |
pbp_b20_coins_mc_ehc | string | Multi-select code for WHICH Medicare-covered drug categories carry the coinsurance. Raw concatenated yes/no bitmask string (observed '11' with 20%, '101' with 0%). CMS code legend: position1=Other Part B Drugs, position2=Part B Insulin Drugs, position3=Chemotherapy/Radiation Drugs. Treat as a code string, NOT a number. |
pbp_b20_coins_mc_pct | double | Coinsurance % for Medicare-covered Part B drugs (dict title: min coins for chemo/radiation). Only 2 distinct non-null values: 20.0 (standard Part B, 77 rows) and 0.0 (2 rows). 79 non-null total; NULL when coins_mc_yn=2. |
pbp_b20_coins_mc_yn | string | Is there enrollee COINSURANCE for Medicare-COVERED Part B drugs? 1=Yes,2=No. Drives whether the coins_mc_* fields are populated. |
pbp_b20_coins_mcoacp_mc_amt | double | |
pbp_b20_coins_prp_mc_pct | double | |
pbp_b20_copay_max_mc_amt | double | |
pbp_b20_copay_mc_ehc | string | |
pbp_b20_copay_mc_yn | string | |
pbp_b20_copay_min_mc_amt | double | |
pbp_b20_cost_share_attest | string | Cost-share attestation flag. Entirely NULL in this data. |
pbp_b20_ded_amt | double | |
pbp_b20_ded_cdt | string | |
pbp_b20_ded_yn | string | |
pbp_b20_grp1_coins_awp_amt_max | double | |
pbp_b20_grp1_coins_awpd_pct | double | |
pbp_b20_grp1_coins_awpf_amt | double | |
pbp_b20_grp1_coins_cov | string | |
pbp_b20_grp1_coins_mcoacp_amt | double | |
pbp_b20_grp1_coins_pct_drp | double | |
pbp_b20_grp1_coins_pct_hmo | double | |
pbp_b20_grp1_coins_pct_mo | double | |
pbp_b20_grp1_coins_pct_oth | double | |
pbp_b20_grp1_coins_prp_pct | double | |
pbp_b20_grp1_coins_yn | string | |
pbp_b20_grp1_copay_drp_amt | double | |
pbp_b20_grp1_copay_hmo_amt | double | |
pbp_b20_grp1_copay_mo_amt | double | |
pbp_b20_grp1_copay_oth_amt | double | |
pbp_b20_grp1_copay_yn | string | |
pbp_b20_grp1_drp_days | double | |
pbp_b20_grp1_drug_types | string | |
pbp_b20_grp1_hmo_days | double | |
pbp_b20_grp1_label | string | |
pbp_b20_grp1_maxplan_amt_1mth | double | |
pbp_b20_grp1_maxplan_amt_1yr | double | |
pbp_b20_grp1_maxplan_amt_3mth | double | |
pbp_b20_grp1_maxplan_amt_6mth | double | |
pbp_b20_grp1_maxplan_amt_oth | double | |
pbp_b20_grp1_maxplan_amt_pres | double | |
pbp_b20_grp1_maxplan_awpd_pct | double | |
pbp_b20_grp1_maxplan_awpf_amt | double | |
pbp_b20_grp1_maxplan_cov | string | |
pbp_b20_grp1_maxplan_mcoac_amt | double | |
pbp_b20_grp1_maxplan_per | string | |
pbp_b20_grp1_maxplan_per_d | string | |
pbp_b20_grp1_maxplan_prp_pct | double | |
pbp_b20_grp1_maxplan_yn | string | |
pbp_b20_grp1_maxpln_awp_amt_mx | double | |
pbp_b20_grp1_mo_days | double | |
pbp_b20_grp1_name | string | |
pbp_b20_grp1_oth_days | double | |
pbp_b20_grp1_place | string | |
pbp_b20_grp1_place_d | string | |
pbp_b20_grp2_coins_awp_amt_max | double | |
pbp_b20_grp2_coins_awpd_pct | double | |
pbp_b20_grp2_coins_awpf_amt | double | |
pbp_b20_grp2_coins_cov | string | |
pbp_b20_grp2_coins_mcoacp_amt | double | |
pbp_b20_grp2_coins_pct_drp | double | |
pbp_b20_grp2_coins_pct_hmo | double | |
pbp_b20_grp2_coins_pct_mo | double | |
pbp_b20_grp2_coins_pct_oth | double | |
pbp_b20_grp2_coins_prp_pct | double | |
pbp_b20_grp2_coins_yn | string | |
pbp_b20_grp2_copay_drp_amt | double | |
pbp_b20_grp2_copay_hmo_amt | double | |
pbp_b20_grp2_copay_mo_amt | double | |
pbp_b20_grp2_copay_oth_amt | double | |
pbp_b20_grp2_copay_yn | string | |
pbp_b20_grp2_drp_days | double | |
pbp_b20_grp2_drug_types | string | |
pbp_b20_grp2_hmo_days | double | |
pbp_b20_grp2_label | string | |
pbp_b20_grp2_maxplan_amt_1mth | double | |
pbp_b20_grp2_maxplan_amt_1yr | double | |
pbp_b20_grp2_maxplan_amt_3mth | double | |
pbp_b20_grp2_maxplan_amt_6mth | double | |
pbp_b20_grp2_maxplan_amt_oth | double | |
pbp_b20_grp2_maxplan_amt_pres | double | |
pbp_b20_grp2_maxplan_awpd_pct | double | |
pbp_b20_grp2_maxplan_awpf_amt | double | |
pbp_b20_grp2_maxplan_cov | string | |
pbp_b20_grp2_maxplan_mcoac_amt | double | |
pbp_b20_grp2_maxplan_per | string | |
pbp_b20_grp2_maxplan_per_d | string | |
pbp_b20_grp2_maxplan_prp_pct | double | |
pbp_b20_grp2_maxplan_yn | string | |
pbp_b20_grp2_maxpln_awp_amt_mx | double | |
pbp_b20_grp2_mo_days | double | |
pbp_b20_grp2_name | string | |
pbp_b20_grp2_oth_days | double | |
pbp_b20_grp2_place | string | |
pbp_b20_grp2_place_d | string | |
pbp_b20_grp3_coins_awp_amt_max | double | |
pbp_b20_grp3_coins_awpd_pct | double | |
pbp_b20_grp3_coins_awpf_amt | double | |
pbp_b20_grp3_coins_cov | string | |
pbp_b20_grp3_coins_mcoacp_amt | double | |
pbp_b20_grp3_coins_pct_drp | double | |
pbp_b20_grp3_coins_pct_hmo | double | |
pbp_b20_grp3_coins_pct_mo | double | |
pbp_b20_grp3_coins_pct_oth | double | |
pbp_b20_grp3_coins_prp_pct | double | |
pbp_b20_grp3_coins_yn | string | |
pbp_b20_grp3_copay_drp_amt | double | |
pbp_b20_grp3_copay_hmo_amt | double | |
pbp_b20_grp3_copay_mo_amt | double | |
pbp_b20_grp3_copay_oth_amt | double | |
pbp_b20_grp3_copay_yn | string | |
pbp_b20_grp3_drp_days | double | |
pbp_b20_grp3_drug_types | string | |
pbp_b20_grp3_hmo_days | double | |
pbp_b20_grp3_label | string | |
pbp_b20_grp3_maxplan_amt_1mth | double | |
pbp_b20_grp3_maxplan_amt_1yr | double | |
pbp_b20_grp3_maxplan_amt_3mth | double | |
pbp_b20_grp3_maxplan_amt_6mth | double | |
pbp_b20_grp3_maxplan_amt_oth | double | |
pbp_b20_grp3_maxplan_amt_pres | double | |
pbp_b20_grp3_maxplan_awpd_pct | double | |
pbp_b20_grp3_maxplan_awpf_amt | double | |
pbp_b20_grp3_maxplan_cov | string | |
pbp_b20_grp3_maxplan_mcoac_amt | double | |
pbp_b20_grp3_maxplan_per | string | |
pbp_b20_grp3_maxplan_per_d | string | |
pbp_b20_grp3_maxplan_prp_pct | double | |
pbp_b20_grp3_maxplan_yn | string | |
pbp_b20_grp3_maxpln_awp_amt_mx | double | |
pbp_b20_grp3_mo_days | double | |
pbp_b20_grp3_name | string | |
pbp_b20_grp3_oth_days | double | |
pbp_b20_grp3_place | string | |
pbp_b20_grp3_place_d | string | |
pbp_b20_grp4_coins_awp_amt_max | double | |
pbp_b20_grp4_coins_awpd_pct | double | |
pbp_b20_grp4_coins_awpf_amt | double | |
pbp_b20_grp4_coins_cov | string | |
pbp_b20_grp4_coins_mcoacp_amt | double | |
pbp_b20_grp4_coins_pct_drp | double | |
pbp_b20_grp4_coins_pct_hmo | double | |
pbp_b20_grp4_coins_pct_mo | double | |
pbp_b20_grp4_coins_pct_oth | double | |
pbp_b20_grp4_coins_prp_pct | double | |
pbp_b20_grp4_coins_yn | string | |
pbp_b20_grp4_copay_drp_amt | double | |
pbp_b20_grp4_copay_hmo_amt | double | |
pbp_b20_grp4_copay_mo_amt | double | |
pbp_b20_grp4_copay_oth_amt | double | |
pbp_b20_grp4_copay_yn | string | |
pbp_b20_grp4_drp_days | double | |
pbp_b20_grp4_drug_types | string | |
pbp_b20_grp4_hmo_days | double | |
pbp_b20_grp4_label | string | |
pbp_b20_grp4_maxplan_amt_1mth | double | |
pbp_b20_grp4_maxplan_amt_1yr | double | |
pbp_b20_grp4_maxplan_amt_3mth | double | |
pbp_b20_grp4_maxplan_amt_6mth | double | |
pbp_b20_grp4_maxplan_amt_oth | double | |
pbp_b20_grp4_maxplan_amt_pres | double | |
pbp_b20_grp4_maxplan_awpd_pct | double | |
pbp_b20_grp4_maxplan_awpf_amt | double | |
pbp_b20_grp4_maxplan_cov | string | |
pbp_b20_grp4_maxplan_mcoac_amt | double | |
pbp_b20_grp4_maxplan_per | string | |
pbp_b20_grp4_maxplan_per_d | string | |
pbp_b20_grp4_maxplan_prp_pct | double | |
pbp_b20_grp4_maxplan_yn | string | |
pbp_b20_grp4_maxpln_awp_amt_mx | double | |
pbp_b20_grp4_mo_days | double | |
pbp_b20_grp4_name | string | |
pbp_b20_grp4_oth_days | double | |
pbp_b20_grp4_place | string | |
pbp_b20_grp4_place_d | string | |
pbp_b20_grp5_coins_awp_amt_max | double | |
pbp_b20_grp5_coins_awpd_pct | double | |
pbp_b20_grp5_coins_awpf_amt | double | |
pbp_b20_grp5_coins_cov | string | |
pbp_b20_grp5_coins_mcoacp_amt | double | |
pbp_b20_grp5_coins_pct_drp | double | |
pbp_b20_grp5_coins_pct_hmo | double | |
pbp_b20_grp5_coins_pct_mo | double | |
pbp_b20_grp5_coins_pct_oth | double | |
pbp_b20_grp5_coins_prp_pct | double | |
pbp_b20_grp5_coins_yn | string | |
pbp_b20_grp5_copay_drp_amt | double | |
pbp_b20_grp5_copay_hmo_amt | double | |
pbp_b20_grp5_copay_mo_amt | double | |
pbp_b20_grp5_copay_oth_amt | double | |
pbp_b20_grp5_copay_yn | string | |
pbp_b20_grp5_drp_days | double | |
pbp_b20_grp5_drug_types | string | |
pbp_b20_grp5_hmo_days | double | |
pbp_b20_grp5_label | string | |
pbp_b20_grp5_maxplan_amt_1mth | double | |
pbp_b20_grp5_maxplan_amt_1yr | double | |
pbp_b20_grp5_maxplan_amt_3mth | double | |
pbp_b20_grp5_maxplan_amt_6mth | double | |
pbp_b20_grp5_maxplan_amt_oth | double | |
pbp_b20_grp5_maxplan_amt_pres | double | |
pbp_b20_grp5_maxplan_awpd_pct | double | |
pbp_b20_grp5_maxplan_awpf_amt | double | |
pbp_b20_grp5_maxplan_cov | string | |
pbp_b20_grp5_maxplan_mcoac_amt | double | |
pbp_b20_grp5_maxplan_per | string | |
pbp_b20_grp5_maxplan_per_d | string | |
pbp_b20_grp5_maxplan_prp_pct | double | |
pbp_b20_grp5_maxplan_yn | string | |
pbp_b20_grp5_maxpln_awp_amt_mx | double | |
pbp_b20_grp5_mo_days | double | |
pbp_b20_grp5_name | string | |
pbp_b20_grp5_oth_days | double | |
pbp_b20_grp5_place | string | |
pbp_b20_grp5_place_d | string | |
pbp_b20_hi_coins_pct_max | double | |
pbp_b20_hi_coins_pct_min | double | |
pbp_b20_hi_coins_yn | string | |
pbp_b20_hi_copay_amt_max | double | |
pbp_b20_hi_copay_amt_min | double | |
pbp_b20_hi_copay_yn | string | |
pbp_b20_hi_yn | string | |
pbp_b20_insulin_coins_max_pct | double | |
pbp_b20_insulin_coins_min_pct | double | |
pbp_b20_insulin_copay_max | double | |
pbp_b20_insulin_copay_min | double | |
pbp_b20_maxenr_amt | double | |
pbp_b20_maxenr_cdt | string | |
pbp_b20_maxenr_per | string | |
pbp_b20_maxenr_yn | string | |
pbp_b20_maxplan_amt_1mth | double | |
pbp_b20_maxplan_amt_1yr | double | |
pbp_b20_maxplan_amt_3mth | double | |
pbp_b20_maxplan_amt_6mth | double | |
pbp_b20_maxplan_amt_cdt_1mth | double | |
pbp_b20_maxplan_amt_cdt_1yr | double | |
pbp_b20_maxplan_amt_cdt_3mth | double | |
pbp_b20_maxplan_amt_cdt_6mth | double | |
pbp_b20_maxplan_amt_cdt_oth | double | |
pbp_b20_maxplan_amt_oth | double | |
pbp_b20_maxplan_awpd_cdt_pct | double | |
pbp_b20_maxplan_awpf_cdt_amt | double | |
pbp_b20_maxplan_cdt | string | |
pbp_b20_maxplan_cov_cdt | string | |
pbp_b20_maxplan_grp_unlm_yn | string | |
pbp_b20_maxplan_grp_waived | string | |
pbp_b20_maxplan_mcoacp_cdt_amt | double | |
pbp_b20_maxplan_net_copay_yn | string | |
pbp_b20_maxplan_per | string | |
pbp_b20_maxplan_per_cdt | string | |
pbp_b20_maxplan_per_cdt_d | string | |
pbp_b20_maxplan_per_d | string | |
pbp_b20_maxplan_prp_cdt_pct | double | |
pbp_b20_maxplan_types | string | |
pbp_b20_maxplan_unused_yn | string | |
pbp_b20_maxplan_yn | string | |
pbp_b20_maxpln_awpf_cdt_amt_mx | double | |
observed_period | date | Provenance: Jan-1 of report_year (the benefit-year start). Redundant with report_year as the year-grain; equals effective_period_start here. |
asserted_at | date | Provenance: pipeline load/assert date (2026-05-16 or 2026-05-20). Bookkeeping only, NOT data-meaningful; do not use for recency. |
effective_period_start | date | |
effective_period_end | date | |
cms_vintage_sequence | int | Provenance: the Nth PUF release within the report_year (1..4, roughly tracking the quarter). The real 'which snapshot' lineage marker — pair with (report_year,quarter) to choose one snapshot per plan-year. |
parse_revision | int | Provenance: internal parser revision (1 or 2 here). |
parser_artifact_hash | string | Provenance: hash of the parser artifact that produced the row. |
source_url | string | Provenance: the exact CMS PBP zip the row was extracted from (e.g. .../pbp-benefits-2019-q4.zip). Lets you trace each snapshot to its CMS release. |
sha256_content_hash | string | Provenance: SHA-256 of the source file content for integrity/dedup. |
pbp_b20_b_coins_min_pct / pbp_b20_b_coins_max_pct | Min/max coinsurance % for 'other' Medicare Part B drugs. Range 0-20%. | |
pbp_b20_insulin_coins_min_pct / _max_pct / pbp_b20_insulin_copay_min / _max | Cost-sharing for Medicare Part B INSULIN drugs (max coinsurance % / copay $). Largely null in this slice. | |
pbp_b20_copay_mc_yn / pbp_b20_copay_min_mc_amt / pbp_b20_copay_max_mc_amt / pbp_b20_b_min_copay / pbp_b20_b_copay_max | COPAY (flat-dollar) alternative to coinsurance for Medicare-covered / other Part B drugs. copay_mc_yn 1=Yes/2=No; copay amounts are 0 non-null in this slice (this data is coinsurance-based, not copay-based). | |
pbp_b20_ded_yn / pbp_b20_ded_amt / pbp_b20_ded_cdt | Enrollee deductible for outpatient drugs: flag (1=Yes,2=No, mostly No), dollar amount (entirely NULL here), and combined-deductible-type code. | |
pbp_b20_maxenr_yn / pbp_b20_maxenr_amt / pbp_b20_maxenr_per / pbp_b20_maxenr_cdt | Maximum enrollee out-of-pocket for Part B drugs: flag (1=Yes,2=No), amount (only 1 non-null = 0.0), period, and CDT code. Almost always 'No' in this slice. | |
pbp_b20_bendesc_yn / pbp_b20_bendesc_amo | Does the plan provide outpatient drugs as a SUPPLEMENTAL (non-Medicare-covered) benefit under Part C? 1=Yes,2=No. bendesc_amo (amount) entirely NULL. | |
pbp_b20_hi_yn / pbp_b20_hi_coins_* / pbp_b20_hi_copay_* | HOME INFUSION: does the plan bundle Part D home-infusion drugs as a supplemental benefit (1=Yes,2=No), and its coinsurance %/copay $ min-max. Mostly 'No'/null. | |
pbp_b20_grp1..grp5_* (coins/copay/maxplan/drug_types/days/label/name/place) | Up to 5 supplemental-benefit GROUPS, each a wide repeated block describing a Part-C drug benefit group's cost sharing: coinsurance % (by HMO/MO/DRP/OTH delivery channel), copay $ by channel, day limits, drug types covered, plan-maximum benefit caps (1mth/3mth/6mth/1yr/pres/oth), labels and place-of-service. Almost entirely NULL in this sample (the sampled plans use only Medicare-covered cost sharing, no supplemental drug groups). | |
pbp_b20_maxplan_* and pbp_b20_maxplan_*_cdt (amt_1mth/3mth/6mth/1yr/oth, per, types, cov, grp_unlm_yn, grp_waived, net_copay_yn, unused_yn, prp_pct, awpd/awpf) | Plan-level maximum-benefit (benefit cap) parameters for the supplemental outpatient-drug benefit, including combined-deductible-type ('_cdt') variants and AWP-discount/MCOAC pricing fields. Almost all NULL in this slice. | |
effective_period_start / effective_period_end | Provenance: benefit-year window, Jan-1 to Dec-31 of report_year. effective_period_start is the profiler's temporal column (annual). |
Query it
describe_data_source(source_fqn="medicare_silver.pbp_section_b20") # the card, live query_substrate(sql="SELECT * FROM medicare_silver.pbp_section_b20 WHERE contract_id = '<value>' AND plan_id = '<value>' AND segment_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_b20") |
| Raw door | Athena (read-only via query_substrate): medicare_silver.pbp_section_b20 |
| Note | Grain-governed; live in Glue / query_substrate. Source family pbp_benefits. |
This page as markdown: /docs-md/data/medicare_silver_pbp_section_b20.md · every page in one file: /llms-full.txt