Let's say that a person's Income from an employment is modeled as evidence. The income starts when a person starts an employment, and ends if the employment is subsequently terminated. (This example is intentionally similar to that for Active Succession Set Rule Objects.)
Over the lifetime of an employment, the income amount (i.e. the per annum pay) can vary, as the employee receives pay rises. Similarly, but independently, the person can be employed on a permanent or temporary basis, and this "employment status" can change over the lifetime of the employment. It is possible for the income's amount to change on the same date as the employment status, but a change in income amount can occur without a change in employment status, and vice versa.
The evidence designer designs an Income evidence entity as follows:
The date that the income (i.e. the overall employment) started;
The date that the income (i.e. the overall employment) ended, if any;
Identifier of the employer;
The per-annum pay amount; and
Code for whether the employment status is permanent or temporary.
A rules designer then models an new Income rule class, extending the ActiveEvidenceRow rule class, and adds rule attributes:
An administrator publishes the rule set changes, and then publishes a data configuration for Active Evidence Row Rule Object Converter and Propagator to map the Income evidence type to the new rule class.
A case worker records some new Income evidence (for a temporary employment which started on 1st January 2000, salary $10,000). Initially the evidence is "in edit".
The details stored on the data are as follows (not all evidence details are included here, only those of interest to the converter):
Database Column | Evidence Version Record 1 |
---|---|
EvidenceDescriptor.evidenceDescriptorID | 978 |
EvidenceDescriptor.caseID | 453 |
EvidenceDescriptor.correctionSetID | 476 |
EvidenceDescriptor.effectiveFrom | (blank) |
Income.startDate | 1st January 2000 |
Income.endDate | (blank) |
Income.employer | Acme Ind. |
Income.amount | $10,000 |
Income.employmentStatus | Temporary (code) |
When evidence capture is complete, the case worker activates the evidence and activates the case.
During the calculation of the case's determination result, the Active Evidence Row Rule Object Converter retrieves the data for the newly-activated Income evidence and populates a rule object for it, with values as follows:
Rule Attribute Name | Value for Rule Object 1 |
---|---|
ActiveEvidenceRow.description | "Income, correctionSetID 476" |
ActiveEvidenceRow.caseID | 453 |
ActiveEvidenceRow.correctionSetID | 476 |
ActiveEvidenceRow.evidenceDescriptorID | 978 |
ActiveEvidenceRow.effectiveDate | (blank) |
Income.startDate | 1st January 2000 |
Income.endDate | (blank) |
Income.employer | Acme Ind. |
Income.amount | $10,000 |
Income.employmentStatus | Temporary |
The Engine invokes the CER utility to identify these dependencies (which are stored using the Dependency Manager):
Dependent | Precedent | |
---|---|---|
Case 453's Entitlement | depends on | Active Evidence for case 453 |
Case 453's Entitlement | depends on | Data configuration for conversion of Active Evidence Row rule objects |
Over time, real-world circumstances change:
The agency is informed of these evidence changes and a case worker records new versions of the Income evidence, leading to the system storing new EvidenceDescriptor / Income pairs of rows for the evidence data effective from each change date:
Database Column | Evidence Version Record 1 | Evidence Version Record 2 | Evidence Version Record 3 |
---|---|---|---|
EvidenceDescriptor. evidenceDescriptorID |
978 | 979 | 980 |
EvidenceDescriptor.caseID | 453 | 453 | 453 |
EvidenceDescriptor. correctionSetID |
476 | 477 | 478 |
EvidenceDescriptor. effectiveFrom |
(blank) | 1st January 2001 | 1st May 2002 |
Income.startDate | 1st January 2000 | 1st January 2000 | 1st January 2000 |
Income.endDate | (blank) | (blank) | (blank) |
Income.employer | Acme Ind. | Acme Ind. | Acme Ind. |
Income.amount | $10,000 | $12,000 | $12,000 |
Income.employmentStatus | Temporary (code) | Temporary (code) | Permanent (code) |
When the case worker activates the change-of-circumstances evidence changes, the Evidence Controller notifies the Active Evidence Row Rule Object Propagator of the evidence changes, and the Active Evidence Row Rule Object Propagator in turn notifies the Dependency Manager that evidence for a case has changed. The Dependency Manager identifies the product delivery case that depends on the changed evidence and requests that the Engine reassesses the case. During reassessment, the Engine invokes CER to calculate the determination result, and as part of this calculation the Active Evidence Row Rule Object Converter is called upon to populate the rule objects for the changed evidence, which are populated as follows:
Rule Attribute Name | Value for Rule Object 1 | Value for Rule Object 2 | Value for Rule Object 3 |
---|---|---|---|
ActiveEvidenceRow. description |
"Income, correctionSetID 476" | "Income, correctionSetID 477" | "Income, correctionSetID 478" |
ActiveEvidenceRow.caseID | 453 | 453 | 453 |
ActiveEvidenceRow. correctionSetID |
476 | 477 | 478 |
ActiveEvidenceRow. evidenceDescriptorID |
978 | 979 | 980 |
ActiveEvidenceRow. effectiveDate |
(blank) | 1st January 2001 | 1st May 2002 |
Income.startDate | 1st January 2000 | 1st January 2000 | 1st January 2000 |
Income.endDate | (blank) | (blank) | (blank) |
Income.employer | Acme Ind. | Acme Ind. | Acme Ind. |
Income.amount | $10,000 | $12,000 | $12,000 |
Income.employmentStatus | Temporary | Temporary | Permanent |
On 30th June 2002, the employment comes to an end and a case worker records the end date on the latest version of the evidence:
Database Column | Evidence Version Record 1 | Evidence Version Record 2 | Evidence Version Record 3 |
---|---|---|---|
EvidenceDescriptor. evidenceDescriptorID |
978 | 979 | 981 |
EvidenceDescriptor.caseID | 453 | 453 | 453 |
EvidenceDescriptor. correctionSetID |
476 | 477 | 478 |
EvidenceDescriptor. effectiveFrom |
(blank) | 1st January 2001 | 1st May 2002 |
Income.startDate | 1st January 2000 | 1st January 2000 | 1st January 2000 |
Income.endDate | (blank) | (blank) | 30th June 2002 |
Income.employer | Acme Ind. | Acme Ind. | Acme Ind. |
Income.amount | $10,000 | $12,000 | $12,000 |
Income.employmentStatus | Temporary (code) | Temporary (code) | Permanent (code) |
The case worker activates the changes, which causes the existing latest EvidenceDescriptor / Income pair to become "superseded" (evidenceDescriptorID 980) and a new pair to become "active" (evidenceDescriptorID 981).
Again the Active Evidence Row Rule Object Propagator causes the case to be reassessed on foot of the evidence changes. During reassessment the Active Evidence Row Rule Object Converter populates the rule object with these values:
Rule Attribute Name | Value for Rule Object 1 | Value for Rule Object 2 | Value for Rule Object 3 |
---|---|---|---|
ActiveEvidenceRow. description |
"Income, correctionSetID 476" | "Income, correctionSetID 477" | "Income, correctionSetID 478" |
ActiveEvidenceRow.caseID | 453 | 453 | 453 |
ActiveEvidenceRow. correctionSetID |
476 | 477 | 478 |
ActiveEvidenceRow. evidenceDescriptorID |
978 | 979 | 981 |
ActiveEvidenceRow. effectiveDate |
(blank) | 1st January 2001 | 1st May 2002 |
Income.startDate | 1st January 2000 | 1st January 2000 | 1st January 2000 |
Income.endDate | (blank) | (blank) | 30th June 2002 |
Income.employer | Acme Ind. | Acme Ind. | Acme Ind. |
Income.amount | $10,000 | $12,000 | $12,000 |
Income.employmentStatus | Temporary | Temporary | Permanent |
At some time later, a review of the case finds that the entire history of the income has been recorded against the wrong person. All the evidence records for the Income are canceled by the case worker, and the evidence re-recorded against the correct person (in a new correction sets). When the case is reassessed, the Active Evidence Row Rule Object Converter does not populate rule objects for the evidence because now none of its evidence records are "active".
Some new legislation is introduced which affects how eligibility and entitlement must be calculated, and in order to comply with this legislation, the agency must now capture more details about periods of employment, specifically to capture details of the varying responsibilities that a person had during each employment. An employee may have several responsibilities at the same time during an employment, and each responsibility may begin and end independently of others.
An evidence designer models a new type of evidence named Responsibility, which is a child evidence type of the Income evidence type:
The parent Income evidence of which the Responsibility evidence is a child;
Code for the type of responsibility (e.g. management, clerical tasks, financial control, etc.);
The date that the responsibility started; and
The date that the responsibility ended, if any.
A rules designer creates a new Responsibility rule class, and identifies that rules centered around the Responsibility will need to navigate to parent Income rule objects:
The rules designer also identifies that rules centered around the Income will need to navigate to child Responsibility rule objects, and so adds a new rule attribute to the existing Income rule class:
The evidence design changes, rules changes and new data configuration for the Responsibility rule class are published.
A case worker records details for an employment where there is a pay rise on 1st January 2005. From the start of the employment, the employee is responsible for clerical tasks, but from 1st July onwards, the employee is also responsible for financial tasks (in addition to still be responsible for clerical tasks).
When the case is assessed, the Active Evidence Row Rule Object Converter populates these rule objects:
Note that there are two Responsibility rule objects, because there are two distinct real-world responsibilities, each stored as different succession sets. There are two Income rule objects, one for each version of the evidence as it changed over time.