Dental Claims API is Generally Available

Jan 16, 2025

Products

We’re excited to announce that our Dental Claims API is now Generally Available. 

Dental claims allow dental providers to bill insurers for services, such as preventive cleanings, fillings, crowns, bridges, and other restorative procedures. Our new Dental Claims API allows you to automate this process and streamline the claims lifecycle for dental providers and payers.

You can use the new API to submit 837D Dental Claims to hundreds of payers in Stedi’s developer-friendly JSON format or raw X12 EDI format. Once submitted, you can programmatically check the claim status in real time and retrieve 277 claim acknowledgments and 835 electronic remittance advice (ERA) from payers, all through the Stedi clearinghouse.

Submit dental claims to hundreds of payers

Submit requests to one of Stedi’s dental claims endpoints:

  • Dental Claims: Submit your claim in user-friendly JSON. Stedi translates your request to the X12 EDI 837D format.

  • Dental Claims Raw X12: Submit your claim in X12 EDI format. This is ideal if you have an existing system that generates X12 EDI files and you want to send them through Stedi’s API.

Stedi first validates your request against the 837D specification to ensure compliance, reducing payer rejections later on. Then, Stedi constructs and sends a valid X12 EDI 837D claim to the payer. Finally, Stedi returns a response containing information about the claim you submitted and whether the submission was successful.

You can also send test claims to Stedi’s QA clearinghouse by setting the usageIndicator to T, as shown in the example below for the JSON endpoint. This helps you quickly test and debug your end-to-end claims processing pipeline.

curl --request POST \
  --url https://healthcare.us.stedi.com/2024-04-01/dental-claims/submission \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "usageIndicator": "T",
  "tradingPartnerServiceId": "1748",
  "tradingPartnerName": "Tricare West AZ",
  "subscriber": {
    "paymentResponsibilityLevelCode": "P",
    "memberId": "123412345",
    "firstName": "John",
    "lastName": "Doe",
    "groupNumber": "1234567890",
    "gender": "F",
    "address": {
      "address1": "1234 Some St",
      "city": "Buckeye",
      "state": "AZ",
      "postalCode": "85326"
    },
    "dateOfBirth": "20180615"
  },
  "submitter": {
    "organizationName": "ABA Inc",
    "submitterIdentification": "123456789",
    "contactInformation": {
      "phoneNumber": "3131234567",
      "name": "BILLING DEPARTMENT"
    }
  },
  "rendering": {
    "npi": "1234567893",
    "taxonomyCode": "106S00000X",
    "providerType": "RenderingProvider",
    "lastName": "Doe",
    "firstName": "Jane"
  },
  "receiver": {
    "organizationName": "Tricare West AZ"
  },
  "payerAddress": {
    "address1": "PO Box 7000",
    "city": "Camden",
    "state": "SC",
    "postalCode": "29000"
  },
  "claimInformation": {
    "signatureIndicator": "Y",
    "toothStatus": [
      {
        "toothNumber": "3",
        "toothStatusCode": "E"
      }
    ],
    "serviceLines": [
      {
        "serviceDate": "20230428",
        "renderingProvider": {
          "npi": "1234567893",
          "taxonomyCode": "122300000X",
          "providerType": "RenderingProvider",
          "lastName": "Doe",
          "firstName": "Jane"
        },
        "providerControlNumber": "a0UDo000000dd2dMAA",
        "dentalService": {
          "procedureCode": "D7140",
          "lineItemChargeAmount": "832.00",
          "placeOfServiceCode": "12",
          "oralCavityDesignationCode": [
            "1",
            "2"
          ],
          "prosthesisCrownOrInlayCode": "I",
          "procedureCount": 2,
          "compositeDiagnosisCodePointers": {
            "diagnosisCodePointers": [
              "1"
            ]
          }
        },
        "teethInformation": [
          {
            "toothCode": "3",
            "toothSurface": [
              "M",
              "O"
            ]
          }
        ]
      }
    ],
    "serviceFacilityLocation": {
      "phoneNumber": "3131234567",
      "organizationName": "ABA Inc",
      "npi": "1234567893",
      "address": {
        "address1": "ABA Inc 123 Some St",
        "city": "Denver",
        "state": "CO",
        "postalCode": "802383100"
      }
    },
    "releaseInformationCode": "Y",
    "planParticipationCode": "A",
    "placeOfServiceCode": "12",
    "patientControlNumber": "0000112233",
    "healthCareCodeInformation": [
      {
        "diagnosisTypeCode": "ABK",
        "diagnosisCode": "K081"
      }
    ],
    "claimSupplementalInformation": {
      "priorAuthorizationNumber": "20231010012345678"
    },
    "claimFrequencyCode": "1",
    "claimFilingCode": "FI",
    "claimChargeAmount": "832.00",
    "benefitsAssignmentCertificationIndicator": "Y"
  },
  "billing": {
    "taxonomyCode": "106S00000X",
    "providerType": "BillingProvider",
    "organizationName": "ABA Inc",
    "npi": "1999999992",
    "employerId": "123456789",
    "contactInformation": {
      "phoneNumber": "3134893157",
      "name": "ABA Inc"
    },
    "address": {
      "address1": "ABA Inc 123 Some St",
      "city": "Denver",
      "state": "CO",
      "postalCode": "802383000"
    }
  }
}'

