Pulmonary Function Testing (PFT) is the cornerstone of modern respiratory medicine, providing an objective, non-invasive window into the complex mechanics of the lungs. For clinicians, these tests are indispensable for diagnosing conditions like asthma, Chronic Obstructive Pulmonary Disease (COPD), and interstitial lung disease, monitoring disease progression, and evaluating therapeutic interventions. However, for medical coders, billers, and practice managers, the world of PFT CPT codes can feel like navigating a labyrinthine airway—filled with intricate rules, nuanced hierarchies, and ever-evolving guidelines. A single test can involve multiple CPT codes, and missteps can lead to claim denials, audits, and significant revenue loss.
This comprehensive guide is designed to be your definitive roadmap. We will move beyond simple code definitions to explore the why and how behind PFT coding. You will gain a deep understanding of the clinical purpose of each test, the specific CPT codes that represent them, and the critical rules governing their appropriate use. Whether you are a seasoned pulmonologist, a respiratory therapist, a medical coder specializing in cardiothoracic medicine, or a practice administrator, this article will equip you with the knowledge to ensure accuracy, compliance, and optimal reimbursement for your pulmonary function services. Let’s take a deep breath and dive into the intricate and vital world of PFT CPT coding.

CPT Codes for Pulmonary Function Testing
2. The Foundation: Understanding Pulmonary Function Tests (PFTs)
Before a single code can be accurately assigned, one must first understand the clinical tool it represents. Pulmonary Function Tests are a group of procedures that measure how well the lungs take in and release air and how efficiently they transfer oxygen into the blood.
What are PFTs and Why Are They Crucial?
PFTs are essential for:
-
Diagnosis: Differentiating between obstructive diseases (e.g., asthma, COPD, where airways are narrowed) and restrictive diseases (e.g., pulmonary fibrosis, sarcoidosis, where lung expansion is limited).
-
Severity Assessment: Quantifying the severity of a known lung disease, which guides treatment intensity.
-
Monitoring: Tracking the progression of a disease and the response to treatment (e.g., assessing improvement after starting a new bronchodilator).
-
Pre-operative Evaluation: Assessing pulmonary risk before major surgery, especially thoracic or abdominal procedures.
-
Disability Evaluation: Providing objective evidence for impairment ratings.
-
Surveillance: Monitoring lung health in individuals exposed to occupational hazards (e.g., asbestos, silica dust).
Key Physiological Parameters Measured
PFTs evaluate several key lung functions:
-
Volumes: The amounts of air in the lungs at different phases of the respiratory cycle (e.g., Tidal Volume, Inspiratory Reserve Volume, Expiratory Reserve Volume, Residual Volume).
-
Capacities: The sum of two or more volumes (e.g., Total Lung Capacity, Functional Residual Capacity, Vital Capacity).
-
Flow Rates: The speed at which air can be exhaled from the lungs (e.g., Forced Expiratory Volume in 1 second – FEV1, Forced Vital Capacity – FVC).
-
Diffusion: The ability of the lungs to transfer gas (carbon monoxide, in testing) from inhaled air into the bloodstream.
-
Airway Responsiveness: How the airways react to provocative agents like methacholine (bronchial challenge testing).
-
Muscle Strength: The force generated by the respiratory muscles (maximal inspiratory/expiratory pressure).
This physiological understanding is the bedrock upon which accurate coding is built. Each code corresponds to the measurement of one or more of these parameters.
3. The Essential PFT CPT Code Lexicon: A Deep Dive
This section provides a detailed examination of the primary CPT codes used for billing pulmonary function tests, moving from the most common to the more complex.
Spirometry Codes (94010, 94060, 94070, 94375)
Spirometry is the most frequently performed PFT. It measures the volume and flow of air during forced breathing maneuvers.
-
CPT 94010: Spirometry, including graphic record, total and timed vital capacity, expiratory flow rate measurement(s), with or without maximal voluntary ventilation
-
Description: This is the code for simple or routine spirometry. It includes a pre-bronchodilator reading only. The test involves the patient taking a maximal inhalation followed by a forced, maximal exhalation for as long as possible. The results produce a volume-time curve and a flow-volume loop.
-
Key Components: FVC, FEV1, FEV1/FVC ratio, and flow rates like FEF25-75%.
-
Clinical Use: Initial screening for pulmonary disease, baseline testing, or routine monitoring.
-
-
CPT 94060: Bronchodilation responsiveness, spirometry as in 94010, pre- and post-bronchodilator administration
-
Description: This is not a standalone code. It represents a service performed in addition to 94010. It involves administering a bronchodilator (e.g., albuterol) via inhaler or nebulizer and then repeating the spirometry test from 94010 after a short waiting period (usually 10-15 minutes). The coder must report both 94010 and 94060.
-
Clinical Use: To assess reversible airway obstruction, a hallmark of asthma. A significant improvement in FEV1 or FVC post-bronchodilator indicates responsiveness.
-
-
CPT 94070: Bronchospasm provocation evaluation, multiple spirometric determinations as in 94010, with administered agents (e.g., antigen[s], cold air, methacholine)
-
Description: The opposite of 94060. This code is for bronchial challenge testing to induce bronchospasm. It involves performing baseline spirometry (94010), then administering progressively higher doses of a provoking agent (like methacholine), with spirometry repeated after each dose. The test continues until a significant drop in FEV1 is observed or the maximum dose is given.
-
Important Note: Code 94010 is included in this service and should not be reported separately. Code 94070 encompasses all the spirometry performed during the challenge.
-
-
CPT 94375: Respiratory flow volume loop
-
Description: This code is specifically for recording the flow-volume loop alone, without the other components of full spirometry. This is rare in adult medicine but can be used in certain simple pediatric screenings or when only the loop is needed. It is not a substitute for 94010.
-
Lung Volume Measurement Codes (94150, 94726, 94727, 94728)
Spirometry cannot measure the Residual Volume (RV), the air left in the lungs after a maximal exhalation. Lung volume measurements are necessary to calculate TLC and RV, which is critical for distinguishing between obstructive and restrictive defects.
-
CPT 94150: Vital capacity, total (separate procedure); with recording
-
Description: This code is for a simple measurement of Vital Capacity (VC) using a slow, non-forced exhalation into a spirometer. It is a “separate procedure” code, meaning it is usually bundled into more comprehensive tests and should only be reported alone if it is the only service performed. It is rarely used independently in modern PFT labs.
-
-
CPT 94726: Plethysmography for determination of lung volumes and, when performed, airway resistance
-
Description: This is the “gold standard” method for measuring lung volumes. The patient sits in an airtight booth (a body plethysmograph, or “body box”) and pants against a closed shutter. Based on Boyle’s law, this technique measures thoracic gas volume, allowing for highly accurate calculation of TLC, FRC, and RV. It can also simultaneously measure airway resistance (Raw).
-
Clinical Use: Essential for diagnosing restrictive lung disease and confirming air trapping in severe COPD.
-
-
CPT 94727: Gas dilution or washout for determination of lung volumes and, when performed, distribution of ventilation
-
Description: This code covers alternative methods for measuring lung volumes: nitrogen washout or helium dilution. The patient breathes a gas mixture (either 100% oxygen to wash out nitrogen or a helium-oxygen mix) until equilibrium is reached. The change in gas concentration is used to calculate FRC. These methods can underestimate volumes in patients with severe air trapping (e.g., bullous emphysema) where the gas does not fully mix in all lung areas.
-
Clinical Use: Often used when a plethysmograph is not available.
-
-
CPT 94728: Airway resistance by impulse oscillometry
-
Description: A newer, effort-independent technique where the patient breathes normally for 30 seconds while the machine superimposes small pressure pulses on the tidal breathing. It measures resistance (R) and reactance (X) in the airways. It is particularly useful for testing children, elderly patients, or those unable to perform forced maneuvers.
-
Diffusing Capacity Codes (94720, 94729)
This test evaluates the gas exchange function of the alveolar-capillary membrane.
-
CPT 94720: Carbon monoxide diffusing capacity (e.g., single breath, steady state, method specified); without oxygen content measurement
-
Description: This is the standard single-breath diffusing capacity of the lung for carbon monoxide (DLCO or TLCO). The patient takes a vital capacity breath of a test gas containing a tiny amount of carbon monoxide (CO) and an inert tracer gas (like helium), holds their breath for 10 seconds, and then exhales. The machine analyzes the exhaled gas to see how much CO was transferred into the blood. A reduced DLCO suggests a problem with the gas exchange surface (e.g., emphysema, pulmonary fibrosis, pulmonary hypertension).
-
-
CPT 94729: with oxygen content measurement
-
Description: This is a much more complex and rarely performed test that adjusts the DLCO result for the patient’s hemoglobin level and carboxyhemoglobin concentration. It is only used in specialized research or clinical settings.
-
Bronchial Challenge Testing Codes (94060, 94070, 95070, 95071, 94726)
As discussed, 94070 is the primary code for the spirometric part of a challenge test. However, the administration of the provocative agent has its own codes.
-
CPT 95070: Inhalation bronchial challenge testing (not including necessary pulmonary function tests); with histamine, methacholine, or similar compounds
-
Description: This code is for the supply and administration of the provocative agent itself. It is an add-on code and must be reported in conjunction with the spirometry code 94070.
-
Billing: Report 94070 for all the spirometry and 95070 x 1 for the entire challenge administration.
-
-
CPT 95071: Inhalation bronchial challenge testing (not including necessary pulmonary function tests); with antigens or gases (e.g., cold air, specific antigen)
-
Description: This is the equivalent code for challenges using antigens (e.g., for occupational asthma testing) or other gases like cold air. It is also an add-on code to 94070.
-
-
Important: Do not report 94010 with 94070. Do not report the administration codes (95070/95071) without 94070.
Respiratory Muscle Strength Codes (94150, 94200, 94680, 94681, 94690)
These tests measure the strength of the diaphragm and other respiratory muscles.
-
CPT 94200: Maximum breathing capacity, maximal voluntary ventilation
-
Description: The patient breathes as deeply and rapidly as possible for 12-15 seconds. The result is extrapolated to what the maximum ventilation would be for one minute (MVV). This test is effort-dependent and can be affected by muscle weakness, obstruction, or restriction.
-
-
CPT 94680: Oxygen uptake, expired gas analysis; rest and exercise, direct, including CO2 output, percentage of oxygen extracted
-
Description: This is for cardiopulmonary exercise testing (CPET), a comprehensive test measuring cardiovascular and pulmonary responses to exercise. It is a complex study with its own set of codes (94617-94618 are also used for simpler exercise tests).
-
-
CPT 94681: with rebreathing technique
-
Description: A specific technique used within CPET.
-
-
CPT 94690: Messurement of maximal inspiratory and expiratory pressures (MIP/MEP)
-
Description: This code is for directly measuring respiratory muscle strength. The patient blows (for MEP) and sucks (for MIP) against a blocked mouthpiece with a small air leak (to prevent glottic closure). Low pressures can indicate neuromuscular disease or diaphragm weakness.
-
Pulse Oximetry Codes (94760, 94761, 94762)
While not a traditional PFT, pulse oximetry is often performed in conjunction.
-
CPT 94760: Noninvasive ear or pulse oximetry for oxygen saturation; single determination
-
Description: A single spot-check reading.
-
-
CPT 94761: by continuous overnight monitoring (separate procedure)
-
Description: Continuous monitoring, typically for a sleep study. It is a “separate procedure” code and is often bundled.
-
-
CPT 94762: by continuous overnight monitoring, interpretation, and report only
-
Description: Used when only the interpretation of a previously recorded overnight oximetry is performed.
-
4. The Art of Code Bundling and Global Periods
CPT and Medicare rules define which codes can be billed together and which are considered components of a larger service.
The Concept of a “Complete PFT”
A “complete PFT” typically includes spirometry (94010), lung volumes (94726 or 94727), and diffusing capacity (94729). While there is no single CPT code for this bundle, there are rules for reporting them together.
-
Correct Billing: You report 94010, 94726, and 94729. All are eligible for payment.
-
Incorrect Billing: You cannot report 94150 (vital capacity) with 94010, as it is a component of the spirometry service.
Understanding Global Days and Modifier Usage
Some PFT codes have a “global period.” A global period is a number of days after a procedure during which all related services are included in the payment for the primary procedure.
-
PFTs and Global Period: Most PFT codes are zero-day global procedures. This means that the payment for the test includes the performance of the test and the interpretation and report on the same day. Any subsequent interpretation on a different day is not separately billable.
-
Modifier -26 (Professional Component) and -TC (Technical Component): These modifiers are used to split the service if one entity performs the test (TC) and another provides the interpretation (26). For example, a hospital might bill 94726-TC for running the body box, and an independent pulmonologist might bill 94726-26 for interpreting the results. If the same provider does both, the code is billed without a modifier (global service).
5. Documentation: The Bedrock of Compliant Billing
The medical record must support the medical necessity and the level of service billed. Inadequate documentation is a primary cause of denials and audit failures.
Key Elements for Each Test Type
Documentation in the PFT lab should include:
-
Patient Identification and Date.
-
Indication for the Test: The medical reason (e.g., “evaluate for asthma,” “COPD follow-up”).
-
Technician’s Notes: Patient cooperation, effort, reproducibility of maneuvers, number of attempts, pre- and post-bronchodilator values.
-
Calibration Records: Evidence that equipment was calibrated per standards.
-
Raw Data: Graphs (spirograms, flow-volume loops) and numerical values.
Interpreting Physician’s Role and Documentation Requirements
The interpreting physician’s report is critical. It must include:
-
A description of the tests performed.
-
Reference to the raw data and graphs.
-
A summary of the findings (e.g., “Severe obstructive defect with significant bronchodilator response and mild reduction in DLCO”).
-
A clinical interpretation correlating the findings with the patient’s history (e.g., “Findings are consistent with a diagnosis of asthma.”).
-
The physician’s signature, date, and time of interpretation.
Without a signed, dated interpretation report, the professional component (Modifier -26) cannot be billed.
6. Navigating Common Clinical Scenarios with CPT Codes
Let’s apply this knowledge to real-world patient encounters.
Asthma Diagnosis and Management
-
Initial Diagnosis: A patient presents with episodic wheezing and shortness of breath.
-
Tests Ordered: Spirometry pre- and post-bronchodilator.
-
CPT Codes: 94010, 94060
-
-
Unclear Diagnosis (Normal Spirometry): The same patient has normal spirometry at rest.
-
Tests Ordered: Methacholine challenge test.
-
CPT Codes: 94070, 95070
-
COPD Assessment and Monitoring
-
Staging Severity: A longtime smoker presents with progressive dyspnea.
-
Tests Ordered: Complete PFT to characterize the disease (obstructive vs. restrictive) and stage severity.
-
CPT Codes: 94010, 94726 (plethysmography is preferred for COPD to accurately measure air trapping), 94729
-
Pre-operative Risk Assessment
-
Before Lung Resection Surgery: A patient with a lung nodule needs surgery.
-
Tests Ordered: Spirometry and DLCO to predict post-operative lung function.
-
CPT Codes: 94010, 94729
-
Restrictive Lung Disease Evaluation
-
Suspected Pulmonary Fibrosis: A patient with bibasilar crackles on exam.
-
Tests Ordered: Spirometry, lung volumes, DLCO. Spirometry may show low FVC, but lung volumes are needed to confirm restriction (low TLC).
-
CPT Codes: 94010, 94726, 94729
-
7. Advanced Topics and Future Directions
The field of pulmonary medicine and its coding is not static.
The Impact of Telehealth and Remote Patient Monitoring
Remote spirometry devices are emerging. While in-person testing remains the standard for diagnosis, remote monitoring for disease management is growing. Coding for these services is evolving and often falls under remote physiological monitoring codes (e.g., 99453, 99454) rather than traditional PFT codes.
Coding for Home Sleep Studies vs. PFTs
It is crucial to distinguish between PFTs and sleep studies. Sleep studies (polysomnography, codes 95808-95811) diagnose sleep apnea, which is a disorder of breathing during sleep. PFTs assess lung function while awake. They are complementary but distinct.
Updates and Trends in PFT Coding
CPT codes are updated annually by the AMA. Recent trends include:
-
Consolidation: Combining simpler codes into more comprehensive ones.
-
Specificity: Creating new codes for emerging technologies (e.g., impulse oscillometry).
-
Emphasis on Medical Necessity: Payers are increasingly scrutinizing the reason for testing. The indication must be clear and justified in the patient’s record.
8. Tables for Clarity: PFT CPT Code Quick Reference
Primary PFT CPT Codes and Their Clinical Use
| CPT Code | Description | Key Measurements | Primary Clinical Use |
|---|---|---|---|
| 94010 | Spirometry | FVC, FEV1, FEV1/FVC, flow rates | Screening, initial diagnosis, monitoring |
| 94060 | Pre/post bronchodilator | Change in FEV1/FVC | Assessing reversible obstruction (Asthma) |
| 94070 | Bronchospasm provocation | PC20 or PD20 | Diagnosing asthma with normal spirometry |
| 94726 | Lung volumes (Body Box) | TLC, FRC, RV, Raw | Diagnosing restriction, measuring air trapping |
| 94727 | Lung volumes (Gas Dilution) | TLC, FRC, RV | Alternative to plethysmography |
| 94729 | Diffusing Capacity (DLCO) | DLCO | Assessing gas exchange (emphysema, fibrosis) |
| 95070 | Admin. provocative agent | N/A | Add-on code for 94070 (methacholine, etc.) |
| 94690 | Respiratory Muscle Pressure | MIP, MEP | Evaluating neuromuscular weakness |
9. Conclusion: Mastering the Language of Pulmonary Medicine
Accurate PFT CPT coding is a critical skill that bridges clinical care and administrative function. It requires a firm understanding of respiratory physiology, meticulous attention to CPT guidelines and payer policies, and unwavering commitment to thorough documentation. By mastering this complex language, healthcare professionals ensure that vital pulmonary services are appropriately recognized and reimbursed, ultimately supporting the delivery of high-quality care to patients with respiratory conditions. Continuous education and vigilance are paramount in this ever-evolving field.
10. Frequently Asked Questions (FAQs)
Q1: Can I bill 94010 and 94060 if the post-bronchodilator spirometry shows no improvement?
A: Yes. The code 94060 is for the service of performing pre- and post-bronchodilator testing, regardless of the result. A negative result (no significant change) is still a clinically valuable finding and is billable.
Q2: What is the correct code for a “complete PFT”?
A: There is no single code. You must report the individual components performed: typically 94010 (spirometry), 94726 or 94727 (lung volumes), and 94729 (DLCO). Ensure your documentation supports the medical necessity for each component.
Q3: How do I bill if a patient cannot complete all maneuvers of a full PFT?
A: You can only bill for the tests that were successfully completed and interpreted. For example, if a patient cannot perform the breath-hold for DLCO (94729), you would bill only for the spirometry (94010) and lung volumes (94726) that were completed. Documentation should note the reason for the incomplete test.
Q4: What is the difference between 94726 (plethysmography) and 94727 (gas dilution)?
A: Plethysmography (“body box”) is generally more accurate, especially in patients with severe airflow obstruction where air trapping can prevent gas from mixing fully in the lungs. Gas dilution methods may underestimate true lung volumes in these cases. Code for the method actually used.
Q5: Can I use modifier -59 with PFT codes?
A: Modifier -59 (Distinct Procedural Service) is rarely appropriate for PFTs as the tests are inherently distinct. It should not be used to bypass National Correct Coding Initiative (NCCI) edits that bundle codes. If tests are performed separately on the same day for distinct reasons, the medical record must thoroughly document the separate and necessary nature of each service.
11. Additional Resources
-
American Medical Association (AMA): For the definitive CPT codebook and annual updates. https://www.ama-assn.org/
-
American Thoracic Society (ATS) / European Respiratory Society (ERS): For technical standards on how PFTs should be performed and interpreted. https://www.thoracic.org/
-
Centers for Medicare & Medicaid Services (CMS): For Medicare-specific policies, National Coverage Determinations (NCDs), and Local Coverage Determinations (LCDs) from your Medicare Administrative Contractor (MAC). https://www.cms.gov/
-
National Correct Coding Initiative (NCCI) Policy Manual: Chapter 10 covers Pathology and Laboratory Services, including PFTs. https://www.cms.gov/medicare/coding-billing/national-correct-coding-initiative-ncci-edits
12. Disclaimer
This article is intended for informational and educational purposes only. It is not a substitute for professional medical, legal, or coding advice. The CPT codes and guidelines are copyrighted by the American Medical Association. The information presented here reflects a general interpretation of coding practices and is subject to change. Medical coding is complex and depends on specific payer policies, individual patient circumstances, and detailed documentation. The author and publisher disclaim any liability for any loss or damage resulting from reliance on the information contained herein. Always consult the current, official CPT codebook, applicable payer policies, and your organization’s compliance officer for definitive guidance on coding and billing matters.
