Skip to main content
Glama

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_info tool with method-based routing for different data types

  • Automated 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

{ "mcpServers": { "medicare-mcp-server": { "command": "node", "args": ["/path/to/medicare-mcp-server/build/index.js"] } } }

Tool Description

Medicare Info Tool

The medicare_info tool provides unified access to Medicare data using the method parameter to select the operation type:

  1. search_providers: Medicare Physician & Other Practitioners data (2013-2023)

  2. search_prescribers: Medicare Part D prescriber data by drug, provider NPI, specialty, and state

  3. search_hospitals: Medicare inpatient hospital utilization and payment data

  4. search_spending: Medicare Part D and Part B drug spending trends

  5. search_formulary: Medicare Part D plan formulary coverage (tier, prior auth, quantity limits, step therapy)

  6. get_hospital_star_rating: Hospital overall quality star ratings (1-5 stars)

  7. get_readmission_rates: Hospital 30-day readmission rates by condition

  8. get_hospital_infections: Hospital-acquired infections (HAI) data

  9. get_mortality_rates: Hospital 30-day mortality rates by condition

  10. search_hospitals_by_quality: Search hospitals by quality metrics and filters

  11. compare_hospitals: Compare multiple hospitals across quality metrics

  12. get_vbp_scores: Hospital Value-Based Purchasing (VBP) performance scores

  13. get_hcahps_scores: Patient experience (HCAHPS) survey scores

  14. get_asp_pricing: Get ASP pricing for Medicare Part B drugs

  15. get_asp_trend: Track ASP pricing changes over multiple quarters

  16. compare_asp_pricing: Compare ASP pricing across multiple drugs

  17. get_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 search

    • geography_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 description

  • HCPCS_Cd: HCPCS code

  • HCPCS_Desc: Description of the service/procedure

  • HCPCS_Drug_Ind: Indicates if the service is drug-related

  • Place_Of_Srvc: Place of service code

  • Tot_Rndrng_Prvdrs: Total number of rendering providers

  • Tot_Benes: Total number of beneficiaries

  • Tot_Srvcs: Total number of services

  • Tot_Bene_Day_Srvcs: Total beneficiary days of service

  • Avg_Sbmtd_Chrg: Average submitted charge

  • Avg_Mdcr_Alowd_Amt: Average Medicare allowed amount

  • Avg_Mdcr_Pymt_Amt: Average Medicare payment amount

  • Avg_Mdcr_Stdzd_Amt: Average standardized Medicare payment amount

For provider_and_service dataset:
  • Rndrng_NPI: Provider's National Provider Identifier

  • Rndrng_Prvdr_Last_Org_Name: Provider's last name or organization name

  • Rndrng_Prvdr_First_Name: Provider's first name

  • Rndrng_Prvdr_MI: Provider's middle initial

  • Rndrng_Prvdr_Crdntls: Provider's credentials

  • Rndrng_Prvdr_Ent_Cd: Provider's entity type

  • Rndrng_Prvdr_St1: Provider's street address

  • Rndrng_Prvdr_City: Provider's city

  • Rndrng_Prvdr_State_Abrvtn: Provider's state

  • Rndrng_Prvdr_Zip5: Provider's ZIP code

  • Rndrng_Prvdr_Type: Provider's specialty/type

  • Rndrng_Prvdr_Mdcr_Prtcptg_Ind: Medicare participating indicator

  • HCPCS_Cd: HCPCS code

  • HCPCS_Desc: Description of the service/procedure

  • Place_Of_Srvc: Place of service code

  • Tot_Benes: Total number of beneficiaries

  • Tot_Srvcs: Total number of services

  • Tot_Bene_Day_Srvcs: Total beneficiary days of service

  • Avg_Sbmtd_Chrg: Average submitted charge

  • Avg_Mdcr_Alowd_Amt: Average Medicare allowed amount

  • Avg_Mdcr_Pymt_Amt: Average Medicare payment amount

  • Avg_Mdcr_Stdzd_Amt: Average standardized Medicare payment amount

