How it works

How our tool checks every line of your bill.

The six public sources we compare every line against. How we handle prices that change by region. The laws we cite in dispute letters. The limits of what the tool can do — written out clearly, so you can decide for yourself.

Last reviewed May 2026 · MediBill Saver Editorial Team

Published
This methodology is also published as an open-access working paper on Zenodo — DOI 10.5281/zenodo.20232731 · View on Zenodo · CC BY 4.0

In One Paragraph

For each line item on your bill, our primary comparison is your hospital’s own federally-mandated Hospital Price Transparency file — the gross charge, the cash / self-pay rate, and the negotiated commercial-insurance range it publishes for that procedure under 45 CFR §180.50. We layer additional public-data sources to anchor the comparison: CMS Physician Fee Schedule (Medicare reimbursement for outpatient CPT codes), CMS MS-DRG (Medicare bundled payments for inpatient stays), NADAC (pharmacy acquisition cost for ~33,000 drug NDCs), CMS National Correct Coding Initiative bundling edits, CMS Care Compare hospital quality metrics, and IRS Publication 78 (the IRS Business Master File of organizations eligible to receive deductible contributions, from which we ingest the healthcare-related subset for charity-care eligibility verification). We also resolve the facility through the NPPES NPI Registry. We surface gaps between billed amounts and these benchmarks so you can evaluate whether a charge is in line with what providers commonly accept. These are estimates, not authoritative prices, and they are not a guarantee that any charge is wrong. Live data inventory and freshness on /data-sources.

Six Layered Data Sources

We layer six federal / authoritative datasets, each grounding a different part of the audit. Live row counts and last-refresh timestamps are visible at /data-sources:

  1. CMS Physician Fee Schedule (PFS) — Medicare reimbursement rates for ~9,500 CPT and HCPCS procedure codes, published annually by CMS with quarterly interim revisions. The legal floor for what Medicare pays. We mirror the full PFS into Postgres (table cms_pfs_rates) and query it for every line-item benchmark, not just the 180 most common codes. Source: cms.gov physician-fee-schedule.
  2. NADAC + Cost Plus Drugs retail (drug pricing layer) — two complementary public-domain pricing sources we join to evaluate medication line items.
    • NADAC (National Average Drug Acquisition Cost): pharmacy acquisition cost for ~33,000 drug NDCs, sourced weekly from a CMS survey of ~60,000 retail pharmacies. We cross-walk NADAC NDCs to HCPCS billing codes via the CMS ASP NDC-HCPCS Crosswalk so every common J-code injectable on a hospital bill (saline, dexamethasone, ondansetron, ceftriaxone, morphine, albuterol, contrast media, etc.) gets a deterministic acquisition-cost benchmark from authoritative federal survey data.
    • MCCPDC (Mark Cuban Cost Plus Drug Company): explicit "cost + 15% + $5 service fee" retail cash prices for ~2,360 common generic medications, published via Cost Plus Drugs’ public API. When a bill names a generic medication MCCPDC carries, we attach the cheapest available cash price + a direct verify-on-costplusdrugs.com link so patients have a transparent retail reference to cite in any negotiation.

    The chargemaster-to-NADAC ratio for injectables routinely spans tens to hundreds of multiples per published HPT files; chargemaster-to-MCCPDC ratios for oral generics routinely span hundreds to thousands of multiples. Both serve as factual reference data; the customer reviews and decides whether to dispute. Sources: CMS NADAC pricing files / CMS ASP NDC-HCPCS Crosswalk / costplusdrugs.com.

  3. Hospital Price Transparency (HPT) files & MS-DRG bundled-payment data — federally-mandated cash-pay, gross chargemaster, and insurance-negotiated rates per facility, published under 45 CFR §180.50, paired with the CMS MS-DRG inpatient classification system for bundled hospital stays. This is our primary benchmark layer.
    • Outpatient (CPT/HCPCS lines):when your facility is in the ingest for a given procedure code, we compare your bill against five distinct rates from that exact hospital — gross charge, cash / self-pay, commercial negotiated minimum, commercial negotiated maximum, and median negotiated rate — aggregated by the DoltHub HPT v3 community dataset across 5,992 U.S. hospitals (296M+ price records at source).
    • Inpatient (MS-DRG bundled lines):every U.S. inpatient hospital stay maps to one of approximately 770 active MS-DRGs (e.g. DRG 470 “Major hip / knee joint replacement”, DRG 291 “Heart failure and shock with major complication”). Medicare pays a single bundled rate per DRG = the DRG’s relative weight × the hospital’s operating base rate (FY2026 national-average ~$6,850). We benchmark inpatient line items against both the CMS-computed national payment estimate and your hospital’s own HPT-published gross / cash / commercial rate for that specific DRG.

    When your facility or procedure isn’t in our ingest yet, we fall back to Medicare-anchored estimates and label them as such. We use only Medicare MS-DRG (CMS-authored, public domain under 17 USC §105). We do not ingest the proprietary APR-DRG system (3M Health Information Systems) for which we do not hold a redistribution license. Live row counts at /data-sources. Sources: cms.gov hospital-price-transparency / DoltHub HPT v3 / cms.gov ms-drg.

  4. CMS National Correct Coding Initiative (NCCI) edits — the CMS regulatory rules for which procedure-code pairs are not allowed to be billed together under Medicare. CMS publishes these quarterly. We maintain a curated set of the most common consumer-bill unbundling patterns (a CMP billed alongside its individual lab components; a surgical procedure billed alongside routine pre-op or post-op work that’s already part of the surgical global package; modifier-25 abuse patterns; etc.) and flag those during audits. Each curated edit cites the CMS regulatory principle it derives from. Source: cms.gov ncci-edits.
  5. CMS Care Compare (Hospital quality metrics) — ~70 quality measures per Medicare-certified hospital (mortality, readmission, infections, patient experience, timely care). 5,426 hospitals in our hospitals_meta table; ~320,000 measure records in cms_hospital_compare. Surfaced on each hospital page (/hospital) and on every audit result alongside the pricing benchmarks (overall CMS star rating + condensed readmission / mortality / safety / patient-experience snapshot, with national percentile context). Not used to compute pricing benchmarks; provides the factual “here’s what CMS reports about this facility” context the patient can cite. Source: medicare.gov care-compare.
  6. IRS Publication 78 (501(c)(3) registry) — the IRS Business Master File of organizations eligible to receive deductible contributions, ~1.94 million entries in total. Our ingest keeps the healthcare-related subset (hospitals, medical centers, health systems, clinics, rehabilitation and hospice entities, plus any record whose legal name prefix-matches a hospital in our CMS Care Compare registry) — the entries our lookup actually exercises. We cross-reference the facility on your bill against this curated subset to confirm §501(c)(3) status, which determines whether ACA §501(r) charity-care obligations apply (table irs_pub78; live row count on /data-sources). Source: irs.gov tax-exempt-bmf.

