Pulmonology ICD-10 Codes & CPT Codes

Pulmonologists treat conditions affecting the lungs and respiratory tract including COPD, asthma, pulmonary fibrosis, sleep apnea, and respiratory failure. This page covers the most common ICD-10-CM (FY2026, current as of October 1, 2025) and CPT 2026 codes used in pulmonology practices and pulmonary function testing labs across the US, with select FY2027 ICD-10-CM additions (effective October 1, 2026) noted where added.

FY 2027 ICD-10-CM (CMS, eff. 10/1/2026) · CPT 2026 (AMA) · All codes verified billable · Last verified: October 2026


🔍 Search Codes on This Page


Top ICD-10 Codes for Pulmonology

ICD-10 Code Description Billable
J44.1 COPD with (acute) exacerbation ✓
J44.0 COPD with acute lower respiratory infection ✓
J45.40 Moderate persistent asthma, uncomplicated ✓
J45.50 Severe persistent asthma, uncomplicated ✓
J18.9 Pneumonia, unspecified organism ✓
J84.10 Pulmonary fibrosis, unspecified ✓
G47.33 Obstructive sleep apnea (adult)(pediatric) ✓
J91.8 Other specified pleural effusions in conditions classified elsewhere ✓
J96.00 Acute respiratory failure, unspecified whether with hypoxia or hypercapnia ✓
R05 Cough ✓
R06.00 Dyspnea, unspecified ✓
J93.11 Primary spontaneous pneumothorax ✓
J22 Unspecified acute lower respiratory infection ✓
Z99.81 Dependence on supplemental oxygen ✓
J06.9 Acute upper respiratory infection, unspecified ✓
J45.20 Mild intermittent asthma, uncomplicated ✓
J45.30 Mild persistent asthma, uncomplicated ✓
J45.51 Severe persistent asthma with (acute) exacerbation ✓
J96.01 Acute respiratory failure, with hypoxia ✓
J96.11 Chronic respiratory failure, with hypoxia ✓
I27.20 Pulmonary hypertension, unspecified ✓
I26.99 Other pulmonary embolism without acute cor pulmonale ✓
J70.2 Acute interstitial pneumonitis ✓
J84.112 Idiopathic pulmonary fibrosis ✓
J84.2 Lymphoid interstitial pneumonia ✓
J84.170 Interstitial lung disease with progressive fibrotic phenotype in diseases classified elsewhere ✓
D86.0 Sarcoidosis of lung ✓
J98.01 Acute bronchospasm ✓
J98.11 Atelectasis ✓
J98.19 Other diseases of bronchus, not elsewhere classified ✓
J47.0 Bronchiectasis with acute lower respiratory infection ✓
J47.9 Bronchiectasis, uncomplicated ✓
J15.9 Unspecified bacterial pneumonia ✓
J12.81 Pneumonia due to SARS-associated coronavirus ✓
A15.0 Tuberculosis of lung ✓
J90 Pleural effusion, not elsewhere classified ✓
C34.10 Malignant neoplasm of upper lobe, unspecified bronchus or lung ✓
C34.90 Malignant neoplasm of unspecified part of unspecified bronchus or lung ✓
J70.0 Acute pulmonary manifestations due to radiation ✓
R09.02 Hypoxemia ✓
J44.9 Chronic obstructive pulmonary disease, unspecified ✓
J45.41 Moderate persistent asthma with (acute) exacerbation ✓
J45.901 Unspecified asthma with (acute) exacerbation ✓
J45.990 Exercise induced bronchospasm ✓
J68.0 Bronchitis and pneumonitis due to solids and liquids ✓
J70.1 Acute and subacute respiratory conditions due to radiation ✓
J80 Acute respiratory distress syndrome (ARDS) ✓
J81.0 Acute pulmonary edema ✓
J81.1 Chronic pulmonary edema ✓
J82.81 Chronic eosinophilic pneumonia ✓
J84.01 Alveolar and parietoalveolar conditions, unspecified ✓
J84.111 Idiopathic interstitial pneumonia, not otherwise specified ✓
J84.17 Interstitial pulmonary diseases with fibrosis in diseases classified elsewhere ✓
J84.89 Other specified interstitial pulmonary diseases ✓
J93.0 Spontaneous tension pneumothorax ✓
J93.81 Chronic pneumothorax ✓
J96.10 Chronic respiratory failure, unspecified whether with hypoxia or hypercapnia ✓
J96.12 Chronic respiratory failure with hypercapnia ✓
J98.09 Other diseases of bronchus, not elsewhere classified ✓
R06.09 Other forms of dyspnea ✓
R06.3 Periodic breathing (Cheyne-Stokes) ✓
R09.01 Asphyxia ✓
R09.3 Abnormal sputum ✓
Z87.891 Personal history of nicotine dependence ✓
F17.210 Nicotine dependence, cigarettes, uncomplicated ✓
J96.21 Acute and chronic respiratory failure with hypoxia ✓

Source: CMS ICD-10-CM Official Code Set FY 2026

Is Your Pulmonology Practice Losing Revenue to Coding Errors?

OmniMD’s Pulmonology EHR suggests the right ICD-10 and CPT codes at the point of care, reducing claim denials from day one.

Schedule a Free Demo  View OmniMD Pulmonology EHR ›

Common CPT Codes for Pulmonology Billing