Retrieve 277 acknowledgments and 835 ERAs programmatically

After you submit a dental claim, you may receive asynchronous 277CA and 835 ERA responses from the payer. The 277CA indicates whether the claim was accepted or rejected and (if relevant) the reasons for rejection. The 835 ERA, also known as a claim remittance, contains details about payments for specific services and explanations for any adjustments or denials.

You can either poll Stedi for processed 277CAs and 835 ERAs or set up webhooks that automatically send events for processed responses to your endpoint. Then, you can use the following APIs to retrieve them from Stedi in JSON format:

Track claims and responses in Stedi

You can view a list of every claim you submit through Stedi clearinghouse and all associated responses on the Transactions page in Stedi. Click any transaction to review its details, including the full request and response payload.

Start processing claims with Stedi

With the Dental Claims API, you can start automating your claim submission process today. Contact us to learn more and speak to the team.

We’re excited to announce that our Dental Claims API is now Generally Available. 

Dental claims allow dental providers to bill insurers for services, such as preventive cleanings, fillings, crowns, bridges, and other restorative procedures. Our new Dental Claims API allows you to automate this process and streamline the claims lifecycle for dental providers and payers.

You can use the new API to submit 837D Dental Claims to hundreds of payers in Stedi’s developer-friendly JSON format or raw X12 EDI format. Once submitted, you can programmatically check the claim status in real time and retrieve 277 claim acknowledgments and 835 electronic remittance advice (ERA) from payers, all through the Stedi clearinghouse.

Submit dental claims to hundreds of payers

Submit requests to one of Stedi’s dental claims endpoints:

  • Dental Claims: Submit your claim in user-friendly JSON. Stedi translates your request to the X12 EDI 837D format.

  • Dental Claims Raw X12: Submit your claim in X12 EDI format. This is ideal if you have an existing system that generates X12 EDI files and you want to send them through Stedi’s API.

Stedi first validates your request against the 837D specification to ensure compliance, reducing payer rejections later on. Then, Stedi constructs and sends a valid X12 EDI 837D claim to the payer. Finally, Stedi returns a response containing information about the claim you submitted and whether the submission was successful.

You can also send test claims to Stedi’s QA clearinghouse by setting the usageIndicator to T, as shown in the example below for the JSON endpoint. This helps you quickly test and debug your end-to-end claims processing pipeline.

curl --request POST \
  --url https://healthcare.us.stedi.com/2024-04-01/dental-claims/submission \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "usageIndicator": "T",
  "tradingPartnerServiceId": "1748",
  "tradingPartnerName": "Tricare West AZ",
  "subscriber": {
    "paymentResponsibilityLevelCode": "P",
    "memberId": "123412345",
    "firstName": "John",
    "lastName": "Doe",
    "groupNumber": "1234567890",
    "gender": "F",
    "address": {
      "address1": "1234 Some St",
      "city": "Buckeye",
      "state": "AZ",
      "postalCode": "85326"
    },
    "dateOfBirth": "20180615"
  },
  "submitter": {
    "organizationName": "ABA Inc",
    "submitterIdentification": "123456789",
    "contactInformation": {
      "phoneNumber": "3131234567",
      "name": "BILLING DEPARTMENT"
    }
  },
  "rendering": {
    "npi": "1234567893",
    "taxonomyCode": "106S00000X",
    "providerType": "RenderingProvider",
    "lastName": "Doe",
    "firstName": "Jane"
  },
  "receiver": {
    "organizationName": "Tricare West AZ"
  },
  "payerAddress": {
    "address1": "PO Box 7000",
    "city": "Camden",
    "state": "SC",
    "postalCode": "29000"
  },
  "claimInformation": {
    "signatureIndicator": "Y",
    "toothStatus": [
      {
        "toothNumber": "3",
        "toothStatusCode": "E"
      }
    ],
    "serviceLines": [
      {
        "serviceDate": "20230428",
        "renderingProvider": {
          "npi": "1234567893",
          "taxonomyCode": "122300000X",
          "providerType": "RenderingProvider",
          "lastName": "Doe",
          "firstName": "Jane"
        },
        "providerControlNumber": "a0UDo000000dd2dMAA",
        "dentalService": {
          "procedureCode": "D7140",
          "lineItemChargeAmount": "832.00",
          "placeOfServiceCode": "12",
          "oralCavityDesignationCode": [
            "1",
            "2"
          ],
          "prosthesisCrownOrInlayCode": "I",
          "procedureCount": 2,
          "compositeDiagnosisCodePointers": {
            "diagnosisCodePointers": [
              "1"
            ]
          }
        },
        "teethInformation": [
          {
            "toothCode": "3",
            "toothSurface": [
              "M",
              "O"
            ]
          }
        ]
      }
    ],
    "serviceFacilityLocation": {
      "phoneNumber": "3131234567",
      "organizationName": "ABA Inc",
      "npi": "1234567893",
      "address": {
        "address1": "ABA Inc 123 Some St",
        "city": "Denver",
        "state": "CO",
        "postalCode": "802383100"
      }
    },
    "releaseInformationCode": "Y",
    "planParticipationCode": "A",
    "placeOfServiceCode": "12",
    "patientControlNumber": "0000112233",
    "healthCareCodeInformation": [
      {
        "diagnosisTypeCode": "ABK",
        "diagnosisCode": "K081"
      }
    ],
    "claimSupplementalInformation": {
      "priorAuthorizationNumber": "20231010012345678"
    },
    "claimFrequencyCode": "1",
    "claimFilingCode": "FI",
    "claimChargeAmount": "832.00",
    "benefitsAssignmentCertificationIndicator": "Y"
  },
  "billing": {
    "taxonomyCode": "106S00000X",
    "providerType": "BillingProvider",
    "organizationName": "ABA Inc",
    "npi": "1999999992",
    "employerId": "123456789",
    "contactInformation": {
      "phoneNumber": "3134893157",
      "name": "ABA Inc"
    },
    "address": {
      "address1": "ABA Inc 123 Some St",
      "city": "Denver",
      "state": "CO",
      "postalCode": "802383000"
    }
  }
}'

Retrieve 277 acknowledgments and 835 ERAs programmatically

After you submit a dental claim, you may receive asynchronous 277CA and 835 ERA responses from the payer. The 277CA indicates whether the claim was accepted or rejected and (if relevant) the reasons for rejection. The 835 ERA, also known as a claim remittance, contains details about payments for specific services and explanations for any adjustments or denials.

You can either poll Stedi for processed 277CAs and 835 ERAs or set up webhooks that automatically send events for processed responses to your endpoint. Then, you can use the following APIs to retrieve them from Stedi in JSON format:

Track claims and responses in Stedi

You can view a list of every claim you submit through Stedi clearinghouse and all associated responses on the Transactions page in Stedi. Click any transaction to review its details, including the full request and response payload.

Start processing claims with Stedi

With the Dental Claims API, you can start automating your claim submission process today. Contact us to learn more and speak to the team.

We’re excited to announce that our Dental Claims API is now Generally Available. 

Dental claims allow dental providers to bill insurers for services, such as preventive cleanings, fillings, crowns, bridges, and other restorative procedures. Our new Dental Claims API allows you to automate this process and streamline the claims lifecycle for dental providers and payers.

You can use the new API to submit 837D Dental Claims to hundreds of payers in Stedi’s developer-friendly JSON format or raw X12 EDI format. Once submitted, you can programmatically check the claim status in real time and retrieve 277 claim acknowledgments and 835 electronic remittance advice (ERA) from payers, all through the Stedi clearinghouse.

Submit dental claims to hundreds of payers

Submit requests to one of Stedi’s dental claims endpoints:

  • Dental Claims: Submit your claim in user-friendly JSON. Stedi translates your request to the X12 EDI 837D format.

  • Dental Claims Raw X12: Submit your claim in X12 EDI format. This is ideal if you have an existing system that generates X12 EDI files and you want to send them through Stedi’s API.

Stedi first validates your request against the 837D specification to ensure compliance, reducing payer rejections later on. Then, Stedi constructs and sends a valid X12 EDI 837D claim to the payer. Finally, Stedi returns a response containing information about the claim you submitted and whether the submission was successful.

You can also send test claims to Stedi’s QA clearinghouse by setting the usageIndicator to T, as shown in the example below for the JSON endpoint. This helps you quickly test and debug your end-to-end claims processing pipeline.

