POST
/
change
/
medicalnetwork
/
claimstatus
/
v2
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 '{
  "tradingPartnerServiceId": "3429",
  "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"
  }
}'
{
  "claims": [
    {
      "claimStatus": {
        "amountPaid": "95.55",
        "claimServiceDate": "20240325",
        "effectiveDate": "20240329",
        "paidDate": "20240329",
        "patientAccountNumber": "3333333",
        "statusCategoryCode": "P5",
        "statusCategoryCodeValue": "Pending/Payer Administrative/System hold",
        "statusCode": "3",
        "statusCodeValue": "Claim has been adjudicated and is awaiting payment cycle.",
        "submittedAmount": "238.44",
        "trackingNumber": "222222222",
        "tradingPartnerClaimNumber": "5332034153-KK"
      },
      "serviceDetails": [
        {
          "service": {
            "amountPaid": "95.55",
            "procedureId": "90837",
            "serviceIdQualifier": "Health Care Financing Administration Common Procedural Coding System (HCPCS) Codes",
            "serviceIdQualifierCode": "HC",
            "submittedAmount": "238.44",
            "submittedUnits": "1"
          },
          "status": [
            {
              "effectiveDate": "20240329",
              "statusCategoryCode": "P5",
              "statusCategoryCodeValue": "Pending/Payer Administrative/System hold",
              "statusCode": "3",
              "statusCodeValue": "Claim has been adjudicated and is awaiting payment cycle."
            }
          ]
        }
      ]
    }
  ],
  "controlNumber": "222222222",
  "meta": {
    "applicationMode": "production",
    "traceId": "bf27223e-46c3-451e-b2b4-46f3f0b6fe3b"
  },
  "payer": {
    "organizationName": "UNITEDHEALTHCARE",
    "payerIdentification": "3429"
  },
  "providers": [
    {
      "organizationName": "Behavioral Services P.C.",
      "providerType": "BillingProvider",
      "taxId": "123456789"
    },
    {
      "npi": "1999999984",
      "organizationName": "Behavioral Services P.C.",
      "providerType": "ServiceProvider"
    }
  ],
  "reassociationKey": "000000001",
  "status": "success",
  "subscriber": {
    "firstName": "JANE",
    "lastName": "DOE",
    "memberId": "111222333"
  },
  "tradingPartnerServiceId": "3429"
}

This endpoint sends real-time 276 Claim Status requests to payers. You can use it to quickly check the status of existing claims.

  • Call this endpoint with a JSON payload.
  • Stedi translates the JSON to the X12 276 EDI format and sends it to the payer.
  • The endpoint returns a synchronous 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.

Best practices

We recommend the following best practices to increase your chances of receiving status information.

Supply a date of services range

Supply a date range that is at least plus or minus 7 days from the date of the services listed in the claim. 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.

We also recommend keeping the dates of service range to 30 days or less. Some payers may reject requests with a date range that is too wide.

Don’t provide too much information

Providing too much information in a claim status request can negatively affect the results. That’s why we recommend first sending a base request with only the following information:

InformationDescription
tradingPartnerServiceIdThis 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.
controlNumberAn integer to identify the transaction. You can set this to whatever value you prefer, and it does not need to be globally unique.
providersThe provider information from the original claim. To start, provide only the npi, organizationName, and providerType properties.
subscriberThe subscriber information from the original claim. To start, provide only the firstName, lastName, dateOfBirth, gender, and memberId properties.
dependentThe dependent information from the original claim. To start, provide only the firstName, lastName, dateOfBirth, and gender properties. If the patient is the subscriber, you can omit this object.
encounterThe encounter information from the original claim status request. To start, provide only the beginningDateOfService and endDateOfService properties. Remember that you should provide a date range that is plus or minus 7 days from the date of service listed in the claim for best results.

If this base request fails to return results, try adding in other information like encounter.tradingPartnerClaimNumber and providers.taxId.

You will eventually learn payer-specific nuances and can build logic in your system to supply additional information to specific payers. For example, some payers may have better success rates when you include the claim number.

Character restrictions

Don’t include the following characters in your request data: ~, *, : and ^. They are reserved for delimiters in the resulting X12 EDI transaction, and X12 doesn’t support using escape sequences to represent delimiters or special characters. Stedi returns a 400 error if you include these restricted characters in your request.

Only use the X12 Basic and Extended character sets in request data. Using characters outside these sets may cause validation and HTTP 400 errors.

Conditional requirements

Note that objects marked as required are required for all requests, while others are conditionally required depending on the circumstances. When you include a conditionally required object, you must include all of its required properties.

For example, you must always include the subscriber object in your request, but you only need to include the serviceLinesInformation object when you want to request the status for a specific service line.

Payer limitations

Payers generally only allow a provider organization to check the status of the claims they submitted. This means that you likely won’t be able to check the status of a claim submitted by a different provider organization or by the patient themselves, even if you have all of the details about the claim. Payers impose these access controls to protect plan member privacy and confidential commercial data.

Payers also often archive claims older than 18 months, but this varies by payer. If you try to check the status of a claim from several years ago, the payer may return an error even if the information you submit matches a real historical claim.

Timeout

Requests to payers typically time out at 1 minute, though Stedi can keep connections open longer than that if needed.

Authorizations

Authorization
string
header
required

A Stedi API Key for authentication.

Body

application/json

Response

200
application/json
ClaimStatus 200 response

The response is of type object.