Claims Lifecycle AI v2

Summary API Attachments FAQ CHANGE LOG   
awss
  

Overview

Using artificial intelligence, the Claims Lifecycle AI API proactively identifies claims at risk for denial and provides a score for a particular payer’s likelihood to deny along with insight based on denial category. Using professional claim information, this service returns a score indicating a claim’s propensity to be denied including top three likely reasons for denial.


API Onboarding

See the Security and Authorization section in this portal to learn more about using our APIs. Most of our APIs are private and require credentials to gain access.


Getting Started

You can test the API by using our interactive documentation, using an application such as Postman, or from your own stack. Postman provides an easy UI for testing an API, as well as being the easiest way to start exploring the Claims Lifecycle AI API. It comes with a sample request


Try our Postman Collection Run in Postman

Add your Client Id and Client Secret values to the Security Authorization Access Token Body.

You will receive a token; send the token in your Claims Lifecycle AI API POST request which comes with a sample request.

When you're ready for production, simply remove sandbox from the URL.


Example Request

Submit an HTTPS POST request to the below URL:


POST /ai/claims-lifecycle/medical-network/v2//prediction
Host: sandbox.apis.changehealthcare.com
Authorization: Bearer
Conent-Type: application/json

{
    "precisionThreshold": 0.85, 
  "controlNumber": "3123450",
  "tradingPartnerServiceId": "62308",
  "submitter": {
    "organizationName": "REGIONAL PPO NETWORK",
    "contactInformation": {
      "name": "SUBMITTER CONTACT INFO",
      "phoneNumber": "123456789"
    }
  },
  "receiver": {
    "organizationName": "EXTRA HEALTHY INSURANCE",
    "taxId": ""
  },
  "subscriber": {
    "memberId": "0000004321",
    "paymentResponsibilityLevelCode": "P",
    "firstName": "janeone",
    "lastName": "doeOne",
    "gender": "F",
    "dateOfBirth": "19800102",
    "policyNumber": "00001",
    "address": {
      "address1": "123 address1",
      "city": "city1",
      "state": "OH",
      "postalCode": "432320000"
    }
  },
  "dependent": {
    "memberId": "0000000002",
    "paymentResponsibilityLevelCode": "P",
    "firstName": "johnone",
    "lastName": "doeOne",
    "gender": "M",
    "dateOfBirth": "19800102",
    "policyNumber": "00002",
    "relationshipToSubscriberCode": "01",
    "address": {
      "address1": "123 address1",
      "city": "city1",
      "state": "OH",
      "postalCode": "432320000"
    }
  },

  "providers": [{
    "providerType": "BillingProvider",
    "npi": "1609948736",
    "taxonomyCode": "2085R0202X",
    "employerId": "",
    "organizationName": "HAPPY DOCTORS GROUPPRACTICE",
    "address": {
      "address1": "000 address1",
      "city": "city2",
      "state": "tn",
      "postalCode": "029193228"
    },
    "contactInformation": {
      "name": "janetwo doetwo",
      "phoneNumber": "0000000001"
    }
  },{
    "providerType": "ReferringProvider",
    "npi": "191288888",
    "firstName": "johntwo",
    "lastName": "doetwo",
    "employerId" : "123456"
  },{
    "providerType": "RenderingProvider",
    "npi": "191299999",
    "firstName": "janetwo",
    "lastName": "doetwo",
    "middleName": "middletwo",
    "ssn" : "000000000"
  }],
  "claimInformation": {
    "claimFilingCode": "ZZ",
    "patientControlNumber": "1129/9876-43217",
    "claimChargeAmount": "450",
    "placeOfServiceCode": "11",
    "claimFrequencyCode": "1",
    "signatureIndicator": "",
    "planParticipationCode": "",
    "benefitsAssignmentCertificationIndicator": "Y",
    "releaseInformationCode": "",
    "claimSupplementalInformation": {
      "repricedClaimNumber": "",
      "priorAuthorizationNumber": "Y",
      "claimNumber": ""
    },
    "healthCareCodeInformation": [{
      "diagnosisTypeCode": "ABK",
      "diagnosisCode": "K802"
    },{
      "diagnosisTypeCode": "ABF",
      "diagnosisCode": "M545"
    },{
      "diagnosisTypeCode": "ABF",
      "diagnosisCode": "K5900"
    }
    ],
    "serviceFacilityLocation": {
      "organizationName": "HAPPY DOCTORS GROUP",
      "address": {
        "address1": "000 address1",
        "city": "city2",
        "state": "AL",
        "postalCode": "356013022"
      }
      },
    "serviceLines":[ {
      "serviceDate": "20190201",
      "professionalService": {
        "procedureIdentifier": "HC",
        "lineItemChargeAmount": "209",
        "procedureCode": "99214",
        "measurementUnit": "UN",
        "serviceUnitCount": "1",
        "compositeDiagnosisCodePointers": {
          "diagnosisCodePointers": ["1","2"]
        }
      }
      }
    ]
  }
}