Facility Identity (NPPES NPI Registry)

When the bill names a facility, we resolve its name and address against the NPPES NPI Registry (the public registry of all U.S. healthcare providers maintained by CMS). Resolving the National Provider Identifier (NPI) lets us look up the hospital’s specific HPT file (rather than relying on a national average), and lets us identify whether the facility is an IRS §501(c)(3) nonprofit — relevant because nonprofit hospitals are required by ACA §501(r) to have a published Financial Assistance Policy.

Multi-Benchmark Display

When your hospital’s HPT data is in our ingest for a given procedure, we display up to five benchmarks side-by-side in the audit results — all from your hospital’s own federally-mandated price file:

  • Gross charge— the chargemaster sticker price the hospital publishes for this procedure. This is what appears on uninsured bills before any negotiation.
  • Cash / self-pay— the discounted rate the hospital accepts from patients paying out-of-pocket. Often 40–70% off the gross charge.
  • Negotiated commercial range (minimum – maximum)— the lowest and highest rates the hospital has negotiated with commercial insurers for this procedure. The range shows what commercial insurance actually reimburses at this facility.
  • Median negotiated rate — the middle of the commercial range, useful for understanding the typical commercial-insurance reimbursement.
  • Medicare reimbursement — CMS Physician Fee Schedule benchmark, GPCI-adjusted by state when the bill identifies the facility’s location. The federal-rate floor for comparison.

When your hospital or procedure isn’t yet in our HPT ingest, we fall back to Medicare-anchored estimates (cash-pay at roughly 1.0–1.2× Medicare, commercial at 1.5–2.5× Medicare) and label them clearly as estimates. The bigger the gap between what you were billed and these benchmarks, the stronger the basis for your dispute.

Locality Adjustment (GPCI)

Medicare rates vary by geographic region under the Geographic Practice Cost Indices (GPCI). High-cost metros run roughly 1.20–1.40× the national base; rural areas run roughly 0.85–0.95×. When we can identify the facility’s state from the printed address, we label our estimates accordingly (“approximate for [STATE] locality, GPCI-adjusted”). When the state is not visible on the bill, we show the national-average rate and label it as such. We do not fabricate precise locality-adjusted numbers.

Commercial Multiplier (Fallback)

