FpML Issues Tracker
closed
Minor
Always
Validation Rules
Admin
None
Summary
The constraint ird-15 depends on an optional element existing. When the element does not exist there is no result from the constraint.
The rule today: " ird-15 (Mandatory) Context: CalculationPeriodDates (complex type) [isParametric] terminationDate/unadjustedDate > firstPeriodStartDate/unadjustedDate. "
The element //element(*, CalculationPeriodDates)/firstPeriodStartDate is optional.
Notes:
matthewdr
10/21/08 1:24 pm
Agreed at the VWG to propose to Harry to add a guard checking for the existence of the element //element(*, CalculationPeriodDates)/firstPeriodStartDate.
mgratacos
10/21/08 1:25 pm
The group thinks a guard condition should be added: firstPeriodStartDate exists.
Input from Harry would be good.
h_mcallister
10/29/08 6:41 pm
Rules ird-14..ird-22 define relationships between the date values expressed by members of CalculationPeriodDates.
In an informal notation, we have:
terminationDate > effectiveDate (ird-14)
and:
effectiveDate > firstPeriodStartDate (ird-21)
Together these rules imply the relationship expressed by ird-15 (terminationDate > firstPeriodStartDate); ird-15 is therefore redundant and should be retired.
Similar considerations apply to ird-19:
lastRegularPeriodEndDate > effectiveDate (ird-20)
Taken with ird-21 as before, this implies the relationship expressed by ird-19 (lastRegularPeriodEndDate > firstPeriodStartDate); ird-19 is therefore redundant and should be retired.
matthewdr
11/17/08 2:31 pm
I agree with Harry, we should retire ird-15 and ird-19. At the moment there is a duplicate. We see this with examples that can’t help but trigger more than one rule.
mgratacos
11/25/08 2:26 pm
The group thinks a guard condition should be added: firstPeriodStartDate exists.
lyteck
11/25/08 5:33 pm
added guard as agreed:
ird-15 (Mandatory)
Context: CalculationPeriodDates (complex type)
Formal Description:
[exists(firstPeriodStartDate)]
terminationDate/unadjustedDate > firstPeriodStartDate/unadjustedDate.
matthewdr
12/09/08 3:18 pm
The solution Harry and I agreed on was to retired ird-15 and ird-19. I see the rules were fixed, but they should have also been retired.
Ropening the issue to consider retirement.
lyteck
12/09/08 6:07 pm
Deprecated ird-15 and ird-19
Also as agreed, added guards to ird-15 -> ird-22 on optional elements
ird-16 (Mandatory)
Context: CalculationPeriodDates (complex type)
Formal Description:
[exists(//element(*, CalculationPeriodDates)/firstRegularPeriodStartDate)]
terminationDate/unadjustedDate gt firstRegularPeriodStartDate
ird-17 (Mandatory)
Context: CalculationPeriodDates (complex type)
Formal Description:
[exists(lastRegularPeriodEndDate)]
terminationDate/unadjustedDate gt lastRegularPeriodEndDate
ird-18 (Mandatory)
Context: CalculationPeriodDates (complex type)
Formal Description:
[exists(firstRegularPeriodStartDate)] [exists(lastRegularPeriodEndDate)]
lastRegularPeriodEndDate gt firstRegularPeriodStartDate
ird-20 (Mandatory)
Context: CalculationPeriodDates (complex type)
Formal Description:
[exists(lastRegularPeriodEndDate)]
lastRegularPeriodEndDate gt effectiveDate/unadjustedDate
ird-21 (Mandatory)
Context: CalculationPeriodDates (complex type)
Formal Description:
[exists(firstPeriodStartDate)]
firstPeriodStartDate/unadjustedDate lt effectiveDate/unadjustedDate
ird-22 (Mandatory)
Context: CalculationPeriodDates (complex type)
Formal Description:
[exists(firstPeriodStartDate)] [exists(firstRegularPeriodStartDate)]
firstPeriodStartDate/unadjustedDate lt firstRegularPeriodStartDate
matthewdr
12/10/08 9:30 am
Closing after testing.