Split and link rules

Each rule specifies logical relationships between conditions. Logical relationships can be modeled into rule networks. Large networks of rules can be built in this form. This is known as nesting or chaining rules. Lower-level rules are nested within higher-level rules.

What do you want to do?

Understand how rules link together

Link rules together

Split large rules into smaller rules

Understand how rules link together

In a rule network, you can have many thousands of rules working together in an interconnected way. Take for example, the following two rules:

Rule 1

Rule Element

Comment

1: The person is eligible for a licence if:

This is the goal proposition or conclusion of the rule.

2: The person is qualified to drive a car

This is one of the rule conditions but is also the conclusion for Rule 2 (below).

and

3: The person lives in Victoria

This is one of the rule conditions.

and

4: The person is over the required age limit

This is one of the rule conditions.

Rule 2

Rule Element

Comment

2: The person is qualified to drive a car if:

This is the goal proposition or conclusion of the rule. Rule 1 also uses this as a condition.

5: The person has passed the driving examination

This is one of the rule conditions.

and

6: The person has passed the medical test

This is one of the rule conditions.

 

In the example above, Rule 2 is nested within Rule 1:

 

 

Condition 2 is one of the conditions which proves the conclusion of Rule 1. However, Condition 2 is also the conclusion for Rule 2, which is further proved by Conditions 5 and 6. So, part of Rule 1 is proved by Rule 2.

Link rules together

The Oracle Policy Modeling compiler will recognize that a particular attribute has been used multiple times, provided the same text is used each time. You can therefore link rules within or between documents in a project simply by using the text of a condition in one rule as the conclusion of another rule.

A basic example of linked rules is:

[b1] the person is eligible for a home loan if

[b2] the person is employed

[b2] the person is employed if

[p1>0] the person's weekly income > 0

 

In this example, the Oracle Policy Modeling compiler recognizes that the text "the person is employed" is exactly the same in both rules, and therefore labels the attribute the same accordingly.

Linking can also occur between rules where either the positive or the negative form of an attribute is used. To do so, you should use the exact text of the negation (you can check this in the Attribute Editor in Word or Excel by clicking on the Edit button for the attribute). For example, the text "the person is not employed" will be recognized as the negative form of attribute "the person is employed":

[b3] the person is eligible for rent assistance if

[not b2] the person is not employed

 

The easiest way to ensure you are using the same text of an attribute is to use the copy-paste function in Word or Excel, or to 'drag and drop' the text of the attribute from the Data Model Browser which is accessed from the Oracle Policy Modeling toolbar in Word.

Split large rules into smaller rules

It is theoretically possible, using Oracle Policy Modeling format, to model extremely complex logic, with further and further indentations correctly separating groupings of conditions. That said, you should not go lower than 5 levels in a single rule because highly complex rule structures will become difficult to maintain or understand.

You can avoid large, highly nested rules by breaking the rule into smaller rules (ie by moving some of the structure of the rule to a new top level rule).

For example, the following rule:

the claimant is eligible for the pension if

the claimant is a man and

the claimant satisfies the age criteria

the claimant is aged over 65 or

both

the claimant is blind and

the claimant is aged over 40

 

can be broken into two rules:

the claimant is eligible for the pension if

the claimant is a man and

the claimant satisfies the age criteria

the claimant satisfies the age criteria if

the claimant is aged over 65 or

both

the claimant is blind and

the claimant is aged over 40