# Medicare Part D Prescribers by Provider (NPI x year), 2013-2024

`medicare_silver.fact_part_d_prescriber_by_provider` · Drugs and formularies · status live · 14,636,994 rows

One row per Part D prescriber NPI per year, 2013-2024: identity, address, specialty, claims, fills, cost, day supply and beneficiaries, split by 65+, brand / generic, MAPD / PDP and LIS; opioid, antibiotic and antipsychotic prescribing; beneficiary demographics and risk. 2024: 1,416,883 NPIs, 1,709,828,271 claims.

**Grain.** One row per (publisher_version = data year, prscrbr_npi) per release.

| column | type | meaning |
|---|---|---|
| publisher_version | string |  |
| data_year | int |  |
| prscrbr_npi | string |  |
| prscrbr_last_org_name | string |  |
| prscrbr_first_name | string |  |
| prscrbr_mi | string |  |
| prscrbr_crdntls | string |  |
| prscrbr_ent_cd | string |  |
| prscrbr_st1 | string |  |
| prscrbr_st2 | string |  |
| prscrbr_city | string |  |
| prscrbr_state_abrvtn | string |  |
| prscrbr_state_fips | string |  |
| prscrbr_zip5 | string |  |
| prscrbr_ruca | string |  |
| prscrbr_ruca_desc | string |  |
| prscrbr_cntry | string |  |
| prscrbr_type | string |  |
| prscrbr_type_src | string |  |
| tot_clms | bigint |  |
| tot_30day_fills | double |  |
| tot_drug_cst | double |  |
| tot_day_suply | bigint |  |
| tot_benes | bigint |  |
| ge65_sprsn_flag | string |  |
| ge65_tot_clms | bigint |  |
| ge65_tot_30day_fills | double |  |
| ge65_tot_drug_cst | double |  |
| ge65_tot_day_suply | bigint |  |
| ge65_bene_sprsn_flag | string |  |
| ge65_tot_benes | bigint |  |
| brnd_sprsn_flag | string |  |
| brnd_tot_clms | bigint |  |
| brnd_tot_drug_cst | double |  |
| gnrc_sprsn_flag | string |  |
| gnrc_tot_clms | bigint |  |
| gnrc_tot_drug_cst | double |  |
| othr_sprsn_flag | string |  |
| othr_tot_clms | bigint |  |
| othr_tot_drug_cst | double |  |
| mapd_sprsn_flag | string |  |
| mapd_tot_clms | bigint |  |
| mapd_tot_drug_cst | double |  |
| pdp_sprsn_flag | string |  |
| pdp_tot_clms | bigint |  |
| pdp_tot_drug_cst | double |  |
| lis_sprsn_flag | string |  |
| lis_tot_clms | bigint |  |
| lis_drug_cst | double |  |
| nonlis_sprsn_flag | string |  |
| nonlis_tot_clms | bigint |  |
| nonlis_drug_cst | double |  |
| opioid_tot_clms | bigint |  |
| opioid_tot_drug_cst | double |  |
| opioid_tot_suply | bigint |  |
| opioid_tot_benes | bigint |  |
| opioid_prscrbr_rate | double |  |
| opioid_la_tot_clms | bigint |  |
| opioid_la_tot_drug_cst | double |  |
| opioid_la_tot_suply | bigint |  |
| opioid_la_tot_benes | bigint |  |
| opioid_la_prscrbr_rate | double |  |
| antbtc_tot_clms | bigint |  |
| antbtc_tot_drug_cst | double |  |
| antbtc_tot_benes | bigint |  |
| antpsyct_ge65_sprsn_flag | string |  |
| antpsyct_ge65_tot_clms | bigint |  |
| antpsyct_ge65_tot_drug_cst | double |  |
| antpsyct_ge65_bene_suprsn_flag | string |  |
| antpsyct_ge65_tot_benes | bigint |  |
| bene_avg_age | double |  |
| bene_age_lt_65_cnt | bigint |  |
| bene_age_65_74_cnt | bigint |  |
| bene_age_75_84_cnt | bigint |  |
| bene_age_gt_84_cnt | bigint |  |
| bene_feml_cnt | bigint |  |
| bene_male_cnt | bigint |  |
| bene_race_wht_cnt | bigint |  |
| bene_race_black_cnt | bigint |  |
| bene_race_api_cnt | bigint |  |
| bene_race_hspnc_cnt | bigint |  |
| bene_race_natind_cnt | bigint |  |
| bene_race_othr_cnt | bigint |  |
| bene_dual_cnt | bigint |  |
| bene_ndual_cnt | bigint |  |
| bene_avg_risk_scre | double |  |
| observed_period | date |  |
| asserted_at | date |  |
| effective_period_start | date |  |
| effective_period_end | date |  |
| cms_vintage_sequence | int |  |
| parse_revision | int |  |
| parser_artifact_hash | string |  |
| source_url | string |  |
| sha256_content_hash | string |  |
| source_id | string |  |
| is_current | boolean |  |
| bronze_object_key | string |  |
| s3_version_id | string |  |
| vintage_tag | string |  |
| drug_source_version_id | string |  |

Query it: `query_substrate` with `SELECT ... FROM medicare_silver.fact_part_d_prescriber_by_provider WHERE ... LIMIT 100`; read `describe_data_source("medicare_silver.fact_part_d_prescriber_by_provider")` first.
