FpML Issues Tracker

852: ird-15 depends on an optional element

September 18, 2008

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.

  • Leave an update

    You must be logged in to post an update.