The Batch Eligibility Check API endpoint now supports up to 10,000 eligibility checks in a single request – 10x the previous 1,000-check limit.
Batch eligibility checks let you run multiple eligibility checks asynchronously in a dedicated pipeline, separate from your real-time checks.
When to use batch eligibility checks
For most Stedi customers, we recommend using real-time eligibility checks for both one-off checks, like when a patient is at the front desk, and bulk checks, like monthly refreshes. It’s a simple, flexible setup.
But if you're running thousands of time-insensitive checks at once and building custom logic to handle them, look into using batch checks. They handle queuing and retries over longer periods for you.
For details, see When to use batch eligibility checks.
How to run batch eligibility checks
The Batch Eligibility Check API endpoint lets you run multiple eligibility checks through a single request. For example:
curl --request POST \
--url "https://manager.us.stedi.com/2024-04-01/eligibility-manager/batch-eligibility" \
--header "Authorization: <api_key>" \
--header "Content-Type: application/json" \
--data '{
"name": "march-2024-eligibility-batch",
"items": [
{
"submitterTransactionIdentifier": "ABC123456789",
"controlNumber": "000022222",
"tradingPartnerServiceId": "AHS",
"encounter": {
"serviceTypeCodes": [
"30"
]
},
"provider": {
"organizationName": "ACME Health Services",
"npi": "1234567891"
},
"subscriber": {
"dateOfBirth": "19000101",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "1234567890"
}
},
...
]
}curl --request POST \
--url "https://manager.us.stedi.com/2024-04-01/eligibility-manager/batch-eligibility" \
--header "Authorization: <api_key>" \
--header "Content-Type: application/json" \
--data '{
"name": "march-2024-eligibility-batch",
"items": [
{
"submitterTransactionIdentifier": "ABC123456789",
"controlNumber": "000022222",
"tradingPartnerServiceId": "AHS",
"encounter": {
"serviceTypeCodes": [
"30"
]
},
"provider": {
"organizationName": "ACME Health Services",
"npi": "1234567891"
},
"subscriber": {
"dateOfBirth": "19000101",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "1234567890"
}
},
...
]
}curl --request POST \
--url "https://manager.us.stedi.com/2024-04-01/eligibility-manager/batch-eligibility" \
--header "Authorization: <api_key>" \
--header "Content-Type: application/json" \
--data '{
"name": "march-2024-eligibility-batch",
"items": [
{
"submitterTransactionIdentifier": "ABC123456789",
"controlNumber": "000022222",
"tradingPartnerServiceId": "AHS",
"encounter": {
"serviceTypeCodes": [
"30"
]
},
"provider": {
"organizationName": "ACME Health Services",
"npi": "1234567891"
},
"subscriber": {
"dateOfBirth": "19000101",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "1234567890"
}
},
...
]
}curl --request POST \
--url "https://manager.us.stedi.com/2024-04-01/eligibility-manager/batch-eligibility" \
--header "Authorization: <api_key>" \
--header "Content-Type: application/json" \
--data '{
"name": "march-2024-eligibility-batch",
"items": [
{
"submitterTransactionIdentifier": "ABC123456789",
"controlNumber": "000022222",
"tradingPartnerServiceId": "AHS",
"encounter": {
"serviceTypeCodes": [
"30"
]
},
"provider": {
"organizationName": "ACME Health Services",
"npi": "1234567891"
},
"subscriber": {
"dateOfBirth": "19000101",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "1234567890"
}
},
...
]
}curl --request POST \
--url "https://manager.us.stedi.com/2024-04-01/eligibility-manager/batch-eligibility" \
--header "Authorization: <api_key>" \
--header "Content-Type: application/json" \
--data '{
"name": "march-2024-eligibility-batch",
"items": [
{
"submitterTransactionIdentifier": "ABC123456789",
"controlNumber": "000022222",
"tradingPartnerServiceId": "AHS",
"encounter": {
"serviceTypeCodes": [
"30"
]
},
"provider": {
"organizationName": "ACME Health Services",
"npi": "1234567891"
},
"subscriber": {
"dateOfBirth": "19000101",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "1234567890"
}
},
...
]
}Batch requests return a batchId. You can use the ID to check progress using the Poll Batch Eligibility Checks API endpoint. Most batches complete in minutes.
If a check in the batch fails due to payer connectivity, Stedi retries the check for up to 8 hours.
Pricing
A batch check costs the same as the equivalent number of real-time checks. For example, running a batch of 500 checks costs the same as running 500 real-time checks.
There’s no charge for non-billable checks in a batch.
Get started
If you’re not currently using batch checks but are considering building logic for bulk eligibility, schedule a consultation. We can help you figure out if batch checks are a fit for you.