Example Request

{
    "requestId": "460a8d00-79cb-11ea-873a-4fcd6b029adf",
    "modelVersion": "0.14.7",
    "claims": [
        {
            "daysToPay": "7-14",
            "claimId": "3468870",
            "claimDenied": true,
            "drg": false,
            "lines": [
                {
                    "lineId": "1",
                    "lineDenied": false,
                    "allowedAmount": 85.85
                },
                {
                    "lineId": "2",
                    "lineDenied": false,
                    "allowedAmount": 7.06
                },
                {
                    "lineId": "3",
                    "lineDenied": false,
                    "allowedAmount": 3.57
                },
                {
                    "lineId": "4",
                    "lineDenied": true,
                    "allowedAmount": 10.79,
                    "denialReasons": [
                        {
                            "reason": "Registration/Eligibility",
                            "probability": 0.644,
                            "eraCarcCodes": [
                                {
                                    "code": "CO97",
                                    "probability": 0.662
                                },
                                {
                                    "code": "OA94",
                                    "probability": 0.316
                                },
                                {
                                    "code": "PI97",
                                    "probability": 0.01
                                }
                            ]
                        },
                        {
                            "reason": "Payer Re-Coded Service Line",
                            "probability": 0.359,
                            "eraCarcCodes": []
                        },
                        {
                            "reason": "Service not covered",
                            "probability": 0.219,
                            "eraCarcCodes": [
                                {
                                    "code": "CO96",
                                    "probability": 0.612
                                },
                                {
                                    "code": "PI96",
                                    "probability": 0.251
                                },
                                {
                                    "code": "CO256",
                                    "probability": 0.12
                                }
                            ]
                        }
                    ]
                }
            ],
            "missingRevenueCodes": {
                "missing": false,
                "codes": []
            },
            "missingProcedureCodes": {
                "missing": false
            }
        }
    ]
}


Response with “claimDenied”: false and a 0.90 precision threshold included in the request.

{
    "requestId": "73bdd5f0-79d4-11ea-8a06-1bfa28227f65",
    "modelVersion": "0.14.7",
    "claims": [
        {
            "daysToPay": "7-14",
            "claimId": "3123470",
            "claimDenied": false,
            "drg": false,
            "lines": [
                {
                    "lineDenied": false,
                    "allowedAmount": 105.79
                },
                {
                    "lineDenied": false,
                    "allowedAmount": 7.11
                }
            ],
            "missingRevenueCodes": {
                "missing": false,
                "codes": []
            },
            "missingProcedureCodes": {
                "missing": false
            }
        }
    ]
}


List of denial reasons

  • Authorization / Pre-Certification
  • Avoidable Care
  • Duplicate Claim/Service
  • Medical Coding
  • Medical Documentation Requested
  • Missing or Invalid Claim Data
  • Other
  • Payer re-coded service line
  • Provider eligibility
  • Registration/Eligibility
  • Service not covered
  • Untimely Filing


HTTP Response Errors

  • 200 – Success
  • 400 – Bad request
  • 500 – Internal server error

What information needs to go in the request header?

In the header for an Claims Lifecycle AI API request, you need to pass an authorization token. You can get the token by making an API call to:

curl -X POST \
  'https://sandbox.apis.changehealthcare.com/apip/auth/v2/token' \
  -H 'Content-Type: application/json' \
  -d '{
  "client_id": "<Your-ClientId>",
  "client_secret": "<Your-ClientSecret>",
  "grant_type": "client_credentials"
}'

