Patient responsibility

Some benefits require the patient to pay a portion of the cost of care, also known as patient responsibility. For example, a patient may have a co-payment for in-office visits.

Where can I find patient responsibility?

You can use benefitsInformation objects with benefitsInformation.code values A, B, C, F, G, and Y to determine the patient's financial responsibility for a given service type code (STC). These objects almost always contain either a benefitAmount or benefitPercent property that indicates the patient's responsibility.

The following example shows a sample response with three different types of patient responsibility:

  • Co-Payment: The object with the code set to B shows that the patient's co-payment for pharmacy services is 10 dollars for in-network providers.
  • Deductible: The object with the code set to C shows that the patient's deductible for general medical services is 1000 dollars per calendar year for in-network providers.
  • Co-Insurance: The object with the code set to A shows that the patient's co-insurance for out-of-network for dental care is 0 percent for a comprehensive oral evaluation. The patient is allowed one visit every 6 months, and their last visit was on April 4, 2024.
"benefitsInformation": [{
    "code": "B",
    "name": "Co-Payment",
    "serviceTypeCodes": ["88"],
    "serviceTypes": ["Pharmacy"],
    "benefitAmount": "10",              
    "inPlanNetworkIndicatorCode": "Y",
    "inPlanNetworkIndicator": "Yes"   
  },
  {
    "code": "C",
    "name": "Deductible",
    "coverageLevelCode": "IND",
    "coverageLevel": "Individual",
    "serviceTypeCodes": ["30"],
    "serviceTypes": ["Health Benefit Plan Coverage"], 
    "timeQualifierCode": "23",
    "timeQualifier": "Calendar Year",           
    "benefitAmount": "1000",             
    "inPlanNetworkIndicatorCode": "Y",
    "inPlanNetworkIndicator": "Yes"   
  },
  {
    "code": "A",
    "name": "Co-Insurance",
    "serviceTypeCodes": ["35"],
    "serviceTypes": ["Dental Care"],
    "benefitPercent": "0",               
    "inPlanNetworkIndicatorCode": "N",  
    "inPlanNetworkIndicator": "No",     
    "compositeMedicalProcedureIdentifier": { 
      "productOrServiceIdQualifierCode": "AD",
      "procedureCode": "D0150"                 
    },
    "benefitsDateInformation": {
      "latestVisitOrConsultation": "20240404" 
    },
    "benefitsServiceDelivery": [           
      {
        "quantityQualifierCode": "VS",  
        "quantityQualifier": "Visits",
        "quantity": "1",                   
        "timePeriodQualifierCode": "34",
        "timePeriodQualifier": "Month",
        "numOfPeriods": "6"                
      }
    ]
}]

Service history

Some benefits have frequency limits. For example, “one visit every 6 months” or “two cleanings per year.” Others depend on when the patient last received the service. If the patient has already reached the allowed frequency, the next visit may not be covered. In that case, they may owe the full amount.

To estimate patient cost for these types of benefits, you'll need to look at two additional properties in the benefitsInformation object:

  • benefitsDateInformation: Shows when a service (like a cleaning or exam) was last performed.
  • benefitsServiceDelivery: Indicates how often a service is allowed, such as once every 6 months or twice per year. Many payers don't populate this field and instead return this information as free text in additionalInformation.description.

These properties show up in responses for dental, vision, and Medicaid. They also apply to some medical services, like annual wellness visits or therapy sessions.

Some plans, especially dental, apply shared frequency limits across a group of procedures. For example, a plan might allow one X-ray series per year, regardless of the procedure code used later in the claim. If a claim has already been paid for one of the codes in the group, subsequent claims for others may be denied.

Types of patient responsibility

The following types of benefits indicate patient financial responsibility for care. 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 eligibility 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 1,000 dollars, they will have to pay 1,000 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).

No deductible for specific benefits

Some health plans list an annual deductible amount while offering a subset of benefits with a zero deductible. The most common case is preventive care benefits, which are usually required to be covered with no deductible or copay by the Affordable Care Act. For example, a High Deductible Health Plan (HDHP) may have a 3,000 dollar annual deductible, but cover an annual wellness visit at no cost.

For benefits with a zero deductible, the patient is not required to pay any amount out of pocket before coverage begins, regardless of whether they've met their annual deductible amount. Note that a zero deductible doesn't necessarily mean that the patient will pay nothing - their health plan may still require a co-payment or co-insurance for the benefit type.

Payers may indicate that a specific benefit has a zero deductible by including a benefitsInformation object with benefitsInformation.code = C and the benefitsInformation.benefitAmountset to 0. Alternatively, they may simply send a message in the benefitsInformation.additionalInformation.description property indicating that the patient has no deductible.

No annual deductible

If the payer doesn't include a benefitsInformation object with benefitsInformation.code = C, you can generally assume that the patient has no annual deductible. This behavior is common with group HMO plans, which sometimes rely only on co-insurance or co-payment for cost control, but it can also occur with other types of health plans.

Medical payers are required to return deductible information for service type code 30 (Health Benefit Plan Coverage), so if the first eligibility response for another service type code doesn't include deductible information and you suspect that a deductible may still apply, then we recommend running another eligibility check for service type code 30.

Example

In the following example:

  • The first object shows that the patient has 500 dollars remaining to meet their annual deductible (timeQualifier = Remaining).
  • The second object shows that the patient's annual deductible is 1,000 dollars (timeQualifier = Calendar Year).
"benefitsInformation": [{
  "code": "C",
  "name": "Deductible",
  "coverageLevelCode": "IND",
  "coverageLevel": "Individual",
  "serviceTypeCodes": [
    "30"
  ],
  "serviceTypes": [
    "Health Benefit Plan Coverage"
  ],
  "planCoverage": "GOLDLITE",
  "timeQualifierCode": "29",
  "timeQualifier": "Remaining",
  "benefitAmount": "500",
  "inPlanNetworkIndicatorCode": "Y",
  "inPlanNetworkIndicator": "Yes",
  "benefitsDateInformation": {
    "benefit": "20240101-20241231"
  }
},
{
  "code": "C",
  "name": "Deductible",
  "coverageLevelCode": "IND",
  "coverageLevel": "Individual",
  "serviceTypeCodes": [
    "30"
  ],
  "serviceTypes": [
    "Health Benefit Plan Coverage"
  ],
  "planCoverage": "GOLDLITE",
  "timeQualifierCode": "23",
  "timeQualifier": "Calendar Year",
  "benefitAmount": "1000",
  "inPlanNetworkIndicatorCode": "Y",
  "inPlanNetworkIndicator": "Yes",
  "benefitsDateInformation": {
    "benefit": "20240101-20241231"
  }
}]

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.

{
  "timeQualifier": "Calendar Year",
  "inPlanNetworkIndicator": "Yes",
  "timeQualifierCode": "23",
  "benefitAmount": "2500",
  "code": "F",
  "coverageLevel": "Individual",
  "inPlanNetworkIndicatorCode": "Y",
  "serviceTypeCodes": [
    "35"
  ],
  "additionalInformation": [
    {
    "description": "ANNUAL MAXIMUM"
    }
  ],
  "serviceTypes": [
    "Dental Care"
  ],
  "name": "Limitations",
  "coverageLevelCode": "IND"
}

Out of Pocket (Stop Loss)

This benefits type doesn't apply to most dental plans.

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.

When do payers return patient responsibility?

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 Care
  • 30 - Health Plan Benefit Coverage
  • 35 - Dental Care
  • 88 - Pharmacy
  • AL - 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 - Chiropractic
  • 47 - Hospital
  • 48 - Hospital Inpatient
  • 50 - Hospital Outpatient
  • 86 - Emergency Services
  • 98 - Professional (Physician) Visit – Office
  • UC - Urgent Care

These lists don't necessarily extend to dental or vision plans. Some payers may support returning patient responsibility information for additional STCs.

No Surprises Act

The No Surprises Act is a federal law that protects patients from surprise medical bills — especially in emergency situations or when they unknowingly receive care from out-of-network providers. Under NSA, patients also have the right to a good faith estimate for non-emergency care if they're uninsured or self-pay.

The No Surprises Act bans surprise billing (also known as balance billing) in these situations:

  • Emergency Services: Even if patients go to an out-of-network hospital or ER, they only have to pay in-network cost-sharing. This includes services at freestanding ERs and urgent care centers licensed to provide emergency care.
  • Non-Emergency Services at In-Network Facilities: If patients go to an in-network hospital or surgery center, but an out-of-network provider (like an anesthesiologist or radiologist) treats them, they can't be charged more than their in-network rate.
  • Air Ambulance Services: Patients are only responsible for their in-network rate.

Does the NSA apply?

Payers don't typically note when the NSA applies to a patient's plan in the eligibility response. However, the NSA applies to most health plans, including fully insured and self-funded employer plans. It doesn't apply to:

  • Ground ambulance services
  • Medicare, Medicaid, TRICARE, or VA patients because these programs already have their own strong balance billing protections
  • Some people with health care sharing ministries or short-term limited-duration plans
  • Some unlicensed or unregulated providers

Balance Billing Protection Act

The Balance Billing Protection Act (BBPA) is a Washington state law that protects patients from unexpected medical bills (also known as balance billing) when they receive care from out-of-network providers. It's similar to the No Surprises Act, but it applies specifically to Washington residents with state-regulated plans. It doesn't apply to self-funded employer plans unless they opt in.

The BBPA protects patients from balance billing in the following situations:

  • Emergency services, even if patients are treated by an out-of-network provider or at an out-of-network facility.
  • Non-emergency services at an in-network hospital or ambulatory surgical center when patients are unknowingly treated by an out-of-network provider (like an anesthesiologist or radiologist).

In these cases, the patient only pays their normal in-network cost-share (deductible, copay, coinsurance), and the provider must work out the rest with their insurer.

Does the BBPA apply?

When the BBPA applies to a patient's health plan, payers are required to note this in benefitsInformation objects with a benefitsInformation.code of:

  • 1 (Active Coverage)
  • 2 (Active - Full Risk Capitation)
  • 3 (Active - Services Capitated)
  • 4 (Active - Services Capitated to Primary Care Physician)
  • 5 (Active - Pending Investigation)
  • 6 (Inactive)
  • 7 (Inactive - Pending Eligibility Update)
  • 8 (Inactive - Pending Investigation)

In these cases, you will see one of the following messages in the benefitsInformation.additionalInformation.description property:

Services provided to this patient are subject to the Balance Billing Protection Act. Please see RCW 48.49.020 for details.

Services provided to this patient are subject to the No Surprises Act. Please see RCW 48.49.020 for details.

The following example shows a benefitsInformation object with the BBPA message included in the additionalInformation array.

{
  "code": "1",
  "name": "Active Coverage",
  "serviceTypeCodes": [
    "30"
  ],
  "serviceTypes": [
    "Health Benefit Plan Coverage"
  ],
  "planCoverage": "Open Access Plus",
  "additionalInformation": [
    {
      "description": "Complete Care Management",
      "description": "Services provided to this patient are subject to the Balance Billing Protection Act. Please see RCW 48.49.020 for details."
    }
  ]
}