6 tips for behavioral health eligibility checks

Nov 5, 2025

Guide

In behavioral health, missing eligibility data does more than slow down billing. It can block care.

Behavioral health patients tend to be cost-sensitive. If coverage or costs are unclear, they may not book an appointment. And an unexpected bill can mean skipping follow-ups or dropping treatment entirely.

Eligibility responses for behavioral health services also come with extra complexity. Uneven payer support, visit limits, and benefit carveouts make results harder to interpret. It can take some digging to figure out what the response really means.

This guide shares practical tips for getting eligibility checks for behavioral health right. They’re based on what we’ve learned from helping teams in the space build their eligibility workflows. Examples use Stedi’s JSON Eligibility API.

1. Test each payer’s support for behavioral health STCs

In an eligibility request, a Service Type Code (STC) tells the payer what kind of benefits you’re asking about. But not every payer supports the same STCs.

Testing is the best way to find out which STCs work for each payer. Our docs cover general STC testing tips. Here’s more specific guidance for behavioral health services:

Step 1. Start with STC 30 (Health Benefit Plan Coverage)
Begin with STC 30 as your baseline. It’s supported by all medical payers and returns broad information on medical benefits.

In Stedi’s JSON Eligibility API responses, most benefit details are returned in benefitsInformation objects. The objects can contain one or more related STCs in the serviceTypeCodes field that indicate what service the benefit applies to.

When you use STC 30 in the request, medical payers are required to return benefits for STC MH (Mental Health), if they apply to the patient’s plan, in the response.

MH is a broad STC. It can cover lots of different services and procedures. The payer may also include benefits for more specific behavioral health STCs, as shown in the example below.

Example: Eligibility response containing several behavioral health STCs

{
  "benefitsInformation": [
    {
      "code": "B",                    // Co-pay
      "coverageLevelCode": "IND",     // Individual
      "serviceTypeCodes": [
        "A4",                         // Psychiatric
        "A6",                         // Psychotherapy
        "22"                          // Social work 
      ],
      "benefitAmount": "20",          // $20 co-pay for the above services
      ...
    }
  ],
  ...
}

Step 2. Test STC MH (Mental Health)
Next, send an eligibility request for STC MH to get a baseline response that’s more focused on behavioral health. The response may include more detailed behavioral health benefits than the response for STC 30.

Step 3. Test more specific behavioral health STCs
Depending on your services, try one or more STCs from the following table. They’re more specific than STC 30 and STC MH, and may return more detailed benefit information.

Note: The table’s Widely supported column shows STCs that are supported by most payers. This support is based on payer guidance from CAQH CORE, which defines industry-wide operating rules for eligibility checks.

STC

Description

Widely supported

22

Social Work


67

Smoking Cessation


A4

Psychiatric


A5

Psychiatric - Room and Board


A6

Psychotherapy

A7

Psychiatric - Inpatient

A8

Psychiatric - Outpatient

AI

Substance Abuse

AJ

Alcoholism


AK

Drug Addiction


BC

Day Care (Psychiatric)


BD

Cognitive Therapy


CE

Mental Health Provider – Inpatient


CF

Mental Health Provider – Outpatient


CG

Mental Health Facility - Inpatient


CH

Mental Health Facility - Outpatient


CI

Substance Abuse Facility - Inpatient


CJ

Substance Abuse Facility - Outpatient


RT

Residential Psychiatric Treatment


For example, if you’re checking benefits for psychotherapy, test both CF (Mental Health Provider – Outpatient) and A6 (Psychotherapy) to see which returns the benefits you’re looking for.

We recommend sending one STC per request. Many payers don’t support multiple STCs in a single check. If you use multiple STCs, some payers may reject the request while others may return a default response or only use the first STC provided.

Step 4. Test telehealth STCs (if needed)
Some payers use separate STCs for telehealth. If you’re checking telehealth benefits for behavioral health services, try these STCs as well:

STC

Description

98

Professional (Physician) Visit – Office

9

Other Medical

Step 5. Compare to the baseline
Compare the payer’s responses for STCs 30, MH, and any others you tested to see which one returns the benefit details you need. Use that STC in future eligibility checks for the service with that payer.

Repeat the process for each payer you support. You can’t assume that STCs that work for one payer will apply to another.

2. Identify telehealth benefits

Many payers return telehealth benefits separately from in-person benefits in eligibility responses.

To tell whether a benefitsInformation object applies to telehealth, check its eligibilityAdditionalInformationList.industryCode field for one of the following Place of Service codes:

  • 02 – Telehealth provided other than in the patient’s home

  • 10 – Telehealth provided in the patient’s home

Example: Deductible for psychotherapy telehealth

{
  "benefitsInformation": [
    {
     "code": "C",                                  // Deductible
     "serviceTypeCodes": [ "A6" ],                 // Psychotherapy
     "eligibilityAdditionalInformationList": [
        {
          "codeListQualifier": "Mutually Defined",
          "codeListQualifierCode": "ZZ",
          "industryCode": "02",  // Telehealth provided other than in the patient’s home
          ...
        }
      ],
      ...
    },
    ...
  ],
  ...
}

Some payers may include telehealth details as free-text notes in the additionalInformation.description field. Look for phrases like:

"VIRTUAL VISITS"

"TELEHEALTH"

"E-VISIT"

For more tips on telehealth-related eligibility checks, see How to get virtual visit eligibility checks right.

3. Know how to spot carveouts

Many payers outsource behavioral health benefits to a separate administrator. It’s called a carveout. For example, many Blue Cross Blue Shield (BCBS) plans carve out mental health benefits to Magellan, a specialized mental health payer.

When that happens, your eligibility response may confirm the patient has mental health coverage but not show other details, like co-pays or limitations.

Payers don’t typically return detailed carveout benefits in eligibility responses, but many return the carveout admin’s information in a benefitsRelatedEntities object. That information is often enough to run a second eligibility check for the patient with the carveout administrator.

Example: Carveout administrator for mental health services

