PULMONARY

CPT 31231: Diagnostic nasal endoscopy

What this code means, what it should cost, and how to dispute an overcharge.

Fair Price Reference

Medicare allowable
$143
Typical charge range
$250 – $1200
Markup vs Medicare
1.7x – 8.4x

What is CPT 31231?

CPT 31231 (Diagnostic nasal endoscopy) is a pulmonary billing code defined by the American Medical Association. It's used to bill your insurance or you directly for this service.

What CPT 31231 should cost

The Centers for Medicare & Medicaid Services (CMS) pays approximately $143 for CPT 31231 under the 2025 Physician Fee Schedule. This is what the federal government has determined is a reasonable payment for this service.

Private insurance typically pays 1.2–1.8x Medicare rates ($172–$257). Hospital chargemaster prices for CPT 31231 often range from $250 to $1200 — a markup of 1.7x to 8.4x over Medicare.

Common overcharges on CPT 31231

Billing individual components (spirometry, diffusing capacity, plethysmography) when a complete pulmonary function study code should apply. Billing sleep studies with components separately.

About Pulmonary billing

Pulmonary function tests have complex bundling rules. Individual components are frequently billed when a comprehensive code applies.

Compare billed codes against CPT bundling rules. Request the PFT report to confirm which tests were actually performed.

How to dispute a CPT 31231 overcharge

  1. Request the itemized bill. You are entitled to a detailed line-by-line bill showing every CPT code billed. Ask in writing.
  2. Compare to Medicare allowable. If the charge exceeds 150% of Medicare ($215), you have grounds to dispute.
  3. Request documentation. For E&M codes, ask for the visit note. For procedures, ask for the operative report. The documentation must justify the code billed.
  4. Send a formal dispute letter. Cite the specific discrepancy between the documentation and the code. Reference Medicare rates and NCCI edits where applicable.
  5. Follow up in writing. Give the provider 30 days to respond. If they don't, escalate to the state attorney general and insurance commissioner.

Got CPT 31231 on your bill?

Upload your bill. We scan every line for overcharges, upcoding, and improper unbundling — then generate a dispute letter backed by federal law. Free for uninsured and veterans.

Analyze my bill →Free dispute letter template

Related Pulmonary codes

CPT 94010
Spirometry
CPT 94060
Bronchodilator response spirometry
CPT 94375
Respiratory flow-volume loop
CPT 94726
Plethysmography (lung volumes)
CPT 94729
DLCO (diffusing capacity)
CPT 95810
Polysomnography (sleep study)
CPT 95811
Polysomnography (sleep study) w/CPAP

Related guides

Disclaimer: This information is educational and not legal, medical, or financial advice. Medicare rates and typical charge ranges are approximate and vary by geography and year. CPT is a registered trademark of the American Medical Association. Always verify codes and rates against official sources including the CMS Physician Fee Schedule and FAIR Health Consumer.