Medicare Advantage, Part D, Medicaid
MA pbp mrx tier
Rows
N/A
Columns
309
History
2010 (contract year 2010, effective_period_start 2010-01-01) to 2026 (contract year 2026, effective_period_start 2026-01-01)
Card
yesgrain, traps, filters
Typed tools
1
What it is
- 1CMS Medicare Part D Plan Benefit Package (PBP) Section-D drug-tier cost-sharing file: one row per formulary tier per Medicare drug plan, giving the member's out-of-pocket cost (copay or coinsurance) for that tier across every pharmacy channel and days-supply.
- 2This is the canonical public source for "what does a Part D / MA-PD plan charge the patient for a Tier-N drug." Silver layer = lightly cleaned CMS PBP extract spanning contract years 2010-2026.
Grain
| Key | Grain |
|---|---|
contract_idplan_idsegment_idmrx_tier_idmrx_tier_type_idreport_yearquarter |
|
How to read it
- 1To get the current member copay for each formulary tier of a Medicare drug plan, filter to one snapshot and the initial-coverage phase, then read the retail-standard 30-day cost column.
- 2Example: SELECT mrx_tier_id, mrx_tier_label_list, mrx_tier_rstd_copay_1m AS copay_30d, mrx_tier_rstd_coins_1m AS coins_30d_pct FROM medicare_silver.pbp_mrx_tier WHERE report_year=2024 AND quarter=4 AND mrx_tier_type_id='1' AND bid_id='H0028_014_0' ORDER BY cast(mrx_tier_id AS int).
- 3Returns one row per tier (Preferred Generic $0, Generic $0, Preferred Brand $47, Non-Preferred $99, Specialty 33% coinsurance) - the patient's out-of-pocket drug cost ladder for that plan.
- 4Switch mrx_tier_type_id to '3' to see the coverage-gap (donut-hole) cost-sharing for the same tiers.
Traps
- 1mrx_tier_id (the tier number 1-7) is NOT a unique key for a plan: each tier appears up to twice, split by mrx_tier_type_id = '1' INITIAL-coverage vs '3' COVERAGE-GAP cost-sharing. You MUST include mrx_tier_type_id, or filter to one phase (mrx_tier_type_id='1' for the normal/initial-coverage copay), or you double-count. Verified: all 116,195 type-3 rows carry mrx_tier_gap_cost_share; zero type-1 rows do.
- 2This table keeps MULTIPLE CMS quarterly releases per contract year and there is NO is_current flag. The 7-key includes both report_year AND quarter. For a single clean per-plan-per-tier view you must pick one snapshot, e.g. WHERE report_year=2024 AND quarter=4 (the latest available quarter for that year). Quarters retained per year are uneven: 2010-2017/2021/2025/2026 have only 1 quarter, 2018/2019/2023 have 4, 2020/2024 have 3, 2022 has 2 - so raw row counts per year are NOT comparable.
- 3The cost lives in ~200 sparse columns (channel x days-supply x copay/coinsurance). Any single row has only a few non-null cost fields and copay is mutually exclusive with coinsurance on the same row (verified: retail-std-30d copay_only=165k, coins_only=63k, both=49). The everyday number most users want is mrx_tier_rstd_copay_1m (retail-standard 30-day copay) OR mrx_tier_rstd_coins_1m (coinsurance %). A NULL copay does not mean free - check the coinsurance column and the right channel family.
- 4Identifier hygiene: plan_id zero-padding is inconsistent across vintages (unpadded in 2020, 3-digit padded elsewhere) - join/group on bid_id (= contract_id_plan_id_segment_id, canonical padded) rather than raw plan_id. effective_period_start/observed_period are just Jan-1 of report_year (annual), and asserted_at/cms_vintage_sequence are ETL provenance (2026-05 load dates), NOT data recency or a reliable quarter proxy.
- 5mrx_tier_label_list is the friendly tier name but is NULL for all of 2010 and sometimes a bare numeric code in early years; mrx_tier_cstshr_struct_type does NOT cleanly map to copay-vs-coinsurance (observed struct='2' rows carrying copays) - infer copay vs coinsurance from which value column is populated, not from the struct code.
Columns (309)
| Column | Type | Meaning |
|---|---|---|
contract_id | string | CMS Medicare contract ID (e.g. H0022, H0028). First part of the plan identity. 1,427 distinct. |
plan_id | string | Plan ID within the contract (e.g. 001, 014). 645 distinct. GOTCHA: zero-padding is inconsistent across years - stored unpadded ('1','14') in the 2020 vintage but 3-digit padded elsewhere; use bid_id for the canonical padded form. |
segment_id | string | Plan benefit segment (regional/employer service-area split within a contract+plan). Almost always '0' (716k rows); '1'-'5'+ are segmented plans. Part of the grain. |
version | double | CMS PBP software version (e.g. 3.0). Format/vintage marker, not a row version. |
mrx_tier_id | string | Formulary tier NUMBER, 1-7 (1 typically Preferred Generic/lowest, 5-6 Specialty, 7 rare=119 rows). NOT unique by itself - see mrx_tier_type_id. |
report_year | double | CMS contract/benefit year (double 2010.0-2026.0). Equals year of effective_period_start. Part of the grain (a given plan+tier recurs every year). |
quarter | double | CMS quarterly RELEASE within the report_year (1-4). NOT a sub-annual benefit period - it identifies WHICH quarterly PBP publication the row came from. The table retains multiple quarterly releases per year, so quarter is REQUIRED for grain uniqueness. |
bid_id | string | Derived plan key = contract_id || '_' || plan_id(padded) || '_' || segment_id (e.g. H0028_014_0). Canonical zero-padded plan identifier; equivalent to contract+plan+segment for grain purposes. |
mrx_tier_alt_gap_covg_excl_yn | string | |
mrx_tier_benefit_type | string | Benefit-type code: '4' (705k, standard cost-share tier), '2' (45k), '3' (42k). |
mrx_tier_copay_amt_inp_mmpmax | double | |
mrx_tier_copay_amt_inp_mmpmin | double | |
mrx_tier_copay_amt_ltc_mmpmax | double | |
mrx_tier_copay_amt_ltc_mmpmin | double | |
mrx_tier_copay_amt_mo_mmpmax | double | |
mrx_tier_copay_amt_mo_mmpmin | double | |
mrx_tier_copay_amt_mstd_mmpmax | double | |
mrx_tier_copay_amt_mstd_mmpmin | double | |
mrx_tier_copay_amt_oon_mmpmax | double | |
mrx_tier_copay_amt_oon_mmpmin | double | |
mrx_tier_copay_amt_rstd_mmpmax | double | |
mrx_tier_copay_amt_rstd_mmpmin | double | |
mrx_tier_cstshr_struct_type | string | Cost-share structure type code: '2' (583k), '1' (202k), rare '3'/'4', NULL for ~6.7k. Indicates the tier's cost-sharing structure; do not assume a clean 1=copay/2=coinsurance mapping (observed plans with struct='2' carrying copays). |
mrx_tier_drug_type | string | Drug-category code the tier covers. Mixed encodings across years: short ('01','10','11','1') and 6-digit bitmask forms ('010010','001000') flagging Generic/Brand/Non-Medicare-OTC etc. Decode per the CMS PBP data dictionary; not a clean stable enum. |
mrx_tier_excep_yn | string | |
mrx_tier_extd_days_yn | string | |
mrx_tier_extd_first_fill | string | |
mrx_tier_form_model_desc | string | The plan's full tier-structure description (comma-joined list of all tier labels for that plan), e.g. 'Preferred Generic, Generic, Preferred Brand, Non-Preferred Drug, Specialty Tier'. Repeats on every tier row of the plan. |
mrx_tier_gap_all_drug_yn | string | |
mrx_tier_gap_cost_share | string | Coverage-gap cost-share indicator. Populated ONLY on type_id='3' (gap) rows - the discriminator proving type 3 = gap phase. |
mrx_tier_gap_drug_type_lmtd | string | |
mrx_tier_gap_excluded_only_yn | string | |
mrx_tier_gap_part_drugs | string | |
mrx_tier_gap_part_includes | string | |
mrx_tier_includes | string | |
mrx_tier_includes_mmp | string | |
mrx_tier_inject_yn | string | |
mrx_tier_innpp_1m_num | double | |
mrx_tier_innpp_2m_num | double | |
mrx_tier_innpp_3m_num | double | |
mrx_tier_innpp_coins_1m | double | |
mrx_tier_innpp_coins_2m | double | |
mrx_tier_innpp_coins_3m | double | |
mrx_tier_innpp_coins_avg_1m | double | |
mrx_tier_innpp_coins_othnum | double | |
mrx_tier_innpp_copay_1m | double | |
mrx_tier_innpp_copay_2m | double | |
mrx_tier_innpp_copay_3m | double | |
mrx_tier_innpp_copay_daily | double | |
mrx_tier_innpp_copay_othnum | double | |
mrx_tier_innpp_othnum | double | |
mrx_tier_inp_1m_num | double | |
mrx_tier_inp_2m_num | double | |
mrx_tier_inp_3m_num | double | |
mrx_tier_inp_coins_1m | double | |
mrx_tier_inp_coins_2m | double | |
mrx_tier_inp_coins_3m | double | |
mrx_tier_inp_coins_avg_1m | double | |
mrx_tier_inp_coins_othnum | double | |
mrx_tier_inp_copay_1m | double | |
mrx_tier_inp_copay_2m | double | |
mrx_tier_inp_copay_3m | double | |
mrx_tier_inp_copay_daily | double | |
mrx_tier_inp_copay_othnum | double | |
mrx_tier_inp_othnum | double | |
mrx_tier_inpp_1m_num | double | |
mrx_tier_inpp_2m_num | double | |
mrx_tier_inpp_3m_num | double | |
mrx_tier_inpp_coins_1m | double | |
mrx_tier_inpp_coins_2m | double | |
mrx_tier_inpp_coins_3m | double | |
mrx_tier_inpp_coins_avg_1m | double | |
mrx_tier_inpp_coins_othnum | double | |
mrx_tier_inpp_copay_1m | double | |
mrx_tier_inpp_copay_2m | double | |
mrx_tier_inpp_copay_3m | double | |
mrx_tier_inpp_copay_daily | double | |
mrx_tier_inpp_copay_othnum | double | |
mrx_tier_inpp_othnum | double | |
mrx_tier_ira_ltcp_coins_1m | double | |
mrx_tier_ira_ltcp_copay_1m | double | |
mrx_tier_ira_mopfd_coins_1m | double | |
mrx_tier_ira_mopfd_coins_2m | double | |
mrx_tier_ira_mopfd_coins_3m | double | |
mrx_tier_ira_mopfd_copay_1m | double | |
mrx_tier_ira_mopfd_copay_2m | double | |
mrx_tier_ira_mopfd_copay_3m | double | |
mrx_tier_ira_mostd_coins_1m | double | |
mrx_tier_ira_mostd_coins_2m | double | |
mrx_tier_ira_mostd_coins_3m | double | |
mrx_tier_ira_mostd_copay_1m | double | |
mrx_tier_ira_mostd_copay_2m | double | |
mrx_tier_ira_mostd_copay_3m | double | |
mrx_tier_ira_oonp_coins_1m | double | |
mrx_tier_ira_oonp_coins_othnum | double | |
mrx_tier_ira_oonp_copay_1m | double | |
mrx_tier_ira_oonp_copay_othnum | double | |
mrx_tier_ira_rspfd_coins_1m | double | |
mrx_tier_ira_rspfd_coins_2m | double | |
mrx_tier_ira_rspfd_coins_3m | double | |
mrx_tier_ira_rspfd_copay_1m | double | |
mrx_tier_ira_rspfd_copay_2m | double | |
mrx_tier_ira_rspfd_copay_3m | double | |
mrx_tier_ira_rstd_coins_1m | double | |
mrx_tier_ira_rstd_coins_2m | double | |
mrx_tier_ira_rstd_coins_3m | double | |
mrx_tier_ira_rstd_copay_1m | double | |
mrx_tier_ira_rstd_copay_2m | double | |
mrx_tier_ira_rstd_copay_3m | double | |
mrx_tier_label_list | string | Human-readable tier name: Preferred Generic, Generic, Preferred Brand, Specialty Tier, Non-Preferred Drug, Non-Preferred Brand, Select Care Drugs, Vaccines, etc. GOTCHA: NULL for all 2010 rows (21,330) and some early years store a bare numeric code ('26','16','8') instead of a name. |
mrx_tier_lbl | string | |
mrx_tier_lbl_2 | string | |
mrx_tier_lbl_4 | string | |
mrx_tier_lbl_5 | string | |
mrx_tier_lbl_6 | string | |
mrx_tier_locat | string | |
mrx_tier_locat_coins | string | |
mrx_tier_locat_copay | string | |
mrx_tier_locat_in | string | |
mrx_tier_locat_inp | string | |
mrx_tier_locat_ltc | string | |
mrx_tier_locat_mo | string | |
mrx_tier_locat_mop | string | |
mrx_tier_locat_mosplt | string | |
mrx_tier_locat_mostd | string | |
mrx_tier_locat_oon | string | |
mrx_tier_locat_rsplt | string | |
mrx_tier_locat_rstd | string | |
mrx_tier_ltcp_1m | double | |
mrx_tier_ltcp_b_1m | double | |
mrx_tier_ltcp_b_os | double | |
mrx_tier_ltcp_coins_1m | double | |
mrx_tier_ltcp_coins_b_1m | double | |
mrx_tier_ltcp_coins_g_1m | double | |
mrx_tier_ltcp_copay_1m | double | |
mrx_tier_ltcp_copay_b_1m | double | |
mrx_tier_ltcp_copay_b_daily | double | |
mrx_tier_ltcp_copay_daily | double | |
mrx_tier_ltcp_copay_g_1m | double | |
mrx_tier_ltcp_copay_g_daily | double | |
mrx_tier_ltcp_g_1m | double | |
mrx_tier_ltcp_g_os | double | |
mrx_tier_mo_1m_num | double | |
mrx_tier_mo_2m_num | double | |
mrx_tier_mo_3m_num | double | |
mrx_tier_mo_coins_1m | double | |
mrx_tier_mo_coins_2m | double | |
mrx_tier_mo_coins_3m | double | |
mrx_tier_mo_coins_othnum | double | |
mrx_tier_mo_copay_1m | double | |
mrx_tier_mo_copay_2m | double | |
mrx_tier_mo_copay_3m | double | |
mrx_tier_mo_copay_daily | double | |
mrx_tier_mo_copay_othnum | double | |
mrx_tier_mo_othnum | double | |
mrx_tier_monpp_1m_num | double | |
mrx_tier_monpp_2m_num | double | |
mrx_tier_monpp_3m_num | double | |
mrx_tier_monpp_coins_1m | double | |
mrx_tier_monpp_coins_2m | double | |
mrx_tier_monpp_coins_3m | double | |
mrx_tier_monpp_coins_othnum | double | |
mrx_tier_monpp_copay_1m | double | |
mrx_tier_monpp_copay_2m | double | |
mrx_tier_monpp_copay_3m | double | |
mrx_tier_monpp_copay_daily | double | |
mrx_tier_monpp_copay_othnum | double | |
mrx_tier_monpp_othnum | double | |
mrx_tier_mopp_1m_num | double | |
mrx_tier_mopp_2m_num | double | |
mrx_tier_mopp_3m_num | double | |
mrx_tier_mopp_coins_1m | double | |
mrx_tier_mopp_coins_2m | double | |
mrx_tier_mopp_coins_3m | double | |
mrx_tier_mopp_coins_othnum | double | |
mrx_tier_mopp_copay_1m | double | |
mrx_tier_mopp_copay_2m | double | |
mrx_tier_mopp_copay_3m | double | |
mrx_tier_mopp_copay_daily | double | |
mrx_tier_mopp_copay_othnum | double | |
mrx_tier_mopp_othnum | double | |
mrx_tier_mospfd_coins_1m | double | |
mrx_tier_mospfd_coins_2m | double | |
mrx_tier_mospfd_coins_3m | double | |
mrx_tier_mospfd_copay_1m | double | |
mrx_tier_mospfd_copay_2m | double | |
mrx_tier_mospfd_copay_3m | double | |
mrx_tier_mospfd_copay_daily | double | |
mrx_tier_mosplt_1m_num | double | |
mrx_tier_mosplt_2m_num | double | |
mrx_tier_mosplt_3m_num | double | |
mrx_tier_mosstd_coins_1m | double | |
mrx_tier_mosstd_coins_2m | double | |
mrx_tier_mosstd_coins_3m | double | |
mrx_tier_mosstd_copay_1m | double | |
mrx_tier_mosstd_copay_2m | double | |
mrx_tier_mosstd_copay_3m | double | |
mrx_tier_mosstd_copay_daily | double | |
mrx_tier_mostd_1m_num | double | |
mrx_tier_mostd_2m_num | double | |
mrx_tier_mostd_3m_num | double | |
mrx_tier_mostd_coins_1m | double | |
mrx_tier_mostd_coins_2m | double | |
mrx_tier_mostd_coins_3m | double | |
mrx_tier_mostd_copay_1m | double | |
mrx_tier_mostd_copay_2m | double | |
mrx_tier_mostd_copay_3m | double | |
mrx_tier_mostd_copay_daily | double | |
mrx_tier_nds_includes | string | |
mrx_tier_nds_includes_mmp | string | |
mrx_tier_oonp_1m_num | double | |
mrx_tier_oonp_3m_num | double | |
mrx_tier_oonp_coins_1m | double | |
mrx_tier_oonp_coins_3m | double | |
mrx_tier_oonp_coins_othnum | double | |
mrx_tier_oonp_copay_1m | double | |
mrx_tier_oonp_copay_3m | double | |
mrx_tier_oonp_copay_othnum | double | |
mrx_tier_oonp_othnumn | double | |
mrx_tier_ref_price_yn | string | |
mrx_tier_rspfd_coins_1m | double | |
mrx_tier_rspfd_coins_2m | double | |
mrx_tier_rspfd_coins_3m | double | |
mrx_tier_rspfd_coins_avg_1m | double | |
mrx_tier_rspfd_copay_1m | double | |
mrx_tier_rspfd_copay_2m | double | |
mrx_tier_rspfd_copay_3m | double | |
mrx_tier_rspfd_copay_daily | double | |
mrx_tier_rsplt_1m_num | double | |
mrx_tier_rsplt_2m_num | double | |
mrx_tier_rsplt_3m_num | double | |
mrx_tier_rsstd_coins_1m | double | |
mrx_tier_rsstd_coins_2m | double | |
mrx_tier_rsstd_coins_3m | double | |
mrx_tier_rsstd_coins_avg_1m | double | |
mrx_tier_rsstd_copay_1m | double | |
mrx_tier_rsstd_copay_2m | double | |
mrx_tier_rsstd_copay_3m | double | |
mrx_tier_rsstd_copay_daily | double | |
mrx_tier_rstd_1m_num | double | |
mrx_tier_rstd_2m_num | double | |
mrx_tier_rstd_3m_num | double | |
mrx_tier_rstd_coins_1m | double | |
mrx_tier_rstd_coins_2m | double | |
mrx_tier_rstd_coins_3m | double | |
mrx_tier_rstd_coins_avg_1m | double | |
mrx_tier_rstd_copay_1m | double | |
mrx_tier_rstd_copay_2m | double | |
mrx_tier_rstd_copay_3m | double | |
mrx_tier_rstd_copay_daily | double | |
mrx_tier_spec_yn | string | Specialty-tier flag: mostly NULL (739k, not asked/not applicable), '2'=11k, '1'=41k. Y/N-style coded field for whether the tier is a specialty tier. |
mrx_tier_type_id | string | Coverage-phase variant of the tier: '1' = INITIAL-coverage cost-sharing (675,832 rows, the default), '3' = COVERAGE-GAP (donut-hole) cost-sharing (116,195 rows). The same tier appears as up to two rows, one per phase. VERIFIED: all type-3 rows have mrx_tier_gap_cost_share populated, zero type-1 rows do. This is the column that makes mrx_tier_id non-unique. |
orgtype | string | |
part_d_enhncd_cvrg_demo | string | |
part_d_model_demo | string | |
pbp_a_ben_cov | string | |
pbp_a_plan_type | string | |
observed_period | date | Provenance: the period the data was observed for = Jan 1 of report_year (date). Equals effective_period_start; redundant with report_year. |
asserted_at | date | Provenance: silver-load assertion date. Only two values: 2026-05-16 (the parse_revision=1 snapshots) and 2026-05-20 (parse_revision=2). It is the ETL load date, NOT when CMS published - do not use as data recency. |
effective_period_start | date | |
effective_period_end | date | |
cms_vintage_sequence | int | CMS vintage ordinal (int 1-4). Roughly tracks release order within a year but NOT 1:1 with quarter (2021 Q1 = vintage 4; 2022 Q1 = vintage 2). Do not equate to quarter. |
parse_revision | int | Parser revision (int): 1 or 2. Tracks the extractor version, pairs with asserted_at (rev1->2026-05-16, rev2->2026-05-20). |
parser_artifact_hash | string | |
source_url | string | |
sha256_content_hash | string | |
source_row_ordinal | double | |
mrx_tier_bal_ltcp_copay_1m | double | |
mrx_tier_bal_ltcp_copay_day | double | |
mrx_tier_bal_mopfd_copay_1m | double | |
mrx_tier_bal_mopfd_copay_2m | double | |
mrx_tier_bal_mopfd_copay_3m | double | |
mrx_tier_bal_mopfd_copay_day | double | |
mrx_tier_bal_mostd_copay_1m | double | |
mrx_tier_bal_mostd_copay_2m | double | |
mrx_tier_bal_mostd_copay_3m | double | |
mrx_tier_bal_mostd_copay_day | double | |
mrx_tier_bal_oonp_copay_1m | double | |
mrx_tier_bal_rspfd_copay_1m | double | |
mrx_tier_bal_rspfd_copay_2m | double | |
mrx_tier_bal_rspfd_copay_3m | double | |
mrx_tier_bal_rspfd_copay_day | double | |
mrx_tier_bal_rstd_copay_1m | double | |
mrx_tier_bal_rstd_copay_2m | double | |
mrx_tier_bal_rstd_copay_3m | double | |
mrx_tier_bal_rstd_copay_day | double | |
mrx_tier_rstd_copay_1m / _2m / _3m | RETAIL-STANDARD pharmacy COPAY (flat dollar) for 1-/2-/3-month (30/60/90-day) supply. The headline retail out-of-pocket. Mutually exclusive with the coins counterpart on the same row (copay XOR coinsurance). Example: 2024Q4 H0028/014 Tier3 Preferred Brand = $47 (30-day). | |
mrx_tier_rstd_coins_1m / _2m / _3m | RETAIL-STANDARD pharmacy COINSURANCE (percent) for 1-/2-/3-month supply. Used instead of copay for percentage-cost tiers (e.g. Specialty 33%). 0-50 range. | |
mrx_tier_rspfd_copay_* / mrx_tier_rspfd_coins_* | RETAIL-PREFERRED pharmacy copay/coinsurance by days supply (lower cost-share preferred-network variant of rstd). | |
mrx_tier_mostd_copay_* / mrx_tier_mostd_coins_* | MAIL-ORDER-STANDARD copay/coinsurance by days supply (1m/2m/3m). Mail channel equivalent of rstd. | |
mrx_tier_mospfd_* / mrx_tier_mosstd_* / mrx_tier_mosplt_* | Mail-order PREFERRED / mail-order-standard-split / mail-order-split cost-share families - additional mail pharmacy channel/structure variants by days supply. | |
mrx_tier_ltcp_* (and _b_/_g_ variants) | LONG-TERM-CARE pharmacy cost-share family (copay/coinsurance, brand '_b_' vs generic '_g_', daily and 1-month). LTC channel pricing. | |
mrx_tier_oonp_* | OUT-OF-NETWORK pharmacy cost-share family (copay/coinsurance, 1m/3m/othnum). What the member pays at a non-network pharmacy. | |
mrx_tier_inp_* / mrx_tier_innpp_* / mrx_tier_inpp_* | IN-NETWORK / in-network-preferred / in-network-pharmacy cost-share families (copay/coinsurance/avg by days supply). Network-channel pricing variants. | |
mrx_tier_mo_* / mrx_tier_monpp_* / mrx_tier_mopp_* | MAIL-ORDER (mo), mail-order-non-preferred (monpp), mail-order-preferred (mopp) cost-share families by days supply. | |
mrx_tier_copay_amt_*_mmpmin / _mmpmax | MMP (Medicare-Medicaid Plan / dual) min and max copay bounds per channel (inp, ltc, mo, mstd, oon, rstd). Channel-specific copay floor/ceiling for dual-eligible cost-sharing. | |
mrx_tier_ira_* | Inflation-Reduction-Act-era cost-share fields (mopfd/mostd/rspfd/rstd/ltcp/oonp copay & coins by days supply). Populate in recent years reflecting IRA Part D redesign; mostly NULL in older vintages. | |
mrx_tier_*_1m_num / _2m_num / _3m_num / _othnum | Days-supply quantity/count fields paired with the cost-share columns of each channel family (the 'number' of the supply band the copay/coins applies to). | |
mrx_tier_locat / mrx_tier_locat_* | Location/pharmacy-placement codes per channel (in, inp, ltc, mo, mop, mostd, oon, rstd, coins, copay). Coded fields describing where/how the tier cost-share applies. | |
mrx_tier_includes / _includes_mmp / mrx_tier_nds_includes / _nds_includes_mmp | Codes for what the tier includes (and the MMP/non-defined-supplemental 'includes' variants). Coded references. | |
mrx_tier_extd_days_yn / mrx_tier_extd_first_fill | Extended-days-supply flag and extended first-fill code (Y/N-style coded). | |
mrx_tier_excep_yn / mrx_tier_inject_yn / mrx_tier_ref_price_yn / mrx_tier_alt_gap_covg_excl_yn | Y/N-style flags: exception applies, injectable, reference-pricing used, alternative gap-coverage excluded. | |
mrx_tier_gap_all_drug_yn / _gap_drug_type_lmtd / _gap_excluded_only_yn / _gap_part_drugs / _gap_part_includes | Coverage-gap scoping flags/codes (all drugs in gap, drug-type-limited, excluded-only, Part-D drugs, gap includes). Relevant to type_id='3' gap rows. | |
mrx_tier_lbl / _lbl_2 / _lbl_4 / _lbl_5 / _lbl_6 | Additional tier label slots (mostly NULL); supplementary naming used in some plan layouts. | |
mrx_tier_type_id (note) and orgtype | orgtype = CMS organization-type code (e.g. '05','01') describing the plan org (MA-PD, PDP, cost plan, etc.). | |
pbp_a_plan_type / pbp_a_ben_cov | Plan-level PBP attributes: pbp_a_plan_type = CMS plan-type code (e.g. '48','01'); pbp_a_ben_cov = benefit-coverage flag. Functionally dependent on the plan (not needed for grain). | |
part_d_model_demo / part_d_enhncd_cvrg_demo | Part D demonstration flags: model demo participation and enhanced-coverage demo ('Y'). Mostly NULL. | |
effective_period_start / effective_period_end | Benefit-year start/end dates (Jan 1 -> Dec 31 of report_year). GOTCHA: effective_period_start is Jan-1 of the year for ALL quarterly releases of that year, which is why profiler periodicity reads 'annual' (17 distinct year-starts) despite quarterly publication. | |
parser_artifact_hash / source_url / sha256_content_hash | Provenance: parser build hash, the CMS source ZIP URL (e.g. https://www.cms.gov/files/zip/pbp-benefits-2023-quarter-4.zip - confirms the quarterly-release origin), and content hash of the source file. |
Query it
describe_data_source(source_fqn="medicare_silver.pbp_mrx_tier") # the card, live query_substrate(sql="SELECT * FROM medicare_silver.pbp_mrx_tier WHERE contract_id = '<value>' AND plan_id = '<value>' AND segment_id = '<value>' AND mrx_tier_id = '<value>' AND mrx_tier_type_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,plan_id,segment_id,version,mrx_tier_id,mrx_tier_type_id,report_year,quarter |
| Join | how_to_join(source_fqn="medicare_silver.pbp_mrx_tier") |
| Raw door | Athena (read-only via query_substrate): medicare_silver.pbp_mrx_tier |
| Note | Grain-governed; live in Glue / query_substrate. Source family pbp_benefits. |
This page as markdown: /docs-md/data/medicare_silver_pbp_mrx_tier.md · every page in one file: /llms-full.txt