Use Stedi to send 837I (institutional) claims to payers. You can also check the status of existing claims in real time.

Stedi automatically configures the necessary settings to send test and production claims and receive 277CA and 835 (ERA) responses from payers.

Some payers require enrollment before you can start sending them claims.

Submit claims through the API

Call the Institutional Claims endpoint to submit 837I institutional claims in JSON.

The endpoint returns a synchronous response from Stedi in JSON format. Later, Stedi will respond with Claim Acknowledgments (277CA), and the payer will respond with Claim Acknowledgments (277CA) and the ERA (835).

Headers

When constructing the request, you must include the following information in HTTP headers:

  • Authorization: Generate an API key to use for authentication.
  • Content-Type: Set to application/json.

Body

The information you submit for a claim depends on your use case. Refer to the Institutional Claims endpoint for a complete list of properties. However, all claims require the following high-level information:

InformationDescription
tradingPartnerServiceIdThis is the Payer ID. Visit the Payer Network for a complete list. You can also use the same payer IDs you used for CHC eligibility checks.
submitter objectInformation about the entity submitting the healthcare claim. This is an organization, such as a hospital or other treatment center.
receiver objectInformation about the entity responsible for the payment of the claim, such as an insurance company or government agency.
subscriber and/or dependent objectsInformation about the patient who received the medical services. Note that if a dependent has their own, unique member ID for their health plan, you should submit their information in the subscriber object and omit the dependent object from the request. You can check whether the dependent has a unique member ID by submitting an Eligibility Check to the payer for the dependent. The payer will return the member ID in the dependents.memberId field, if present.
claimInformation objectInformation about the claim, such as the claim filing code (identifies the type of claim), claim charge amount, and place of service code. It also includes information about each individual service line included in the claim.
Billing providerYou must supply information about the billing provider in either the providers or billing object. This includes the provider’s NPI, name, and other information.

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.

Identify service lines

A claim can contain multiple service lines. Since the payer may accept, reject, or pay a subset of those lines, you can receive an 835 response that references a patientControlNumber, but only pertains to some of the service lines.

However, the claimInformation.serviceLines.lineItemControlNumber serves as a unique identifier for each service line in your claim submission. This value appears in the 277CA and 835 ERA responses as the lineItemControlNumber, allowing you to correlate these responses to specific service lines from the original claim. We strongly recommend setting the lineItemControlNumber to a ULID or other unique identifier for each service line. We recommend using a ULID instead of a UUID because the property has a max of 30 characters.

Sample request

The following example sends an institutional claim.

Test claims

All claims you submit through this endpoint are sent to the payer as production claims unless you explicitly designate them as test data.

To send test claims, set the usageIndicator field in the test claim to T. This allows you to filter for test claims on the Transactions page in the Stedi app.

Note that you will receive a 277 Claim Acknowledgment in response to test claims, allowing you to test your workflow end to end, but you will not receive a test 835 (ERA) response.

Cancel or resubmit claims

You may need to resubmit claims for several reasons, including changes to the patient’s coverage, errors in the original claim’s information, or appealing a denied claim. You may also need to cancel duplicate claims or claims that were submitted in error.

We recommend the following for resubmitting or canceling claims:

  • Correct or replace claims: Set claimInformation.claimFrequencyCode to 7 - Replacement of Prior Claim. We also recommend setting a new, unique patientControlNumber. The payer includes this value in their 835 ERA response, allowing you to easily correlate that response with your resubmission.
  • Cancel claims : Set claimInformation.claimFrequencyCode to 8 - Void/Cancel of Prior Claim.

In both cases, identify the original claim by setting claimInformation.claimSupplementalInformation.claimControlNumber to the Payer Claim Control Number (sometimes called the ICN). This is different from the patientControlNumber you sent in the claim and the Stedi-generated controlNumber returned in the API response. You can retrieve the Payer Claim Control Number from one of the payer’s 277 responses under the key transactions.payers.claimStatusTransactions.claimStatusDetails.patientClaimStatusDetails.claims.claimStatus.tradingPartnerClaimNumber.

View submitted claims

You can view the files that Stedi sends and receives in the Transactions page of the Stedi app.

On the Transactions page, you can review and filter claims by Usage - production or test. Click any claim submission to review its details, including the full request and response payload.