Views:

Overview

This is part 2 of a series of articles on how to implement Insurance Claims Adjudication rules using the North52 business rules engines for Microsoft Dynamics 365. Please see the overview article for a table of contents of related articles.

This article details the rules and Decision Table which apply Coverage Rules for a claim. When a claim is made on a policy these coverage rules are assessed first. 

Coverage on a Policy

Coverage is defined on a policy via several records, each specifying the details of the coverage, for example, the treatment type and percentage cover.

Insurance Claims Adjudication Policy Coverage - Dynamics Business Rules Engine

Coverage Rules

Rule # Description
COV01

Check Coverage for Treatment: % Cover

If coverage for specified Treatment, and % Cover is specified:

  • Set Covered to TRUE
  • Set Amount Claimable to the value of Claim Item Fee * % Coverage
  • Set External Message to [Treatment Name] has [Coverage]% Coverage
  • Set Internal Message to [Treatment Name] has [Coverage]% Coverage
COV02

Check Coverage for Treatment: Maximum Coverage

If coverage for specified Treatment, and Maximum Coverage is specified:

  • Set Covered to TRUE
  • Set Amount Claimable to the value of Claim Item Fee
  • Set External Message to [Treatment Name] has [MaxiumCover] maximum coverage
  • Set Internal Message to [Treatment Name] has [MaxiumCover] maximum coverage
COV03

Check Coverage for Treatment: No Coverage

If no coverage for specified Treatment:

  • Set Covered to FALSE
  • Set Amount Claimable to 0
  • Set External Message to [Treatment Name] is not covered by your policy
  • Set Internal Message to [Treatment Name] is not covered by customer policy

Decision Table

The rules above are translated into the following Decision Table:

Insurance Claims Adjudication Decision Table - Dynamics Business Rules Engine

Decision Sheet notes

  • The North52 Formula has been set up against a Custom Action (n52demo_CoverageCheck) which means that these rules could be called via an API call
  • When the Formula executes a dynamic FetchXML query returns the policy coverage records and loads them into memory using North52's xCache functionality. xCache can significantly increase the performance of complex rules by using in-memory processing and reducing API calls
  • Column returns the policy coverage record that matches the treatment being claimed
    • If a record is NOT found the variable Covered will be set to FALSE
  • Column returns the policy coverage record that matches the treatment being claimed and has a Percentage Coverage value defined
    • If found the percentage defined on the policy coverage record is used to calculate the Amount Claimable (column F)
  • Column returns the policy coverage record that matches the treatment being claimed and has a Maximum Amount value defined
    • If found the Amount Claimable is set to the minimum of the claim item Fee (full amount being claimed) or the maximum amount specified on the policy coverage record 
  • Columns G and H log messages relating to the conditions met for the customer (external) and internal use