openpharma-org/medicare-mcp
If you are the rightful owner of medicare-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Unofficial Medicare MCP Server provides access to CMS Medicare Physician & Other Practitioners data from 2013-2023, enabling AI assistants and applications to search and analyze Medicare provider data.
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 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:
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:
{
"dataset_type": "geography_and_service",
"geo_level": "State",
"geo_code": "CA",
"hcpcs_code": "99213",
"year": 2023
}
- 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
}
- 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
- 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
}
- 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
- 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
}
- 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
-
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
{
"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 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
{
"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 bysize(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
}
2. Get Part B drug spending trends
{
"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 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
{
"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 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
{
"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 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
{
"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 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
{
"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 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
{
"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 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 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 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
{
"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 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
{
"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 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
{
"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 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
{
"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 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
{
"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 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
{
"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 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
{
"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.