Data Rule Classes are the closest to Case Evidence Data. They mirror the structure of the Case Evidence Data i.e. they contain Rule Attributes corresponding to Attributes and relationships of a Dynamic Evidence Type. Rule Objects are created for these Rule Classes whenever Case Evidence records in respect of the corresponding Dynamic Evidence Types are created or modified.
Calculator Rule Classes contain calculations which represent more coarse-grained business concepts than those represented by the data elements for Dynamic Evidence Types. For example, Dynamic Evidence Types representing the different kinds of income and the composition of a Household may exist; A Calculator Rule Class might calculate the Net Household Income by summing up the Income of all the Household members, after applying legislation to exclude those incomes that should not be counted.
Generally, such business concepts are factored in to separate Calculator Rule Classes, so that they can be reused across many Programs. Irrespective of the reuse, factoring big chunks of Rules in to many Calculator classes make the Rule Sets modular and readable.
Program Rule Classes use Data and Calculator Rule Classes to determine the eligibility for a particular Program. These Rule Classes need to exhibit certain characteristics in terms of their structure, so that the Eligibility and Entitlement Engine can work with them to create Determinations. For more details on developing Eligibility and Entitlement Rules, please refer to the Working with Cúram Express Rules guide.
Of these three, Data Rule Classes are generated for all Dynamic Evidence Types. So, for custom Programs, Eligibility and Entitlements Rules can be written by developing Program Rules that make use of these generated Dynamic Evidence Data Rule Classes. Alternatively, Program Rules can be written to make use of a layer of Calculator Rule Classes which in turn make use of the generated Data Rule Classes..