Views:

Overview

This is part 5 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 Tables which apply the rules relating to the restrictions for the maximum allowable benefit for a treatment type. When a claim is made on a policy, checks are made after the waiting period tests have been completed. 

Restrictions on a Policy

Restrictions are defined on a policy via several records, each specifying the details of the restriction, for example, the treatment or treatment type and whether it is a waiting period or maximum cover restriction.

Insurance Claims Adjudication Policy Restrictions - Dynamics Business Rules Engine

Rules for Treatment Maximum Benefit Restrictions

Rule # Description
RES04

Not Covered so do not perform Maximum Benefit checks

If Covered equal FALSE then do not perform Maximum Benefit Checks

RES05

Maximum Lifetime benefit for treatment, determine previous claims value

If there are Policy Restrictions for specified Treatment and a Lifetime Maximum Benefit specified then:

  • Calculate Previous Claims Value for Treatment
  • Calculate Remaining Benefit Value for Treatment
RES06

Maximum Timed benefit for treatment, determine previous claims value

If there are Policy Restrictions for specified Treatment and a Timed Maximum Benefit specified then:

  • Calculate Previous Claims Value for Treatment
  • Calculate Remaining Benefit Value for Treatment
RES07

Maximum Benefit Restriction not applicable so stop further checks

If Maximum benefit rules RES05 and RES06 not applicable do not perform further Maximum Benefit checks

RES08

Previous claims for Treatment exceed maximum lifetime allowance

If the Remaining Benefit is less than or equal to 0 then:

  • Set Covered to FALSE
  • Set Amount Claimable to 0
  • Set External Message to You have already claimed the maximum lifetime amount for this policy ([max benefit value])
  • Set Internal Message to The maximum lifetime amount for this policy ([max benefit value]) has already been claimed 
RES09

No previous claims for Treatment, but only allow Maximum Benefit

If the Remaining Benefit is greater than 0 and Previous Claims Value is equal to 0:

  • Set Covered to TRUE
  • Set Amount Claimable to the minimum of the Amount Claimable or the Maximum Benefit
  • Set External Message to There is a maximum allowance of [max benefit value] for this treatment
  • Set Internal Message to There is a maximum allowance of [max benefit value] for this treatment
RES10

Previous claims for Treatment, further allowance available

If the Remaining Benefit is greater than 0 and Previous Claims Value is greater than 0:

  • Set Covered to TRUE
  • Set Amount Claimable to the minimum of the Amount Claimable or the Remaining Benefit
  • Set External Message to You have already claimed [Previous Claims Value] out of a maximum allowance of [max benefit value] for this treatment
  • Set Internal Message to Customer has already claimed [Previous Claims Value] out of a maximum allowance of [max benefit value] for this treatment

These rules are translated into the following Decision Tables:

Step 1 - Determine Previous Claims Value and Remaining Benefit

Insurance Claims Adjudication Decision Table - Dynamics Business Rules Engine

Decision Sheet notes

  • When a match occurs on a row, the Actions and Inline Calculations are performed for that row only and no further rows are evaluated
  • When the Formula executes a dynamic FetchXML query returns all the Policy Restriction records for the policy 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 B checks the Covered outcome from the previous Decision Sheet (Waiting Period Rules)  
    • If the value is FALSE, it means the claim item is not covered. This Decision Sheet would not process any further rules
  • Column C returns the Policy Restriction records associated with a Treatment
    • All rules in this sheet require that items are returned. If there are no items found then the variable Max Benefit Type is set to Not Applicable
  • Column D returns records where there is a lifetime benefit restriction
    • If there are one or more restriction records returned then the Previous Claims Value and the Remaining Benefit are calculated. A variable Max Benefit Type is also set for use in the next Decision Sheet 
  • Column returns records where there is a timed benefit restriction
    • If there are one or more restriction records returned then the Previous Claims Value and the Remaining Benefit are calculated. A variable Max Benefit Type is also set for use in the next Decision Sheet 
  • Columns G and H log messages relating to the conditions met for the customer (external) and internal use

Step 2 - Determine Coverage and Amount Claimable

Insurance Claims Adjudication Decision Table - Dynamics Business Rules Engine

Decision Sheet notes

  • When a match occurs on a row, the Actions and Inline Calculations are performed for that row only and no further rows are evaluated
  • When the Formula executes a dynamic FetchXML query returns all the Policy Restriction records for the policy 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 B checks the Max Benefit Type outcome from the previous Decision Sheet (Step 1 above)  
    • If the value is Not Applicable, it means that the remaining rules on this sheet are not relevant and therefore not processed
  • Column C returns the Remaining Benefit amount calculated in the previous sheet
    • If the amount is less than or equal to zero then the claim item is deemed not covered
  • Column D returns the Previous Claims Value amount calculated in the previous sheet
    • If the amount is zero, then the Amount Claimable value is set to the minimum of either the Amount Claimable or the Maximum Benefit amount
    • If the amount is greater than zero, then the Amount Claimable value is set to the minimum of either the Amount Claimable or the Remaining Benefit amount
  • Column E sets the Coverage variable
  • Column F set the Amount Claimable variable
  • Columns G and H log messages relating to the conditions met for the customer (external) and internal use