Administrator Guide > Welcome to Rules Management > Rule Authoring |
![]() |
In order to efficiently author rules, it is important to be able to navigate through the Rules Management Application and to have an understanding for the available rule categories and entities. It is recommended to review the Getting Started with Rules Management topic within this guide prior to reviewing the following information regarding rule authoring. |
The Rule Authoring topic includes the following information to assist administrators with creating, copying, and editing business rules:
Business Rules use business language to link the following:
Rule Language | Description |
Condition | Logical circumstances, such as Fields, Field Values, or Functions, which are met in order for an Action to be assigned. |
Action | Activities that are performed as a result of Conditions being met. |
Rules can be used to create a logical statement such as, If [condition is true]…..then [perform this action]. If that condition is not met, then the logic can continue into an Else statement. You then can nest and add more If [condition is true]…..then [perform this action] statements.
Below are some guidelines to follow in preparation for authoring Business Rules:
The overall steps to writing a Business Rule are as follows:
Rule Sessions allow multiple users to work in the rule application simultaneously. Reference the table below for an overview of the session types that are supported in Rules Management:
Session Type | Description | ||
Exclusive |
Occurs when the entire rule application is locked by a single user, such as when the installer is run, or a Configuration Manager import is in progress. Only one user can have an exclusive lock on the rule application at a time. When a user has an exclusive lock on the rule application, other users can access Rules Management, but only in read-only mode, and no edits can be performed.
|
||
Editing |
Occurs when a user opens the rule application. Multiple users can have an editing session in the rule application simultaneously; however, each rule can only be edited by one user at a time. A lock is placed on a rule when a user opens the Edit Rule window to create, copy, or edit the rule. |
||
Saving |
Occurs when a user saves the rule application, or performs a Sync Lookups or Sync Custom Fields. Only one user can have a saving session at a time.
|
The following behavior occurs in the rule application to ensure that more than one user is not able to edit the same rule at the same time, each user is working with the most up to date rule logic, and updated rule logic is able to be saved successfully:
![]() |
A lock is not released on a rule until the rule application is saved, or the user exits Rules Manager. If a rule is opened, and no changes are made within the Edit Rule window, the rule remains checked out for editing until the logic is saved. |
![]() |
The above message is also received If a user tries to obtain an exclusive lock on the rule application while other rule sessions are in progress. |
The active sessions in the rule application can be viewed within the Rule Sessions tab on the Rules Management home page.
![]() |
Saving the rule application does not end a rule session. A rule session is ended by performing one of the following actions:
|
![]() |
For more information, and to learn more about the behavior that occurs when a session is ended, please see the Rules Management - Rule Sessions topic in this guide. |
To begin authoring rules, click on the Rules Management Home Screen in System Management > Collections > Rules Management.
![]() |
If rule authoring is not enabled, the Rules Management Application cannot be opened, and an error message is received upon selecting ![]() |
Upon clicking , the Rules Management Application displays:
To create a rule, select the appropriate rule category from the left navigation pane.
Click and select one of the following options:
Rule | Description |
Business Rule | Business Rules are based upon condition(s) and associated action(s) expressed in business language. Rule logic is typically expressed in the form of "If...Then..." statements. |
Decision Table | Decision Tables are helpful to use in order to maintain complex business situations in a simple manner and are a powerful way to represent a set of related business rules in a table format in order to avoid repeating rule logic in several “If” statements. The resulting decision table evaluates the conditions and assigned actions from the top down until it finds a path where all conditions resolve to True. |
After selecting Business Rule or Decision Table from the Create drop-down, a Select Entity pop-up window displays. Select the appropriate Entity where the rule is to be applied and click OK.
![]() |
To learn more about Entities, please see the Getting Started with Rules Management topic. |
![]() |
It is important to select the appropriate entity when authoring a rule to produce the desired results. For example John, an administrator, wants to use business rules to display in the person summary panel if any of the account holder’s accounts are delinquent. Initially, John created a rule using the Person.Account entity using the following logic: After testing the rule, John realized his rule was adding multiple fields to the person summary panel. Since the rule is written at the account level (Person.Account entity), the rule executes for each account individually and a separate field for each delinquent account is added. John remembers this concept and authors a new rule using the Root.Person entity. By selecting the Root.Person entity, the rule is executed one time for the account holder to show a total of all DQ Accounts. Notice how a single field has been added displaying the total number of delinquent accounts versus a separate field for each delinquent account. |
Once an entity is selected, the New Rule window appears displaying three tabs: General, Definition, and Load Options.
On the General Tab, the following fields display:
Field | Description | ||||
Name |
Enter a Rule Name. This field cannot contain spaces or special characters.
|
||||
Description | Enter a Description. This field is not required, but is recommended in order to provide administrators with an understanding of the rule. | ||||
Entity | Displays the name of the entity. This field is not editable. | ||||
This rule only runs when executed from another rule |
If checked, the rule is not executed as part of a rule category and is only executed if explicitly called from another rule. Users are able to call a different rule through action execute rule set and select the rule that is to be executed. This check box can be used to control the order of execution for rules in a group.
|
||||
This rule is disabled |
If checked, the rule is disabled and not executed. This check box can be used for creating rules to be activated at a later date. It is recommended to disable a rule rather than permanently delete it from the Rules Management Application.
|
Once all fields are complete, navigate to the Definition Tab.
The Definition tab contains the rule logic and is where administrators can modify and build a rule. The Definition tab appears different depending on the type of rule being created.
To begin building a Business Rule, click Create Rule.
Select a rule construct or action from the list that displays:
The following table provides the different business rule languages for each conditional template and their definition:
Business Rule Language | Definition |
Action Set | Take the following actions. |
If...Then... | If the conditions are met, Then execute this action. |
If...Then...Else | If the conditions are met, execute the Then action. If the conditions are not met, execute the Else action. |
Select Case | Set up conditions within a case. If the case conditions are met, execute the Then action. The first case condition that is met gets executed. |
Select Case...Else | Set up conditions within a case. If the case conditions are met, execute the Then action. The first case condition that is met gets executed. If no case conditions are met, then execute the Else action. |
The following table displays the actions available when building a rule, what the action does, and the categories for which the action can be used:
Action | What it Does | Category Selection | ||
add a field to a panel | Adds a field to the Person Summary panel- label, Order. |
Presentation | ||
add a field to a panel with attributes | Adds fields to the Person Summary panel- label, order and then attributes include size, color, and style. |
Presentation | ||
add a line to a panel | Adds a line to the Person Summary panel. | Presentation | ||
add message to panel | Adds a good, bad, warning or none (information) message to a panel on Person screens. | Presentation | ||
assign account to queue |
Assigns accounts to a queue.
|
Queuing | ||
assign person to queue |
Assigns persons to queue.
|
Queuing | ||
display warning message | Displays a warning message within a workflow or screen. | Workflow in conjunction with Execute Business Rules Step and Screens | ||
display error message | Displays an error message and prevents user from completing the workflow or screen. | Workflow in conjunction with Execute Business Rules Step and Screens | ||
display informational message | Displays an informational message within a workflow or screen. | Workflow in conjunction with Execute Business Rules Step and Screens | ||
execute decision table | Executes Decision Table already configured in the system. | Can be used in any category | ||
execute rule set |
Executes a rule already configured in the system.
|
Can be used in any category | ||
set queue eligibility for account |
Sets the person/account as eligible or not eligible for Advanced Queuing.
|
Queuing | ||
set the value of a field | Sets the value of a field (can use all math operations, concatenations, etc.). | Workflow (in conjunction with Execute Business Rules step), Task Processing, Batch Case Processing | ||
set the workflow decision to no | Sets workflow decision to no to take user down the no path automatically. | Workflow in conjunction with Automated Decision Step | ||
Set the workflow decision to undetermined | Sets workflow decision to undetermined and presents a message to the user to manually answer yes/no. | Workflow in conjunction with Automated Decision Step | ||
Set the workflow decision to yes | Sets workflow decision to yes to take user down the yes path automatically. | Workflow in conjunction with Automated Decision Step |
After a Rule or Action is selected, the rule template displays:
![]() |
There multiple ways to author a rule. The following demonstration uses an If... Then expression to build a Presentation Rule for a Messages Panel and should be used for EXAMPLE ONLY. |
To begin building the rule condition, click [build condition]. A list of available fields and functions displays:
![]() |
The fields that display within this list are determined by the Entity chosen. For example, since the Root. Person Entity was chosen for this demonstration, a list of Person Fields is displayed. For more information on the fields available for rules, please see the Data Dictionary. |
When building conditions and actions, select a field or function from the list or type in the drop-down to filter the selections.
Based on this selection, blue links populate within the template in order to build a complete expression.
![]() |
To undo or add to a selection, right click on the selected item and choose an edit option from the list that displays:
|
![]() |
When deleting a field, expression, etc., all additional criteria after the deleted item is also removed. |
When an expression is incomplete, these links appear to indicate that an additional field or function is required in order to complete the rule expression. The blue links contain placeholders and special characters to alert to the following:
Name | Prompt | Description |
Open Placeholder | ![]() |
Indicates that another template selection is required in order to complete the expression. |
Named Placeholder | ![]() |
Indicates that a value, field or additional template selection is required in order to complete the expression. |
Chevron Extender | ![]() |
Indicates that the rule template can be extended by selecting a condition of “and” or “or.” |
Caret Extender | ![]() |
The ^ extender is used to append logic to the previous field, value or entire template, such as adding date or text functions. |
Select a field to display a list of all relevant expressions applicable to the field. For example, clicking [collection] displays a list of the applicable Person Fields.
Click the … to display a list of the further information that is needed regarding the number of Promises. For this example, a value for the number of promises must be defined in order to complete this expression. Clicking the … populates a list of applicable Collection and Compare Functions.
Select a function from the list in order to populate the [value] field.
Click [value] and enter an integer value within the top of the list.
When all conditions are set, define the actions to occur as a result of those conditions.
Click [add action] to define the resulting action and select an action from the list that displays.
![]() |
Once one action is selected, a new [add action] link populates to allow for multiple actions to be defined.
|
As previously mentioned, based on this selection, blue links populate within the template in order to build a complete expression. Select [type] to define the message type.
Once a type value has been selected, click [message] to define the panel message.
To add text, simply enter the message within the text box.
Click the ^ to define optional text options, such as with no leading or trailing spaces or with whitespace removed.
![]() |
Upon the completion of this rule, the user has the following logical statement: If the number of Promises is greater than or equal to 1, then add a “WARNING” message to a panel of “This person has open promises!” |
Once all rule logic has been defined, navigate to the Load Options tab within the New Rule window to assign the Load Options for the Business Rule.
Administrators can modify and build a decision table using the Conditions, Actions, and Decisions boxes that display within the Definition tab.
This section provides an overview of the following information to assist administrators with configuring a Decision Table:
In a Decision Table, multiple conditions can be built to compare individual field values or ranges of values. The Decision Table evaluates from top to bottom until it finds a result where all conditions resolve to True.
The Conditions box contains the following buttons:
Button | Function |
![]() |
Add Condition |
![]() |
Edit an existing condition. |
![]() ![]() |
Move the order that conditions appear in the columns of the Decision Table. |
![]() |
Delete an existing condition. |
To add a condition, select the Add Condition button to begin building rule criteria.
The Add Decision Table Condition window appears:
Using the table below, complete the applicable Add Decision Table Condition fields:
Condition Field | Description | ||
Condition name |
Specifies the name of the condition that appears in the Decision Table column header.
|
||
Include 'Any' checkbox | Adds the ‘Any’ option to the list of conditions. Selecting ‘Any,’ in the table triggers that condition to be True under any circumstances. | ||
Linked Field |
Specifies if the condition relates to a specific field. Enter the field name in the box or click the … icon to display a list of available fields.
|
||
Value List |
If linked to a field, select a value list from the drop-down. This drop-down contains the lookup lists available from System Management > Field Configurations. When a Value List is selected, the field values associated with the list automatically populate within the Values grid.
|
||
Values Grid |
Specifies the Display name and Expression for each field value. When a Value List is selected, this grid pre-populates with the field values associated with the selected value list.
|
||
Display Name | Specifies the name that displays in the drop-down for the condition column of the Decision Table. | ||
Condition type |
Specifies if the condition set relates to a field or is defined using an expression or business language.
|
||
Condition type |
Specifies the compare function used to define the condition criteria.
|
||
Value | Specifies the ID Value in the database for the selected field value. |
Once all fields for the condition are configured, click OK to save the condition.
As previously mentioned, multiple conditions can be created within a decision table. Before defining actions for the decision table, create all conditions following the above steps.
Back to Decision Table configurations ^
In a Decision Table, the end result of the logic path is determined by the defined actions. Multiple action sets can be created and associated with various conditions.
The Actions box contains the following buttons:
Button | Function |
![]() |
Add an action. |
![]() |
Edit an existing action. |
![]() ![]() |
Move the order that actions appear in the columns of the Decision Table. |
![]() |
Delete an existing action. |
To create an Action, click the button to select the desired action template.
The Add Decision Table Action window appears. Select one of the following action modes:
Select Set Value to link the action to a specific field in the Lifecycle Management Suite.
Using the table below, complete the applicable Add Decision Table Action fields when Set Value is selected:
Action Field | Description | ||
Display Name |
Specifies the name that displays in place of the field name in the decision table column header.
|
||
Field Name |
Specifies the name of the action that appears in the drop-down for the action column of the Decision Table. Enter a field name or click the
|
||
Set Value Settings |
Select Use values from the field’s value list to add lookup values for the field defined within Field Name. This setting is disabled if a lookup value is not defined within Field Name.
|
||
Values Grid |
Specifies the Value and Display Name for each field value.
|
Select Business Language to define actions for the decision table using a rule template.
When the Business Language action mode is selected, the Add Decision Table Action window appears as follows:
Using the table below, complete the applicable Add Decision Table Action fields when Business Language is selected:
Action Field | Description | ||
Display Name |
Specifies the name that displays in place of the field name in the decision table column header.
|
||
Action Name |
Specifies the name of the action that appears in the drop-down for the action column of the Decision Table.
|
||
Language |
Specifies the Display name for the action and provides a window to create an Action Rule.
|
Repeat the steps for the selected action mode until all options for the action are defined. Click OK to save the action.
Once all actions are created, navigate to the Decisions box to complete the Decision Table.
Back to Decision Table configurations ^
The Decisions Table is ready to populate once all Conditions and Actions have been defined.
Within the Decisions Box, the following buttons display to configure the Decision Table:
Button | Function |
![]() |
Add new row to the Decision Table. |
![]() |
Move selected row up. |
![]() |
Move selected row down. |
![]() |
Delete selected row. |
![]() |
Copy selected row. |
![]() |
Paste the copy of a row. |
![]() |
Select the sort order of the Decision Table. |
![]() |
Generate an exhaustive list of all possible options for the table. |
![]() |
Check Decision Table for any duplicated or missing options. |
![]() |
Delete all rows of the Decision Table. |
In the example below, notice how the defined Conditions and Actions have pre-populated within the top of the table:
Manually add rows to the Decision Table by clicking or select
to create an exhaustive list of all possible combinations for the table.
Using the associated drop-downs within an Action column, assign Conditions to Actions until all desired outcomes have been accounted for within the Decision Table.
![]() |
All Actions default to Ignore. When Ignore is selected, no action is taken for the associated condition. |
Once all rule logic has been defined, navigate to the Load Options tab within the New Rule window to assign the Load Options for the Decision Table.
![]() |
It is recommended to click ![]() |
Back to Decision Table configurations ^
Load Options define the data required to execute a rule and are used to improve performance by avoiding the transmission of unnecessary data. The Load Options for each rule are defined within the Load Options tab.
![]() |
Load Options must be assigned for each rule. Rules that do not have Load Options assigned do not function as expected. When Load Options are not assigned for any rule containing a field, a value does not display for that field after the rule is executed. For example, in the demonstration above, if the Person.Accounts and Person.Promises Load Options are not assigned, the rule is unable to determine a value for the number of promises in order to display a message within the panel. For information regarding the fields available within Rules Manager to assist with assigning Load Options, please see the Data Dictionary. |
The Load Options tab displays two boxes: Available Options and Assigned Options:
To assign Load Options to the rule, select the load option from the Available Options box and move it to the Assigned Options box using the arrows that display.
![]() |
All available Load Options display within the Available Options box, including load options for various connectors that may not be applicable to every institution. |
In this demonstration, the rule being created is at the person level and, in order to retrieve promise information for each of the person’s accounts, account and promise entities are needed to execute the rule. The correct Load Options to assign for this rule are Person.Accounts and Person.Promises.
By assigning these load options, the information regarding all person accounts and promises made by the person are transmitted before the rule is executed, in order to display the warning message regarding outstanding promises.
![]() |
When defining an action of execute rule set to appear in a rule, the Load Options assigned to the rule being configured, or the parent rule, must include the same Load Options assigned to that of the rule set(s) being called, or the child rule(s). For example, in the screenshot below, the new Queuing rule being created is the parent rule and the Accounts Delinquent10to30 and Accounts Delinquent30to90 rule sets being called are the child rules. When assigning Load Options for the new Queuing rule, the Load Options assigned for the Delinquent10to30 and Delinquent30to90 rules must also be included in order for the rule to execute successfully. |
Upon completion of all rule logic, click within the Edit Rule window to retain the new rule logic and return to the Rules Management screen. Once saved, the new rule populates within the Rules grid. Click
within the Rules Management screen to save the new rule logic to the Rule Application.
![]() |
Clicking ![]() ![]() ![]() |
Clicking within the Rules Management toolbar initiates the compilation process where the rule application is updated to include the new rule logic. Once the process is complete, the updated rule logic is available for execution.
![]() |
When a new rule is created, additional users in the rule application may not see the new rule until they leave the rule category and navigate back. |
When the rule application is saved, a compilation process is initiated to update the current rule application and apply all new and modified rule logic.
![]() |
The compilation process occurs prior to the new or modified rule being executed to improve performance in the Lifecycle Management Suite during rule execution. |
Each time the rule application is saved, this process is automatically performed behind the scenes, resulting in a delay between the time that the rule application is saved and the time that the modified rule logic is applied in the Lifecycle Management Suite.
![]() |
The amount of time delay that occurs can be viewed within the grid that appears on the Rules Management Home page. The Last Modified date displays the date and time that the rule application was saved and the Effective Date displays the date and time that the compiled rule application was put to use in the Lifecycle Management Suite. |
While the rule application is compiling, the logic within the previous rule application continues to be applied throughout the Lifecycle Management Suite. Once the compilation process is complete, the logic within the existing rule application is automatically discarded and the updated logic within the compiled rule application is seamlessly put to use in the Lifecycle Management Suite. The date and time that the compiled rule application became current in the Lifecycle Management Suite populates within the Effective Date column in the grid on the Rules Management Home page.
![]() |
The time that it takes to compile the rule application varies and depends on the size of the rule application as well as the complexity and availability of server resources for the institution. |
![]() |
Before copying a rule, it is recommended to review the Creating Rules section of this topic for an overview of the information defined within each tab, and to develop an understanding for how to configure rule logic. |
![]() |
If another user is editing a rule, the rule can still be copied. |
To copy a Rule:
![]() |
Before editing a rule, it is recommended to review the Creating Rules section of this topic for an overview of the information defined within each tab and to develop an understanding for how to configure rule logic. |
![]() |
Once a rule is open by a user, a lock is placed on the rule in the rule application. If another user attempts to edit the rule while the lock is in place, the Edit Rule window opens in read-only mode, and the Save buttons are disabled within the window. A message also appears in the corner of the window to identify the username of the user who has the rule checked out for editing. For more information, please see the Understanding Rule Sessions section of this topic. |
To edit a Rule:
![]() |
Clicking ![]() |
![]() |
If a rule is being edited by another user, the rule cannot be deleted from the rule application, and an error message is received upon clicking Yes to confirm that the rule should be deleted. |
To delete a rule: