Views:

Scenario Overview

Coronary heart disease (CHD) is a disease in which a waxy substance called plaque builds up inside the coronary arteries. These arteries supply oxygen-rich blood to your heart muscle. You can read more information on this at the National Heart Lung and Blood Institute website.

We had this requirement come in from a partner on how we could store all the patient vital data with CRM and calculate a risk score. Our example shows how to set up a Multi-Sheet Decision Table to evaluate the patient's risk score of Coronary Heart Disease.

Each Decision Table Sheet will evaluate specific Risk Factors with a variety of Conditions and decide if that risk factor applies to the patient. A final Decision Table Sheet will then provide a Risk Score based on the individual Risk Factors.

For this article it is assumed that you have at least basic familiarity with Decision Tables and/or have read the following articles:

Note: We will not detail step-by-step instructions here on how to set up ConditionsActions or Multi-Sheet Decision Tables, please read the above articles if you need detailed configuration steps.

The Risk Factors for Coronary Heart Disease are detailed below (taken from American Council on Exercise):

Risk Factor 1: Smoking

Considered a risk if they meet any of the following criteria
  • Is the patient currently a smoker?
  • Have they given up smoking in the last 6 months?
  • Do they have environmental exposure to cigarette smoke in work or at home?
Risk Factor 2: Lifestyle 

Considered a risk if the patient doesn't get a minimum amount of weekly exercise
Risk Factor 3: Obesity

Considered a risk if the patient has a BMI rating of 30 or higher along with the a waist measurement of
  • 102 cm (40 inches) for males
  • 88 cm (35 inches) for females
Risk Factor 4: Hypertension

Considered a risk if the patient's systolic blood pressure => 140 mm Hg and/or
diastolic blood pressure >= 90 mm Hg or on antihypertensive medication?
Risk Factor 5: Dislipidemia

Considered a risk if the patient's low-density lipoprotein cholesterol (LDL-C) >= 130 mg-DL-1 or 
their high-density lipoprotein cholesterol (HDL-C) < 40 mg-DL-1 or on lipid-lowering medication.
Risk Factor 6: Prediabetes

Considered a risk factor if the patient's fasting plasma glucose => 100 mg-DL-1 but < 126 mg-DL-1 or
 impaired glucose tolerance (IGT) >= 140 mg-DL-1 but < 200 mg-DL-1
Risk Factor 7: Age

Age is considered a risk factor in men over 45 and women over 55
Risk Factor 8: Family History

Considered a risk if a first-degree male relative over 55, or female relative over 65, 
suffers from myocardial infraction, coronary revascularization or sudden death.
Mitigating Factor

A high-density lipoprotein (HDL-C) reading of > 60 mg-DL-1 is believed to
lower the risk of Coronary Heart Disease.


 
In our example the Contact record contains additional fields for all these values.

The Multi-Sheet Decision Table will have to evaluate all the above data to calculate the Risk Score.

To solve this we will create 10 Decision Tables Sheets

  • Smoking
  • Lifestyle
  • Obesity
  • Hypertension
  • Dyslipidemia
  • Prediabetes
  • Age - Gender
  • High HDL
  • Family History
  • Risk Score

N52 Formula Manager Solution

The Formula Manager solution works like this:

  • A formula of type 'Save - To Current Record' is created on the Contact entity
  • The Source Properties are set to fields shown above
  • The Event is set to 'Create & Update'
  • Exit this Decision Table on First Match is turned On (checked) for each of the 'Risk Factor' Decision Table Sheets, it is turned Off (unchecked) for the Risk Score Decision Table Sheet
  • Exit all Decision Tables on First Match is turned Off (unchecked) on all Decision Table Sheets

Sheet 1: Smoking


 

Sheet 2: Lifestyle


 

Sheet 3: Obesity


 

Sheet 4: Hypertension


 

Sheet 5: Dyslipidemia

  

Sheet 6: Prediabetes

  

Sheet 7: Age - Gender

  

Sheet 8: High HDL

  

Sheet 9: Family History

  

Sheet 10: Risk Score

    


This table uses a Action-Calculation (Column J) field to keep a running sum of the individual risk factors based on the results of the individual Decision Table Sheets. You can think of this as a variable result which is then used to update the Coronary Artery Disease Risk Score field on the Contact entity.

Calculations Table


The Calculations Table has a single calculation in this Decision Table

  • Age - used to calculate the current age of the Contact

Calculations

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

Did you know?

Automated tests in Dynamics 365 helps with documenting processes

Maintaining automated tests helps you create 'living' documentation of your Dynamics 365 systems, minimising the potenetial for frustrating rework.

Building a test validates the requirements, makes it easy to spot ambiguity and incompleteness and can catch defects before they are released. 

As requirements change, tests need to be updated to ensure they continue to validate, thus ensuring the documentation stays up to date.

Learn how TestShield helps automate testing in Dynamics 365