Revenue Cycle Insider

Pulmonology Coding:

Navigate Cardiopulmonary Exercise Testing CPT® Codes

Know when the test is diagnostic versus for performance.

Cardiopulmonary exercise testing (CPET) is a comprehensive medical exam that provides information on the cardiovascular and pulmonary systems as they respond to exercise. Pulmonologists use the testing as a tool to measure respiratory oxygen uptake (VO2), carbon dioxide production (VCO2), ventilation, blood pressure, and electrocardiograph (ECG) activity.

Together, these measurements assist in determining causes of unexplained shortness of breath, exercise intolerance, overall reduced functional capacity, and pre-surgical risk. One of the most significant coding considerations is distinguishing a standard pulmonary stress test from a comprehensive CPET.

Continue reading to learn about the different codes for these tests and the documentation requirements for each one.

Recognize the Differences Between Tests

Though they are considered types of pulmonary stress tests and sometimes use the same equipment to diagnose, not all cardiac and pulmonary testing are the same. This can be a confusing topic but choosing the correct CPT® code depends on what symptoms the provider evaluated, which measurements were taken, and why the physician performed the test.

Pulmonologists use 94618 (Pulmonary stress testing (eg, 6-minute walk test), including measurement of heart rate, oximetry, and oxygen titration, when performed) for pulmonary stress testing whereas 94621 (Cardiopulmonary exercise testing, including measurements of minute ventilation, CO2 production, O2 uptake, and electrocardiographic recordings) covers CPET. Both codes involve exercise and diagnosing similar conditions, but a deeper dive is necessary in order to appropriately apply either of these codes.

Man doing fitness test on exercise bike

Pulmonary stress testing (94618) involves a six-minute walk and includes heart rate, oximetry, and oxygen titration measurements. These metrics are measured before, during, and after exertion. This is lower in complexity in relation to a CPET, but it does play an important role in assessing dyspnea and exercise tolerance.

CPET goes further than a pulmonary stress test. The descriptor for 94621 includes measurements of minute ventilation, carbon dioxide production, oxygen uptake, and ECG recordings. This is a more complex test that measures how the heart, lungs, and body respond to exercise — usually on a stationary bicycle or treadmill. With the greater level of detail and ability to evaluate more metrics, this test is useful in diagnosing conditions like pulmonary hypertension and unexplained dyspnea; it might also be used as a preoperative evaluation when doctors are considering a patient’s fitness and overall health for major surgery. The CPET measurements can also be useful when symptoms are inconsistent with findings from resting studies, or when standard cardiac and pulmonary tests have not identified a clear explanation.

When considering the differences in the two codes, it is important to note that you should not report 94618 and 94621 together. This would cause a column 2 error code per National Correct Coding Initiative (NCCI) guidelines, as 94621 is the more comprehensive of the two codes.

Identify the Medical Necessity Documentation Elements

Medical necessity is a crucial documentation part for CPET. The medical record should establish why the specific exercise test was necessary for the patient’s care and how the results were expected to influence diagnosis or treatment. The documentation connects the patient’s signs, symptoms, or underlying condition to the reason for ordering the test. Include test results, duration, intensity, nature of exercise, and the provider’s interpretation of the results in the documentation.

For example, the Centers for Medicare & Medicaid Services (CMS) local coverage determination (LCD) L33444 states that pulmonary stress testing will be considered medically necessary for the following indications:

  • Evaluation of exercise tolerance
  • Evaluation of undiagnosed exercise intolerance
  • Evaluation of patients with cardiovascular disease
  • Evaluation of patients with respiratory disease

Refer to the CMS LCD for your state or region for further detail on how these indications are covered.

Understand Common Denial Triggers

One of the most common mistakes in coding CPET is unbundling. You cannot code the individual measurements taken during a CPET separately, as all of the parts are included in the comprehensive CPET code and will trigger a bundling denial, according to CMS NCCI guidelines. In addition, using 94621 for any other stress test that does not fulfill all the comprehensive components of a CPET would not be correct.

For example, if you coded a six-minute walk test as CPET, the claim would most likely be denied, as all the required elements/metrics would not be met.

The lack of medical necessity documentation is also a common denial trigger. As stated previously, there needs to be sufficient information in the medical record to explain why the type of test was needed and details for all relevant signs/symptoms. The ordering note and final interpretation should also be consistent. The order cannot specify an evaluation for unexplained dyspnea while the final report describes the test being ordered for athletic performance.

Payer policies may have differing coverage requirements, authorization rules, and documentation standards, so you should remember to review those individual policies.

Distinguish Diagnostic Testing From Performance or Wellness Evaluations

There is an important distinction between pulmonary stress testing for a diagnostic purpose and for a performance/wellness evaluation. CPET can be used in sports medicine, exercise physiology, and athletic performance evaluations to establish a baseline fitness level or compare training progress. This, however, does not automatically establish medical necessity or guarantee reimbursement.

A diagnostic CPET should show the connection to a patient’s medical condition and symptoms. As a diagnostic test, the examination should help answer a specific medical question and be used for symptoms caused by pulmonary disease, cardiovascular dysfunction, and an abnormal ventilatory response. Providers must make this distinction in the medical record and include the necessary documentation, where applicable, for either diagnostic testing or performance/wellness evaluations.

Takeaways

CPET is a powerful tool in evaluating exercise intolerance and unexplained cardiopulmonary symptoms, but the complexity of it can be difficult to grasp for both coders and providers. The key to staying compliant when assigning the appropriate code is to ensure it accurately reflects the service performed.

Code 94618 describes pulmonary stress testing (six-minute walk) and measures heart rate and oxygen saturation. Meanwhile, 94621 (CPET) measures significantly more — oxygen uptake, carbon dioxide production, ventilation, and ECG activity — and is more detailed and comprehensive than 94618. The medical record should always clearly demonstrate medical necessity, keeping in mind all the necessary metrics, payer guidelines, policies, and factors that make up either a standard pulmonary stress test or a CPET.

Will Cevallos, CPC, Associate Consultant,
Pinnacle Enterprise Risk Consulting Services

Other Articles of

September 2026

View All
Subscribe to newsletter