{
  "benefitsInformation": [
    {
      "code": "U",	// Contact Following Entity for Eligibility or Benefit Information
      "serviceTypeCodes": [ "MH" ],  // Mental Health
      ...
      "benefitsRelatedEntities": [
      {
        "entityIdentifier": "Third-Party Administrator",
        "entityType": "Non-Person Entity",
        "entityName": "Acme Health Payer",
        "entityIdentificationValue": "123456789",  // Patient's member ID with the carveout admin
        "contactInformation": {
          "contacts": [
            {
              "communicationMode": "Telephone",
              "communicationNumber": "1234567890"
            }
          ]
        }
      },
      ...
    },
    {
      "code": "D",  // Benefit Description
      "serviceTypeCodes": ["MH"],
      "additionalInformation": [
        {
          "description": "BEHAVIORAL HEALTH MANAGED SEPARATELY"
        }
      ]
    }
  ],
  ...
}

For more details, check out our carveout benefit docs.

4. Look for visit limits

Plans often limit the number of covered visits for behavioral health services within a benefit period. Visit limits can appear in several places within benefitsInformation objects. Not all payers use the same fields.

Structured fields (most common)
Most payers return visit limits using the timeQualifierCode, quantityQualifierCode, and benefitQuantity fields. Some payers may also indicate the remaining number of covered visits.

Example: 52 allowed outpatient mental health visits per calendar year

{
  "benefitsInformation": [
    {
      "code": "F",                     // Limitations
      "serviceTypeCodes": [ "CF" ],    // Mental Health Provider – Outpatient
      "timeQualifierCode": "23",       // Calendar year
      "quantityQualifierCode": "VS",   // Visits
      "benefitQuantity": "52",         // 52 allowed visits per calendar year
    },
    {
      "code": "F",                     // Limitations
      "serviceTypeCodes": [ "CF" ],    // Mental Health Provider – Outpatient
      "timeQualifierCode": "29",       // Remaining
      "quantityQualifierCode": "VS",   // Visits
      "benefitQuantity": "23",         // 23 covered visits remaining
    },
    ...
  ],
  ...
}

Some payers use benefitsServiceDelivery objects instead.

{
  "benefitsInformation": [
    {
      "code": "F",                         // Limitations
      "serviceTypeCodes": [ "CF" ],        // Mental Health Provider – Outpatient
      "benefitsServiceDelivery": [
        {
          "timePeriodQualifierCode": "23", // Calendar year
          "quantityQualifierCode": "VS",   // Visits
          "quantity": "52",                // 52 allowed visits per calendar year
        },
        ...
      ],
      ...
    },
    {
      "code": "F",                         // Limitations
      "serviceTypeCodes": [ "CF" ],        // Mental Health Provider – Outpatient
      "benefitsServiceDelivery": [
        {
          "timePeriodQualifierCode": "29", // Remaining
          "quantityQualifierCode": "VS",   // Visits
          "quantity": "23",                // 23 covered visits remaining
        },
        ...
      ],
      ...
    },
    ...
  ],
  ...
}

Free-text notes
Other payers include visit limits as free-text descriptions in the additionalInformation.description field. These are often in a benefitsInformation object with a code of F (Limitations). Look for a numeric visit cap, time period, or other restriction.

{
  "benefitsInformation": [
    {
      "code": "F",                  // Limitations
      "serviceTypeCodes": [ "CF" ],  // Mental Health Provider – Outpatient
      "additionalInformation": {
        "description": "52 VISITS PER CALENDAR YEAR."
      }
    },
    ...
  ],
  ...
}

Note: Technically, HIPAA doesn’t allow payers to send visit limits as free text, but some do anyway. If you see this, let us know. We can work with the payer to get it fixed.

Last date of service

Payers don’t typically include a full service history in their eligibility responses. But you can sometimes get the last date of service. This date is important if there’s a frequency limit, like a specific number of covered visits per week or month, for a benefit.

To get the last date of service, check the benefitsDateInformation.latestVisitOrConsultation field for a related STC:

{
  "code": "A",                              // Co-insurance
  "serviceTypeCodes": ["CF"],               // Mental Health Provider – Outpatient
  ...
  "benefitsDateInformation": {
    "latestVisitOrConsultation": "20250404" // Last service
  }
}

5. Check for prior authorization and referral requirements

Psychiatry, intensive outpatient programs, and therapy often require prior authorization or a referral before the payer will cover them.

Note: This section deals with prior authorization and referral requirements for medical benefits, not pharmacy benefits, like those related to psychiatrist-prescribed drugs.

Prior authorization

Prior authorization, also called pre-authorization or pre-certification, means the payer must approve care before it’s given. Otherwise, the service or procedure may not be covered.

To check if authorization is required, look at the authOrCertIndicator field in the benefitsInformation object for the related STC.

authOrCertIndicator value

What it means

Y

Prior auth required

N

Not required

U

Unknown

Example: Prior authorization is required for substance abuse treatment

{
  "benefitsInformation": [
    {
      "code": "A",                  // Co-insurance
      "serviceTypeCodes": ["AI"],   // Substance abuse
      "authOrCertIndicator": "Y",   // Prior authorization is required
      ...
    },
    ...
  ],
  ...
}

If the authOrCertIndicator field isn’t present, you can assume authorization isn’t required. Payers may also include notes that clarify or override the authOrCertIndicator field in the additionalInformation.description field.

For more information, see How to check for prior authorization requirements in a 271 eligibility response.

Referral requirements
A referral is approval from a primary care provider (PCP) to see a specialist or receive certain services.

Referrals are less common in behavioral health, but some HMO plans still require them.

Payers don’t always provide referral information, and behavior varies.

When it’s available, it appears as free-text in the additionalInformation.description field. Look for phrases like:

"REFERRAL REQUIRED"

"PCP AUTHORIZATION NEEDED"

Example: Referral is required for drug addiction treatment

{
  "benefitsInformation": [
    {
      "code": "A",                // Co-insurance
      "serviceTypeCodes": ["AK"], // Drug addiction
      "additionalInformation": [
        {
          "description": "PCP REFERRAL REQUIRED"
        }
      ],
      ...
    },
    ...
  ],
  ...
}

6. Run eligibility checks before each visit

Behavioral health patients often have recurring visits for services like therapy. Run an eligibility check before each appointment to get the most up-to-date co-pay, visit count, and last date of service.

Submitting claims promptly after each session also helps payers keep visit counts and service dates current, which reduces the risk of denials or unexpected patient costs.

Get more tips

If you’re building eligibility workflows for the behavioral or mental health space, we can help. Contact us to set up a consultation.

In behavioral health, missing eligibility data does more than slow down billing. It can block care.

Behavioral health patients tend to be cost-sensitive. If coverage or costs are unclear, they may not book an appointment. And an unexpected bill can mean skipping follow-ups or dropping treatment entirely.

Eligibility responses for behavioral health services also come with extra complexity. Uneven payer support, visit limits, and benefit carveouts make results harder to interpret. It can take some digging to figure out what the response really means.

This guide shares practical tips for getting eligibility checks for behavioral health right. They’re based on what we’ve learned from helping teams in the space build their eligibility workflows. Examples use Stedi’s JSON Eligibility API.

1. Test each payer’s support for behavioral health STCs

In an eligibility request, a Service Type Code (STC) tells the payer what kind of benefits you’re asking about. But not every payer supports the same STCs.

Testing is the best way to find out which STCs work for each payer. Our docs cover general STC testing tips. Here’s more specific guidance for behavioral health services:

Step 1. Start with STC 30 (Health Benefit Plan Coverage)
Begin with STC 30 as your baseline. It’s supported by all medical payers and returns broad information on medical benefits.

In Stedi’s JSON Eligibility API responses, most benefit details are returned in benefitsInformation objects. The objects can contain one or more related STCs in the serviceTypeCodes field that indicate what service the benefit applies to.

When you use STC 30 in the request, medical payers are required to return benefits for STC MH (Mental Health), if they apply to the patient’s plan, in the response.

MH is a broad STC. It can cover lots of different services and procedures. The payer may also include benefits for more specific behavioral health STCs, as shown in the example below.

Example: Eligibility response containing several behavioral health STCs

{
  "benefitsInformation": [
    {
      "code": "B",                    // Co-pay
      "coverageLevelCode": "IND",     // Individual
      "serviceTypeCodes": [
        "A4",                         // Psychiatric
        "A6",                         // Psychotherapy
        "22"                          // Social work 
      ],
      "benefitAmount": "20",          // $20 co-pay for the above services
      ...
    }
  ],
  ...
}

Step 2. Test STC MH (Mental Health)
Next, send an eligibility request for STC MH to get a baseline response that’s more focused on behavioral health. The response may include more detailed behavioral health benefits than the response for STC 30.

Step 3. Test more specific behavioral health STCs
Depending on your services, try one or more STCs from the following table. They’re more specific than STC 30 and STC MH, and may return more detailed benefit information.

Note: The table’s Widely supported column shows STCs that are supported by most payers. This support is based on payer guidance from CAQH CORE, which defines industry-wide operating rules for eligibility checks.

STC

Description

Widely supported

22

Social Work


67

Smoking Cessation


A4

Psychiatric


A5

Psychiatric - Room and Board


A6

Psychotherapy

A7

Psychiatric - Inpatient

A8

Psychiatric - Outpatient

AI

Substance Abuse

AJ

Alcoholism


AK

Drug Addiction


BC

Day Care (Psychiatric)


BD

Cognitive Therapy


CE

Mental Health Provider – Inpatient


CF

Mental Health Provider – Outpatient


CG

Mental Health Facility - Inpatient


CH

Mental Health Facility - Outpatient


CI

Substance Abuse Facility - Inpatient


CJ

Substance Abuse Facility - Outpatient


RT

Residential Psychiatric Treatment


For example, if you’re checking benefits for psychotherapy, test both CF (Mental Health Provider – Outpatient) and A6 (Psychotherapy) to see which returns the benefits you’re looking for.

We recommend sending one STC per request. Many payers don’t support multiple STCs in a single check. If you use multiple STCs, some payers may reject the request while others may return a default response or only use the first STC provided.

Step 4. Test telehealth STCs (if needed)
Some payers use separate STCs for telehealth. If you’re checking telehealth benefits for behavioral health services, try these STCs as well:

STC

Description

98

Professional (Physician) Visit – Office

9

Other Medical

Step 5. Compare to the baseline
Compare the payer’s responses for STCs 30, MH, and any others you tested to see which one returns the benefit details you need. Use that STC in future eligibility checks for the service with that payer.

Repeat the process for each payer you support. You can’t assume that STCs that work for one payer will apply to another.

2. Identify telehealth benefits

Many payers return telehealth benefits separately from in-person benefits in eligibility responses.

To tell whether a benefitsInformation object applies to telehealth, check its eligibilityAdditionalInformationList.industryCode field for one of the following Place of Service codes:

  • 02 – Telehealth provided other than in the patient’s home

  • 10 – Telehealth provided in the patient’s home

Example: Deductible for psychotherapy telehealth

{
  "benefitsInformation": [
    {
     "code": "C",                                  // Deductible
     "serviceTypeCodes": [ "A6" ],                 // Psychotherapy
     "eligibilityAdditionalInformationList": [
        {
          "codeListQualifier": "Mutually Defined",
          "codeListQualifierCode": "ZZ",
          "industryCode": "02",  // Telehealth provided other than in the patient’s home
          ...
        }
      ],
      ...
    },
    ...
  ],
  ...
}

Some payers may include telehealth details as free-text notes in the additionalInformation.description field. Look for phrases like:

"VIRTUAL VISITS"

"TELEHEALTH"

"E-VISIT"

For more tips on telehealth-related eligibility checks, see How to get virtual visit eligibility checks right.

3. Know how to spot carveouts

Many payers outsource behavioral health benefits to a separate administrator. It’s called a carveout. For example, many Blue Cross Blue Shield (BCBS) plans carve out mental health benefits to Magellan, a specialized mental health payer.

When that happens, your eligibility response may confirm the patient has mental health coverage but not show other details, like co-pays or limitations.

Payers don’t typically return detailed carveout benefits in eligibility responses, but many return the carveout admin’s information in a benefitsRelatedEntities object. That information is often enough to run a second eligibility check for the patient with the carveout administrator.

Example: Carveout administrator for mental health services

{
  "benefitsInformation": [
    {
      "code": "U",	// Contact Following Entity for Eligibility or Benefit Information
      "serviceTypeCodes": [ "MH" ],  // Mental Health
      ...
      "benefitsRelatedEntities": [
      {
        "entityIdentifier": "Third-Party Administrator",
        "entityType": "Non-Person Entity",
        "entityName": "Acme Health Payer",
        "entityIdentificationValue": "123456789",  // Patient's member ID with the carveout admin
        "contactInformation": {
          "contacts": [
            {
              "communicationMode": "Telephone",
              "communicationNumber": "1234567890"
            }
          ]
        }
      },
      ...
    },
    {
      "code": "D",  // Benefit Description
      "serviceTypeCodes": ["MH"],
      "additionalInformation": [
        {
          "description": "BEHAVIORAL HEALTH MANAGED SEPARATELY"
        }
      ]
    }
  ],
  ...
}

For more details, check out our carveout benefit docs.

4. Look for visit limits

Plans often limit the number of covered visits for behavioral health services within a benefit period. Visit limits can appear in several places within benefitsInformation objects. Not all payers use the same fields.

Structured fields (most common)
Most payers return visit limits using the timeQualifierCode, quantityQualifierCode, and benefitQuantity fields. Some payers may also indicate the remaining number of covered visits.

Example: 52 allowed outpatient mental health visits per calendar year

{
  "benefitsInformation": [
    {
      "code": "F",                     // Limitations
      "serviceTypeCodes": [ "CF" ],    // Mental Health Provider – Outpatient
      "timeQualifierCode": "23",       // Calendar year
      "quantityQualifierCode": "VS",   // Visits
      "benefitQuantity": "52",         // 52 allowed visits per calendar year
    },
    {
      "code": "F",                     // Limitations
      "serviceTypeCodes": [ "CF" ],    // Mental Health Provider – Outpatient
      "timeQualifierCode": "29",       // Remaining
      "quantityQualifierCode": "VS",   // Visits
      "benefitQuantity": "23",         // 23 covered visits remaining
    },
    ...
  ],
  ...
}

Some payers use benefitsServiceDelivery objects instead.

{
  "benefitsInformation": [
    {
      "code": "F",                         // Limitations
      "serviceTypeCodes": [ "CF" ],        // Mental Health Provider – Outpatient
      "benefitsServiceDelivery": [
        {
          "timePeriodQualifierCode": "23", // Calendar year
          "quantityQualifierCode": "VS",   // Visits
          "quantity": "52",                // 52 allowed visits per calendar year
        },
        ...
      ],
      ...
    },
    {
      "code": "F",                         // Limitations
      "serviceTypeCodes": [ "CF" ],        // Mental Health Provider – Outpatient
      "benefitsServiceDelivery": [
        {
          "timePeriodQualifierCode": "29", // Remaining
          "quantityQualifierCode": "VS",   // Visits
          "quantity": "23",                // 23 covered visits remaining
        },
        ...
      ],
      ...
    },
    ...
  ],
  ...
}

Free-text notes
Other payers include visit limits as free-text descriptions in the additionalInformation.description field. These are often in a benefitsInformation object with a code of F (Limitations). Look for a numeric visit cap, time period, or other restriction.

{
  "benefitsInformation": [
    {
      "code": "F",                  // Limitations
      "serviceTypeCodes": [ "CF" ],  // Mental Health Provider – Outpatient
      "additionalInformation": {
        "description": "52 VISITS PER CALENDAR YEAR."
      }
    },
    ...
  ],
  ...
}

Note: Technically, HIPAA doesn’t allow payers to send visit limits as free text, but some do anyway. If you see this, let us know. We can work with the payer to get it fixed.

Last date of service

Payers don’t typically include a full service history in their eligibility responses. But you can sometimes get the last date of service. This date is important if there’s a frequency limit, like a specific number of covered visits per week or month, for a benefit.

To get the last date of service, check the benefitsDateInformation.latestVisitOrConsultation field for a related STC:

{
  "code": "A",                              // Co-insurance
  "serviceTypeCodes": ["CF"],               // Mental Health Provider – Outpatient
  ...
  "benefitsDateInformation": {
    "latestVisitOrConsultation": "20250404" // Last service
  }
}

5. Check for prior authorization and referral requirements

Psychiatry, intensive outpatient programs, and therapy often require prior authorization or a referral before the payer will cover them.

Note: This section deals with prior authorization and referral requirements for medical benefits, not pharmacy benefits, like those related to psychiatrist-prescribed drugs.

Prior authorization

Prior authorization, also called pre-authorization or pre-certification, means the payer must approve care before it’s given. Otherwise, the service or procedure may not be covered.

To check if authorization is required, look at the authOrCertIndicator field in the benefitsInformation object for the related STC.

authOrCertIndicator value

What it means

Y

Prior auth required

N

Not required

U

Unknown

Example: Prior authorization is required for substance abuse treatment

{
  "benefitsInformation": [
    {
      "code": "A",                  // Co-insurance
      "serviceTypeCodes": ["AI"],   // Substance abuse
      "authOrCertIndicator": "Y",   // Prior authorization is required
      ...
    },
    ...
  ],
  ...
}

If the authOrCertIndicator field isn’t present, you can assume authorization isn’t required. Payers may also include notes that clarify or override the authOrCertIndicator field in the additionalInformation.description field.

For more information, see How to check for prior authorization requirements in a 271 eligibility response.

Referral requirements
A referral is approval from a primary care provider (PCP) to see a specialist or receive certain services.

Referrals are less common in behavioral health, but some HMO plans still require them.

Payers don’t always provide referral information, and behavior varies.

When it’s available, it appears as free-text in the additionalInformation.description field. Look for phrases like:

"REFERRAL REQUIRED"

"PCP AUTHORIZATION NEEDED"

Example: Referral is required for drug addiction treatment

{
  "benefitsInformation": [
    {
      "code": "A",                // Co-insurance
      "serviceTypeCodes": ["AK"], // Drug addiction
      "additionalInformation": [
        {
          "description": "PCP REFERRAL REQUIRED"
        }
      ],
      ...
    },
    ...
  ],
  ...
}

6. Run eligibility checks before each visit

Behavioral health patients often have recurring visits for services like therapy. Run an eligibility check before each appointment to get the most up-to-date co-pay, visit count, and last date of service.

Submitting claims promptly after each session also helps payers keep visit counts and service dates current, which reduces the risk of denials or unexpected patient costs.

Get more tips

If you’re building eligibility workflows for the behavioral or mental health space, we can help. Contact us to set up a consultation.

In behavioral health, missing eligibility data does more than slow down billing. It can block care.

Behavioral health patients tend to be cost-sensitive. If coverage or costs are unclear, they may not book an appointment. And an unexpected bill can mean skipping follow-ups or dropping treatment entirely.

Eligibility responses for behavioral health services also come with extra complexity. Uneven payer support, visit limits, and benefit carveouts make results harder to interpret. It can take some digging to figure out what the response really means.

This guide shares practical tips for getting eligibility checks for behavioral health right. They’re based on what we’ve learned from helping teams in the space build their eligibility workflows. Examples use Stedi’s JSON Eligibility API.

1. Test each payer’s support for behavioral health STCs

In an eligibility request, a Service Type Code (STC) tells the payer what kind of benefits you’re asking about. But not every payer supports the same STCs.

Testing is the best way to find out which STCs work for each payer. Our docs cover general STC testing tips. Here’s more specific guidance for behavioral health services:

Step 1. Start with STC 30 (Health Benefit Plan Coverage)
Begin with STC 30 as your baseline. It’s supported by all medical payers and returns broad information on medical benefits.

In Stedi’s JSON Eligibility API responses, most benefit details are returned in benefitsInformation objects. The objects can contain one or more related STCs in the serviceTypeCodes field that indicate what service the benefit applies to.

When you use STC 30 in the request, medical payers are required to return benefits for STC MH (Mental Health), if they apply to the patient’s plan, in the response.

MH is a broad STC. It can cover lots of different services and procedures. The payer may also include benefits for more specific behavioral health STCs, as shown in the example below.

Example: Eligibility response containing several behavioral health STCs

{
  "benefitsInformation": [
    {
      "code": "B",                    // Co-pay
      "coverageLevelCode": "IND",     // Individual
      "serviceTypeCodes": [
        "A4",                         // Psychiatric
        "A6",                         // Psychotherapy
        "22"                          // Social work 
      ],
      "benefitAmount": "20",          // $20 co-pay for the above services
      ...
    }
  ],
  ...
}

Step 2. Test STC MH (Mental Health)
Next, send an eligibility request for STC MH to get a baseline response that’s more focused on behavioral health. The response may include more detailed behavioral health benefits than the response for STC 30.

Step 3. Test more specific behavioral health STCs
Depending on your services, try one or more STCs from the following table. They’re more specific than STC 30 and STC MH, and may return more detailed benefit information.

Note: The table’s Widely supported column shows STCs that are supported by most payers. This support is based on payer guidance from CAQH CORE, which defines industry-wide operating rules for eligibility checks.

STC

Description

Widely supported

22

Social Work


67

Smoking Cessation


A4

Psychiatric


A5

Psychiatric - Room and Board


A6

Psychotherapy

A7

Psychiatric - Inpatient

A8

Psychiatric - Outpatient

AI

Substance Abuse

AJ

Alcoholism


AK

Drug Addiction


BC

Day Care (Psychiatric)


BD

Cognitive Therapy


CE

Mental Health Provider – Inpatient


CF

Mental Health Provider – Outpatient


CG

Mental Health Facility - Inpatient


CH

Mental Health Facility - Outpatient


CI

Substance Abuse Facility - Inpatient


CJ

Substance Abuse Facility - Outpatient


RT

Residential Psychiatric Treatment


For example, if you’re checking benefits for psychotherapy, test both CF (Mental Health Provider – Outpatient) and A6 (Psychotherapy) to see which returns the benefits you’re looking for.

We recommend sending one STC per request. Many payers don’t support multiple STCs in a single check. If you use multiple STCs, some payers may reject the request while others may return a default response or only use the first STC provided.

Step 4. Test telehealth STCs (if needed)
Some payers use separate STCs for telehealth. If you’re checking telehealth benefits for behavioral health services, try these STCs as well:

STC

Description

98

Professional (Physician) Visit – Office

9

Other Medical

Step 5. Compare to the baseline
Compare the payer’s responses for STCs 30, MH, and any others you tested to see which one returns the benefit details you need. Use that STC in future eligibility checks for the service with that payer.

Repeat the process for each payer you support. You can’t assume that STCs that work for one payer will apply to another.

2. Identify telehealth benefits

Many payers return telehealth benefits separately from in-person benefits in eligibility responses.

To tell whether a benefitsInformation object applies to telehealth, check its eligibilityAdditionalInformationList.industryCode field for one of the following Place of Service codes:

  • 02 – Telehealth provided other than in the patient’s home

  • 10 – Telehealth provided in the patient’s home

Example: Deductible for psychotherapy telehealth

{
  "benefitsInformation": [
    {
     "code": "C",                                  // Deductible
     "serviceTypeCodes": [ "A6" ],                 // Psychotherapy
     "eligibilityAdditionalInformationList": [
        {
          "codeListQualifier": "Mutually Defined",
          "codeListQualifierCode": "ZZ",
          "industryCode": "02",  // Telehealth provided other than in the patient’s home
          ...
        }
      ],
      ...
    },
    ...
  ],
  ...
}

Some payers may include telehealth details as free-text notes in the additionalInformation.description field. Look for phrases like:

"VIRTUAL VISITS"

"TELEHEALTH"

"E-VISIT"

For more tips on telehealth-related eligibility checks, see How to get virtual visit eligibility checks right.

3. Know how to spot carveouts

Many payers outsource behavioral health benefits to a separate administrator. It’s called a carveout. For example, many Blue Cross Blue Shield (BCBS) plans carve out mental health benefits to Magellan, a specialized mental health payer.

When that happens, your eligibility response may confirm the patient has mental health coverage but not show other details, like co-pays or limitations.

Payers don’t typically return detailed carveout benefits in eligibility responses, but many return the carveout admin’s information in a benefitsRelatedEntities object. That information is often enough to run a second eligibility check for the patient with the carveout administrator.

Example: Carveout administrator for mental health services

{
  "benefitsInformation": [
    {
      "code": "U",	// Contact Following Entity for Eligibility or Benefit Information
      "serviceTypeCodes": [ "MH" ],  // Mental Health
      ...
      "benefitsRelatedEntities": [
      {
        "entityIdentifier": "Third-Party Administrator",
        "entityType": "Non-Person Entity",
        "entityName": "Acme Health Payer",
        "entityIdentificationValue": "123456789",  // Patient's member ID with the carveout admin
        "contactInformation": {
          "contacts": [
            {
              "communicationMode": "Telephone",
              "communicationNumber": "1234567890"
            }
          ]
        }
      },
      ...
    },
    {
      "code": "D",  // Benefit Description
      "serviceTypeCodes": ["MH"],
      "additionalInformation": [
        {
          "description": "BEHAVIORAL HEALTH MANAGED SEPARATELY"
        }
      ]
    }
  ],
  ...
}

For more details, check out our carveout benefit docs.

4. Look for visit limits

Plans often limit the number of covered visits for behavioral health services within a benefit period. Visit limits can appear in several places within benefitsInformation objects. Not all payers use the same fields.

Structured fields (most common)
Most payers return visit limits using the timeQualifierCode, quantityQualifierCode, and benefitQuantity fields. Some payers may also indicate the remaining number of covered visits.

Example: 52 allowed outpatient mental health visits per calendar year

{
  "benefitsInformation": [
    {
      "code": "F",                     // Limitations
      "serviceTypeCodes": [ "CF" ],    // Mental Health Provider – Outpatient
      "timeQualifierCode": "23",       // Calendar year
      "quantityQualifierCode": "VS",   // Visits
      "benefitQuantity": "52",         // 52 allowed visits per calendar year
    },
    {
      "code": "F",                     // Limitations
      "serviceTypeCodes": [ "CF" ],    // Mental Health Provider – Outpatient
      "timeQualifierCode": "29",       // Remaining
      "quantityQualifierCode": "VS",   // Visits
      "benefitQuantity": "23",         // 23 covered visits remaining
    },
    ...
  ],
  ...
}

Some payers use benefitsServiceDelivery objects instead.

{
  "benefitsInformation": [
    {
      "code": "F",                         // Limitations
      "serviceTypeCodes": [ "CF" ],        // Mental Health Provider – Outpatient
      "benefitsServiceDelivery": [
        {
          "timePeriodQualifierCode": "23", // Calendar year
          "quantityQualifierCode": "VS",   // Visits
          "quantity": "52",                // 52 allowed visits per calendar year
        },
        ...
      ],
      ...
    },
    {
      "code": "F",                         // Limitations
      "serviceTypeCodes": [ "CF" ],        // Mental Health Provider – Outpatient
      "benefitsServiceDelivery": [
        {
          "timePeriodQualifierCode": "29", // Remaining
          "quantityQualifierCode": "VS",   // Visits
          "quantity": "23",                // 23 covered visits remaining
        },
        ...
      ],
      ...
    },
    ...
  ],
  ...
}

Free-text notes
Other payers include visit limits as free-text descriptions in the additionalInformation.description field. These are often in a benefitsInformation object with a code of F (Limitations). Look for a numeric visit cap, time period, or other restriction.

{
  "benefitsInformation": [
    {
      "code": "F",                  // Limitations
      "serviceTypeCodes": [ "CF" ],  // Mental Health Provider – Outpatient
      "additionalInformation": {
        "description": "52 VISITS PER CALENDAR YEAR."
      }
    },
    ...
  ],
  ...
}

Note: Technically, HIPAA doesn’t allow payers to send visit limits as free text, but some do anyway. If you see this, let us know. We can work with the payer to get it fixed.

Last date of service

Payers don’t typically include a full service history in their eligibility responses. But you can sometimes get the last date of service. This date is important if there’s a frequency limit, like a specific number of covered visits per week or month, for a benefit.

To get the last date of service, check the benefitsDateInformation.latestVisitOrConsultation field for a related STC:

{
  "code": "A",                              // Co-insurance
  "serviceTypeCodes": ["CF"],               // Mental Health Provider – Outpatient
  ...
  "benefitsDateInformation": {
    "latestVisitOrConsultation": "20250404" // Last service
  }
}

5. Check for prior authorization and referral requirements

Psychiatry, intensive outpatient programs, and therapy often require prior authorization or a referral before the payer will cover them.

Note: This section deals with prior authorization and referral requirements for medical benefits, not pharmacy benefits, like those related to psychiatrist-prescribed drugs.

Prior authorization

Prior authorization, also called pre-authorization or pre-certification, means the payer must approve care before it’s given. Otherwise, the service or procedure may not be covered.

To check if authorization is required, look at the authOrCertIndicator field in the benefitsInformation object for the related STC.

authOrCertIndicator value

What it means

Y

Prior auth required

N

Not required

U

Unknown

Example: Prior authorization is required for substance abuse treatment

{
  "benefitsInformation": [
    {
      "code": "A",                  // Co-insurance
      "serviceTypeCodes": ["AI"],   // Substance abuse
      "authOrCertIndicator": "Y",   // Prior authorization is required
      ...
    },
    ...
  ],
  ...
}

If the authOrCertIndicator field isn’t present, you can assume authorization isn’t required. Payers may also include notes that clarify or override the authOrCertIndicator field in the additionalInformation.description field.

For more information, see How to check for prior authorization requirements in a 271 eligibility response.

Referral requirements
A referral is approval from a primary care provider (PCP) to see a specialist or receive certain services.

Referrals are less common in behavioral health, but some HMO plans still require them.

Payers don’t always provide referral information, and behavior varies.

When it’s available, it appears as free-text in the additionalInformation.description field. Look for phrases like:

"REFERRAL REQUIRED"

"PCP AUTHORIZATION NEEDED"

Example: Referral is required for drug addiction treatment

{
  "benefitsInformation": [
    {
      "code": "A",                // Co-insurance
      "serviceTypeCodes": ["AK"], // Drug addiction
      "additionalInformation": [
        {
          "description": "PCP REFERRAL REQUIRED"
        }
      ],
      ...
    },
    ...
  ],
  ...
}

6. Run eligibility checks before each visit

Behavioral health patients often have recurring visits for services like therapy. Run an eligibility check before each appointment to get the most up-to-date co-pay, visit count, and last date of service.

Submitting claims promptly after each session also helps payers keep visit counts and service dates current, which reduces the risk of denials or unexpected patient costs.

Get more tips

If you’re building eligibility workflows for the behavioral or mental health space, we can help. Contact us to set up a consultation.

Share

Twitter
LinkedIn

Get started with Stedi

Get started with Stedi

Automate healthcare transactions with developer-friendly APIs that support thousands of payers. Contact us to learn more and speak to the team.

Get updates on what’s new at Stedi

Get updates on what’s new at Stedi

Get updates on what’s new at Stedi

Get updates on what’s new at Stedi

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.

Get updates on what’s new at Stedi

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.

Get updates on what’s new at Stedi

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.