This is a precursor to making an Claims Lifecycle AI API call, which might have the following headers:

Content-Type: application/json
Authorization: Bearer <Your-Access-Token>

Read all about our protocols in the Security -> Authorization section of this portal.

When you're ready for production, simply remove sandbox from the URL.

What fields are required?

For a list of required fields, please see our supplemental documentation.

What is the precision threshold?

The precision threshold represents the tolerance for false positives. For example, a 95% precision threshold allows for 5% of false positive results. We define false positive as the likelihood that a given scenario is true when in fact, it’s not. The precision threshold is included in the request as a decimal. If not included, the system will default to 0.95.

What data does the model look at to predict?

These attributes have the greatest impact on an accurate prediction if missing in the request: * Trading Partner Service ID (also known as Payer ID) * Claim Filing Code * Patient State * Facility Code * Claim Frequency Code * Benefits Assignment Certification Indicator * Procedure Code * Procedure Code Qualifier

Will this API give insight into what edits and/or rules we need to have in place?

The Claims Lifecycle AI API is intended to predict denials at the pre-adjudication phase and is meant to work in conjunction with existing edits.

Can I submit claims in batch?

Yes, you can submit multiple claims in a batch. The API will process requests synchronously, on a one by one basis.

What can I expect the response to tell me?

Here is a list of what you can expect to see in the response: * The API supplies predictions on two levels: the propensity to deny at the claim and line levels * Top three reasons for denial, along with a confidence score * Top three ERA CARC codes, along with a confidence score For more in-depth information, see the Open API spec.

What is a tradingPartnerServiceId?

This value is also known as the payer id. Please reference the Change Healthcare payer list for a list of values or use the Trading Partner API.

What does it mean when I get an OOV_VALUE error?

You are encountering this error because the AI model does not recognize the tradingPartnerServiceId, or payer ID. This means the AI model was not trained on that Payer ID and does not support this service for that payer ID at this time.

What does a typical API call look like?

This API uses a POST HTTPS call. You will provide the input as JSON in the body of the request.

Try our Postman Collection Run in Postman

Submit an HTTPS POST request to the below URL:
POST /ai/claims-lifecycle/medical-network/v2//prediction
Host: sandbox.apis.changehealthcare.com
Authorization: Bearer
Conent-Type: application/json

{
"precisionThreshold": 0.95,
  "controlNumber": "000000001",
  "tradingPartnerServiceId": "87726",
  "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"
    }
  },
  "dependent": {
    "memberId": "0000000002",
    "paymentResponsibilityLevelCode": "P",
    "firstName": "janeone",
    "lastName": "doeOne",
    "gender": "F",
    "dateOfBirth": "19800102",
    "policyNumber": "00002",
    "relationshipToSubscriberCode": "01",
    "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": "1",
    "signatureIndicator": "Y",
    "planParticipationCode": "A",
    "benefitsAssignmentCertificationIndicator": "Y",
    "releaseInformationCode": "Y",
    "claimSupplementalInformation": {
      "repricedClaimNumber": "00001",
      "claimNumber": "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" ]
          }
        }
        }
    ]

  }
}

What does a typical API Response look like?

The response is an object containing the version of the model that scored the claims on the request, an array of claims and lines along with predictions, and advice about the subcategories of denials per line and suggested ERA response codes. Probabilities are numbers between 0 and 1 (representing least likely and most likely respectively).

{
    "requestId": "2ce32a10-79c3-11ea-a2b4-9d34940a98ff",
    "modelVersion": "0.14.7",
    "claims": [
        {
            "daysToPay": "7-14",
            "claimId": "000000001",
            "claimDenied": false,
            "drg": false,
            "lines": [
                {
                    "lineDenied": false,
                    "allowedAmount": 105.59
                },
                {
                    "lineDenied": false,
                    "allowedAmount": 3.66
                }
            ],
            "missingRevenueCodes": {
                "missing": false,
                "codes": []
            },
            "missingProcedureCodes": {
                "missing": false
            }
        }
    ]
}

Change Log

API Name API Version Date Introduced Available Until
Claims Lifecycle AI v2 11/01/19 TBD

Release Notes:

v2

  • Initial offering of Claims Lifecycle AI