This section describes how fixed processing by the Engine and custom processing combine to calculate and display decision details.
The calculation and display of a determination involves a mixture of:
- fixed processing contributed by the Engine; and
- custom product-specific processing contributed by you (i.e. the implementation of your product).
The list of display categories are configured at a product level; in other words, the strip of display category tabs available for a determination are the same no matter which product period contributes to a coverage period.
Note that for any display category, it is not mandatory to configure decision details rules for your product periods; any or all of your product periods can opt not to use decision details rules for a display category, and if so the Engine will display a message on the screen to say that no details are available. This situation can arise if a change in legislation means that a new display category must be introduced for a product, yet only new (later) product periods need to display details for that category (because that category of details are simply not relevant to an earlier period).
For example, let's say that a product is implemented which has a means test against a household's income. The product is configured to show an "Income" decision details tab which provides details of how the total income for the household was derived. However, in 2010 legislation changed so that from 2010 onwards, the means test includes the value of a household's assets as well as total income. To implement the new legislation, the following steps would be taken:
- a new evidence type would be created to record Asset details for people in a household;
- the product's configuration would be changed to include a new "Assets" tab;
- the product's lifetime would be divided into two product periods ("pre-2010" and "2010 onwards"); in other words the existing single product period would be ended and a new product period created;
- the "2010 onwards" product period would implement decision details rules for the "Assets" tab, but the "pre-2010" product period would not implement any new decision details rules, as the household assets have no relevance to that period on the case (and in any case there would be no historical asset evidence recorded prior to 2010, because the evidence type is new and did not exist at the time that older cases were created).
The Engine follows the following high-level steps to arrive at decision details that can be displayed to a case worker:
- At Determination Calculation time:
- An action occurs which triggers the determination of a case (either an active or reactive determination);
- The Engine identifies the product periods (configured for the product) that cover the case's lifetime;
- For each display category configured for the product:
- The Engine uses CER rules (specific to the product) to calculate the decision details for each contributing product period;
- The Engine calculates the decision details across the lifetime of the case by "splicing together" the decision details from each contributing product period;
- The Engine stores (on the database) a determination result containing the decision details for each display category (as well as eligibility/entitlement results and key decision factors, covered elsewhere in this document).
- At Determination View time:
- A case worker requests to view the details for a display category on a coverage period within a determination on a case;
- The Engine retrieves the determination result from the database, and extracts from the determination the decision details for the required category (the value of which may vary over the lifetime of the case).
- The Engine gets the value of the decision details for the coverage period required, and creates an XML document containing the decision details data;
- The Engine retrieves the dynamic UIM page configured to display decision details for the required display category;
- The Engine displays header details for the case and coverage period; and
- The dynamic UIM page extracts data from the XML document and formats that data to display the body of the decision details.
- If the screen contains expandable rows of data, then there is further processing at the time a row is expanded:
- A case worker expands a row on a decision details page (which displays details for a display category on a coverage period within a determination on a case);
- As above, the Engine retrieves the determination result from the database, and extracts from the determination the decision details for the required category. The Engine gets the value of the decision details for the coverage period required.
- The Engine uses the subscreenName passed in from the screen to identify the required attribute from the case rule object. The Engine obtains its value, and then looks through the list of rule objects to match on the businessObjectID passed in from the screen.
- The Engine creates an XML document for the matching rule object details.
- The top-level dynamic UIM page opens an inner dynamic UIM page; the inner page receives the XML document, extracts data from it and formats it to display the expanded details.
The data interfaces and implementation for calculation of decision details, and subsequent display of decision details are described in more detail below.