Real-Time Claim Status JSON
Submit a 276/277 real-time claim status check in JSON format
/change/medicalnetwork/claimstatus/v2
You may need to submit a 276 real-time claim status request when you don't receive a 277CA claim acknowledgment or 835 Electronic Remittance Advice (ERA) response from the payer within your expected timeframe.
- Call this endpoint with a JSON payload.
- Stedi generates the X12 276 EDI transaction and sends it to the payer.
- The endpoint returns a synchronous 277 claim status response from the payer in JSON format. The response contains information about the claims matching the criteria you provided in the request and their current status.
The response may contain information about more than one claim, if the payer has multiple claims on file that match the information you provided.
Visit Check claim status for a complete how-to guide.
A Stedi API Key for authentication.
Body
An integer used to identify the transaction. It does not need to be globally unique. It is returned in the response as controlNumber
.
- Required string length:
9
Information about the dependent listed in the referenced claim. You must submit the dependent's firstName
, lastName
, dateOfBirth
, and gender
(if known). If the claim set the dependent's gender to U
for unknown, you should omit the gender
property.
Information about the referenced claim or claims for which you want to retrieve status information.
We recommend supplying a date range that is at least plus or minus 7 days from the date of the services listed in the claim, using the beginningDateOfService
and endDateOfService
properties. The payer may have stored a different date for the encounter than the one in your records, so providing a date range increases the likelihood that the payer will find a match.
Information about the billing and/or service providers related to the referenced claim. For each provider, you must set the providerType
and one of the following identifiers: npi
, taxId
, or etin
.
- When the providerType
= BillingProvider
, you must include the provider's etin
.
- When providerType
= ServiceProvider
, you must include the npi
if the provider has one. Otherwise, include the taxId
.
Identify a service line listed in the referenced claim. Used to request status for a specific service line.
Identify a service line listed in the referenced claim. Used to request status for a specific service line.
Information about the subscriber listed in the referenced claim.
- You must set both the
dateOfBirth
andgender
properties when the subscriber is the patient unless the gender is unknown. Stedi determines that the subscriber is the patient when thedependent
object is not included in the request. - If either
dateOfBirth
orgender
is set, you must include both properties unless the gender is unknown.
This is the payer name, such as Cigna or Aetna.
This is the Payer ID. Visit the Payer Network for a complete list. You can send requests using the Primary Payer ID, the Stedi Payer ID, or any alias listed in the payer record.
- Required string length:
2 - 80
Response
ClaimStatus 200 response
The status information for the claim referenced in the original claim status request.
The payer may return multiple claims in the response if they have more than one claim on file that matches the information you provided.
The control number the payer provided in the claim status response. This is used to identify the transaction.
Information about the dependent listed in the referenced claim.
The syntax error code in the 999 Implementation Acknowledgment. It indicates the type of error (if present) in the EDI request syntax. Visit IK502
in the Implementation Acknowledgment specification for a complete list.
Metadata about the response.
Information about the payer listed in the referenced claim.
Information about the billing and/or service providers related to the referenced claim.
The control number for the transaction.
The status of the entire claim.
Information about the subscriber listed in the referenced claim.
An ID for the payer you identified in the original claim status request. This value may differ from the tradingPartnerServiceId
you submitted in the original request because it reflects the payer's internal concept of their ID, not necessarily the ID Stedi uses to route requests to this payer.
The acknowledgment code in the 999 Implementation Acknowledgment, an EDI file generated by the payer to acknowledge receipt of the claim status request. It indicates whether the claim status request was accepted or rejected due to errors in the EDI request syntax.
The raw X12 response from the payer.
curl --request POST \
--url "https://healthcare.us.stedi.com/2024-04-01/change/medicalnetwork/claimstatus/v2" \
--header "Authorization: <api_key>" \
--header "Content-Type: application/json" \
--data '{
"controlNumber": "222222222",
"encounter": {
"beginningDateOfService": "20240318",
"endDateOfService": "20240402"
},
"providers": [
{
"npi": "1999999984",
"organizationName": "Behavioral Services P.C.",
"providerType": "BillingProvider"
}
],
"subscriber": {
"dateOfBirth": "19000806",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "111222333"
},
"tradingPartnerServiceId": "3429"
}'
const body = JSON.stringify({
"controlNumber": "222222222",
"encounter": {
"beginningDateOfService": "20240318",
"endDateOfService": "20240402"
},
"providers": [
{
"npi": "1999999984",
"organizationName": "Behavioral Services P.C.",
"providerType": "BillingProvider"
}
],
"subscriber": {
"dateOfBirth": "19000806",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "111222333"
},
"tradingPartnerServiceId": "3429"
})
fetch("https://healthcare.us.stedi.com/2024-04-01/change/medicalnetwork/claimstatus/v2", {
headers: {
"Authorization": "<api_key>"
},
body
})
package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://healthcare.us.stedi.com/2024-04-01/change/medicalnetwork/claimstatus/v2"
body := strings.NewReader(`{
"controlNumber": "222222222",
"encounter": {
"beginningDateOfService": "20240318",
"endDateOfService": "20240402"
},
"providers": [
{
"npi": "1999999984",
"organizationName": "Behavioral Services P.C.",
"providerType": "BillingProvider"
}
],
"subscriber": {
"dateOfBirth": "19000806",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "111222333"
},
"tradingPartnerServiceId": "3429"
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Authorization", "<api_key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import requests
url = "https://healthcare.us.stedi.com/2024-04-01/change/medicalnetwork/claimstatus/v2"
body = {
"controlNumber": "222222222",
"encounter": {
"beginningDateOfService": "20240318",
"endDateOfService": "20240402"
},
"providers": [
{
"npi": "1999999984",
"organizationName": "Behavioral Services P.C.",
"providerType": "BillingProvider"
}
],
"subscriber": {
"dateOfBirth": "19000806",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "111222333"
},
"tradingPartnerServiceId": "3429"
}
response = requests.request("POST", url, json = body, headers = {
"Authorization": "<api_key>",
"Content-Type": "application/json"
})
print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.net.http.HttpRequest.BodyPublishers;
var body = BodyPublishers.ofString("""{
"controlNumber": "222222222",
"encounter": {
"beginningDateOfService": "20240318",
"endDateOfService": "20240402"
},
"providers": [
{
"npi": "1999999984",
"organizationName": "Behavioral Services P.C.",
"providerType": "BillingProvider"
}
],
"subscriber": {
"dateOfBirth": "19000806",
"firstName": "Jane",
"lastName": "Doe",
"memberId": "111222333"
},
"tradingPartnerServiceId": "3429"
}""");
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create("https://healthcare.us.stedi.com/2024-04-01/change/medicalnetwork/claimstatus/v2"))
.header("Content-Type", "application/json")
.header("Authorization", "<api_key>")
.POST(body)
.build();
try {
HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Response body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}
{
"code": "string",
"message": "string"
}