Skip to main content

CPT 96146 Miscoding: How to Protect BrainCheck Claims and Prior Authorizations

By Kathy Sager, CPC, CPMA

Despite providers’ proper submission of neurocognitive testing under CPT codes 96138 and 96132, payers are increasingly incorrectly re-coding BrainCheck as CPT 96146 — a designation intended for a single, fully automated test with no clinical involvement. This misclassification leads to rejected prior authorizations and denied claims. This article explains why BrainCheck aligns with CPT 96138 and 96132, how to structure documentation to support that coding, and how to appeal or prevent denials when payers apply 96146 incorrectly.
​

When billing for the BrainCheck assessment, it’s essential to understand how the structure of the assessment aligns with CPT code definitions. This is especially important as prior authorization (PA) requests and claims are increasingly being denied due to payers incorrectly assigning CPT 96146.
​

This guide is designed to support appeals and prior authorization requests and to help ensure documentation is structured appropriately for CPT 96138 and 96132.


Why Denials Are Occurring

Many payers are incorrectly classifying BrainCheck as CPT 96146 (single, fully automated test).
​

While this is a common issue, it does not accurately reflect how BrainCheck Assess functions or how it is used clinically.

These misclassifications often lead to:

  • Denied prior authorizations

  • Denied claims for 96138 and 96132

  • Incorrect downcoding to 96146


BrainCheck Assess Is Not a Single Test

BrainCheck Assess evaluates five cognitive domains, making it a multi-domain neurocognitive battery, not a single, isolated test.
​

Assess includes: Trails A (Attention), Trails B (Mental Flexibility), Stroop (Executive Function), Digit Symbol Substitution (Processing Speed), Immediate and Delayed Recognition (Memory)
​

Because of this, it does not meet the definition of CPT 96146.


What CPT 96146 Is Actually Designed For

CPT 96146 is intended only for:

  • A single, fully automated test

  • No provider or clinical staff involvement

  • An automated, computer-generated report only


Why BrainCheck Aligns with 96138 and 96132

When used appropriately in clinical practice, BrainCheck Assess aligns with neuropsychological testing codes:
​

CPT 96138 — Test Administration

  • Performed by clinical staff

  • Not limited to a single test

  • Includes multiple tests or domains, such as those in BrainCheck Assess

  • Requires at least 16 minutes of documented time

CPT 96132 — Clinical Interpretation and Reporting

  • Performed by a provider

  • Includes:

    • Interpretation of results

    • Integration with clinical history

    • Clinical impressions and recommendations

    • Patient discussion

    • Generation of a clinical report (not just automated output)

  • Requires at least 31 minutes of documented time


The Key Coding Distinction (Critical for Appeals)

  • 96146 → Single automated test only

    • No human involvement

    • Automated report

  • 96138 (+96132 when applicable) →

    • Multiple tests or cognitive domains

    • Clinical staff administration

    • Provider interpretation and reporting

Important: BrainCheck Assess evaluates multiple domains, so it does not meet 96146 criteria.


How to Frame an Appeal

When submitting an appeal, clearly communicate the following:
​

1. BrainCheck Is Not a Single Automated Test

  • It is a battery of neurocognitive tests across multiple domains

  • Therefore, it does not meet CPT 96146 definition

2. Clinical Involvement Occurred

  • Staff administered testing → supports 96138

  • Provider interpreted results and clinical report → supports 96132

3. Coding Is Based on Services Performed

  • Payers may focus on the software platform

  • However, CPT coding is based on clinical workflow and services rendered, not the tool name


Suggested Appeal and Prior Authorization Language

You can adapt the following:

  • BrainCheck Assess evaluates multiple cognitive domains and is not a single automated test.

  • Services included clinical staff administration, as well as provider interpretation and clinical report generation.

  • Therefore, CPT 96138 and 96132 accurately reflect the services rendered.

  • CPT 96146 is not applicable due to required clinical involvement and the multi-domain structure of the assessment.


Applying This to Prior Authorizations

This guidance should also be applied proactively in prior authorization requests.

If a payer labels BrainCheck as 96146, ensure your submission:

  • Emphasizes multi-domain testing

  • Clearly documents clinical staff involvement

  • Includes provider interpretation and reporting


Documentation Checklist for Billers

Strong documentation is essential for both initial claims and successful appeals.


1. Reason for Testing / Medical Necessity

Use clear clinical language such as:

  • “Patient reports cognitive/memory concerns without recent injury”

Avoid vague documentation like:

  • “BrainCheck performed”

2. Reason for Appointment

Clearly state:

  • “Administered a battery of neurocognitive testing to assess multiple cognitive domains”

3. Administration Details (Supports 96138)

Document:

  • Testing administered by clinical staff

  • Multiple subtests/domains evaluated (not a single test)

  • Time spent (≥16 minutes)

4. Provider Work (Supports 96132)

Document:

  • Interpretation of results

  • Integration with patient history

  • Clinical impressions and recommendations

  • Discussion with the patient

  • Report generation (beyond automated output)

  • Time spent (≥31 minutes)


Bottom Line

The success of both appeals and prior authorizations depends on:

  • Clearly differentiating CPT 96146

  • Demonstrating multi-domain cognitive testing

  • Showing human clinical involvement

  • Ensuring documentation supports:

    • Administration (96138)

    • Interpretation (96132)

BrainCheck Assess is not a standalone automated test—it is a clinically administered, multi-domain cognitive evaluation, and coding should reflect the actual work performed.

Did this answer your question?