At a glance, the main objective of the Engine is to work with Cúram Express Rules (CER) to determine case eligibility and entitlement over the lifetime of the case. CER is responsible for applying rules logic to real world data in order to make decisions regarding eligibility and entitlement.
The starting point for case eligibility and entitlement is the Product. A Product contains all the configuration details which specify which CER rules to use when determining eligibility entitlement. Once a Product has been configured, its configuration can be used to calculate and store a determination result based on input data.
This determination result is used to generate financials and is retrieved when a case worker user views eligibility and entitlement details for the case. When circumstances change which affect an assessment for an active case, the Engine can automatically reassess the case.
The Engine manages the reassessment of case eligibility and entitlement through the use of a Dependency Manager. The Dependency Manager stores dependencies when they are identified during the calculation of eligibility and entitlement, and then identifies items that have changed and queues them for later processing, typically in deferred processing. When the deferred process is executed, the Dependency Manager examines its stored dependency records to identify the cases that require reassessment, and for each identified case it uses to CER to re-calculate the determination result.
The below list describes each of the stages in eligibility and entitlement processing, incorporating the above-mentioned terms.
A product must be configured before it can be used to create product delivery cases. Over its lifetime, a product's configuration can be updated, e.g. in response to changes in legislation.
Any input data which affects the case's eligibility and entitlement must be gathered so that it can be converted into CER Rule Objects that are used by CER to perform calculations on that data.
The Engine requests that CER performs calculations to provide an initial determination result for a case. The dependencies on input data used during the calculations are stored and thereafter, if any input data changes which has a bearing on the determination result, the Dependency Manager will automatically use the stored dependencies and run the CER calculations again to see if the overall result has changed.
A Determination Result is the overall output from CER eligibility/entitlement rules calculations, and contains the "three Es" (Eligibility, Entitlement, Explanation) over the full lifetime of the case.
The Engine takes a snapshot of the Determination Result and stores it so that it can be used to generate financials, display details to users and act as an audit of how decisions regarding a case were arrived at.
The Engine integrates with the application's Financial Engine to schedule financials (typically, payments). If cases are retrospectively reassessed, then over and under-payments are automatically handled.
Case workers can view the full history of a case. They can see the eligibility, entitlement and explanation for a case over its full lifetime (including cases which are open-ended). A full history of determinations is kept, so that the user can see how corrections have been made to determinations as circumstances have changed in the real world and/or corrections have been made to input data held on the system.
The first determination for an active case is recorded as its initial assessment. This assessment is based on the circumstances of the case at the time it was activated and gives rise to the initial financials for the case.
When circumstances change for an active case, or there is a change to the product which affects many cases, then the Engine reassesses the case, possibly leading to a new determination result which in turn can affect the financials for the case.
The remaining sections in this chapter provide more detail on eligibility and entitlement processing and include an example story that spans the sections.