curl --request POST \
  --url https://healthcare.us.stedi.com/2024-04-01/dental-claims/submission \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "usageIndicator": "T",
  "tradingPartnerServiceId": "1748",
  "tradingPartnerName": "Tricare West AZ",
  "subscriber": {
    "paymentResponsibilityLevelCode": "P",
    "memberId": "123412345",
    "firstName": "John",
    "lastName": "Doe",
    "groupNumber": "1234567890",
    "gender": "F",
    "address": {
      "address1": "1234 Some St",
      "city": "Buckeye",
      "state": "AZ",
      "postalCode": "85326"
    },
    "dateOfBirth": "20180615"
  },
  "submitter": {
    "organizationName": "ABA Inc",
    "submitterIdentification": "123456789",
    "contactInformation": {
      "phoneNumber": "3131234567",
      "name": "BILLING DEPARTMENT"
    }
  },
  "rendering": {
    "npi": "1234567893",
    "taxonomyCode": "106S00000X",
    "providerType": "RenderingProvider",
    "lastName": "Doe",
    "firstName": "Jane"
  },
  "receiver": {
    "organizationName": "Tricare West AZ"
  },
  "payerAddress": {
    "address1": "PO Box 7000",
    "city": "Camden",
    "state": "SC",
    "postalCode": "29000"
  },
  "claimInformation": {
    "signatureIndicator": "Y",
    "toothStatus": [
      {
        "toothNumber": "3",
        "toothStatusCode": "E"
      }
    ],
    "serviceLines": [
      {
        "serviceDate": "20230428",
        "renderingProvider": {
          "npi": "1234567893",
          "taxonomyCode": "122300000X",
          "providerType": "RenderingProvider",
          "lastName": "Doe",
          "firstName": "Jane"
        },
        "providerControlNumber": "a0UDo000000dd2dMAA",
        "dentalService": {
          "procedureCode": "D7140",
          "lineItemChargeAmount": "832.00",
          "placeOfServiceCode": "12",
          "oralCavityDesignationCode": [
            "1",
            "2"
          ],
          "prosthesisCrownOrInlayCode": "I",
          "procedureCount": 2,
          "compositeDiagnosisCodePointers": {
            "diagnosisCodePointers": [
              "1"
            ]
          }
        },
        "teethInformation": [
          {
            "toothCode": "3",
            "toothSurface": [
              "M",
              "O"
            ]
          }
        ]
      }
    ],
    "serviceFacilityLocation": {
      "phoneNumber": "3131234567",
      "organizationName": "ABA Inc",
      "npi": "1234567893",
      "address": {
        "address1": "ABA Inc 123 Some St",
        "city": "Denver",
        "state": "CO",
        "postalCode": "802383100"
      }
    },
    "releaseInformationCode": "Y",
    "planParticipationCode": "A",
    "placeOfServiceCode": "12",
    "patientControlNumber": "0000112233",
    "healthCareCodeInformation": [
      {
        "diagnosisTypeCode": "ABK",
        "diagnosisCode": "K081"
      }
    ],
    "claimSupplementalInformation": {
      "priorAuthorizationNumber": "20231010012345678"
    },
    "claimFrequencyCode": "1",
    "claimFilingCode": "FI",
    "claimChargeAmount": "832.00",
    "benefitsAssignmentCertificationIndicator": "Y"
  },
  "billing": {
    "taxonomyCode": "106S00000X",
    "providerType": "BillingProvider",
    "organizationName": "ABA Inc",
    "npi": "1999999992",
    "employerId": "123456789",
    "contactInformation": {
      "phoneNumber": "3134893157",
      "name": "ABA Inc"
    },
    "address": {
      "address1": "ABA Inc 123 Some St",
      "city": "Denver",
      "state": "CO",
      "postalCode": "802383000"
    }
  }
}'

Retrieve 277 acknowledgments and 835 ERAs programmatically

After you submit a dental claim, you may receive asynchronous 277CA and 835 ERA responses from the payer. The 277CA indicates whether the claim was accepted or rejected and (if relevant) the reasons for rejection. The 835 ERA, also known as a claim remittance, contains details about payments for specific services and explanations for any adjustments or denials.

You can either poll Stedi for processed 277CAs and 835 ERAs or set up webhooks that automatically send events for processed responses to your endpoint. Then, you can use the following APIs to retrieve them from Stedi in JSON format:

Track claims and responses in Stedi

You can view a list of every claim you submit through Stedi clearinghouse and all associated responses on the Transactions page in Stedi. Click any transaction to review its details, including the full request and response payload.

Start processing claims with Stedi

With the Dental Claims API, you can start automating your claim submission process today. Contact us to learn more and speak to the team.

Share

Twitter
LinkedIn

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.