Institutional Claims FAQs
NOTE
Please see the API FAQs section for tips and solutions to some of the most common questions asked by customers, developer community, and internal staff about the use of the Change Healthcare APIs.
How do I access the Institutional Claims APIs?
The Institutional Claims APIs enables healthcare providers to submit institutional healthcare claims for a service or encounter.
What information goes in the API Request header?
See API request header information.
How do I check the Operating Status of the API?
Change Healthcare's /institutionalclaims/v1/healthcheck
endpoint checks the operating status of the Institutional Claims API engine. See API Health Check.
Do you have a sandbox that I can test with before signing a contract?
Yes, we do. See API FAQ and API environments.
What does a typical Institutional Claims API request look like?
The Institutional Claims Submission API uses the POST
request. Responses to our Medical Network APIs can be lengthy due to the many data points that a payer or trading partner provides in the query response. This is especially true since institutional claims can have hundreds of line items in the claimInformation
object (Loop 2300 in the EDI spec), each of which reflects payer decisions on payment.
Our APIs translate back and forth between JSON and X12 EDI when the information departs into and returns from the medical network. All fields and JSON objects conform to the EDI 837i transaction standard.
Institutional claims v1 request example
The following example is brief compared to what can apply in a real-world transaction.
```javascript
POST https://apigw.changehealthcare.com/medicalnetwork/institutionalclaims/v1/[validation|submission] HTTP/1.1
Host: ${apigee_host}
Authorization:Bearer <Your-Access-Token>
Content-Type: application/json
{
"controlNumber": "000000001",
"tradingPartnerServiceId": "9496",
"submitter" : {
"organizationName" : "happy doctors group",
"taxId":"12345",
"contactInformation": {
"name": "janetwo doetwo",
"phoneNumber": "123456789",
"email": "[email protected]",
"faxNumber": "123456789"
}
},
"receiver": {
"organizationName": "EXTRA HEALTHY INSURANCE",
"taxId":"67890"
},
"subscriber" : {
"memberId": "0000000001",
"paymentResponsibilityLevelCode": "P",
"firstName": "johnOne",
"lastName": "doeOne",
"gender": "M",
"dateOfBirth": "19800101",
"address": {
"address1": "123 address1",
"city": "city1",
"state": "wa",
"postalCode": "981010000"
}
},
"providers": [{
"providerType": "BillingProvider",
"npi": "1760854442",
"employerId": "123456789",
"organizationName": "HAPPY DOCTORS GROUPPRACTICE",
"address": {
"address1": "123 address1",
"city": "city1",
"state": "wa",
"postalCode": "981010000"
}
}],
"claimInformation" : {
"claimFilingCode": "CI",
"patientControlNumber": "12345",
"claimChargeAmount": "3.75",
"placeOfServiceCode": "11",
"claimFrequencyCode": "1",
"signatureIndicator": "Y",
"planParticipationCode": "A",
"releaseInformationCode": "Y",
"benefitsAssignmentCertificationIndicator": "Y",
"billingNote":"ADD",
"claimDateInformation": {
"statementBeginDate": "20181209",
"statementEndDate": "20181214",
"dischargeHour":"1130",
"admissionDateAndHour": "201810131242"
},
"claimCodeInformation": {
"admissionTypeCode": "1",
"patientStatusCode": "10",
"admissionSourceCode": "7"
},
"serviceLines":[{
"assignedNumber": "1",
"institutionalService": {
"serviceLineRevenueCode": "1",
"lineItemChargeAmount": "72.50",
"measurementUnit": "UN",
"serviceUnitCount": "1"
}
}],
"principalDiagnosis": {
"qualifierCode": "ABK",
"principalDiagnosisCode": "S93401A",
"presentOnAdmissionIndicator": "Y"
},
"admittingDiagnosis":{"qualifierCode": "ABJ",
"admittingDiagnosisCode": "S93401A"
},
"otherSubscriberInformation": {
"paymentResponsibilityLevelCode": "A",
"individualRelationshipCode": "19",
"benefitsAssignmentCertificationIndicator": "Y",
"claimFilingIndicatorCode": "11",
"releaseOfInformationCode": "Y",
"otherPayerName":{
"otherPayerOrganizationName": "ABC Insurance Co",
"otherPayerIdentifierTypeCode": "PI",
"otherPayerIdentifier": "11122333"
},
"otherSubscriberName": {
"otherInsuredQualifier": "1",
"otherInsuredLastName": "DOE",
"otherInsuredIdentifierTypeCode": "MI",
"otherInsuredIdentifier": "123456"
}
}
}
}
```
In its header section, the request body supports use of either the tradingPartnerServiceId
or the serviceId
as the required payer identification.
The submitter
object describes the information for the medical institution submitting the transaction. The core claimInformation
object follows the provider information. It contains the insurance coding for the claim.
What does a typical Institutional Claims API response look like?
The primary elements of a medical claims submission response consist of the aforementioned meta
object and a claimReference
object. It contains a number of tracking values.
Institutional claims response example
```json
{
"status": "SUCCESS",
"controlNumber": "000000001",
"tradingPartnerServiceId": "9496",
"claimReference": {
"correlationId": "210322R999898~66684261175841",
"submitterId": "009998",
"customerClaimNumber": "000000001",
"patientControlNumber": "12345",
"timeOfResponse": "2021-03-22T19:34:08.85-05:00",
"claimType": "PRO",
"formatVersion": "5010",
"rhclaimNumber": "2108151508527"
},
"meta": {
"submitterId": "999898",
"senderId": "Xxxx.Xxxxxx",
"billerId": "009998",
"traceId": "900773a9-c0ba-6aa2-0f61-cfcc30a0200f",
"applicationMode": "pro"
},
"editStatus": "SUCCESS",
"payer": {
"payerName": "Unknown",
"payerID": "9496"
},
```
The first response you get back from the clearinghouse does not indicate whether the claim is being paid; it indicates that the clearinghouse has accepted the claim and is getting ready to forward it to the payer.
Institutional Claims API Response Example | Description |
---|---|
json { "status": "SUCCESS", "controlNumber": "000000001", "tradingPartnerServiceId": "9496", "claimReference": { "correlationId": "210322R999898~66684261175841", "submitterId": "009998", "customerClaimNumber": "000000001", "patientControlNumber": "12345", "timeOfResponse": "2021-03-22T19:34:08.85-05:00", "claimType": "PRO", "formatVersion": "5010", "rhclaimNumber": "2108151508527" }, "meta": { "submitterId": "999898", "senderId": "Xxxx.Xxxxxx", "billerId": "009998", "traceId": "900773a9-c0ba-6aa2-0f61-cfcc30a0200f", "applicationMode": "pro" }, "editStatus": "SUCCESS", "payer": { "payerName": "Unknown", "payerID": "9496" }, | claimReference is the response's main object. Key values are:
|
What do Institutional Claims error responses look like?
If something is wrong with the syntax of the data, you may get a response from our validation endpoint.
Syntax error response from /validation
endpoint
/validation
endpoint```javascript
{
"errors": [
{
"field": "claimInformation.validReleaseInformationCode",
"description": "Allowed Values are: 'I' Informed Consent to Release Medical Information for Conditions or Diagnoses Regulated by Federal Statutes,'Y' Yes, Provider has a Signed Statement Permitting Release of Medical Billing Data Related to a Claim"
}
]
}
```
The error is in the claimInformation
object's validReleaseInformationCode
attribute. The API also lists out the permissible values that you can apply to correct the error (of course, the chosen value must be correct in the context of the claim).
If the syntax is correct but an error in the format of the claim makes it to the clearinghouse, you may get a response from our Edit engine similar to the following.
Claims error response format
```javascript
{
"status": "EDITS",
"controlNumber": "000000001",
"tradingPartnerId": "RANDOM_ID",
"tradingPartnerServiceId": "9496",
"claimReference": {
"correlationId": "200331R999898~1612903439033376",
"submitterId": "009998999898",
"customerClaimNumber": "000000001",
"patientControlNumber": "12345",
"timeOfResponse": "2020-03-31T16:41:00.895-05:00",
"claimType": "INS"
},
"errors": [
{
"field": "03",
"value": "981010000",
"description": "When entered, the Billing Provider Postal Code must be nine numeric characters and valid for the state.\n\nLOOP 2010AA N403",
"location": "2010AA N4"
}
]
}
```
The error reports the X12 loop and segment where the incorrect value occurred. It corresponds to the postalCode
attribute in the subscriber
object.
Check Error Messages in Institutional Claims for more information.
NOTE
We recommend using the Validation API before sending the claim request to the payer. The Validation rules help prevent claims with incorrect information from being sent to the payer, such as a typo in the NPI, errors in calculations, or poor formatting and syntax in the claim. You can use the
/institutionalclaims/v1/healthcheck
endpoint to check the operating status of the service endpoint before sending the claim.
How do Institutional Claims work for Medicare?
Medicare payers accept claims only for subscribers. If you want to submit a dependent claim with a Medicare payer, submit the dependent as a subscriber in the claim request.
What is the difference between an Institutional claim and a Professional claim?
- Professional billing typically uses the 837p transaction (or the CMS-1500 form in hard copy)
- Institutional billings use the 837i transaction
We support both types of electronic claims and transactions. Institutional billing also sometimes encompasses collections while Professional Claims and billing typically do not.
Professional billing controls the billing of claims generated for work performed by physicians, suppliers, and other non-institutional providers for both outpatient and inpatient services. One commonality: our APIs help support and automate insurance coding for both Institutional and Professional claims.
What is the claimReference field in the Submission response?
The claimReference
field is an object containing the list of identifiers that you can use to track an Institutional Claim. If questions arise about a claim, you can provide the information listed in the claimReference
object to Change Healthcare support for troubleshooting purposes. It appears in all Submission responses for claims, Institutional Claims API response. The list of identifiers may differ depending on the context for the response:
```json
{
"status": "SUCCESS",
"controlNumber": "000000001",
"tradingPartnerServiceId": "9496",
"claimReference": {
"correlationId": "201007R999898~49588871937782918",
"submitterId": "009998999898",
"customerClaimNumber": "000000001",
"patientControlNumber": "12345",
"timeOfResponse": "2020-10-07T00:31:07.723-05:00",
"claimType": "INS"
}
}
```
claimReference object fields
The fields in the claimReference
object include the following:
Field | Description |
---|---|
correlationId | ID used by support to locate a transaction at the clearinghouse. |
submitterId | The customer's combined biller ID and submitter ID. |
customerClaimNumber | ID set by the customer in the claim. |
patientControlNumber | ID set by the customer in the claim for the patient. |
timeOfResponse | Timestamp for the response. |
claimType | Type of claim, Professional or Institutional. |
formatVersion | EDI format version, will always be 5010 for the current version of the 837 claim. |
rhclaimNumber | Number assigned by the clearinghouse. You use this value to search for the claim in ConnectCenter. |
If the Primary claims are sent electronically, will the Secondary/Tertiary claims be sent electronically as well all the time?
For the secondary claim to be paid electronically, the primary payer must accept secondary claim.
These payers can be reviewed in the Change Healthcare [Payer Finder tool](https://payerfinder.changehealthcare.com/npd or https://payerfinder.changehealthcare.com/cap).
The âAccepts Secondaryâ column is not automatically displayed.
- Click the gear icon (highlighted below) at the top-right of the list.

Payer Finder Tool
- From the menu that shows, select the Accepts Secondary checkbox.

Column Settings
- Save your settings.
This will display an additional column. Those with a âYâ designation, accept secondary claims.
However, the secondary payer must also process claims electronically and the appropriate payer ID must be included within the claim for the process to be fully electronic.
What is the tradingPartnerServiceId?
This value is also known as the payer ID. For any of our Claims APIs, this will always be an alphanumeric five-digit value, such as "aetna" or "87226" for United Healthcare.
Can we electronically bill Worker's Compensation?
Our APIs can transmit accident and worker's compensation claims.
A provider has two different teams; one enters the claim and the other verifies and submits it. Before submitting, can they enter the claim, save it and have it released when ready?
Our APIs do not have a caching/drafting feature. Customers can develop and automate this feature. Customers should hold the claims at their end, and programmatically set up a console to separate working on claims from submitting them.
For EDI claims, where can I put the session times in Loop 2400 for each individual line in the claim request when using the claims API?
In the developers portal's JSON-to-EDI mapping, scroll down to Loop 2400 to view different SV segments.
How to avoid the error "OTHER PAYER PRIMARY ID# IS MISSING OR INVALID" when the other payer doesn't have a payor ID and for which the claims are set up to be sent by paper?
The Claim Payer Identification (CPID (for claims process only)) for paper claims are listed here:
Professional 1500 form (Medical Claims):
- Commercial CPID 4320
- Medicaid CPID 4322
- BCBS CPID 4323
Institutional UB-04 form (Hospital Claims):
- Commercial CPID 4350
- Medicaid CPID 4352
- BCBS CPID 4353
What is the Claim submission Flow in Change Healthcare?
Please see Claim Submission Workflow.
How do you re-submit a claim that was denied â Appeal & Denial
If a claim is denied or partially paid by a payer, a corrected claim would need to be sent for additional review. Submitting a corrected claim would require the claim frequency code '7', and the payer claim controlNumber must be included on the claim in the claimControlNumber field in the claimSupplementalInformation.
The claimControlNumber is the number assigned by the payer to identify a claim. Once submitted, the payer will review the claim and make any changes based on their internal review. The claimControlNumber is found on the payer 277 report.
The same process would need to be followed for voided claims, but using a frequency code '8.' Here's a sample corrected claim.
{
"controlNumber": "000000001",
"tradingPartnerServiceId": "9496",
"submitter": {
"organizationName": "REGIONAL PPO NETWORK",
"contactInformation": {
"name": "SUBMITTER CONTACT INFO",
"phoneNumber": "123456789"
}
},
"receiver": {
"organizationName": "EXTRA HEALTHY INSURANCE"
},
"subscriber": {
"memberId": "0000000001",
"paymentResponsibilityLevelCode": "P",
"firstName": "johnone",
"lastName": "doeOne",
"gender": "M",
"dateOfBirth": "19800102",
"policyNumber": "00001",
"address": {
"address1": "123 address1",
"city": "city1",
"state": "wa",
"postalCode": "981010000"
}
},
"providers": [{
"providerType": "BillingProvider",
"npi": "1760854442",
"employerId": "123456789",
"organizationName": "HAPPY DOCTORS GROUPPRACTICE",
"address": {
"address1": "000 address1",
"city": "city2",
"state": "tn",
"postalCode": "372030000"
},
"contactInformation": {
"name": "janetwo doetwo",
"phoneNumber": "0000000001"
}
},
{
"providerType": "ReferringProvider",
"npi": "1942788757",
"firstName": "johntwo",
"lastName": "doetwo",
"employerId" : "123456"
},{
"providerType": "RenderingProvider",
"npi": "1942788757",
"firstName": "janetwo",
"lastName": "doetwo",
"middleName": "middletwo",
"ssn" : "000000000"
}],
"claimInformation": {
"claimFilingCode": "CI",
"patientControlNumber": "12345",
"claimChargeAmount": "28.75",
"placeOfServiceCode": "11",
"claimFrequencyCode": "7",
"signatureIndicator": "Y",
"planParticipationCode": "A",
"benefitsAssignmentCertificationIndicator": "Y",
"releaseInformationCode": "Y",
"claimSupplementalInformation": {
"claimControlNumber": "12345"
},
"healthCareCodeInformation": [{
"diagnosisTypeCode": "BK",
"diagnosisCode": "496"
},{
"diagnosisTypeCode": "BF",
"diagnosisCode": "25000"
}],
"serviceFacilityLocation": {
"organizationName": "HAPPY DOCTORS GROUP",
"address": {
"address1": "000 address1",
"city": "city2",
"state": "tn",
"postalCode": "372030000"
}
},
"serviceLines":[ {
"serviceDate": "20050514",
"professionalService": {
"procedureIdentifier": "HC",
"lineItemChargeAmount": "25",
"procedureCode": "E0570",
"measurementUnit": "UN",
"serviceUnitCount": "1",
"compositeDiagnosisCodePointers": {
"diagnosisCodePointers": ["1","2"]
}
}
},
{
"serviceDate": "20050514",
"professionalService": {
"procedureIdentifier": "HC",
"lineItemChargeAmount": "3.75",
"procedureCode": "A7003",
"measurementUnit": "UN",
"serviceUnitCount": "1",
"compositeDiagnosisCodePointers": {
"diagnosisCodePointers": ["1" ]
}
}
}
]
}
}
Is it possible to submit multiple claims at once, in batches?
We do offer batch submissions through SFTP only, our current API does not allow for batch submissions. These would have to be 5010-compliant EDI files. Please reach out to your sales representative to discuss pricing options for SFTP submissions.
When a claim is submitted via the API, the API returns a change healthcare claim ID. What API can I use to fetch the payer's claim number before we receive the ERA, ideally the next day after the claim is submitted successfully?
The payer-assigned claim ID would be returned through the SF and SD reports we provide through the responses and reports API. Additionally, you may be able to check the provider portal for the payer for this information.
Provide the source to obtain the master list related to CMS1500/UB04 Claims forms.
A 1500 is a medical claim (Professional) and UB04 is hospital claim (Institutional). And 837P is a 1500 Medical Claims and 837I is a UB04 Hospital claims. When paper is sent, they use a 1500 form for Medical claims and UB04 for Hospital. Change Healthcare does not have a master list of information. The information is common across the medical industry and there are many crosswalks or sites you can find that map the paper claim locations to a 837.
Related Topics
Updated 4 days ago