Validating claims

ClaimCenter validation levels

During a claim's lifecycle, a claim passes through one or more levels of maturity. Within ClaimCenter, these are called validation levels. The base configuration comes with the following levels:

  • Load and save - The claim has enough information to be saved to the database.
  • New loss completion - The claim has enough information to be assigned to an adjuster.
  • Valid for ISO - The claim has enough information to be filed with ISO. (ISO is a national database used in the United States to verify that the same loss is not being filed with multiple insurers.)
  • Send to external (systems) - The claim has enough information to send information about it to external systems within the insurer, such as a Policy Administration System that may be trying to assess policy renewal rates.
  • Ability to pay - The claim has enough information such that payments can be written for it.

A claim's validation level is determined and enforced by a set of claim validation rules. Whenever a change is made to a claim, the validation rules determine if the claim can be advanced to a later stage of validation. The validation rules also prevent a claim from moving backwards to a lower level of validation. For more information on validation rules, see the Gosu Rules Guide.

Note: In the base configuration, the "load and save" level applies only to claims that are being imported through the ClaimCenter SOAP-based ClaimAPI API. Draft claims submitted through the system APIs do not need to pass any level. In order for a draft claim to be promoted to an open claim, the draft claim must pass both the "load and save" level and the "new loss completion" level. For more information, see Executing FNOL.

Validating a claim through the system APIs

The Claim API includes a POST /claim/{claimId}/validate endpoint. This endpoint can be used to:

  • Determine the current validation level and all previous validation levels reached by the claim
  • Perform validation on the claim for a specific validation level. (This returns information that identifies the conditions that must be true for the claim to advance to the specified level.)

Checking a claim's validation level can be useful in the following situations:

  • You want to determine whether or not the claim has enough information to be assigned to an adjuster. You can use the /validate endpoint to determine if the claim is at or beyond the "new loss completion" level.
    • If the claim is below the "new loss completion" level, the payload identifies the conditions needed to reach "new loss completion".
  • You want to execute a payment for a claim. You can use the /validate endpoint to determine if the claim is at the "ability to pay" level.
    • If the claim is below the "ability to pay" level, the payload identifies the conditions needed to reach "ability to pay".

Example of a claim at the "Load and save" level

Suppose you execute a POST /claim/{claimId}/validate for claim cc:706 and this is the response:

    "attributes": {
      "allValidationLevelsReached": [
        {
          "code": "loadsave",
          "name": "Load and save"
        }
      ],
      "hasErrors": true,
      "validationIssues": [
        {
          "field": "contacts",
          "id": "cc:SsCzMkFw0Vk6bO8HCLh3p",
          "message": "The role Reporter is required on Claim 999-99-999945.",
          "severity": {
            "code": "error",
            "name": "Error"
          },
          "type": "Claim",
          "url": "/claim/v1/claims/cc:SsCzMkFw0Vk6bO8HCLh3p",
          "validationLevel": {
            "code": "newloss",
            "name": "New loss completion"
          }
        }

From this payload, you can determine the following:

  • The claim is at the "load and save" level. (validationLevelReached.code is loadsave, allValidationLevelsReached has only one member whose code is loadsave).
  • To move to the "new loss completion" level, the reporter must be specified. (This comes from the first validationIssues message.)
  • To move to the "valid for iso" level, the loss location must be non-null, and the claim must not be in a draft state (This comes from the second, third, and fourth validationIssues message.) The payload does not specify error messages beyond “valid for iso.” Therefore, once the claim reaches “valid for iso”, the claim will automatically be promoted to “ability to pay”.

Example of a claim at the "New loss completion" level

Suppose you execute a POST /claim/{claimId}/validate for claim cc:709 and this is the response:
          {
    "data": {
        "attributes": {
            "allValidationLevelsReached": [
                {
                    "code": "newloss",
                    "name": "New loss completion"
                },
                {
                    "code": "loadsave",
                    "name": "Load and save"
                }
            ],
            "hasErrors": true,
            "validationIssues": [
                {
                    "field": "firstName",
                    "id": "cc:SYVsCEg_23xuVpJwrN2lH",
                    "message": "The insured Newton first name must not be empty",
                    "severity": {
                        "code": "error",
                        "name": "Error"
                    },
                    "type": "Claim",
                    "url": "/claim/v1/claims/cc:SYVsCEg_23xuVpJwrN2lH",
                    "validationLevel": {
                        "code": "iso",
                        "name": "Valid for ISO"
                    }
                }
            ],
            "validationLevelReached": {
                "code": "newloss",
                "name": "New loss completion"
            }
        }
    }
}

From this payload, you can determine the following information:

  • The claim is at the "new loss completion" level (validationLevelReached.code is new loss completion).
  • The claim had previously reached the “load and save” level before reaching the “New loss completion” level (allValidationLevelsReached has the members Load Save and New loss completion.)
  • To move to the "valid for ISO", the insured’s first name must be specified. (This comes from the validationIssues message.) Once the claim reaches “valid for iso”, the claim will automatically be promoted to “ability to pay”.

Example of a claim at the "ability to pay" level

Suppose you execute a POST /claim/{claimId}/validate for claim demo_sample:31 and this is the response:

{
    "data": {
        "attributes": {
            "allValidationLevelsReached": [
                {
                    "code": "payment",
                    "name": "Ability to pay"
                },
                {
                    "code": "external",
                    "name": "Send to external system"
                },
                {
                    "code": "iso",
                    "name": "Valid for ISO"
                },
                {
                    "code": "newloss",
                    "name": "New loss completion"
                },
                {
                    "code": "loadsave",
                    "name": "Load and save"
                }
            ],
            "hasErrors": false,
            "validationLevelReached": {
                "code": "payment",
                "name": "Ability to pay"
            }
        }
    }
}

From this payload, you can determine that the claim is at “ability to pay” and has reached all previous validation levels. The claim then meets all validation rules. (The hasErrors value is false.)