Uses GitHub Actions workflows to automatically check for and update Medicare formulary data monthly and ASP pricing data quarterly, ensuring data freshness through automated downloads and commits.
Unofficial Medicare MCP Server
A Model Context Protocol (MCP) server providing comprehensive access to CMS Medicare data via the Socrata API, including physician/practitioner services, prescriber data, hospital utilization, and drug spending. This server enables AI assistants and applications to search and analyze Medicare payment, utilization, and coverage information.
Features
Provider Data: CMS Medicare Physician & Other Practitioners data from 2013-2023 with automatic latest-year selection
Prescriber Data: Medicare Part D prescriber information by drug, provider, and geography
Hospital Data: Medicare inpatient hospital utilization and payment data
Hospital Quality Metrics: Star ratings, readmission rates, mortality rates, and hospital-acquired infections (HAI)
Drug Spending: Medicare Part D and Part B drug spending trends
Formulary Data: Medicare Part D plan formulary coverage with automated monthly updates
ASP Pricing: Medicare Part B Average Sales Price data for physician-administered drugs
Flexible Querying: Advanced filtering, pagination, and field selection
TypeScript: Fully typed codebase with strict mode enabled
Production Ready: Health checks and comprehensive logging
Unified Tool Interface: Single
medicare_infotool with method-based routing for different data typesAutomated Updates: GitHub Actions workflows for data freshness
Formulary: Monthly checks on the 15th (after CMS releases)
ASP Pricing: Quarterly checks on 15th of Jan/Apr/Jul/Oct
Usage
Tool Description
Medicare Info Tool
The medicare_info tool provides unified access to Medicare data using the method parameter to select the operation type:
search_providers: Medicare Physician & Other Practitioners data (2013-2023)search_prescribers: Medicare Part D prescriber data by drug, provider NPI, specialty, and statesearch_hospitals: Medicare inpatient hospital utilization and payment datasearch_spending: Medicare Part D and Part B drug spending trendssearch_formulary: Medicare Part D plan formulary coverage (tier, prior auth, quantity limits, step therapy)get_hospital_star_rating: Hospital overall quality star ratings (1-5 stars)get_readmission_rates: Hospital 30-day readmission rates by conditionget_hospital_infections: Hospital-acquired infections (HAI) dataget_mortality_rates: Hospital 30-day mortality rates by conditionsearch_hospitals_by_quality: Search hospitals by quality metrics and filterscompare_hospitals: Compare multiple hospitals across quality metricsget_vbp_scores: Hospital Value-Based Purchasing (VBP) performance scoresget_hcahps_scores: Patient experience (HCAHPS) survey scoresget_asp_pricing: Get ASP pricing for Medicare Part B drugsget_asp_trend: Track ASP pricing changes over multiple quarterscompare_asp_pricing: Compare ASP pricing across multiple drugsget_formulary_trend: Track formulary policy changes over time (prior auth, tiers, coverage)
Method 1: search_providers
Search Medicare Physician & Other Practitioners data using the Centers for Medicare & Medicaid Services (CMS) database. This data includes information about services and procedures provided to Original Medicare Part B beneficiaries. The tool supports data from 2013 to the latest available year, defaulting to the latest year if not specified.
Parameters
dataset_type(required): Type of dataset to searchgeography_and_service: Use when you need to:Compare regions
Analyze geographic patterns
Study regional variations in healthcare delivery
Understand geographic distribution of healthcare services
Calculate per-capita/per-beneficiary rates by region
provider_and_service: Use when you need to:Analyze individual provider performance
Track specific procedures by provider
Calculate total procedures across providers
Study provider-level service patterns and outcomes
provider: Use when you need to:Analyze provider demographics
Study provider participation in Medicare
Understand provider practice patterns
Examine provider-level beneficiary characteristics and risk scores
year(optional): Year of the dataset to query (2013 to 2023, defaults to latest year). Note that data availability may vary by year and dataset type.hcpcs_code(optional): HCPCS code to search for (e.g., '99213' for established patient office visit). Can be used to analyze specific procedures or services.provider_type(optional): Type of provider to search for (e.g., 'Cardiology', 'Podiatry', 'Family Practice'). Supports partial matches and is case-insensitive.geo_level(optional): Geographic level for filtering (e.g., "National", "State", "County", "ZIP"). Use with geo_code to filter results by specific geographic areas.geo_code(optional): Geographic code to filter by (e.g., 'CA' for California, '06037' for Los Angeles County). Must match the geo_level specified.place_of_service(optional): Place of service code to filter by (e.g., 'F' for facility, 'O' for office, 'H' for hospital). See CMS documentation for complete list of codes.size(optional): Number of results to return (default: 10, max: 5000). Use with offset for pagination of large result sets.offset(optional): Starting result number for pagination (default: 0). Use with size to navigate through large result sets.sort_by(optional): Field to sort results by. Common fields include 'Tot_Srvcs' (total services), 'Tot_Benes' (total beneficiaries), 'Tot_Mdcr_Pymt_Amt' (total Medicare payment).sort_order(optional): Sort order ("asc" or "desc", default: "desc").
Response Fields
The response fields vary by dataset type:
For geography_and_service dataset:
Rndrng_Prvdr_Geo_Lvl: Geographic level (National, State, County, ZIP)Rndrng_Prvdr_Geo_Cd: Geographic code (e.g., 'CA' for California)Rndrng_Prvdr_Geo_Desc: Geographic descriptionHCPCS_Cd: HCPCS codeHCPCS_Desc: Description of the service/procedureHCPCS_Drug_Ind: Indicates if the service is drug-relatedPlace_Of_Srvc: Place of service codeTot_Rndrng_Prvdrs: Total number of rendering providersTot_Benes: Total number of beneficiariesTot_Srvcs: Total number of servicesTot_Bene_Day_Srvcs: Total beneficiary days of serviceAvg_Sbmtd_Chrg: Average submitted chargeAvg_Mdcr_Alowd_Amt: Average Medicare allowed amountAvg_Mdcr_Pymt_Amt: Average Medicare payment amountAvg_Mdcr_Stdzd_Amt: Average standardized Medicare payment amount
For provider_and_service dataset:
Rndrng_NPI: Provider's National Provider IdentifierRndrng_Prvdr_Last_Org_Name: Provider's last name or organization nameRndrng_Prvdr_First_Name: Provider's first nameRndrng_Prvdr_MI: Provider's middle initialRndrng_Prvdr_Crdntls: Provider's credentialsRndrng_Prvdr_Ent_Cd: Provider's entity typeRndrng_Prvdr_St1: Provider's street addressRndrng_Prvdr_City: Provider's cityRndrng_Prvdr_State_Abrvtn: Provider's stateRndrng_Prvdr_Zip5: Provider's ZIP codeRndrng_Prvdr_Type: Provider's specialty/typeRndrng_Prvdr_Mdcr_Prtcptg_Ind: Medicare participating indicatorHCPCS_Cd: HCPCS codeHCPCS_Desc: Description of the service/procedurePlace_Of_Srvc: Place of service codeTot_Benes: Total number of beneficiariesTot_Srvcs: Total number of servicesTot_Bene_Day_Srvcs: Total beneficiary days of serviceAvg_Sbmtd_Chrg: Average submitted chargeAvg_Mdcr_Alowd_Amt: Average Medicare allowed amountAvg_Mdcr_Pymt_Amt: Average Medicare payment amountAvg_Mdcr_Stdzd_Amt: Average standardized Medicare payment amount
For provider dataset:
Rndrng_NPI: Provider's National Provider IdentifierRndrng_Prvdr_Last_Org_Name: Provider's last name or organization nameRndrng_Prvdr_First_Name: Provider's first nameRndrng_Prvdr_MI: Provider's middle initialRndrng_Prvdr_Crdntls: Provider's credentialsRndrng_Prvdr_Ent_Cd: Provider's entity typeRndrng_Prvdr_St1: Provider's street addressRndrng_Prvdr_City: Provider's cityRndrng_Prvdr_State_Abrvtn: Provider's stateRndrng_Prvdr_Zip5: Provider's ZIP codeRndrng_Prvdr_Type: Provider's specialty/typeRndrng_Prvdr_Mdcr_Prtcptg_Ind: Medicare participating indicatorTot_HCPCS_Cds: Total number of unique HCPCS codesTot_Benes: Total number of beneficiariesTot_Srvcs: Total number of servicesTot_Sbmtd_Chrg: Total submitted chargesTot_Mdcr_Alowd_Amt: Total Medicare allowed amountTot_Mdcr_Pymt_Amt: Total Medicare payment amountTot_Mdcr_Stdzd_Amt: Total standardized Medicare payment amountBene_Avg_Age: Average beneficiary ageBene_Age_LT_65_Cnt: Number of beneficiaries under 65Bene_Age_65_74_Cnt: Number of beneficiaries aged 65-74Bene_Age_75_84_Cnt: Number of beneficiaries aged 75-84Bene_Age_GT_84_Cnt: Number of beneficiaries over 84Bene_Feml_Cnt: Number of female beneficiariesBene_Male_Cnt: Number of male beneficiariesBene_Race_Wht_Cnt: Number of white beneficiariesBene_Race_Black_Cnt: Number of black beneficiariesBene_Race_API_Cnt: Number of Asian/Pacific Islander beneficiariesBene_Race_Hspnc_Cnt: Number of Hispanic beneficiariesBene_Race_NatInd_Cnt: Number of Native American beneficiariesBene_Race_Othr_Cnt: Number of beneficiaries of other racesBene_Dual_Cnt: Number of dual-eligible beneficiariesBene_Ndual_Cnt: Number of non-dual-eligible beneficiariesBene_Avg_Risk_Scre: Average beneficiary risk score
Example Queries
Geography and Service Dataset Examples
Find all office visits (HCPCS 99213) in California for 2023:
Compare knee replacement procedures (HCPCS 27447) across different states:
Analyze Medicare spending on specific procedures in Los Angeles County:
Provider and Service Dataset Examples
Find providers performing knee replacements in California:
Search for cardiologists performing specific procedures:
Provider Dataset Examples
Find top providers by total services in California:
Search for providers by specialty with beneficiary demographics:
Common Use Cases
Geographic Analysis
Compare healthcare utilization across different regions
Identify areas with high or low service volumes
Analyze regional variations in Medicare payments
Track service patterns by geographic level
Provider Analysis
Identify high-volume providers
Compare provider practice patterns
Analyze provider-level beneficiary characteristics
Track provider participation in Medicare
Service Analysis
Compare utilization of specific procedures
Analyze Medicare payment patterns
Track service volumes over time
Identify trends in healthcare delivery
Beneficiary Analysis
Analyze beneficiary demographics
Track risk scores and health status
Compare dual-eligible vs. non-dual-eligible populations
Monitor age and gender distributions
Payment Analysis
Compare submitted charges vs. Medicare payments
Analyze payment variations by region
Track standardized payment amounts
Monitor Medicare payment trends
Method 2: search_prescribers
Search Medicare Part D prescriber data to analyze drug prescribing patterns by provider, specialty, geography, and drug name. This method provides access to CMS Part D Prescribers - by Provider and Drug dataset.
Parameters
method(required): Must be set to"search_prescribers"drug_name(optional): Drug brand name to search for (e.g., 'Ozempic', 'Humira', 'Eliquis'). Searches brand names only.prescriber_npi(optional): National Provider Identifier (NPI) of the prescriberprescriber_type(optional): Prescriber specialty (e.g., 'Endocrinology', 'Family Practice', 'Internal Medicine')state(optional): State abbreviation (e.g., 'CA', 'TX', 'NY')size(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Example Queries
1. Find California prescribers of Ozempic
2. Find endocrinologists prescribing GLP-1 drugs in Texas
3. Lookup specific prescriber by NPI
Method 3: search_hospitals
Search Medicare inpatient hospital utilization and payment data. This method provides access to CMS Medicare Inpatient Hospitals - by Provider dataset, showing discharge volumes, charges, and payment amounts.
Parameters
method(required): Must be set to"search_hospitals"hospital_name(optional): Hospital name (partial match supported, e.g., 'MAYO', 'Memorial')hospital_id(optional): CMS Certification Number (CCN) or provider IDstate(optional): State abbreviation (e.g., 'TX', 'CA', 'NY')city(optional): City namedrg_code(optional): Diagnosis Related Group (DRG) codesize(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Example Queries
1. Find Texas hospitals
2. Search for Mayo Clinic facilities
3. Find hospitals in specific city
Method 4: search_spending
Search Medicare Part D and Part B drug spending trends. This method provides access to CMS drug spending datasets showing total spending, claims, beneficiaries, and average costs per claim and per beneficiary.
Parameters
method(required): Must be set to"search_spending"spending_drug_name(optional): Drug brand name to search for (e.g., 'Ozempic', 'Humira', 'Eliquis')spending_type(optional): Type of spending data - 'part_d' (prescription drugs) or 'part_b' (administered drugs). Default: 'part_d'year(optional): Data year to filter bysize(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Example Queries
1. Find Part D spending for Ozempic
2. Get Part B drug spending trends
3. Find spending for specific year
Method 5: search_formulary
Search Medicare Part D plan formulary coverage using local CMS formulary data files. Returns drug coverage information including tier level, prior authorization requirements, quantity limits, and step therapy requirements across Medicare Part D plans.
Parameters
formulary_drug_name(optional): Drug name to search for (partial match supported, e.g., 'metformin', 'insulin'). Uses RxNorm API to convert drug names to RXCUI codes. At least one offormulary_drug_nameorndc_codeis required.ndc_code(optional): NDC (National Drug Code) for exact drug identification (e.g., '00002143380'). At least one offormulary_drug_nameorndc_codeis required.tier(optional): Tier number to filter by:1 = Preferred Generic
2 = Generic
3 = Preferred Brand
4 = Non-Preferred Brand
5 = Specialty
6 = Select Care
requires_prior_auth(optional): Filter by prior authorization requirement (true=requires PA, false=no PA required)has_quantity_limit(optional): Filter by quantity limit (true=has limit, false=no limit)has_step_therapy(optional): Filter by step therapy requirement (true=requires ST, false=no ST required)plan_state(optional): State abbreviation to filter plans (e.g., 'CA', 'TX', 'NY')plan_id(optional): Medicare Part D plan ID to filter by specific plansize(optional): Number of results to return (default: 25, max: 5000)offset(optional): Starting result number for pagination (default: 0)
Response Fields
total: Total number of matching formulary entriesoffset: Starting position for paginationlimit: Maximum results returneddrug_name_searched: Drug name that was searched (if provided)rxcuis_found: Array of RXCUI codes found for the drug nameformulary_entries: Array of formulary entries with:formulary_id: Plan formulary IDplan_name: Medicare Part D plan namestate: State where plan is availablerxcui: RxNorm Concept Unique Identifierndc: National Drug Codetier_level: Tier number (1-6)quantity_limit: Whether quantity limit applies (boolean)quantity_limit_amount: Maximum quantity allowedquantity_limit_days: Days supply for quantity limitprior_authorization: Whether prior authorization required (boolean)step_therapy: Whether step therapy required (boolean)
Example Queries
1. Search by drug name
2. Find drugs without prior authorization in California
3. Search by NDC code
4. Find specialty tier drugs (tier 5)
Method 6: get_hospital_star_rating
Get hospital overall quality star ratings (1-5 stars) from CMS Hospital Care Compare. Star ratings provide a comprehensive measure of hospital quality based on multiple clinical domains including mortality, safety, readmission, patient experience, and timely & effective care.
Parameters
method(required): Must be set to"get_hospital_star_rating"quality_hospital_id(optional): CMS Certification Number (CCN) to lookup specific hospital (e.g., '050146')quality_state(optional): State abbreviation to filter hospitals (e.g., 'CA', 'TX', 'NY')size(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Example Queries
1. Get star ratings for California hospitals
2. Lookup specific hospital by CCN
Use Cases
Provider Network Selection: Identify high-quality hospitals (4-5 stars) for preferred networks
Quality Benchmarking: Compare hospital performance against competitors
Market Analysis: Analyze quality distribution across geographic markets
Contracting Strategy: Target high-performing hospitals for value-based contracts
Method 7: get_readmission_rates
Get hospital 30-day readmission rates by medical condition from CMS Unplanned Hospital Visits dataset. Readmission rates indicate how often patients return to the hospital within 30 days of discharge.
Parameters
method(required): Must be set to"get_readmission_rates"quality_hospital_id(optional): CMS Certification Number (CCN) to lookup specific hospitalquality_state(optional): State abbreviation to filter hospitalscondition(optional): Medical condition to filter by:heart_attack- Heart attack (AMI) 30-day readmissionheart_failure- Heart failure 30-day readmissionpneumonia- Pneumonia 30-day readmissioncopd- COPD 30-day readmissioncabg- CABG surgery 30-day readmissionhip_knee- Hip/knee replacement 30-day readmission
size(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Example Queries
1. Get heart failure readmissions in California
2. Get all readmission measures for a specific hospital
Use Cases
Drug Market Sizing: Identify hospitals with high HF readmissions for heart failure drug targeting
Value-Based Contracting: Partner with hospitals to reduce readmissions through better medication management
Quality Improvement Programs: Target hospitals with high readmission rates for clinical support programs
Competitive Intelligence: Analyze readmission patterns to identify unmet medical needs
Method 8: get_hospital_infections
Get hospital-acquired infection (HAI) data including CLABSI, CAUTI, SSI, C.diff, and MRSA from CMS Healthcare Associated Infections dataset. Returns Standardized Infection Ratios (SIR) comparing observed vs. predicted infections.
Parameters
method(required): Must be set to"get_hospital_infections"quality_hospital_id(optional): CMS Certification Number (CCN) to lookup specific hospitalquality_state(optional): State abbreviation to filter hospitalsinfection_type(optional): Type of infection to filter by:CLABSI- Central Line Associated Bloodstream InfectionCAUTI- Catheter-Associated Urinary Tract InfectionSSI- Surgical Site InfectionCDIFF- Clostridium Difficile InfectionMRSA- Methicillin-Resistant Staphylococcus Aureus
size(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Example Queries
1. Get CLABSI data for California hospitals
2. Get all HAI data for a specific hospital
Use Cases
Antibiotic Market Targeting: Identify hospitals with high infection rates for antimicrobial stewardship programs
Infection Control Budget Analysis: Estimate hospital spending on infection prevention
Quality Improvement Partnerships: Partner with high-infection hospitals for clinical programs
Device Market Sizing: Analyze infection burden for medical device targeting (central lines, catheters)
Method 9: get_mortality_rates
Get hospital 30-day mortality rates by medical condition from CMS Complications and Deaths dataset. Mortality rates show risk-adjusted death rates within 30 days of hospital admission.
Parameters
method(required): Must be set to"get_mortality_rates"quality_hospital_id(optional): CMS Certification Number (CCN) to lookup specific hospitalquality_state(optional): State abbreviation to filter hospitalscondition(optional): Medical condition to filter by:heart_attack- Heart attack (AMI) 30-day mortalityheart_failure- Heart failure 30-day mortalitypneumonia- Pneumonia 30-day mortalitycabg- CABG surgery 30-day mortalitycopd- COPD 30-day mortalitystroke- Stroke 30-day mortality
size(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Example Queries
1. Get heart attack mortality rates in California
2. Get all mortality measures for a hospital
Use Cases
Outcomes-Based Contracting: Identify hospitals with better mortality outcomes for partnerships
Clinical Trial Site Selection: Select high-quality hospitals for better patient outcomes
Drug Efficacy Targeting: Target hospitals with high mortality for drugs that improve survival
Quality Benchmarking: Compare hospital performance on life-threatening conditions
Method 10: search_hospitals_by_quality
Search and filter hospitals by quality metrics including minimum star ratings and geographic filters.
Parameters
method(required): Must be set to"search_hospitals_by_quality"quality_state(optional): State abbreviation to filter hospitalsmin_star_rating(optional): Minimum star rating (1-5) to filter hospitalssize(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Example Queries
1. Find 4-5 star hospitals in California
2. Find all 5-star hospitals nationwide
Use Cases
Network Development: Build preferred provider networks with high-quality hospitals
Market Entry Strategy: Identify top-performing hospitals for initial launch partnerships
Geographic Expansion: Find quality hospitals in new markets
Competitive Analysis: Analyze quality distribution in target markets
Method 11: compare_hospitals
Compare multiple hospitals across quality metrics including star ratings, readmission rates, mortality rates, and infection rates.
Parameters
method(required): Must be set to"compare_hospitals"hospital_ids(required): Array of hospital CCN IDs to comparemetrics(optional): Array of metrics to compare. Options:star_rating- Overall quality star ratingreadmission_rate- 30-day readmission ratesmortality_rate- 30-day mortality ratesinfection_rate- Hospital-acquired infection ratesIf not specified, returns all metrics
size(optional): Number of results per metric (default: 100)
Response Format
Example Queries
1. Compare three hospitals across all metrics
2. Compare hospitals on star rating and readmissions only
Use Cases
Contracting Decisions: Compare quality metrics before finalizing hospital contracts
Competitive Benchmarking: Analyze how target hospitals compare to competitors
Market Analysis: Compare quality across hospitals in same geographic market
Performance Tracking: Monitor quality changes over time for partner hospitals
Method 12: get_vbp_scores
Get Hospital Value-Based Purchasing (VBP) performance scores from CMS. VBP scores measure hospital performance across four domains: Clinical Outcomes, Person & Community Engagement (patient experience), Safety, and Efficiency/Cost Reduction.
Parameters
method(required): Must be set to"get_vbp_scores"quality_hospital_id(optional): CMS Certification Number (CCN) to lookup specific hospitalquality_state(optional): State abbreviation to filter hospitalsvbp_domain(optional): Filter by VBP domain:clinical_outcomes- Clinical outcomes domain score onlyperson_community_engagement- Patient experience domain score onlysafety- Safety domain score onlyefficiency_cost_reduction- Efficiency/cost reduction domain score onlyallor omit - Return all domain scores (default)
size(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Example Queries
1. Get all VBP scores for California hospitals
2. Get safety domain scores only
3. Get VBP scores for specific hospital
Use Cases
Payment Adjustment Analysis: VBP scores directly affect Medicare payments (+/- 2%)
Quality Performance Benchmarking: Compare hospital performance across quality domains
Value-Based Contracting: Identify high-performing hospitals for partnerships
Market Analysis: Analyze quality-based payment adjustments in target markets
Method 13: get_hcahps_scores
Get Hospital Consumer Assessment of Healthcare Providers and Systems (HCAHPS) patient experience scores. HCAHPS is a standardized survey measuring patients' perspectives on hospital care.
Parameters
method(required): Must be set to"get_hcahps_scores"quality_hospital_id(optional): CMS Certification Number (CCN) to lookup specific hospitalquality_state(optional): State abbreviation to filter hospitalshcahps_measure(optional): Filter by specific HCAHPS measure (e.g.,H_COMP_1_A_Pfor nurse communication,H_HSP_RATING_9_10for hospital rating 9-10)size(optional): Number of results to return (default: 10)offset(optional): Starting result number for pagination (default: 0)
Response Format
Common HCAHPS Measures
H_COMP_1_A_P: Nurses always communicated wellH_COMP_2_A_P: Doctors always communicated wellH_COMP_3_A_P: Staff always explained medicinesH_COMP_5_A_P: Staff always helped with bathroom needsH_COMP_6_Y_P: Room always kept cleanH_COMP_7_A_P: Area around room always kept quiet at nightH_HSP_RATING_9_10: Hospital rating 9-10 (highest)H_RECMND_DY: Would definitely recommend hospital
Example Queries
1. Get all HCAHPS scores for a hospital
2. Get nurse communication scores for California
3. Get hospital recommendation rates
Use Cases
Patient Experience Programs: Identify hospitals with low patient satisfaction for improvement programs
Competitive Analysis: Compare patient experience scores across competing hospitals
Quality Improvement Targeting: Focus on specific dimensions (communication, cleanliness, quiet, pain management)
Star Rating Analysis: HCAHPS scores contribute 25% to overall hospital star rating
Method 14: get_asp_pricing
Get Average Sales Price (ASP) pricing for Medicare Part B drugs.
Parameters
method(required): Must be set to"get_asp_pricing"hcpcs_code_asp(required): HCPCS code for Part B drug (e.g., "J9035" for Bevacizumab)quarter(optional): Quarter for ASP data (e.g., "2026Q1", "2025Q4"). Defaults to current quarter.
Response Fields
hcpcs_code: HCPCS billing codeshort_descriptor: Drug name/descriptiondosage: Dosage unit (e.g., "10 MG")payment_limit: Medicare payment limit (ASP × 1.06)asp_calculated: Calculated Average Sales Pricemedicare_reimbursement: Amount Medicare payspatient_coinsurance: Patient 20% coinsurance amounteffective_period: Quarter and date rangequarter: Data quarter (YYYYQN format)notes: Additional CMS notesfound: Boolean indicating if drug was found
Example Requests
1. Get current ASP for Bevacizumab
2. Get ASP for specific quarter
Use Cases
Reimbursement Analysis: Determine Medicare payment rates for Part B drugs
Patient Cost Estimation: Calculate patient out-of-pocket costs (20% coinsurance)
Revenue Forecasting: ASP × expected volume = revenue projections
Price Transparency: Track Medicare pricing for physician-administered drugs
Method 15: get_asp_trend
Track ASP pricing changes over multiple quarters for trend analysis.
Parameters
method(required): Must be set to"get_asp_trend"hcpcs_code_asp(required): HCPCS code for Part B drugstart_quarter(required): Starting quarter (e.g., "2025Q1")end_quarter(required): Ending quarter (e.g., "2026Q1")
Response Fields
hcpcs_code: HCPCS billing codedrug_name: Drug name from first available quarterstart_quarter: Requested start quarterend_quarter: Requested end quarterdata_points: Number of quarters with available datatrend_data: Array of quarterly data points with:quarter: Quarter identifierpayment_limit: Medicare payment limitasp_calculated: Average Sales Pricedosage: Dosage unitdates: Quarter date range
analysis: Statistical analysis:min_price: Lowest price in rangemax_price: Highest price in rangeavg_price: Average price across quartersprice_change_percent: Percentage change from first to last quarterprice_volatility: Price variation as percentage
Example Requests
1. Track pricing over one year
2. Long-term trend analysis
Use Cases
Price Trend Analysis: Identify drugs with increasing/decreasing prices
Gross-to-Net Modeling: Track pricing trends for rebate strategy planning
Budget Planning: Forecast future drug costs based on historical trends
Market Access: Monitor pricing relative to competitors over time
Method 16: compare_asp_pricing
Compare ASP pricing across multiple drugs for competitive analysis.
Parameters
method(required): Must be set to"compare_asp_pricing"hcpcs_codes(required): Array of HCPCS codes to compare (e.g., ["J9035", "J9299", "J0202"])quarter(optional): Quarter for comparison (e.g., "2026Q1"). Defaults to current quarter.
Response Fields
quarter: Data quartereffective_period: Quarter date rangedrugs_compared: Number of drugs requesteddrugs_found: Number of drugs found in datacomparisons: Array of drug data:hcpcs_code: HCPCS billing codedrug_name: Drug descriptiondosage: Dosage unitpayment_limit: Medicare payment limitasp_calculated: Average Sales Pricepatient_coinsurance: Patient costnotes: CMS notesfound: false if drug not found
analysis: Comparison statistics:lowest_price: Minimum price among drugshighest_price: Maximum price among drugsaverage_price: Mean priceprice_range: Price spread (max - min)
Example Requests
1. Compare oncology drugs
2. Compare biosimilars
Use Cases
Competitive Pricing: Compare reimbursement rates across competing therapies
Formulary Decisions: Evaluate cost differences for P&T committee decisions
Biosimilar Analysis: Compare pricing between reference products and biosimilars
Portfolio Management: Analyze pricing across drug portfolio
Method 17: get_formulary_trend
Track formulary policy changes over time to identify market access trends.
Parameters
method(required): Must be set to"get_formulary_trend"start_month(required): Starting month in YYYYMM format (e.g., "202401")end_month(required): Ending month in YYYYMM format (e.g., "202512")drug_name(optional): Drug name to search (e.g., "Metformin")rxcui(optional): RxNorm Concept Unique Identifiertrend_metric(optional): Specific metric to track ("prior_auth", "tier", "quantity_limit", "coverage", or "all"). Default: "all"
Response Fields
drug_name: Name of drug analyzedrxcui: RxNorm identifierstart_month/end_month: Analysis perioddata_points: Number of months with datatrend_data: Monthly statistics array:month: Month identifier (YYYYMM)month_label: Human-readable format (YYYY-MM)total_plans: Total number of plans evaluatedplans_with_coverage: Plans covering this drugcoverage_rate: Percentage of plans with coverage (0-1)prior_auth_rate: Percentage requiring prior authorization (0-1)quantity_limit_rate: Percentage with quantity limits (0-1)avg_tier: Average formulary tier placement
analysis: Trend analysis:coverage_change: Change in coverage rate (%)prior_auth_change: Change in prior auth requirements (%)quantity_limit_change: Change in quantity limits (%)avg_tier_change: Change in average tieroverall_assessment: AI assessment ("Access improving", "Access deteriorating", "Access stable")
Example Requests
1. Track prior authorization trends over 12 months
2. Monitor tier changes for specific drug
3. Track market access deterioration
Example Response
Use Cases
Market Access Monitoring: Track if your drug is getting harder to access over time
Competitive Intelligence: Compare access trends across competing drugs
P&T Strategy: Identify when formulary restrictions are tightening
Budget Impact: Prior auth increases = higher administrative costs
Patient Access Programs: Detect when patients may need more support
Pricing Negotiations: Use access deterioration as leverage in rebate discussions
Early Warning System: Catch restrictive trends before they impact sales
Data Sources
Hospital Quality Data
All hospital quality data comes from CMS Provider Data Catalog (data.cms.gov):
Hospital General Information (xubh-q36u): Star ratings and hospital characteristics
Unplanned Hospital Visits (632h-zaca): 30-day readmission rates
Healthcare Associated Infections (77hc-ibv8): HAI/infection data
Complications and Deaths (ynj2-r877): 30-day mortality rates
Hospital Value-Based Purchasing (ypbt-wvdk): VBP performance scores
Patient Survey HCAHPS (dgck-syfz): Patient experience scores
Data is updated quarterly by CMS and accessed via public API (no authentication required).
ASP Pricing Data
Medicare Part B Average Sales Price (ASP) pricing data:
Source: CMS Medicare Part B ASP Pricing Files
URL: https://www.cms.gov/medicare/payment/part-b-drugs/asp-pricing-files
Update Frequency: Quarterly (January, April, July, October)
Current Data: January 2026 (preliminary)
Format: CSV files with HCPCS codes, payment limits, and dosage information
Coverage: Physician-administered drugs (Part B), vaccines, immunizations
Automation: GitHub Actions workflow checks for new quarters monthly
Storage:
data/asp/{QUARTER}_ASP_Pricing.csv.gz(dynamic quarter-based filenames)
ASP data is automatically downloaded, cleaned, compressed, and committed when new quarters are released.