ValuationFields

ValuationFields system rule calculates the values per fund and allows saving output values to fields of other entities. Using the rule, the user can create specific fund fields and display it on the values screen as per customer specific requirement.

ValuationFields system rule can calculate values at Deposit, Fund and Policy levels. This can be overridden at Fund level but ValuationFields BR cannot be overridden for child funds and it is executed after valuation process. The ValuationFields rule runs from activities and update values screen when:

  • an activity process the valuation
  • the PolicyValue screen is generated
  • the PolicyValue screen valuation date is updated
  • valuation runs from inquiryscreen or mathvaluation.

The ValuationFields system rule has following sections:

  • Input Section: Calculate values using Math variables from the following levels:
    • PolicyLevel: Contains Math variables to calculate values at policy level and save the values to PolicyValueField.
    • FundLevel: Contains Math Variables to calculate values at Fund level and save the values to FundValueField.
    • DepositLevel: Contains Math Variables to calculate values at Deposit level and save the values to DepositValuefield.
  • Output Section: Perform supported aggregate functions (MIN, MAX, SUM, COUNT, AVERAGE) and other functions (GMEAN, MEDIAN, MODE) to map values to defined entities

Note: When any fund field configured at values screen and not calculated in valuationfields, the valuesscreen does not display any value and left blank. ValuationFields system rule is optional and can be picked up as a last step while running validation.

 

ValuationFields: Elements and Attributes

Element/Tag Attributes Parent Element Description Element/Attribute Value

<ValuationFields>  

 

 

The opening and closing tag for the business rule.

 

<Input>

  <ValuationFields>

Required:

The opening and closing element for the Input section.

 

<PolicyLevel>      

  <Input>

Required:

The opening and closing element for the Math calculations at policy level.

 
<MathVariables>   <PolicyLevel>

Required

Parent tag for mathvariables.

<MathVariable>   <MathVariables> Math variables to calculate values to output.  
<FundLevel>   <Input>

Required:

The opening and closing element for the Math calculations at Fund level.

 
<MathVariables>   <FundLevel>

Required:

Parent tag for mathvariables.

 
<MathVariable>   <MathVariables> Math variables to calculate values to output.  
<DepositLevel>   <Input>

Required:

The opening and closing element for the Math calculations at Deposit level.

Parent tag for deposit level math variables.

<MathVariables>   <FundLevel>

Required:

Parent tag for mathvariables.

 
<MathVariable>   <MathVariables> Math variables to calculate values to output.  
<Output>   <ValuationFields> The opening and closing tag for output section.  
<Mappings>   <Output> Sets parent tag for all the mappings  
<Mapping>   <Mappings>

Required:

Mapping inputs to outputs.

Named as math variable from the input section above.

  DATATYPE <Mapping>

Required:

Defines the datatype of the variable

 
  LEVEL <Mapping>

Required:

Defines the output level of the mapping

Values can be Deposit, Fund and Policy

  AGGREGATEFUNCTION <Mapping>

Optional:

Defines the aggregate function being used

 
  FUNCTION <Mapping>

Optional:

Defines the function being used

Functions can be GMEAN, MEDIAN,MODE

  SOURCELEVEL <Mapping>

Required (If aggregate function or other functions are used in mapping):

Defines the source level of the mapping

Optional (If aggregate functions are not used and source level is not mentioned, system considers both LEVEL and SOURCELEVEL as the same):

Defines the source level of the mapping

  • SOURCELEVEL=DEPOSIT possible LEVEL values are DEPOSIT, FUND and POLICY
  • SOURCELEVEL=FUND possible LEVEL values are FUND and POLICY
  • SOURCELEVEL=POLICY possible LEVEL value is POLICY

XML Schema

