Interpret benefit response
After you send a successful eligibility check, the payer sends back an X12 271 Eligibility Benefit Response containing the patient’s benefits information, including coverage status, co-pays, and deductibles.
Stedi transforms the 271 response from the original X12 EDI into JSON, making it easier to read, understand, and ingest into your system.
Active and inactive coverage
You can quickly determine whether a patient has active coverage from the benefitsInformation
object within the response. The following sample excerpt from a payer response shows a member with active coverage. The benefitsInformation.name
property is set to Active Coverage
and benefitsInformation.code
is set to 1
:
The following example excerpt from a payer response shows a member with inactive coverage. The benefitsInformation.name
property is set to Inactive
and benefitsInformation.code
is set to 6
:
Coverage period
The planDateInformation
object contains dates related to the patient’s coverage under their health plan. These dates apply to every every benefit within the patient’s health plan unless specifically noted within a benefitsInformation.benefitsDateInformation
object. Most commercial payers only return information for the current calendar year.
If the payer sends back date(s) that are different for the subscriber and dependents, Stedi includes only the dates for the dependent in this object and omits the subscriber’s date(s). Dependents can have different coverage dates than the subscriber due to qualifying life events, such as starting a new job or passing the age limit for coverage through their parent’s plan.
If the date of service is after the earliest ending plan
, eligibility
,
planEnd
, eligibilityEnd
, policyEffective
, or policyExpiration
value,
the patient likely doesn’t have active coverage.
Benefits information
Each object in the benefitsInformation
array contains details about the patient’s coverage under their health plan. The benefitsInformation.code
property indicates the type of benefit, and the name
property provides a description.
The following example shows a patient’s co-payment for psychiatric, psychotherapy, and social work in-office visits. This copayment is 20 dollars for providers considered in-network, as indicated by the Y
in the inPlanNetworkIndicatorCode
property:
Eligibility and benefit type codes
The following is a complete list of codes that can be returned in the benefitsInformation.code
property.
1
- Active Coverage2
- Active - Full Risk Capitation3
- Active - Services Capitated4
- Active - Services Capitated to Primary Care Physician5
- Active - Pending Investigation6
- Inactive7
- Inactive - Pending Eligibility Update8
- Inactive - Pending InvestigationA
- Co-InsuranceB
- Co-PaymentC
- DeductibleCB
- Coverage BasisD
- Benefit DescriptionE
- ExclusionsF
- LimitationsG
- Out of Pocket (Stop Loss)H
- UnlimitedI
- Non-CoveredJ
- Cost ContainmentK
- ReserveL
- Primary Care ProviderM
- Pre-existing ConditionMC
- Managed Care CoordinatorN
- Services Restricted to Following ProviderO
- Not Deemed a Medical NecessityP
- Benefit DisclaimerQ
- Second Surgical Opinion RequiredR
- Other or Additional PayorS
- Prior Year(s) HistoryT
- Card(s) Reported Lost/Stolen | Typically used by Medicaid to indicate to a provider that the person who has presented the ID card is using a stolen ID card.U
- Contact Following Entity for Eligibility or Benefit InformationV
- Cannot ProcessW
- Other Source of DataX
- Health Care FacilityY
- Spend Down
Code V
- Cannot Process
These are the most common reasons a payer may return a benefitsInformation.code
of V
:
- Request errors: The payer didn’t actually return any benefits information because of errors in the request - listed in the
errors
object. You should ignore the stub benefits data in thebenefitsInformation
object, correct the errors, and resubmit the eligibility check. - Wrong submission method: The payer doesn’t support automated X12 EDI eligibility checks for the service type code you provided and requires that you obtain benefits information through a different channel, such as by phone or online portal. The
benefitsInformation.additionalInformation.description
typically contains an explanation. The payer may also include contact information inpayer.contactInformation
. - Unable to interpret: The payer located the member but couldn’t make sense of the request. For example, a dental payer can’t return benefits information for a vision service type code.
- Alternate service type code: The payer has grouped the service type code you submitted into a different one. In this case, the payer typically returns a
benefitsInformation
entry withcode
=V
immediately followed by an entry with an active code andbenefitsInformation.serviceTypeCodes
set to the preferred service type code.
Identify the plan name
The only standard property that contains a health plan product or program name is benefitsInformation.planCoverage
. However, payers are only required to provide this information for service type code (STC) 30
. They may provide it for other STCs, but they don’t have to.
The benefitsInformation
array can contain many entries for multiple plans, such as medical, dental, and vision. You may want to filter benefitsInformation
objects for certain STCs before checking for the plan name.
In the following example, the plan name is Open Access Plus
:
You may also be able to identify the plan name through the following properties, but they’re not as reliable as planCoverage.
Payers aren’t required to return information for these properties, so behavior can vary by payer or even by plan.
- Some properties may contain a name for the group (often named for the employer if they sponsor the plan), insurance policy, or network. These properties are:
groupDescription
,planDescription
, andplanNetworkIdDescription
. These properties may be included in thesubscriber
,dependents
, orbenefitsInformation.benefitsAdditionalInformation
objects, depending on where the payer places this information in the benefit response. - Some payers may send something like a plan name in
planInformation.planDescription
or as unstructured text inbenefitsInformation.additionalInformation.description
.
In- and out-of-network coverage (network status)
The standard eligibility check benefits response isn’t a reliable way to determine whether a provider is in- or out-of-network for the patient. This is because payers typically don’t explicitly include information indicating whether the requesting provider is in- or out-of-network (though there are some exceptions).
The only reliable way to determine network status is to check directly with the payer or the provider. Note that payers may have different networks for different health plans, such as employer-sponsored plans versus Medicare Advantage, and these networks may have different contact paths.
Plan Network Indicator
The X12 EDI 271 eligibility response includes a data element called EB12
(In Plan Network Indicator). Stedi represents this field as the benefitsInformation.inPlanNetworkIndicatorCode
property in the eligibility benefits response.
This value specifies whether the specific benefit type applies to in- vs. out-of-network. It doesn’t indicate whether the provider is in- or -out-of-network for the patient’s health plan. Most payers include information about both the patient’s in- and out-of-network coverage and benefits in the response, regardless of the requesting provider’s network status.
Payers can send the following inPlanNetworkIndicatorCode
values:
Y
- YesN
- NoW
- Not Applicable | This indicates that the benefit applies to both in and out-of-network providers.U
- Unknown | This indicates that it is unknown whether the benefits apply to in- or out-of-network providers.
The example benefitsInformation
object below shows the patient’s out-of-network deductible for the calendar year, which is $7,500 dollars. The inPlanNetworkIndicatorCode
is N
, indicating that the deductible is applicable to services performed by providers outside the patient’s network.
Payer FHIR APIs
Some payers have implemented the HL7 Da Vinci PDEX Plan Net (FHIR) API, which allows you to query directly for provider network status. Here are links to these APIs for a few large, commercial payers:
This is not an exhaustive list, and we provide these links for convenience and reference only. Stedi can’t give any additional support on how to use third-party APIs.
Additional network status details
Some payers do provide additional information about whether the requesting provider is in- or out-of-network. They may do this through either selective inclusion of benefits in the response or through freeform messages.
Selective inclusion of benefits
A small subset of payers selectively include portions of the eligibility response according to the provider’s network status. For example, some payers only return out-of-network benefits if the requesting provider is out-of-network. Likewise, if the provider is in-network, they only provide in-network benefits.
One example is Blue Cross and Blue Shield of New Mexico (BCBSNM). Their 270/271 Transaction Standard Companion Guide states in section 5.3:
“When local transactions are submitted, BCBSNM uses the provider type and/or provider specialty along with the providers contracting network status to determine the applicable benefits.”
Stedi doesn’t have a complete list of payers that selectively include or exclude benefits based on the provider’s network status. The only reliable way to determine network status is to reach out to the provider or payer directly.
Freeform messages
While uncommon, some payers communicate information about the requesting provider’s network status using freeform messages. For example, Cigna’s 270/271 Companion Guide states:
“When the requestor’s network participation status can be determined, Cigna will send a Message on the EB1*30 Row that indicates either the Health Care Professional (or facility) is in or out of the customer’s medical network.”
In Stedi’s eligibility response, these types of freeform messages are typically included in the benefitsInformation.additionalInformation.description
property. For example:
PROVIDER IS OUT NETWORK FOR MEMBER
BENEFITS RETURNED BASED ON NON-AFFILIATED PROVIDER STATUS
This description
property may also contain information about network tier levels, since some plans have more complex benefit structures with reduced patient responsibility for higher-tier providers.
These freeform messages are not standardized across payers and may even differ across plans for the same payer. Again, the most reliable way to determine network status is to reach out to the provider or payer directly.
Prior authorization
Payers use the benefitsInformation.authOrCertIndicator
property to indicate whether prior authorization is required for the service type code in the eligibility check. It can have the following values:
Y
indicates that prior authorization is required.N
indicates that prior authorization is not required.U
indicates that the payer is unable to confirm whether or not prior authorization is required.
If you don’t receive the benefitsInformation.authOrCertIndicator
property in the response, you can assume that prior authorization is not required. Some payers may send additional notes about prior authorization rules in the benefitsInformation.additionalInformation.description
property.
Referral required
Payers aren’t required to provide information about whether referrals are required for benefits, and we can’t provide a definitive list of payers who do. When this information is included, you can find it in the benefitsInformation.additionalInformation.description
property. You’re more likely to receive referral information for members with HMO plans.
Patient responsibility
Some benefits require the patient to pay a portion of the cost of care, also known as patient responsibility.
Service type codes
Not all service type codes (STCs) require payers to return patient responsibility information. For example, health plans are required to support inquiries for the following STCs, but aren’t required to return patient responsibility information for them.
1
- Medical Care30
- Health Plan Benefit Coverage35
- Dental Care88
- PharmacyAL
- Vision (Optometry)MH
- Mental Health
However, health plans regulated under HIPAA must return any applicable patient co-insurance, co-payment, or deductible amounts for the following service type codes.
33
- Chiropractic47
- Hospital48
- Hospital Inpatient50
- Hospital Outpatient86
- Emergency Services98
- Professional (Physician) Visit – OfficeUC
- Urgent Care
These lists don’t necessarily extend to dental or vision plans. Some payers may support returning patient responsibility information for additional STCs.
Benefit types
The following types of benefits indicate patient financial responsibility. Note that payers may respond with zero in the benefitAmount
or benefitPercent
properties when the patient has no responsibility.
If a particular benefit category is not applicable to a plan, the payer will often send nothing for that category rather than explicitly sending a zero benefit. For example, if a health plan has 20% co-insurance for STC 98
but no co-payment, then typically none of the benefitsInformation
array entries for that STC will have benefitsInformation.code
= B
(Co-Payment).
Co-Insurance
Co-Insurance is indicated by benefitsInformation.code
= A
and always includes a value for the benefitsInformation.benefitPercent
property.
Co-insurance represents the percentage of a benefit patients are responsible for covering themselves. For example, if a patient has met their annual deductible and their co-insurance is 20 percent, they would pay 20 dollars for a treatment that costs 100 dollars. The amount of co-insurance can differ depending on whether a provider is in-network with the health plan.
Co-Payment
Co-Payment is indicated by benefitsInformation.code
= B
and always includes a value for the benefitsInformation.benefitAmount
property.
Co-Payment represents a fixed dollar amount a patient must pay for a benefit. For example, a patient may have a 10 dollar co-payment for a physician office visit. The amount of co-payment can differ depending on whether the provider is considered in-network with the health plan.
Cost Containment
Cost Containment is indicated by benefitsInformation.code
= J
and always includes a value for the benefitsInformation.benefitAmount
property.
Cost Containment refers to rules that a health plan may have in place to control the cost of care. It’s typically included in the benefit response when the patient has Medicaid coverage and represents the total amount the patient will have to pay out of their own pocket before their benefits begin.
Deductible
Deductible is indicated by benefitsInformation.code
= C
and always includes a value for the benefitsInformation.benefitAmount
property.
A deductible represents the total amount the patient will have to pay out of their own pocket before their benefits begin. For example, if a patient’s deductible is 1000 dollars, they will have to pay 1000 dollars for covered services before the health plan will start to pay. Then, the patient will typically pay part of the cost of services (such as co-payments) until they reach their out-of-pocket maximum.
Though behavior can vary by payer, the deductible benefitsInformation
object is often included twice in the response for a given coverage level + service type + network status. One iteration contains a timeQualifier
like Calendar Year
, which indicates that the benefitAmount
value is the patient’s total annual deductible. In the second instance, the timeQualifier
is often Remaining
, which indicates that the benefitAmount
value is the patient’s remaining deductible amount (annual deductible minus what they’ve already spent for the calendar year).
The following example shows that this patient’s annual deductible is 1000 dollars, and they have 500 dollars remaining to meet that deductible:
Limitations
Limitations are indicated by benefitsInformation.code
= F
. Dental and vision plans often use this benefit type to specify an annual maximum benefit amount.
The Affordable Care Act prevents most commercial health plans from imposing limits on annual or lifetime benefit amounts. However, this generally doesn’t apply to government health plans and and some commercial health plans may be exempt. So we recommend checking for limitations for all plan types: medical, dental, and vision.
When present, limitations might include a value for the benefitsInformation.benefitAmount
property that indicates the maximum benefit amount allocated to the patient. The description
property is also often (but not always) set to a value like “ANNUAL MAXIMUM”.
The following example shows a sample response from a dental payer. The patient has an annual maximum benefit for dental care of 2500 dollars.
Out of Pocket (Stop Loss)
Out of Pocket (Stop Loss) is indicated by benefitsInformation.code
= G
and always includes a value for the benefitsInformation.benefitAmount
property.
Out of Pocket (Stop Loss) represents the maximum amount a patient can pay per year. Once the patient reaches this limit, the health plan will pay 100 percent of the allowed amount for covered services unless some other coverage limitation (code F
Limitations) applies. For example, if a health plan has a limit of 12 covered mental health visits per year, the patient may still be responsible for covering 100 percent of visits beyond that limit even if they have met their out-of-pocket maximum.
Most health plans are required to set an out-of-pocket maximum, but health plans with provider networks are allowed to have unlimited patient responsibility for out-of-network care. If there is no benefitsInformation
object in the response that has benefitsInformation.code
= G
, the payer is indicating that the out-of-pocket maximum is unlimited.
Spend Down
Spend Down is indicated by benefitsInformation.code
= Y
and always includes a value for the benefitsInformation.benefitAmount
property.
Spend Down is a process that allows individuals with high medical expenses to qualify for Medicaid even if their income is above the Medicaid income limit. The Spend Down benefitAmount
represents the total amount the patient will have to pay out of their own pocket before they can receive Medicaid benefits.
Was this page helpful?