As identified above, the decision details rule set should contain a class which extends DefaultProductDecisionDetailsRuleSet.DefaultCase, as shown below:
<Class extends="DefaultCase" extendsRuleSet="DefaultProductDecisionDetailsRuleSet" name="SimpleProductDecisionDetails" > ... ...
For the subscreen content, the rule set should contain a class which extends DefaultProductDecisionDetailsRuleSet.DefaultCaseSubscreenDisplay, as shown below:
<Class extends="DefaultCaseSubscreenDisplay" extendsRuleSet="DefaultProductDecisionDetailsRuleSet" name="SimpleProductObjectiveTimelineSubscreen" > ... ...
So that the rule set can retrieve the necessary information to display on the decision summary screen and associated subscreens, it should contain the following key attributes:
Attribute | Description |
---|---|
isEligibleTimeline | To determine whether the client is eligible / ineligible, the rule set should contain an attribute which will reference the isEligibleTimeline attribute on the eligibility and entitlement rule set. The attribute is named similarly here for simplicity. This attribute will live on the AbstractSimpleProductDecisionDetails class and will need to include a Display annotation. |
displayObjectiveTimelines | To retrieve the list of objectives the client is entitled to, the rule set should contain an attribute which will reference the objectiveTimelines attribute on the eligibility and entitlement rule set. As there is no business data (like concernRoleID, for example) that can distinguish each individual element in the list, the businessObjectID will instead be derived from the index of each element in the list. Again, this attribute will live on the AbstractSimpleProductDecisionDetails class and will need to include a Display annotation. |
displayObjectiveTimelineSubscreens | The AbstractSimpleProductDecisionDetails class will also need to contain an attribute for listing the subscreens for the objectives. This will need to contain a DisplayScreen annotated to signify that it is for subscreen display. |
businessObjectID | The SimpleProductObjectiveTimelineSubscreen class needs to contain a businessObjectID attribute which will be derived from the index of the list of objectives (displayObjectiveTimelines). |
displayTagTimelines | As the subscreen needs to display the list of tags for each objective, the SimpleProductObjectiveTimelineSubscreen also needs to contain an attribute which will be derived from the objective tag timelines related to each objective timeline. This attribute also needs to include a Display annotation. |