Professional Claims (837P) JSON
This endpoint sends 837P (professional) claims to payers. Visit Submit professional claims for a full how-to guide.
- Call this endpoint with a JSON payload.
- Stedi translates your request to the X12 837 EDI format and sends it to the payer.
- The endpoint returns a response from Stedi in JSON format containing information about the claim you submitted and whether the submission was successful.
Send 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
property in the test claim body to T
. This allows you to filter for test claims on the Transactions page in the Stedi portal.
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.
Basic claim submission
The content of your claim submission depends on your use case and the payer’s requirements. However, a basic claim submission includes the following information in the request body:
Information | Description |
---|---|
tradingPartnerServiceId | This is the Payer ID. Visit the Payer Network for a complete list. |
tradingPartnerName | This is the payer’s business name, like Cigna or Aetna. |
submitter object | Information about the entity submitting the healthcare claim. This can be either an individual or an organization, such as a doctor, hospital, or insurance company. |
receiver object | Information about the payer, such as an insurance company or government agency. |
subscriber and/or dependent objects | Information 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 object | Information about the claim, such as the patient control number, claim charge amount, and place of service code. It also includes information about each individual service line included in the claim. |
billing object | Information about the billing provider, such as the NPI, taxonomy code, and organization name. |
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.
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.providerControlNumber
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. If you don’t set the providerControlNumber
for a service line, Stedi uses a random UUID.
Stedi returns service line identifiers in the claimReference.serviceLines
object of the synchronous API response.
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 supervising
object when the rendering provider is supervised by a physician.
Enhanced validation
You can optionally set the Stedi-Validation
header to snip
for enhanced validation on your claim submission.
Enhanced validation uses hundreds of additional edits (the industry term for validation rules) to increase claim acceptance rates. These include Strategic National Implementation Process (SNIP) validations. Stedi also automatically fixes common errors and monitors payer rejections to proactively build out new rules.
There is an additional cost per claim submission when you use enhanced validation. Please reach out to support for access and pricing information.
CMS-1500 Claim Form PDF
When you submit a claim, Stedi automatically generates a 1500 claim form PDF. Please review the behaviors and recommendations in the CMS-1500 claim form PDF documentation if you plan to send the generated PDFs to payers or retain them for your records.
Authorizations
A Stedi API Key for authentication.
Headers
The outbound transaction setting ID. This option only needs to be specified if a non-default release of the Professional Claims guide needs to be used.
Set to snip
for enhanced validation on this claim. Enhanced validation uses hundreds of additional 'edits' (the industry term for validation rules) to increase claims acceptance rates. Stedi also monitors your 277 rejections to proactively build rules based on previous failures. When possible, Stedi automatically fixes common errors (such as invalid date/time formats and character encoding issues) before sending the claim, reducing payer rejections. There is an additional cost per claim submission when you use enhanced validation. Please reach out to support for access and pricing information.
Body
Response
The response is of type object
.