Most data changes recorded in the application affect a very small number of cases:
- when evidence recorded directly against a product delivery case is activated, typically only that product delivery case is affected;
- when evidence recorded against an integrated case is activated, typically only the product delivery cases belong to that integrated case are affected;
- when personal data is changed, typically only cases which involve those persons are affected (such cases may reference the person data directly, or may use Evidence Broker to control the use of the personal data in cases);
- when product delivery case data such as case start/end dates are changed, typically only that product delivery case is affected.
Note: The above observations are based off typical behavior for cases; the Engine does not enforce any restrictions about sharing evidence or other data across cases.
Product delivery cases are automatically reassessed when the type of data described above changes. When changes to data occur they are written to a precedent change set and processed by the Dependency Manager. The Dependency Manager processes the precedent change set by finding the unique set of dependents affected by any of the items in the precedent set and instructing each affected dependent to recalculate itself. Each type of dependent in the system has a registered 'dependent handler' which, when invoked by the Dependency Manager, is responsible for taking the appropriate steps to recalculate a dependent. If any of the dependents affected are a case assessment determination then the appropriate step is to request that the Engine reassesses the case, by invoking CER to recalculate the value of the determinationResult attribute value for the case.
The processing of precedent change set items that are likely to affect a small amount of cases occurs in deferred processing.
Note: Because the Engine uses the Dependency Manager in such a way as to use deferred processing, then a case affected by a change in data can be either:
- reassessed within the deferred process; or
- prior to the execution of the deferred process, if reassessment is initiated within the case itself as a result of manual reassessment, a change in evidence, or the generation of financial payments.