Forum Stats

  • 3,826,672 Users
  • 2,260,688 Discussions


Inferring Entity Instance Values in Separate Locations (Rule challenge?)


We have been faced with a bit of a challenge trying to author rules based upon specific requirements. Essentially,

  1. Rules need to be isolated by owner (in this case, Team ABC and Team XYZ should only have access to their own rules). This is intended to be implemented via Inclusions
  2. To simplify the usecase, the user will enter their age and the rules will infer possible Offices that they should visit. Each office is accompanied by a 'location' value.

Attempted Solution

Rule Structure:

The above structure is required because we need to isolate the rule files that will eventually be in separate rulebases (and then included in a Parent rulebase) as these will be managed by different sets of administrators (e.g. Team ABC and Team XYZ).

Data Model:

Relationships for the ABC offices and the XYZ offices have been created so that we can support the Rule File Structure above




The Problem

OIA will not allow this implementation as the office's location is a multiply proven rule in two different files.

Alternative Solutions

1) We are aware of having a separate 'Parent' rule file (named Office Locations.xlsx) with the following to populate the office's location for each of the offices:

However, this is not ideal as the objective is to allow ABC administrators and XYZ administrators manage their own rules, which does include their office locations.

2) The other alternative solution that still allows Team ABC/XYZ to manage their own Location values involves adding several Global-level attributes:

These attributes are then assigned to the office's location in a separate 'Parent' rule file (named Office Locations.xlsx):

This meets all of our requirements, but will require one Global attribute per office which increases rule maintenance and volume (also given the fact that we have up to 90 different offices). This is also how we have authored the rules today.


We are trying to implement the above in the most streamlined manner and if anybody has some ideas (without RuleScripts!), please do share your thoughts :)

I have attached a copy of the project for reference. This has been created with OPM 21D but there should be no issue upgrading/downgrading the project: