# Overview
Source: https://www.stedi.com/docs/healthcare/intro-eligibility-checks

***

title: Overview
sidebarTitle: Overview
----------------------

An eligibility check is the process of verifying whether a patient has coverage for specific medical benefits under their health insurance plan. This process allows patients and healthcare providers to determine a patient's financial responsibilities for medical services.

You can send either real-time or batch eligibility checks through Stedi. With real-time checks, you receive the response from the payer in seconds. With batch checks, you can submit up to 10,000 eligibility checks in a single request for Stedi to process asynchronously.

<Tip>
  Eligibility checks verify coverage with a specific payer. If you don't know
  the payer, you can perform an [insurance discovery
  check](/healthcare/insurance-discovery) instead to find a patient's coverage
  using their demographic data.
</Tip>

## Real-time eligibility checks

Real-time eligibility checks are ideal for in-person patient visits, telehealth appointments, and other scenarios where you need immediate information about a patient's coverage.

We recommend always starting with real-time checks when integrating with a new payer. This approach allows you to quickly test and refine your pipeline through fast feedback loops. Once you're comfortable with real-time checks, you may also want to start sending asynchronous batch checks to perform periodic refreshes for all or a subset of patients.

<Steps>
  <Step title="Submit eligibility checks to Stedi.">
    Stedi supports sending real-time eligibility checks to payers, in either
    JSON or X12 EDI format. You can submit requests manually through the Stedi
    portal or programmatically through the API.
  </Step>

  <Step title="Stedi delivers eligibility checks to the payer.">
    Stedi routes requests to the payer using the most reliable connection. Stedi
    receives payer responses in X12 EDI and transforms them into JSON to make
    them easier to ingest into your business systems.
  </Step>

  <Step title="Receive the payer's eligibility response in real time.">
    Stedi returns the payer's synchronous response. It contains details about a
    patient's medical coverage, including the start and end date of the
    coverage, covered benefits and services, copayments, deductibles, and
    out-of-pocket maximums.
  </Step>
</Steps>

Learn more about [Real-time eligibility checks](/healthcare/send-eligibility-checks).

## Batch eligibility checks

Batch eligibility checks are a great option as your volume grows. Stedi handles complexity like queuing and retries according to established best practices, so you don't have to build this logic yourself. We recommend using batch checks for bulk workflows that aren't time sensitive, including:

* Monthly or weekly coverage refreshes
* Upcoming appointments
* Sets of thousands or millions of checks that can run in the background

However, batch checks have a longer feedback cycle than real-time checks because you don't receive the payer's response immediately. That's why we strongly recommend starting with [real-time checks](/healthcare/api-reference/post-healthcare-eligibility) when integrating with a new payer or working with eligibility checks for the first time. This approach allows you to ensure that your pipeline is working smoothly before you begin staging batch checks.

<Steps>
  <Step title="Submit eligibility checks to Stedi.">
    You can submit batch eligibility checks manually by uploading CSV files to
    the Stedi portal or programmatically by sending a request to the [Batch Eligibility Check](/healthcare/api-reference/post-healthcare-batch-eligibility)
    endpoint. Each batch can contain up to 10,000 eligibility checks.
  </Step>

  <Step title="Stedi delivers eligibility checks to the payer.">
    Stedi processes these batch checks asynchronously, implementing best practices
    to avoid payer throttling. Stedi routes requests to the payer using the most
    reliable connection.
  </Step>

  <Step title="Poll to retrieve eligibility responses.">
    The API's synchronous response contains a `batchId` that you can use to
    retrieve the results of the batch checks using the [Poll Batch Eligibility Checks](/healthcare/api-reference/get-healthcare-polling-eligibility)
    endpoint. You can also review the results of batch eligibility checks from
    the [Eligibility check batches page](https://portal.stedi.com/app/healthcare/checks/batch) in the Stedi
    portal.
  </Step>
</Steps>

Learn more about [Batch eligibility checks](/healthcare/batch-refresh-eligibility-checks).

## X12 HIPAA format

The Health Insurance Portability and Accountability Act (HIPAA) mandates that eligibility checks be submitted in a standardized format: X12 HIPAA. X12 HIPAA is a type of Electronic Data Interchange (EDI), a data format developed in the 1970s to allow businesses to exchange documents electronically.

While some healthcare institutions can submit eligibility checks directly in X12 HIPAA, many of today's software applications are built to use more modern data formats like JSON. That's why Stedi offers two types of APIs for eligibility checks: one that accepts JSON and automatically converts it to X12 HIPAA behind the scenes, and another that accepts X12 HIPAA directly.

## Billing for eligibility checks

Transactions are billable at the usage rates specified in your contract unless they fall into one of the following non-billable categories:

1. All eligibility checks you send in [Test Mode](/healthcare/test-mode).
2. All eligibility checks that return `AAA` = `42` or `AAA` = `80` errors, which indicate that the payer is down.
3. All eligibility checks that return `AAA` = `79` errors, which indicate there was a problem connecting to this payer.
4. All API calls that return `4xx` or `5xx` errors.