Rules Engine Help

Overview
Rule condition expressions are constructed using the functions listed below together with the comparison operators (=, <, <=, >, >=), the logical operators (And, Or) as well as several special operators (In, Contains). See examples below.   Reusable named expressions can be defined as well, and then referenced in rule conditions.  They are automatically added to the IntelliSense.  

Note that text value comparisson in rule conditions is not case-sensitive.

Properties and Methods
Signature Summary
ContinueToTrack True if the ContinueToTrack flag is set for the subject. Otherwise false.
CountCTRForPeriod(length) The number of CTR filings for the subject filed in the period from present day to the specified days back.
length:
How many days back to check for CTR filings.
CountForPast15Days The number of wires sent (or recieved) by the subject in the past seven days.
CountForPast30Days The number of wires sent / recieved by the subject in the past thirty days.
CountForPast90Days The number of wires sent / recieved by the subject in the past ninety days.
CountForPeriod(startDaysAgo, length) The number of wires sent / recieved by the subject in the specified period.
startDaysAgo:
The start of the period.
length
The length of the period in days.
Example: startDaysAgo = 7, length = 7 means the period from 7 days ago to 14 days ago.
CountSARSForPeriod(length) The number of SARS filings for the subject filed in the period from present day to the specified days back.
length:
How many days back to check for SARS filings.
CurrentAmount The amount of the current wire.
GrowthInAmounts (user defined expression) Unusual growth in amount sent per month.
matches Tests if the following regular expression finds a match in the preceding string.
Example:
FareBaseCode matches "[12]$" -- Tests if FareBaseCode ends on '1' or '2'.
MaximumAmountInPeriod(length) The maximum amount wired in a single wire in the period from present day to the specified days back.
length:
How many days back to check for wires.
PriorSARSFiled True if there is at least one SARS filed for the subject ever. Otherwise false.
SameBeneficiaryInPeriod(startDaysAgo, length) True if the beneficiary of all wires sent in the specified period is the same. Otherwise false.
startDaysAgo:
The start of the period.
length
The length of the period in days.
Example: startDaysAgo = 7, length = 7 means the period from 7 days ago to 14 days ago.
SameLastRecipient True if the beneficiary of current wire is the same as the beneficiary of the previous wire sent by the current sender
SuspiciousRolling7DaysInPast14Days(minCount, minTotal, maxIndividualAmount) True if there is a rolling 7 days period in the past 14 days in which at least [minCount] wires were sent and all wires are less than the specified [maxIndividualAmount] and the total amount of all wires is greater than [minTotal] and all wires are to the same beneficiary.
TotalAmountForPast15Days The total amount sent / recieved by the subject in the past seven days.
TotalAmountForPast30Days The total amount sent / recieved by the subject in the past thirty days.
TotalAmountForPast90Days The total amount sent / recieved by the subject in the past ninety days.
TotalAmountForPeriod(startDaysAgo, length) The total amount sent/received by the subject in the specified period.
startDaysAgo:
The start of the period.
length
The length of the period in days.
Example: startDaysAgo = 7, length = 7 means the period from 7 days ago to 14 days ago.
 
Examples
 
Example 1: Suppose we need the following rule:
The total amount of all wires sent in the past 15 days is greater than or equals $3,000 and there is a wire for more than $2,000 sent in the past 30 days.
This can be expressed as:

TotalAmountForPast15Days >= 3000 And MaximumAmountInPeriod(30) >= 2000

 
Example 2: Suppose we need the following rule:
Activity Growth:  Total for the past month is greater then or equal to the previous two months and the total for the previous two months is at least $3,000
This can be expressed as:
TotalAmountForPast30Days >= TotalAmountForPeriod(31, 60) >= 3000
 
Example 3: Suppose we need the following rule:
$30,000 in the past year and no wire >= $3,000 and a wire in the past 30 days.
This can be expressed as:
TotalAmountForPeriod(0, 365) >= 30000 And MaximumAmountInPeriod(365) < 3000 And CountForPeriod(30) > 0

Web Service Url: RulesEngineService.asmx


©Copyright © 2008-2009 KREDOR. All rights reserved.