Determination Comparison Strategies

When the Engine calculates a determination result, then the Engine will store that determination result if the new result is "different" from the previous result stored. Each CER-based Product can be configured to set just how "different" a new determination result needs to be in order to be stored (and thus to supersede the existing determination).

When the Engine stores a new determination snapshot (i.e. stores a new row on CREOLECaseDetermination), it will either:

For example, if a case worker repeatedly requests manual eligibility checks on the same data, each request will result in a (small) row being written to CREOLECaseDetermination, but only one pair of (large) rows being written to CREOLECaseDeterminationData.

Each CER-based Product must specify a strategy that the Engine will use when comparing determinations. You must either:

The interface for the strategy is curam.core.sl.infrastructure.assessment.impl.DeterminationComparisonStrategy. You must choose an existing comparison strategy or implement one of your own.

Tip: In the early stages of developing your product, it may be useful to initially use the "Compare all user-facing data" strategy included with the Engine, and then later in your development revisit whether this strategy meets your requirements.

Depending on the strategy in place for a product, it is possible for a new determination to be stored even though its eligibility and entitlement are identical to the that for the previous determination (i.e. the new CaseDecision and child records contain effectively the same data as the old records.).

This situation can arise when two determinations differ in explanation only. For example, a case may be determined to be ineligible forever because the claimant is not a citizen. If the claimant acquires citizenship, the case will be reassessed but the case may still be ineligible forever because the claimant fails a means test. In this way, the underlying eligibility and entitlement is unchanged (namely, "ineligible forever"), yet the explanation for the ineligibility has changed, and may cause a new determination to be stored (depending on the determination comparison strategy in place for the product).