<ValuationFields>
<Input>
<PolicyLevel>
<MathVariables>
<MathVariable> </MathVariable>
<MathVariables>
</PolicyLevel>
<FundLevel>
<MathVariables>
<MathVariable> </MathVariable>
<MathVariables>
</FundLevel>
<DepositLevel>
<MathVariables>
<MathVariable> </MathVariable>
<MathVariables>
</DepositLevel>
</Input>
<Output>
< Mappings>
<Mapping OUTPUTNAME=" " DATATYPE=" " LEVEL=" " SOURCELEVEL=" "> </Mapping>
<Mapping OUTPUTNAME=" " DATATYPE=" " LEVEL=" " AGGREGATEFUNCTION=" " SOURCELEVEL=" "> </Mapping>
<Mapping OUTPUTNAME=" " DATATYPE=" " LEVEL=" " FUNCTION=" " SOURCELEVEL=" "> </Mapping>
</Mappings>
</Output>
</ValuationFields>

XML Example

<ValuationFields>
<Input>
<PolicyLevel>
<MathVariables>
<MathVariable>
<MathVariable VARIABLENAME="PolicyCashValueMV" TYPE="POLICYFIELD" DATATYPE="DECIMAL">Valuation:Policy:CashValue</MathVariable>
<MathVariable VARIABLENAME="PolicyCashValueMV" TYPE="POLICYFIELD" DATATYPE="DECIMAL">Valuation:Policy:Principal</MathVariable>
<MathVariable VARIABLENAME="Policygain" TYPE="EXPRESSION" DATATYPE="DECIMAL">(CashValue-Principal)</MathVariable>
</MathVariable>
<MathVariables>
</PolicyLevel>
<FundLevel>
<MathVariables>
<MathVariable>
<MathVariable VARIABLENAME="FundGUIDMV" TYPE="EXPRESSION" DATATYPE="TEXT">FundGUID</MathVariable>
<MathVariable VARIABLENAME="FundCashValueMV" TYPE="FIELD" DATATYPE="DECIMAL">Valuation:Fund:FundGUIDMV:CashValue</MathVariable>
<MathVariable VARIABLENAME="RatioVM" TYPE="EXPRESSION" DATATYPE="DECIMAL">(FundCashValueMV)/2</MathVariable>
</MathVariable>
<MathVariables>
</FundLevel>
<DepositLevel>
<MathVariables>
<MathVariable>
<MathVariable VARIABLENAME="FundGUIDMV" TYPE="EXPRESSION" DATATYPE="TEXT">FundGUID</MathVariable>
<MathVariable VARIABLENAME="DepositGUIDMV" TYPE="EXPRESSION" DATATYPE="TEXT">DepositGUID</MathVariable>
<MathVariable VARIABLENAME="DepositValueMV" TYPE="FIELD" DATATYPE="DECIMAL">Valuation:Deposit:DepositGUIDMV:CashValue</MathVariable>
<MathVariable VARIABLENAME="DepositBeginValueMV" TYPE="FIELD" DATATYPE="DECIMAL">Valuation:Deposit:DepositGUIDMV:BeginValue</MathVariable>
<MathVariable VARIABLENAME="DepositEffectiveDateMV" TYPE="FIELD" DATATYPE="DATE">Valuation:Deposit:DepositGUIDMV:EffectiveDate</MathVariable>
<MathVariable VARIABLENAME="TestAmountMV" TYPE="EXPRESSION" DATATYPE="DECIMAL">DepositValueMV / 2</MathVariable>
<MathVariable VARIABLENAME="TestAmountMV2C" TYPE="EXPRESSION" DATATYPE="CURRENCY">ToCurrency(TestAmountMV,'CAD')</MathVariable>
<MathVariable VARIABLENAME="YieldMV" TYPE="EXPRESSION" DATATYPE="DECIMAL">1+DepositBeginValueMV/DepositValueMV</MathVariable>
</MathVariable>
<MathVariables>
</DepositLevel>
</Input>
<Output>
< Mappings>
<Mapping OUTPUTNAME="RatioVM" DATATYPE="DECIMAL" LEVEL="FUND" >RatioVM</Mapping>
<Mapping OUTPUTNAME="TestAmount" DATATYPE="DECIMAL" LEVEL="DEPOSIT" >TestAmountMV2C</Mapping>
<Mapping OUTPUTNAME="TestAmount" DATATYPE="DECIMAL" LEVEL="FUND" AGGREGATEFUNCTION="SUM" SOURCELEVEL="DEPOSIT">TestAmountMV2C</Mapping>
<Mapping OUTPUTNAME="TestAmountMIN" DATATYPE="DECIMAL" LEVEL="FUND" AGGREGATEFUNCTION="MIN" SOURCELEVEL="DEPOSIT">TestAmountMV2C</Mapping>
<Mapping OUTPUTNAME="TestAmountMAX" DATATYPE="DECIMAL" LEVEL="FUND" AGGREGATEFUNCTION="MAX" SOURCELEVEL="DEPOSIT">TestAmountMV2C</Mapping>
<Mapping OUTPUTNAME="TestAmountSUM" DATATYPE="DECIMAL" LEVEL="FUND" AGGREGATEFUNCTION="SUM" SOURCELEVEL="DEPOSIT">TestAmountMV2C</Mapping>
<Mapping OUTPUTNAME="TestAmountAVERAGE" DATATYPE="DECIMAL" LEVEL="FUND" AGGREGATEFUNCTION="AVERAGE" SOURCELEVEL="DEPOSIT">TestAmountMV2C</Mapping>
<Mapping OUTPUTNAME="TestAmountCOUNT" DATATYPE="INTEGER" LEVEL="FUND" AGGREGATEFUNCTION="COUNT" SOURCELEVEL="DEPOSIT">TestAmountMV</Mapping>
<Mapping OUTPUTNAME="TestAmountMean" DATATYPE="INTEGER" LEVEL="FUND" FUNCTION="GMEAN" SOURCELEVEL="DEPOSIT">TestAmountMV</Mapping>
<Mapping OUTPUTNAME="TestAmountMedian" DATATYPE="INTEGER" LEVEL="FUND" FUNCTION="MEDIAN" SOURCELEVEL="DEPOSIT">TestAmountMV</Mapping>
<Mapping OUTPUTNAME="TestAmountSUM" DATATYPE="INTEGER" LEVEL="FUND" AGGREGATEFUNCTION="SUM" SOURCELEVEL="DEPOSIT">Count</Mapping>
<Mapping OUTPUTNAME="FirstDepositDate" DATATYPE="DATE" LEVEL="FUND" AGGREGATEFUNCTION="MIN" SOURCELEVEL="DEPOSIT">DepositEffectiveDateMV</Mapping>
<Mapping OUTPUTNAME="FirstLastDate" DATATYPE="DATE" LEVEL="FUND" AGGREGATEFUNCTION="MAX" SOURCELEVEL="DEPOSIT">DepositEffectiveDateMV</Mapping>
<Mapping OUTPUTNAME="YieldAggSUM" DATATYPE="DECIMAL" LEVEL="FUND" AGGREGATEFUNCTION="SUM" SOURCELEVEL="DEPOSIT">YieldMV</Mapping>
<Mapping OUTPUTNAME="Yield" DATATYPE="DECIMAL" LEVEL="FUND" AGGREGATEFUNCTION="AVERAGE" SOURCELEVEL="DEPOSIT">YieldMV</Mapping>
<Mapping OUTPUTNAME="GlobalYield" DATATYPE="DECIMAL" LEVEL="POLICY" AGGREGATEFUNCTION="AVERAGE" SOURCELEVEL="DEPOSIT">YieldMV</Mapping>
<Mapping OUTPUTNAME="PolicyRatio" DATATYPE="DECIMAL" LEVEL="POLICY" AGGREGATEFUNCTION="AVERAGE" SOURCELEVEL="FUND">RatioVM</Mapping>
<Mapping OUTPUTNAME="Ratio" DATATYPE="DECIMAL" LEVEL="FUND">RatioVM</Mapping>
<Mapping OUTPUTNAME="PolicyGrowth" DATATYPE="DECIMAL" LEVEL="POLICY" FUNCTION="GMEAN" SOURCELEVEL="FUND">FundCashValueMV</Mapping>
<Mapping OUTPUTNAME="PolicyGain" DATATYPE="DECIMAL" LEVEL="Policy" >PolicyGain</Mapping>
</Mappings>
</Output>
</ValuationFields>