Passing Decision Information to the Rules Engine

When the rules engine executes certain rules, it may need to access previous decisions in order to render new decisions for these rules. For example, when determining eligibility for one benefit component such as child benefit, the rules engine may need to establish that the claimant has been eligible for the base component, max personal objective, over a required period of time. To determine whether or not the eligibility and entitlement engine passes decision information to the rules engine, the Reassessment Configuration switch is contained within the eligibility and entitlement engine.

A hook is provided on this switch which allows customers to place their own logic for turning the switch on or off. The isReassessToLastActiveDecisionEnabled inside the switch is where the customer must place their logic. By default, this method takes case details and product details so the switch can work at the case or product level. Customers can change this method so that the switch is enabled only when necessary. For example, customers can add code which enables the switch only when certain evidence has been entered at the case level.

When the Reassessment Configuration switch is enabled, the eligibility and entitlement engine will pass decision information to the rules engine at the start of the eligibility and entitlement process. In order to do this, the eligibility and entitlement engine creates a list of decisions whose cover periods fall within the eligibility and entitlement period. The list of decisions is made up of any previous decisions stored in the database as well as any temporary decisions. Temporary decisions are decisions which have been created as part of the eligibility and entitlement process, but which have not yet been stored in the database.

After the eligibility and entitlement engine creates the list of decisions, it then organizes the decision data into the Decision Details and Objective Details rules data objects (RDOs). It is important to note that these two RDOs are special RDOs in that do not require loaders to populate them with data. Instead, these RDOs are preinitialized by the eligibility and entitlement engine. These RDOs are also special in that they have pre-defined attributes which cannot be customized. Only the data that matches these attributes can be stored in these RDOs. For a description of these attributes, see Pre-initialized RDO Attributes.

Once these RDOs are preinitialized with the required data, the eligibility and entitlement engine passes them to the rules engine. When the rules engine executes rules that require access to the outcome of rules executions for previous dates, it will retrieve the necessary data from these RDOs.