For provider dataset:
  • Rndrng_NPI: Provider's National Provider Identifier

  • Rndrng_Prvdr_Last_Org_Name: Provider's last name or organization name

  • Rndrng_Prvdr_First_Name: Provider's first name

  • Rndrng_Prvdr_MI: Provider's middle initial

  • Rndrng_Prvdr_Crdntls: Provider's credentials

  • Rndrng_Prvdr_Ent_Cd: Provider's entity type

  • Rndrng_Prvdr_St1: Provider's street address

  • Rndrng_Prvdr_City: Provider's city

  • Rndrng_Prvdr_State_Abrvtn: Provider's state

  • Rndrng_Prvdr_Zip5: Provider's ZIP code

  • Rndrng_Prvdr_Type: Provider's specialty/type

  • Rndrng_Prvdr_Mdcr_Prtcptg_Ind: Medicare participating indicator

  • Tot_HCPCS_Cds: Total number of unique HCPCS codes

  • Tot_Benes: Total number of beneficiaries

  • Tot_Srvcs: Total number of services

  • Tot_Sbmtd_Chrg: Total submitted charges

  • Tot_Mdcr_Alowd_Amt: Total Medicare allowed amount

  • Tot_Mdcr_Pymt_Amt: Total Medicare payment amount

  • Tot_Mdcr_Stdzd_Amt: Total standardized Medicare payment amount

  • Bene_Avg_Age: Average beneficiary age

  • Bene_Age_LT_65_Cnt: Number of beneficiaries under 65

  • Bene_Age_65_74_Cnt: Number of beneficiaries aged 65-74

  • Bene_Age_75_84_Cnt: Number of beneficiaries aged 75-84

  • Bene_Age_GT_84_Cnt: Number of beneficiaries over 84

  • Bene_Feml_Cnt: Number of female beneficiaries

  • Bene_Male_Cnt: Number of male beneficiaries

  • Bene_Race_Wht_Cnt: Number of white beneficiaries

  • Bene_Race_Black_Cnt: Number of black beneficiaries

  • Bene_Race_API_Cnt: Number of Asian/Pacific Islander beneficiaries

  • Bene_Race_Hspnc_Cnt: Number of Hispanic beneficiaries

  • Bene_Race_NatInd_Cnt: Number of Native American beneficiaries

  • Bene_Race_Othr_Cnt: Number of beneficiaries of other races

  • Bene_Dual_Cnt: Number of dual-eligible beneficiaries

  • Bene_Ndual_Cnt: Number of non-dual-eligible beneficiaries

  • Bene_Avg_Risk_Scre: Average beneficiary risk score

Example Queries

Geography and Service Dataset Examples
  1. Find all office visits (HCPCS 99213) in California for 2023:

{ "dataset_type": "geography_and_service", "geo_level": "State", "geo_code": "CA", "hcpcs_code": "99213", "year": 2023 }
  1. Compare knee replacement procedures (HCPCS 27447) across different states:

{ "dataset_type": "geography_and_service", "geo_level": "State", "hcpcs_code": "27447", "year": 2023, "sort_by": "Tot_Srvcs", "sort_order": "desc", "size": 10 }
  1. Analyze Medicare spending on specific procedures in Los Angeles County:

{ "dataset_type": "geography_and_service", "geo_level": "County", "geo_code": "06037", "hcpcs_code": "27130", "year": 2023 }
Provider and Service Dataset Examples
  1. Find providers performing knee replacements in California:

{ "dataset_type": "provider_and_service", "geo_level": "State", "geo_code": "CA", "hcpcs_code": "27447", "year": 2023, "sort_by": "Tot_Srvcs", "sort_order": "desc", "size": 10 }
  1. Search for cardiologists performing specific procedures:

{ "dataset_type": "provider_and_service", "provider_type": "Cardiology", "hcpcs_code": "93010", "year": 2023, "sort_by": "Tot_Srvcs", "sort_order": "desc" }
Provider Dataset Examples
  1. Find top providers by total services in California:

{ "dataset_type": "provider", "geo_level": "State", "geo_code": "CA", "year": 2023, "sort_by": "Tot_Srvcs", "sort_order": "desc", "size": 10 }
  1. Search for providers by specialty with beneficiary demographics:

{ "dataset_type": "provider", "provider_type": "Orthopedic Surgery", "year": 2023, "sort_by": "Tot_Benes", "sort_order": "desc" }

Common Use Cases

  1. 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

  2. Provider Analysis

    • Identify high-volume providers

    • Compare provider practice patterns

    • Analyze provider-level beneficiary characteristics

    • Track provider participation in Medicare

  3. Service Analysis

    • Compare utilization of specific procedures

    • Analyze Medicare payment patterns

    • Track service volumes over time

    • Identify trends in healthcare delivery

  4. Beneficiary Analysis

    • Analyze beneficiary demographics

    • Track risk scores and health status

    • Compare dual-eligible vs. non-dual-eligible populations

    • Monitor age and gender distributions

  5. 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 prescriber

  • prescriber_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

{ "total": 3, "prescribers": [ { "npi": "1003002049", "prescriber_name": "Srinivasan, Lakshmi", "prescriber_type": "Endocrinology", "city": "Fremont", "state": "CA", "brand_name": "Ozempic", "generic_name": "Semaglutide", "total_claims": "113", "total_30day_fills": "230.7", "total_drug_cost": "236624.18", "total_beneficiaries": "25" } ] }

Example Queries

1. Find California prescribers of Ozempic

{ "method": "search_prescribers", "drug_name": "Ozempic", "state": "CA", "size": 10 }

2. Find endocrinologists prescribing GLP-1 drugs in Texas

{ "method": "search_prescribers", "prescriber_type": "Endocrinology", "state": "TX", "size": 20 }

3. Lookup specific prescriber by NPI

{ "method": "search_prescribers", "prescriber_npi": "1003002049" }

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 ID

  • state (optional): State abbreviation (e.g., 'TX', 'CA', 'NY')

  • city (optional): City name

  • drg_code (optional): Diagnosis Related Group (DRG) code

  • size (optional): Number of results to return (default: 10)

  • offset (optional): Starting result number for pagination (default: 0)

Response Format

{ "total": 3, "hospitals": [ { "ccn": "450002", "hospital_name": "The Hospitals Of Providence Memorial Campus", "street_address": "2001 N Oregon St", "city": "El Paso", "state": "TX", "zip": "79902", "total_discharges": "950" } ] }

Example Queries

1. Find Texas hospitals

{ "method": "search_hospitals", "state": "TX", "size": 10 }

2. Search for Mayo Clinic facilities

{ "method": "search_hospitals", "hospital_name": "MAYO", "size": 10 }

3. Find hospitals in specific city

{ "method": "search_hospitals", "city": "Houston", "state": "TX", "size": 20 }

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 by

  • size (optional): Number of results to return (default: 10)

  • offset (optional): Starting result number for pagination (default: 0)

Response Format

{ "total": 2, "spending_type": "part_d", "drugs": [ { "brand_name": "Ozempic", "generic_name": "Semaglutide", "year": "2022", "total_spending": "5234567890.45", "total_claims": "1234567", "total_beneficiaries": "234567", "average_spending_per_claim": "4238.12", "average_spending_per_beneficiary": "22314.56" } ] }

Example Queries

1. Find Part D spending for Ozempic

{ "method": "search_spending", "spending_drug_name": "Ozempic", "spending_type": "part_d", "size": 5 }
{ "method": "search_spending", "spending_type": "part_b", "size": 20 }

3. Find spending for specific year

