Using and Extending Rule Classes Included with the Application

The ProductEligibilityEntitlementRuleSet contains the fundamental rule classes required by the Cúram Eligibility and Entitlement Engine to return eligibility and entitlement results. This rule set is essential for creating the determination result for any product delivery case. The ProductEligibilityEntitlementRuleSet contains the rule classes which are the "interface" between the Cúram Eligibility and Entitlement Engine's Java code and the rules for a product.

The DefaultProductEligibilityEntitlementRuleSet contains a set of rule classes that extend the rule classes in the ProductEligibilityEntitlementRuleSet. Any classes that are temporal in nature need to extend the ActiveSuccessionSet rule class in the out-of-the-box PropagatorRuleSet.

The following is a description of the rule classes that you will use in almost any eligibility and entitlement rule set in order to return an eligible result and an entitlement amount:

Table 1. Description of Eligibility and Entitlement Rule Classes
Rule Class Description
DefaultProduct This rule class provides a default implementation of the AbstractProduct class found inside the ProductEligibilityEntitlementRuleSet. Rule set developers for CREOLE-based products should extend this default implementation rather than extending the ProductEligibilityEntitlement rule classes directly as these implementations provide some isolation against future changes to the rule classes in the ProductEligibilityEntitlement rule set. For more information on extending this class see Extending the DefaultProduct Rule Class
ActiveSuccessionSet All instances of evidence populated by the ActiveSuccessionSetRuleObjectPropagator must inherit from this rule class, and the attributes which govern the start and end date of the succession set must be annotated with SuccessionStart and SuccessionEnd tags respectively. The active evidence rows contributing to an evidence succession set will be combined and used to populate a single rule object. For more information on extending this class see Extending the ActiveSuccessionSet Rule Class .
DefaultCase This rule class provides a default implementation of the AbstractCase class found inside the ProductEligibilityEntitlementRuleSet. As with DefaultProduct, rule set developers for CREOLE-based products should extend the default implementation rather than extending the ProductEligibilityEntitlement class directly. DefaultCase is essentially responsible for determining eligibility/entitlement within one legislative period. Extending the DefaultCase rule class provides the ability to derive the eligibility periods and entitlement amounts for the claimant over the lifetime of the case, as well as the objectives the claimant is due to receive. (see Extending the DefaultCase Rule Class ).
CaseParticipantRole CaseParticipantRole evidence records details of a participant associated with a case. A participant can have multiple case participant roles in a single case. A participant can have many different roles in different cases. A case may have one or more case participant roles. The Entity Rule Object Converter is configured out-of-the-box to use the data on the CaseParticipantRole database table to populate instances of the CaseParticipantRole rule class. This rule class is not used by our simple product.
Person Person evidence records details of an individual about whom the organization wants to record information. As with CaseParticipantRole, the Entity Rule Object Converter is configured out-of-the-box to use the data on the Person database table to populate instances of the Person rule class. This rule class is not used by our simple product.
Important: The DefaultProductEligibilityEntitlementRuleSet is a good source for understanding how eligibility and entitlement rule sets are structured and what the minimum requirements for getting a product up and running are.