Pulmonology Billing & Coding Guide
PFT series 94010-94070, sleep studies G0398-G0400, bronchoscopy with endobronchial ultrasound.
Common Pulmonology CPT Codes
Ranked by claim frequency, with current MPFS work RVUs and global periods.
| Code | Description | Work RVU | Total RVU | Global |
|---|---|---|---|---|
| 94010 | Breathing capacity test | 0.17 | 0.89 | XXX |
| 94060 | Evaluation of wheezing | 0.21 | 1.30 | XXX |
| 94070 | Evaluation of wheezing | 0.59 | 2.09 | XXX |
| 94640 | Airway inhalation treatment | 0.00 | 0.26 | XXX |
| 94664 | Demo&/eval pt use inhaler | 0.00 | 0.60 | XXX |
| 94726 | Plethysmography lung volumes | 0.25 | 1.91 | XXX |
| 94727 | Gas dil/wshot deter lng vol | 0.25 | 1.49 | XXX |
| 94728 | Airwy resist by oscillometry | 0.25 | 1.44 | XXX |
| 94729 | Diffusing capacity | 0.19 | 1.90 | ZZZ |
| 94375 | Respiratory flow volume loop | 0.30 | 1.26 | XXX |
| 94621 | Cardiopulm exercise testing | 1.38 | 4.96 | XXX |
| 94680 | O2 uptk rst&xers dir simple | 0.25 | 1.73 | XXX |
| 94681 | O2 uptk co2 outp % o2 xtrc | 0.20 | 1.50 | XXX |
| 94690 | O2 uptk rest indirect | 0.07 | 1.57 | XXX |
| 31622 | Dx bronchoscope/wash | 2.47 | 8.45 | 000 |
| 31623 | Dx bronchoscope/brush | 2.56 | 9.07 | 000 |
| 31628 | Bronchoscopy/lung bx each | 3.46 | 12.23 | 000 |
| 31633 | Bronchoscopy/needle bx addl | 1.29 | 2.58 | ZZZ |
| 95800 | Slp stdy unattended | 0.83 | 4.23 | XXX |
What Pulmonology practices are leaving on the table
High-value services that consistently get under-billed across the specialty. Each one is rooted in current 2026 fee schedule and policy updates.
Cardiopulmonary exercise testing (94621) consistently undercoded in dyspnea workup; average reimbursement $180-220 per test, often skipped because clinicians order standard spirometry instead. Implement standing protocol for exertional dyspnea cases (ICD-10 R06.02) and train staff to recognize when exercise testing adds differential value; expect 8-12 additional tests/month in 10-provider group = $1,800-2,600/month.
Modifier 26 (professional component) not split when facility performs technical component on PFTs or sleep studies; Pulmonologists leaving 30-40% of RVU on table. Audit billing for 95810/95811 at facility sites; implement split-billing process with modifier 26 for physician interpretation = $50-80 per sleep study x 20 studies/month = $1,000-1,600/month gain.
Modifier 25 under-utilized on office visit + bronchoscopy same-day; practices bundle E/M into procedure instead of billing separately. If procedural suite visit includes E/M complexity (new medication, extensive counseling), add 99213-99215 with modifier 25; reimbursement $150-250 per E/M x 30 monthly bronchoscopies = $4,500-7,500/month additional.
Breathing capacity and wheezing evaluation codes (94010, 94060, 94070) not coded at all in many offices; staff perform spirometry but only bill through lab system. Implement direct coder review of pulmonary function interpretations; assign appropriate 94xxx code based on test complexity; average $30-60 per code x 50 monthly PFTs = $1,500-3,000/month capture.
Code pairs that auto-bundle to CO-97
From the National Correct Coding Initiative for Pulmonology. The rationale tells you when a modifier legitimately bypasses the edit and when it cannot.
Diagnostic bronchoscopy with wash (31622) and brush (31623) are mutually exclusive on same session. Both should never bill together without modifier 59 and distinct anatomical documentation showing separate lung segments sampled. If billed together, expect denial for unbundled/non-separately identifiable service.
31628 (lung biopsy) bundles the first biopsy; 31633 (add-on needle biopsy) is the only add-on allowed. Billing 31628 twice or with additional 31623/31622 on same date requires modifier 59 with clear documentation of distinct lesions/segments. CMS expects one base procedure plus add-ons only.
Plethysmography (94726) and gas dilution (94727) both measure lung volumes and are mutually exclusive per NCCI. Bill only one per session unless documentation explicitly shows both performed for separate diagnostic questions (e.g., volume measurement plus specific airway trapping assessment). Modifier 59 requires strong clinical justification.
Diffusing capacity (94729) with global indicator ZZZ can be packaged into comprehensive pulmonary function test (94070) on same day. Modifier 59 is technically allowed if 94729 performed as separate, staged diagnostic event (e.g., baseline vs. post-bronchodilator comparison), but requires explicit clinical documentation of distinct intent.
Modifier Guidance for Pulmonology
When each modifier legitimately applies in this specialty, with denial-pattern context and audit-defense documentation.
Modifier 25 applies when E/M (office visit, established patient, new patient) is performed on same day as a bronchoscopy or PFT and represents a separately identifiable service beyond the procedure evaluation. Example: Patient presents with exacerbation of COPD, receives 99214 (separate assessment of acute symptoms, medication adjustment), then undergoes 31622 diagnostic bronchoscopy for suspected infection. Document distinct history/exam, separate medical decision-making, and clinical necessity for both services.
Modifier 59 or X-modifiers (XS for separate structure, XU for non-overlapping service) justify bundled PFT codes when performed as distinct diagnostic episodes. Example: 94070 (spirometry) billed with 94621 (cardiopulm exercise test) on same day requires 59 because exercise testing adds separate cardiac/metabolic dimension beyond routine bronchospasm evaluation. Documentation must show separate test objectives, timing, and patient positioning.
Modifier 26 applies to professional component only when reporting interpretation of sleep study (95810, 95811) or PFTs (94070, 94729) billed by physician without performing technical component. Used in facility settings where technician performs test. Ensure billing system codes global RVU correctly and splits payment per payer fee schedule.
Modifier GP denotes pulmonary rehabilitation services under physical therapy plan of care (e.g., breathing retraining, endurance conditioning post-exacerbation). Not commonly used in typical office-based Pulmonology but required for outpatient rehab centers or hospital-based programs billing PFT codes under PT delegation.
Modifier KX indicates medical policy requirements met, typically required by certain MACs for prior authorization verification on bronchoscopy (31622, 31623, 31628) when medical record shows diagnostic criteria satisfied (e.g., imaging abnormality, clinical suspicion of malignancy). Check local MAC LCD before billing.
Documentation requirements
What needs to live in the encounter note for these codes to survive a payer audit.
- Indication for procedure with specific symptom or imaging finding justifying bronchoscopy (e.g., 'CXR shows RLL infiltrate, DDx infection vs. malignancy') to defend medical necessity against RAC audits.
- Anatomic location of biopsy/wash/brush samples (right upper lobe, left lingula, etc.) when multiple 31628 or 31633 codes billed to prove distinct procedural sites.
- Pre and post-bronchodilator FEV1/FVC values when reporting 94070 to establish true obstructive/restrictive pattern and link to clinical diagnosis (J44.9, J43.9, etc.).
- Cardiopulm exercise testing (94621) must include peak VO2, anaerobic threshold, and reason for test (dyspnea on exertion vs. pre-surgical clearance) to differentiate from routine spirometry.
- Diffusing capacity reference prediction and DLCO % predicted in PFT report when 94729 coded, as low DLCO (often <60% pred) triggers further workup and justifies repeat testing per ACCP guidelines.
- Timestamp or separate session documentation if two PFT codes (e.g., 94070 + 94621) billed same day, showing distinct patient instructions and test sequence to defend against bundling denial.
OIG and audit triggers in Pulmonology
Patterns that show up in OIG Work Plans, RAC audits, and CERT improper payment reviews. Build internal compliance checks around these.
OIG Work Plan 2024-2025 targets evaluation of bronchoscopy medical necessity in Medicare; RAC audits focus on diagnostic bronchoscopies (31622, 31623) without clear CXR/CT abnormality or clinical suspicion documented. Defense: pull imaging report, pathology results, and clinical note documenting specific finding prompting procedure within 30 days prior.
Unbundling of 94070 (spirometry) with add-on PFT codes (94729, 94726) on same day increasing; payers expect single comprehensive test code unless clinical documentation shows distinct diagnostic phases. Defense: document patient instructions, rest intervals, and separate test rationale (baseline vs. post-bronchodilator vs. exercise response).
Repeat bronchoscopy within 30 days billing as new procedure without modifier 58 (staged) or 79 (unrelated); Medicare denies as duplicate/related global period service. Defense: if repeat is for new indication (e.g., follow-up biopsy of different lung segment), use modifier 58 with explicit clinical documentation of new pathology or failed first biopsy.
Sleep study codes (95810, 95811) billed by Pulmonology without respiratory sleep medicine board certification or delegation agreement; payers may deny based on specialty restrictions. Defense: verify payer credentialing file shows sleep medicine privileges; consider co-billing with Sleep Medicine provider if available or obtain LCD exemption via KX modifier.
Payer-specific billing notes
Where the major payers diverge from generic Medicare rules in Pulmonology.
ME Medicare +
CMS LCD for diagnostic bronchoscopy (31622, 31623, 31628) requires imaging abnormality (CXR, CT) or clinical suspicion of malignancy/infection documented within 30 days; prior auth not uniformly required but varies by MAC region. 2026 policy trend: increased scrutiny on repeat bronchoscopy within 90 days (expect denial under global period unless modifier 58/79 with strong clinical justification). Modifier KX may bypass routine LCD review if medical record shows imaging criteria met.
UN UnitedHealthcare +
UHC/Optum delegates bronchoscopy authorization to regional medical review entities; prior auth required for 31628 (biopsy) when diagnosis code is exploratory (Z12.89 screening). Allows modifier 59 between 94070 and 94729 if separate clinical intent documented in chart; denies unbundling without specific segment/timing notation. CPAP codes (95811) require documented sleep apnea diagnosis (G47.30+) and baseline AHI.
AN Anthem +
Anthem Blue Cross uses eviCore for most bronchoscopy pre-cert; requires abnormal imaging (Anthem radiologist review) before approval. Denies modifier 59 on PFT pairs unless prior Anthem approval obtained; recommends single comprehensive 94070 code instead of splitting. Modifier 25 allowed on E/M + procedure but requires separate procedure note documented in EHR.
CI Cigna +
Cigna eviCore manages pulmonary function testing authorization in some regions; may require criteria such as baseline FEV1 <60% predicted before approving repeat testing or exercise studies. Diffusing capacity (94729) must link to interstitial lung disease diagnosis (J84.x) or post-chemo surveillance; otherwise classified as routine with no separate reimbursement. Sleep studies (95810/95811) require AHI reporting and may require CPAP trial failure before second sleep study approval.
Standard Pulmonology coding workflow
Step 1: Verify procedure type (bronchoscopy vs. PFT) and check global indicator (000 for surgical, XXX or ZZZ for testing); ZZZ codes require base procedure documented. Step 2: Review clinical note for anatomic specificity and indication; pull imaging/prior results to justify medical necessity. Step 3: Count distinct procedures; if multiple bronchoscopy codes (31622+31623 or 31628 repeated), flag for modifier 59 and segment documentation. Step 4: Cross-check PFT bundling pairs (94726 vs. 94727, 94070 + 94729) against NCCI; confirm separate clinical intent before assigning 59. Step 5: Attach modifier 25 only if separate E/M on same date; verify payer allows stacking before submission.
Get the full PayerReady toolkit
Credentialing + billing/coding tools built for Pulmonology, free access with enrollment.
Start free →Run this code through our claim audit tool
Check NCCI bundling, MUE limits, and modifier logic before submission.
Try the auditor →Verified against CMS 2026 code set, current NCCI Quarterly Updates, and the X12 Claim Adjustment Reason Code reference. Last updated April 15, 2026. See data sources and methodology.
Did this page help?
Quick signal so we know what to improve.
If you want a code reference page that doesn't exist yet, email coding@payerready.com.
Tell us what's missing or wrong: coding@payerready.com. We respond within 5 business days.
Reviewed by the PayerReady Medical Coding Team
Verified against the CMS 2026 code set on May 31, 2026.
Powered by 11K CPT · 98K ICD-10 · 860K MPFS rates · 4.5M NCCI edits · 9.5M NPIs. Our data methodology · About our coding team