CaseDecision

A determination result typically contains eligibility and entitlement data that varies over the lifetime of the case. For assessment determinations, the Engine stores details of the case's varying eligibility and entitlement on the CaseDecision table (and its child tables, CaseDecisionObjective and CaseDecisionObjectiveTag, see below), so that financial processing can use this data to deliver the case's attained objectives.

When the Engine stores a new assessment determination, the Engine first supersedes the existing stored determination (if any) and supersedes any CaseDecision rows linked to that determination. For other types of determination no superseding takes place.

Then, for the new determination, the Engine inspects the varying eligibility and entitlement data to determine the dates on which the eligibility and/or entitlement changes (see Decision Periods). For each of these eligibility/entitlement change dates, the Engine stores a row on CaseDecision (and rows on its child tables) to detail the eligibility and entitlement results that apply from that date until the next change.

Sometimes it is possible for a determination result to contain key decision factors and/or decision details which change on a particular date where there is no accompanying change in eligibility and entitlement, for example where the case continues to be eligible but for a different business reason than previously. In these circumstances, the Engine will not store a CaseDecision record effective from the change date, because there has not been a change in eligibility and entitlement.

The CaseDecision table is used to store eligibility/entitlement data for CER-based cases as described above. However, it continues to be used to store eligibility/entitlement data for cases assessed using Cúram Rules (as opposed to CER). Some of the attributes on CaseDecision are reserved for use by Cúram Rules1.

The Engine stores the following values in CaseDecision attributes for CER-based cases:

Table 1. Population of CaseDecision rows
Attribute on CaseDecision Value stored by the Engine
caseDecisionID Primary key
caseID ID of case for which has been determined.
decisionDate Set to the decisionToDate.
resultCode
  • "Eligible" if the eligibility result for the period is true; or
  • "Not eligible" otherwise (if the result is false or cannot be calculated).
methodCode blank (reserved for use by Cúram Rules cases)
initReasonCode

Value stored depends on the type of determination:

  • For manual check determinations, "Pre-release".
  • For snapshot determinations, "Release".
  • For assessment determinations, "Release".
typeCode Always "Product Delivery Eligibility".
statusCode

Value stored depends on the type of determination:

  • For manual check determinations, "Superseded".
  • For snapshot determinations, "Superseded".
  • For assessment determinations, "Current" if the CREOLECaseDetermination is Current, otherwise "Superseded".
decisionFromDate Start of period from which the decision applies.
decisionToDate End of period to which the decision applies - blank if the decision period is open-ended, i.e. is the last decision period in an open-ended case
runMode blank (reserved for use by Cúram Rules cases)
decisionFlow blank (reserved for use by Cúram Rules cases)
decisionResult blank (reserved for use by Cúram Rules cases)
tagValue blank (reserved for use by Cúram Rules cases)
evidenceUsed blank (reserved for use by Cúram Rules cases)
decisionFlowOverflowInd Always false (reserved for use by Cúram Rules cases).
decisionResultOverflowInd Always false (reserved for use by Cúram Rules cases).
evidenceUsedOverflowInd Always false (reserved for use by Cúram Rules cases).
creationDate System date at the time the record is created.
1 See Inside Cúram Eligibility and Entitlement Using Cúram Rules.