Example

Let's say that details of a person's absence from their household are captured as evidence.

Each period of absence has a start date and (optionally) an end date. Each period of absence also has a reason for the person's absence, but notably the reason can change during the absence (i.e. the person can be initially absent for one reason, then from a given date continues to be absent but for a different reason).

For a given person, no two periods of absence can overlap (a person cannot be absent in more than one way at any given time). In particular, the person can have at most one open-ended period of absence.

Each separate period of absence is captured as its own succession set of absence; in other words, if the person is absent from the household, and then returns, and then later leaves the household again, the second period of absence is a different succession set of evidence from the first.

Some eligibility/entitlement rules for the person require to derive information from the person's history of absences. Legislation states that a person is eligible for benefit if present in the household, or is absent for the reason of "Education" only.

To simplify these eligibility/entitlement rules, it is desirable to compute a single history of absence details from the person's absence periods (of which there may be zero, one or many). The combineSuccessionSets expression is used to compute this single history of absence details for the person.

Now let's create a history of absences for a Person and work through it as an example.

The person John Smith is absent from his household on these occasions:

Three Absence rule objects are populated for John's three periods of absence by the Active Succession Set Rule Object Converter. Each Absence rule object is populated by the succession set of evidence records captured for the related period of absence, e.g. the first Absence rule object is populated with a start date of 1st January 2000 and an end date of 8th March 2000. Each Absence rule object also has a reason attribute with values that vary over time.

A single CombinedAbsence rule object is then created by the combineSuccessionSets expression. The single CombinedAbsence rule object for John has a reason attribute with these values that vary over time:

The single CombinedAbsence rule object for John also has an exists attribute which simply combines the periods for which the contributing absences each exist.