{ "method": "search_spending", "spending_drug_name": "Humira", "year": "2022" }

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 of formulary_drug_name or ndc_code is required.

  • ndc_code (optional): NDC (National Drug Code) for exact drug identification (e.g., '00002143380'). At least one of formulary_drug_name or ndc_code is 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 plan

  • size (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 entries

  • offset: Starting position for pagination

  • limit: Maximum results returned

  • drug_name_searched: Drug name that was searched (if provided)

  • rxcuis_found: Array of RXCUI codes found for the drug name

  • formulary_entries: Array of formulary entries with:

    • formulary_id: Plan formulary ID

    • plan_name: Medicare Part D plan name

    • state: State where plan is available

    • rxcui: RxNorm Concept Unique Identifier

    • ndc: National Drug Code

    • tier_level: Tier number (1-6)

    • quantity_limit: Whether quantity limit applies (boolean)

    • quantity_limit_amount: Maximum quantity allowed

    • quantity_limit_days: Days supply for quantity limit

    • prior_authorization: Whether prior authorization required (boolean)

    • step_therapy: Whether step therapy required (boolean)

Example Queries

1. Search by drug name
{ "method": "search_formulary", "formulary_drug_name": "metformin", "size": 10 }
2. Find drugs without prior authorization in California
{ "method": "search_formulary", "formulary_drug_name": "insulin", "plan_state": "CA", "requires_prior_auth": false, "size": 20 }
3. Search by NDC code
{ "method": "search_formulary", "ndc_code": "00002143380", "size": 5 }
4. Find specialty tier drugs (tier 5)
{ "method": "search_formulary", "formulary_drug_name": "Humira", "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

{ "total": 2, "hospitals": [ { "facility_id": "050002", "facility_name": "ST ROSE HOSPITAL", "address": "27200 CALAROGA AVE", "city": "HAYWARD", "state": "CA", "zip_code": "94545", "hospital_overall_rating": "1", "hospital_type": "Acute Care Hospitals", "hospital_ownership": "Voluntary non-profit - Church", "emergency_services": false, "mortality_measures_count": "7", "safety_measures_count": "8", "readmission_measures_count": "11", "patient_experience_measures_count": "8" } ] }

Example Queries

1. Get star ratings for California hospitals

{ "method": "get_hospital_star_rating", "quality_state": "CA", "size": 10 }

2. Lookup specific hospital by CCN

{ "method": "get_hospital_star_rating", "quality_hospital_id": "050146" }

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 hospital

  • quality_state (optional): State abbreviation to filter hospitals

  • condition (optional): Medical condition to filter by:

    • heart_attack - Heart attack (AMI) 30-day readmission

    • heart_failure - Heart failure 30-day readmission

    • pneumonia - Pneumonia 30-day readmission

    • copd - COPD 30-day readmission

    • cabg - CABG surgery 30-day readmission

    • hip_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

{ "total": 2, "readmissions": [ { "facility_id": "050002", "facility_name": "ST ROSE HOSPITAL", "state": "CA", "measure_id": "EDAC_30_HF", "measure_name": "Hospital return days for heart failure patients", "compared_to_national": "More Days Than Average per 100 Discharges", "score": "29.4", "denominator": "135", "lower_estimate": "9.4", "higher_estimate": "51.4", "number_of_patients": "103", "number_of_patients_returned": "43", "start_date": "07/01/2021", "end_date": "06/30/2024" } ] }

Example Queries

1. Get heart failure readmissions in California

{ "method": "get_readmission_rates", "quality_state": "CA", "condition": "heart_failure", "size": 20 }

2. Get all readmission measures for a specific hospital

{ "method": "get_readmission_rates", "quality_hospital_id": "050146", "size": 50 }

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 hospital

  • quality_state (optional): State abbreviation to filter hospitals

  • infection_type (optional): Type of infection to filter by:

    • CLABSI - Central Line Associated Bloodstream Infection

    • CAUTI - Catheter-Associated Urinary Tract Infection

    • SSI - Surgical Site Infection

    • CDIFF - Clostridium Difficile Infection

    • MRSA - Methicillin-Resistant Staphylococcus Aureus

  • size (optional): Number of results to return (default: 10)

  • offset (optional): Starting result number for pagination (default: 0)

Response Format

{ "total": 2, "infections": [ { "facility_id": "050002", "facility_name": "ST ROSE HOSPITAL", "state": "CA", "measure_id": "HAI_1_SIR", "measure_name": "Central Line Associated Bloodstream Infection (ICU + select Wards)", "compared_to_national": "No Different than National Benchmark", "score": "0.000", "start_date": "01/01/2024", "end_date": "12/31/2024" } ] }

Example Queries

1. Get CLABSI data for California hospitals

{ "method": "get_hospital_infections", "quality_state": "CA", "infection_type": "CLABSI", "size": 20 }

2. Get all HAI data for a specific hospital

{ "method": "get_hospital_infections", "quality_hospital_id": "050146" }

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 hospital

  • quality_state (optional): State abbreviation to filter hospitals

  • condition (optional): Medical condition to filter by:

    • heart_attack - Heart attack (AMI) 30-day mortality

    • heart_failure - Heart failure 30-day mortality

    • pneumonia - Pneumonia 30-day mortality

    • cabg - CABG surgery 30-day mortality

    • copd - COPD 30-day mortality

    • stroke - Stroke 30-day mortality

  • size (optional): Number of results to return (default: 10)

  • offset (optional): Starting result number for pagination (default: 0)

Response Format

{ "total": 5, "mortality": [ { "facility_id": "050146", "facility_name": "CEDARS-SINAI MEDICAL CENTER", "state": "CA", "measure_id": "MORT_30_AMI", "measure_name": "Acute Myocardial Infarction (AMI) 30-Day Mortality Rate", "compared_to_national": "No Different than National Rate", "score": "13.8", "denominator": "450", "lower_estimate": "11.2", "higher_estimate": "16.8", "start_date": "07/01/2020", "end_date": "06/30/2023" } ] }

Example Queries

1. Get heart attack mortality rates in California

{ "method": "get_mortality_rates", "quality_state": "CA", "condition": "heart_attack", "size": 20 }

2. Get all mortality measures for a hospital

{ "method": "get_mortality_rates", "quality_hospital_id": "050146" }

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 hospitals

  • min_star_rating (optional): Minimum star rating (1-5) to filter hospitals

  • size (optional): Number of results to return (default: 10)

  • offset (optional): Starting result number for pagination (default: 0)

Response Format

{ "total": 5, "hospitals": [ { "facility_id": "050146", "facility_name": "CEDARS-SINAI MEDICAL CENTER", "address": "8700 BEVERLY BLVD", "city": "LOS ANGELES", "state": "CA", "zip_code": "90048", "hospital_overall_rating": "5", "hospital_type": "Acute Care Hospitals", "hospital_ownership": "Voluntary non-profit - Private", "emergency_services": true } ] }

Example Queries

1. Find 4-5 star hospitals in California

{ "method": "search_hospitals_by_quality", "quality_state": "CA", "min_star_rating": 4, "size": 50 }

2. Find all 5-star hospitals nationwide

{ "method": "search_hospitals_by_quality", "min_star_rating": 5, "size": 100 }

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 compare

  • metrics (optional): Array of metrics to compare. Options:

    • star_rating - Overall quality star rating

    • readmission_rate - 30-day readmission rates

    • mortality_rate - 30-day mortality rates

    • infection_rate - Hospital-acquired infection rates

    • If not specified, returns all metrics

  • size (optional): Number of results per metric (default: 100)

Response Format

{ "hospitals": [ { "facility_id": "050146", "facility_name": "CEDARS-SINAI MEDICAL CENTER", "star_rating": "5", "readmissions": [ { "measure_id": "READM_30_HF", "measure_name": "Heart failure 30-day readmission", "score": "21.2", "compared_to_national": "Better than National Rate" } ], "mortality": [ { "measure_id": "MORT_30_AMI", "measure_name": "Heart attack 30-day mortality", "score": "13.8", "compared_to_national": "No Different than National Rate" } ], "infections": [ { "measure_id": "HAI_1_SIR", "measure_name": "CLABSI", "score": "0.326", "compared_to_national": "No Different than National Benchmark" } ] } ] }

Example Queries

1. Compare three hospitals across all metrics

{ "method": "compare_hospitals", "hospital_ids": ["050146", "050660", "050116"] }

2. Compare hospitals on star rating and readmissions only

{ "method": "compare_hospitals", "hospital_ids": ["050146", "050660"], "metrics": ["star_rating", "readmission_rate"] }

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 hospital

  • quality_state (optional): State abbreviation to filter hospitals

  • vbp_domain (optional): Filter by VBP domain:

    • clinical_outcomes - Clinical outcomes domain score only

    • person_community_engagement - Patient experience domain score only

    • safety - Safety domain score only

    • efficiency_cost_reduction - Efficiency/cost reduction domain score only

    • all or 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

{ "total": 2, "vbp_scores": [ { "facility_id": "050211", "facility_name": "ALAMEDA HOSPITAL", "state": "CA", "fiscal_year": "2025", "total_performance_score": "25.041666666667", "clinical_outcomes_score": "1.666666666667", "person_community_engagement_score": "2.750000000000", "safety_score": "20.625000000000", "efficiency_cost_reduction_score": "0.000000000000" } ] }

Example Queries

1. Get all VBP scores for California hospitals

{ "method": "get_vbp_scores", "quality_state": "CA", "size": 20 }

2. Get safety domain scores only

{ "method": "get_vbp_scores", "quality_state": "CA", "vbp_domain": "safety", "size": 10 }

3. Get VBP scores for specific hospital

{ "method": "get_vbp_scores", "quality_hospital_id": "050146" }

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 hospital

  • quality_state (optional): State abbreviation to filter hospitals

  • hcahps_measure (optional): Filter by specific HCAHPS measure (e.g., H_COMP_1_A_P for nurse communication, H_HSP_RATING_9_10 for hospital rating 9-10)

  • size (optional): Number of results to return (default: 10)

  • offset (optional): Starting result number for pagination (default: 0)

Response Format

{ "total": 2, "hcahps_scores": [ { "facility_id": "050002", "facility_name": "ST ROSE HOSPITAL", "state": "CA", "measure_id": "H_COMP_1_A_P", "measure_question": "Patients who reported that their nurses \"Always\" communicated well", "answer_description": "Nurses \"always\" communicated well", "answer_percent": "71", "star_rating": "Not Applicable", "linear_mean_value": "Not Applicable", "number_of_surveys": "380", "response_rate_percent": "21", "start_date": "01/01/2024", "end_date": "12/31/2024" } ] }

Common HCAHPS Measures

  • H_COMP_1_A_P: Nurses always communicated well

  • H_COMP_2_A_P: Doctors always communicated well

  • H_COMP_3_A_P: Staff always explained medicines

  • H_COMP_5_A_P: Staff always helped with bathroom needs

  • H_COMP_6_Y_P: Room always kept clean

  • H_COMP_7_A_P: Area around room always kept quiet at night

  • H_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

{ "method": "get_hcahps_scores", "quality_hospital_id": "050146", "size": 50 }

2. Get nurse communication scores for California

{ "method": "get_hcahps_scores", "quality_state": "CA", "hcahps_measure": "H_COMP_1_A_P", "size": 20 }

3. Get hospital recommendation rates

{ "method": "get_hcahps_scores", "quality_state": "NY", "hcahps_measure": "H_RECMND_DY" }

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 code

  • short_descriptor: Drug name/description

  • dosage: Dosage unit (e.g., "10 MG")

  • payment_limit: Medicare payment limit (ASP × 1.06)

  • asp_calculated: Calculated Average Sales Price

  • medicare_reimbursement: Amount Medicare pays

  • patient_coinsurance: Patient 20% coinsurance amount

  • effective_period: Quarter and date range

  • quarter: Data quarter (YYYYQN format)

  • notes: Additional CMS notes

  • found: Boolean indicating if drug was found

Example Requests

1. Get current ASP for Bevacizumab

{ "method": "get_asp_pricing", "hcpcs_code_asp": "J9035" }

2. Get ASP for specific quarter

{ "method": "get_asp_pricing", "hcpcs_code_asp": "J0202", "quarter": "2026Q1" }

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 drug

  • start_quarter (required): Starting quarter (e.g., "2025Q1")

  • end_quarter (required): Ending quarter (e.g., "2026Q1")

Response Fields

  • hcpcs_code: HCPCS billing code

  • drug_name: Drug name from first available quarter

  • start_quarter: Requested start quarter

  • end_quarter: Requested end quarter

  • data_points: Number of quarters with available data

  • trend_data: Array of quarterly data points with:

    • quarter: Quarter identifier

    • payment_limit: Medicare payment limit

    • asp_calculated: Average Sales Price

    • dosage: Dosage unit

    • dates: Quarter date range

  • analysis: Statistical analysis:

    • min_price: Lowest price in range

    • max_price: Highest price in range

    • avg_price: Average price across quarters

    • price_change_percent: Percentage change from first to last quarter

    • price_volatility: Price variation as percentage

Example Requests

1. Track pricing over one year

{ "method": "get_asp_trend", "hcpcs_code_asp": "J9035", "start_quarter": "2025Q1", "end_quarter": "2026Q1" }

2. Long-term trend analysis

{ "method": "get_asp_trend", "hcpcs_code_asp": "J0202", "start_quarter": "2024Q1", "end_quarter": "2026Q1" }

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 quarter

  • effective_period: Quarter date range

  • drugs_compared: Number of drugs requested

  • drugs_found: Number of drugs found in data

  • comparisons: Array of drug data:

    • hcpcs_code: HCPCS billing code

    • drug_name: Drug description

    • dosage: Dosage unit

    • payment_limit: Medicare payment limit

    • asp_calculated: Average Sales Price

    • patient_coinsurance: Patient cost

    • notes: CMS notes

    • found: false if drug not found

  • analysis: Comparison statistics:

    • lowest_price: Minimum price among drugs

    • highest_price: Maximum price among drugs

    • average_price: Mean price

    • price_range: Price spread (max - min)

Example Requests

1. Compare oncology drugs

{ "method": "compare_asp_pricing", "hcpcs_codes": ["J9035", "J9299", "J9310"], "quarter": "2026Q1" }

2. Compare biosimilars

{ "method": "compare_asp_pricing", "hcpcs_codes": ["Q5117", "Q5119", "Q5120"] }

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 Identifier

  • trend_metric (optional): Specific metric to track ("prior_auth", "tier", "quantity_limit", "coverage", or "all"). Default: "all"

Response Fields

  • drug_name: Name of drug analyzed

  • rxcui: RxNorm identifier

  • start_month / end_month: Analysis period

  • data_points: Number of months with data

  • trend_data: Monthly statistics array:

    • month: Month identifier (YYYYMM)

    • month_label: Human-readable format (YYYY-MM)

    • total_plans: Total number of plans evaluated

    • plans_with_coverage: Plans covering this drug

    • coverage_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 tier

    • overall_assessment: AI assessment ("Access improving", "Access deteriorating", "Access stable")

Example Requests

{ "method": "get_formulary_trend", "start_month": "202401", "end_month": "202512", "drug_name": "Metformin" }

2. Monitor tier changes for specific drug

{ "method": "get_formulary_trend", "start_month": "202501", "end_month": "202512", "rxcui": "6809", "trend_metric": "tier" }

3. Track market access deterioration

{ "method": "get_formulary_trend", "start_month": "202401", "end_month": "202512", "drug_name": "Ozempic" }

Example Response

{ "drug_name": "Metformin", "rxcui": "6809", "start_month": "202401", "end_month": "202512", "data_points": 12, "trend_data": [ { "month": "202401", "month_label": "2024-01", "total_plans": 3245, "plans_with_coverage": 3120, "coverage_rate": 0.961, "prior_auth_rate": 0.023, "quantity_limit_rate": 0.185, "avg_tier": 1.2 }, // ... 10 more months { "month": "202512", "month_label": "2025-12", "total_plans": 3289, "plans_with_coverage": 3145, "coverage_rate": 0.956, "prior_auth_rate": 0.038, "quantity_limit_rate": 0.221, "avg_tier": 1.3 } ], "analysis": { "coverage_change": "-0.50%", "prior_auth_change": "+1.50%", "quantity_limit_change": "+3.60%", "avg_tier_change": "+0.10", "overall_assessment": "Access deteriorating - increased restrictions" } }

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.

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/openpharma-org/medicare-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server