CPT Code Description Medicare Rate* Common Modifiers
94010 Spirometry, including graphic record, total and timed vital capacity, expiratory flow rate measurement(s) ~$30 -26
94060 Bronchodilation responsiveness, spirometry pre- and post-bronchodilator administration ~$43 -26
94640 Pressurized or nonpressurized inhalation treatment for acute airway obstruction ~$9 -59
94150 Vital capacity, total (separate procedure) ~$26 -26
94375 Respiratory flow volume loop ~$42 -26
94726 Plethysmography for determination of lung volumes and, when performed, airway resistance ~$64 -26
94729 Diffusing capacity (e.g., DLCO); more complex (including membrane diffusing capacity) ~$63 -26
94664 Demonstration and/or evaluation of patient utilization of an aerosol generator, nebulizer, metered dose inhaler or IPPB device ~$20 -25
31622 Bronchoscopy, rigid or flexible, with or without fluoroscopic guidance; with bronchial alveolar lavage ~$282 -26 (facility only)
31625 Bronchoscopy, rigid or flexible, with or without fluoroscopic guidance; with bronchial or endobronchial biopsy(s) ~$384 -26 (facility only)
31627 Bronchoscopy, rigid or flexible; with computer-assisted, image-guided navigation ~$1,155 -26 (facility only)
32557 Pleural drainage, percutaneous, image-guided; with insertion of indwelling catheter ~$648 -26 (facility only)
99213 Office visit, established patient, low medical decision making ~$95 -25
99214 Office visit, established patient, moderate medical decision making ~$136 -25
99215 Office visit, established patient, high medical decision making ~$192 -25
99203 Office visit, new patient, low medical decision making ~$118 -25
99204 Office visit, new patient, moderate medical decision making ~$177 -25
94002 Ventilation assist and management, initiation of pressure or volume preset ventilators for assisted or controlled breathing; hospital inpatient/observation, initial day N/A Inpatient only
98984 Remote therapeutic monitoring; device(s) supply for data access or data transmissions to support monitoring of respiratory system, 2-15 days in a 30-day period (new for CPT 2026) ~$52 N/A

*Approximate 2026 CMS national non-facility rate. Rates vary by geography, setting, and payer contract. Refer to the CMS Physician Fee Schedule for official rates.

Top Denial Reasons for Pulmonology Claims

⚠

Medical Necessity Not Documented for Pulmonary Function Tests

Spirometry (94010) and DLCO (94729) claims are denied when the chart note lacks a diagnosis linking respiratory symptoms to the test. Ensure the ordering note explicitly documents the clinical indication (e.g., COPD monitoring, asthma severity staging) and physician interpretation.

⚠

Missing or Incorrect Modifier on Same-Day E/M and Procedure

Billing an office visit (99213-99215) on the same day as spirometry or a nebulizer treatment without modifier -25 causes automatic bundling denials. Attach modifier -25 to the E/M code and document a separately identifiable decision-making service in the note.

⚠

Unspecified Asthma or COPD Codes Triggering Payer Downcoding

Submitting J45.90 (unspecified asthma) or J44.9 (COPD unspecified) when chart documentation supports a more specific code leads to downcoding or outright denial by many commercial payers. Always code to the highest specificity supported — including severity level and exacerbation status.

⚠

Prior Authorization Not Obtained for Sleep Studies or Bronchoscopy

Many payers require prior authorization for sleep studies (G47.33-related polysomnography) and bronchoscopy procedures (31622, 31625). Claims submitted without a valid auth number are denied at adjudication — verify authorization before scheduling any high-cost pulmonary procedure.

Pulmonology Billing & Coding Tips

  • COPD with acute exacerbation (J44.1) and with acute lower respiratory infection (J44.0) are distinct — J44.0 requires an additional code for the infection (J09–J22).
  • Asthma codes require documentation of severity (mild/moderate/severe) and persistence (intermittent/persistent) — unspecified codes are frequently down-coded by payers.
  • Spirometry (94010) and pre/post bronchodilator spirometry (94060) require physician interpretation to be billable under Part B.
  • Z99.81 (dependence on supplemental oxygen) is an important additional code for oxygen-dependent patients affecting HCC risk scores.

Frequently Asked Questions

What is the difference between J44.0 and J44.1?

J44.0 is COPD with an acute lower respiratory infection (such as pneumonia or bronchitis) — code the infection separately. J44.1 is COPD with acute exacerbation not caused by an infection. The distinction guides treatment and affects DRG assignment in hospital settings.

What is the ICD-10 code for pulmonary fibrosis?

J84.10 covers pulmonary fibrosis, unspecified. For idiopathic pulmonary fibrosis (IPF), use J84.112. Documentation from imaging, PFTs, or biopsy is required to distinguish between the specific subtypes.

What CPT code is used for spirometry?

94010 is standard spirometry. 94060 adds pre- and post-bronchodilator measurements. Both require a physician-reviewed interpretation report to be billable under Medicare Part B.

When is G47.33 used?

G47.33 is Obstructive sleep apnea — used when diagnosed by polysomnography or home sleep test. It is distinct from snoring (R06.83) and central sleep apnea (G47.31). Use it as primary diagnosis when sleep apnea is the reason for the encounter.

How does OmniMD support pulmonology documentation?

OmniMD’s Pulmonology EHR includes spirometry result integration, asthma action plan templates, and COPD care pathway tools aligned with GOLD guidelines to streamline documentation and coding.

Streamline Your Pulmonology Practice with OmniMD

Purpose-built EHR, billing, and practice management for Pulmonology practices.

Book a Free Demo