Scenario Overview

Health Coverage Assistance through the Department of Health and Welfare provides health coverage or assistance in paying for health coverage for people who meet certain criteria.

This example shows how to set up a Decision Table to evaluate if a person is entitled to Health coverage or Assistance under the requirements laid down by the US State of Idaho.

Requirements shown below.


To be eligible you must fit into one of the following categories:

Category 1:

Be a child under 19 years old
Category 2:

Be a pregnant woman
Category 3:

Be an adult with a child under the age of 19
Category 4:

Be aged 65 or older
Category 5:

Be blind or disabled according to the Social Security Administration criteria

If you match one of the above categories then you must also meet the below criteria:

Rule 1: 

You must be a Citizen of, or legal immigrant to, the USA.
Rule 2:

You must be a resident of the State of Idaho
Rule 3:

Your household income must be less then the program income limits for your household size.
Rule 4:

Your resource limits must not exceed the program resource limits

In this example the Account entity has been renamed to Household  and modified accordingly.
Contacts have been renamed as Household Residents that live in the that Household


Household Resident

N52 Formula Manager Solution

The Formula Manager solution works like this:

  • A formula of type Save - Perform Action is created on the Household Resident entity
  • The Source Properties are set to Employment Status, Current Savings, Monthly IncomeDisability Status, Pregnant and Immigration Status
  • The Event is set to Create & Update
  • Exit this Decision Table on First Match is turned On on all Decision Tables
  • Exit All Decision Tables on First Match is turned Off on all Decision Tables

Multi-Sheet Decision Table

Preliminary Requirements

All of the Conditions are of type OR as you only need to match one of them

Household Income Check - Adult

Note:  The Household Income requirement states that for every resident after 8 we should add $75 to the max income allowed for 8 residents.

Therefore we use the following 741 + (75 * ({Household Residents} - 8)).
For 10 residents it would evaluate to 741 + (75*(10-8)) = $891 dollars.

Household Income Check - Pregnant Adult


Household Income Check - Child 

Medicaid Eligibility


Calculations Table

The Calculations Table has 5 calculations to execute as part of this Decision Table

  • Age - Calculates the age of the Household Resident when the Decision Table executes
  • ChildrenUnder19 - Checks for any Household Residents with a child Connection Role to the Household Resident
  • Household Income -  Sums up the income and savings of all Household Residents living in the Household
  • Household Residents -  Counts how many Household Residents live in the Household
  • Resident in Idaho - Checks if the State / Provence field of the Household the Household Resident is living in is set to Idaho



DateDiff([contact.birthdate], UtcDate(), 'y')

  SetVar('HasChildUnder19', false ),
        FindRecordsFD('FindChildrenOfResident', false,SetParams([contact.contactid],
                     FindValue('connectionrole', 'name', 'child', 'connectionroleid'))),
        iftrue(DateDiff(CurrentRecord('birthdate'), UtcDate(), 'y') < 19, 
                SetVar('HasChildUnder19', true))),

Household Residents

FindCount('contact', 'new_primaryresidence', [contact.new_primaryresidence], 'contactid')
Household Income

  SetVar('HouseholdIncome', FindSum('contact',
                                   'new_monthlyincome', 0)),
  SetVar('HouseholdIncome', GetVar('HouseholdIncome') +
        'new_currentsavings', 0))
Resident In Idaho

                'address1_stateorprovince')), 'ID', 'IDAHO')

Fetch XML 

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" >
  <entity name="contact" >
    <attribute name="fullname" />
    <attribute name="birthdate" />
    <attribute name="contactid" />
    <order attribute="fullname" descending="false" />
    <link-entity name="connection" from="record1id" to="contactid" alias="ae" >
      <filter type="and" >
        <condition attribute="record2id" operator="eq" uitype="contact" value="{0}" />
        <condition attribute="record2roleid" operator="eq" uitype="connectionrole" value="{1}" />

Did you know?

North52 helps with Case Management in Dynamics 365

Managing casework can be complex - North52 BPA is a comprehensive rules engine platform that is perfectly suited to Case Management. 

Traditional workflow usually moves through a very specific set of steps and assignments for every task, however with Case Management it does not always follow a predicable path. 

North52 can apply rules as the case is worked on - new information can be used to define what tasks need to be done or information gathered.  The rules are easily set up and maintained using our no-code editor.

Learn more about defining business rules with North52 Business Process Activities