When a hospital’s specific HPT data is not yet in our system, we fall back to a Medicare-anchored commercial estimate. Commercial fair-market multipliers typically run 1.5–2.5× the Medicare rate, with high-cost states (CA, NY, MA) often at the top of that range and rural Midwest / Deep South often at the bottom. We use a 1.8× midpoint when no hospital-specific data is available, and label it as an estimate. These are not contractual rates and are not a prediction of what your specific provider has agreed to with your specific insurer.

What Our System Looks For

Powered by Google Gemini 2.5 Flash (paid tier), the analysis screens uploaded bills for patterns commonly associated with potential billing errors:

  • Emergency-department visits coded at higher acuity levels than the documented care suggests (potential upcoding)
  • Charges that may have been unbundled, cross-checked against the NCCI Procedure-to-Procedure edits dataset
  • Line items that may be duplicates (same service charged twice, sometimes with differently-worded descriptions)
  • Charges for items that may not have been provided (phantom charges)
  • Supplies and pharmaceuticals priced significantly above public-data benchmarks (HPT cash-pay, NADAC drug acquisition cost)
  • Summary-only bills that lack itemization needed for verification

The system surfaces these for your review. It does not adjudicate, does not tell you whether any charge is right or wrong, and does not communicate with your provider on your behalf.

AI Provider

Bills are sent to Google Gemini (paid tier) for analysis. The paid tier is contractually prohibited from using your inputs to train models. Bills are processed in memory and not stored on our servers. See our Privacy Policy and Consumer Health Data Privacy Policy for details.

Limitations

  • Estimates only. Of the six sources, the pricing-related ones are not market-clearing prices for your specific bill — CMS PFS is a Medicare reimbursement reference, NADAC is a pharmacy-acquisition cost, HPT is the hospital’s self-published rate (which providers do sometimes dispute), and NCCI edits define which codes can be billed together but not whata service should cost. Hospital Compare reports a facility’s quality (not its prices), and IRS Publication 78 confirms 501(c)(3) charity-care eligibility (also not pricing).
  • AI output can miss real issues and can flag patterns that are not actually problems. You must review every flagged item before taking action.
  • Hospital-specific HPT data is not yet ingested for every U.S. hospital. Where it is missing, we fall back to Medicare-anchored estimates and label them as such in the results.
  • We do not yet publish customer outcome data. Whether a hospital adjusts a charge depends on your bill, your provider, and the action you choose to take. We do not predict your result.
  • The Service is informational self-help software. It is not legal, medical, or billing advice, and it is not a substitute for a credentialed medical billing advocate, attorney, or CPA.
  • We cannot guarantee that any specific charge is wrong, that any specific letter template will produce a reduction, or that any specific outcome will result.

Update Cadence

We re-ingest each external dataset on the schedule the publisher releases new versions (CMS quarterly, NADAC weekly, hospital HPT files quarterly, IRS Publication 78 annually, CMS Hospital Compare quarterly). Freshness timestamps are surfaced on the /data-sources page so anyone auditing our currency can see “updated X days ago” on every source at a glance. If a source exceeds twice its expected refresh cadence, we mark it stale and route it to internal review.

Per-source detail:

  • CMS Physician Fee Schedule: annual CMS release each January, with quarterly interim revisions. We re-ingest each quarter via GHA.
  • NADAC: CMS publishes weekly drug-cost updates. Our reference table is bundled with the deployment and refreshed on each release.
  • Hospital Price Transparency: individual hospitals control their own file refreshes (most publish at least annually under 45 CFR §180.50). The DoltHub community dataset aggregates them; we re-ingest quarterly.
  • CMS Care Compare: CMS releases quarterly. We re-ingest at each release.
  • NCCI edits: CMS publishes quarterly; we mirror the bundled rules at each deployment.
  • IRS Publication 78: IRS publishes monthly. We re-ingest quarterly.
  • NPPES NPI Registry: queried in real time per analysis, with results cached for 30 days to limit API traffic.

The methodology used for each analysis reflects the data available on the date you ran the analysis. Live freshness on /data-sources.

Editorial Standard

Every page that surfaces this data — including the programmatic /cost, /hospital, /state, and /dispute pages — follows a hard editorial rule: state the data, cite the source, name no entity negatively. We do not use loaded language (“overcharges,” “rip-off,” “predatory,” “gouging”), do not imply intent or motive, and do not characterize any specific hospital, insurer, or individual. We let the published numbers speak. The full editorial register is documented in docs/data-license-register.md in the source repository.

Questions

Questions about our methodology, sources, or how we estimate a specific figure? support@medibillsaver.com