The Engine explicitly requests the value of a determination result from CER at these points in the case life cycle:
A case worker can manually request an interim determination for a case, based on either the active evidence only, or the active and in-edit evidence on the case. This kind of determination is made available on a "what if" basis, and the results are essentially disposable once seen by the case worker who requested the determination. A request for an interim determination does not result in the storage of any dependencies by the Dependency Manager.
The system automatically records a snapshot of a case's determination result when the case is submitted for approval, approved or rejected. This snapshot provides an audit trail of the state of the case's eligibility/entitlement at the point at which important decisions are made about the case (e.g. the information available to a supervisor at the point when the supervisor chose to accept or reject the case). Determinations created during the approval process do not result in the storage of any dependencies by the Dependency Manager.
When a case is first activated, the system automatically records a snapshot of the case's determination result, and this result is used as an input into financials processing. The Engine also uses the Dependency Manager to store the dependencies that were identified and used by CER during its calculations.
To support the ability to take a snapshot of a case's determination result at key points in the life cycle of a case, for example when an appeal is created, a facility exists for a case worker to manually request a redetermination for a case. For CER-based cases, the system will in most situations be up-to-date with changes that affect a case and so any manual request to redetermine the case will likely not result in a change to the case's determination. Determinations created during a manual request for redetermination may cause changes to dependencies to be stored by the Dependency Manager.
When the application is generating payments for a case, it can be configured to reassess the case's determination first in order to ensure that payments are never generated for out of date determinations. This behaviour is controlled via the application property curam.batch.generateinstructionlineitems.dontreassesscase.
At a CER level, a request for the value of a determination result is a request for the value of a particular rule attribute on the CER rule object for the product delivery case. As described above, upon activation of the case and creation of the initial assessment determination, the Engine will store the dependencies that were identified and used by CER during its calculations. This includes all of the dependencies of the rule attribute that holds the determination result. Once identified, these dependencies are now established so that the system can react to changes in input data which may affect its value (and may cause reactive re-determinations).