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

North52 Decision Suite Solution

The North52 Decision Suite 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}" />


This example uses publicly available information on the owners website and has not been endorsed by the owner of the information.

Did you know?

North52 helps with Task Management in Dynamics 365

Whatever your process North52 can help with Task management and assignment. Some of the common areas we help streamline processes with business rules are:

  • Purchase Order Requests and Approvals
  • Double Blind Data Entry
  • Data/File Gathering
  • Customer On-boarding
  • Call Center Automation
  • Coordination of Front Office and Service People
  • Inbound Lead Management
  • Application Processing
  • Inventory Management
  • Supplier Vendor Portal
  • Purchasing
  • Invoice Tracking and Approvals

Learn more about the North52 Business Rules Engine