PolicyScreen
Policy screen is the foundation of an insurance contract. It is a main screen of OIPA. This screen rule is overridden at the plan level for each product, where it houses product specific information, or at the system level, where it’s used as the basis for creating the Application screen.
This business rule is used to configure the fixed fields of the Policy screen in order to:
-
Capture the basic information required for the policy like effective date, issue date, issue state, policy number, etc.
-
Perform policy level allocations
-
Define roles, role counts, role percents and client types for roles that are required for a policy
-
Define segment requirements
-
Enable/Disable policy field and state approvals
This business rule is used to configure the fixed fields of the Application screen in order to:
-
Capture basic application information, such as active date, issue date, issue state, application number, etc.
-
Add requirements to the application
-
Add impairments to the application
Policy summary section is added to the Policy Overview Screen to make it consistent with other policy related pages and compatible with prior versions. Now policy summary is displayed with all of the fixed fields presented in the same order and format as they present on the PolicyScreen. This is the default presentation of the policy summary for all policy related pages except the PolicyScreen which retains the current fixed field and dynamic field presentations alone and no summary. In addition, configurability for policy summary will be added so each customer may specify the fixed fields and presentation order they wish.
If the Policy Summary section configuration does not exist in the PolicyScreen business rule, the following fields/values are displayed in the order as stated below:
-
Policy Number
-
Company
-
Plan
-
Plan Date
-
Policy Name
-
Policy Status
| Elements | Attributes | Parent Element | Description | Element/Attribute Values |
|---|---|---|---|---|
|
<PolicyScreen> |
The opening and closing tag of the business rule. | |||
|
<Filter> |
<PolicyScreen> |
Optional: Allows to restrict access of privileged policies from selected security groups. |
||
|
<Conditions>
|
<Filter> |
Required, Repeatable: This structure defines one or more conditions for one or more sets of SecurityGroups. A set of SecurityGroups in one <Conditions> element shares the same conditional statements. This element is repeated for each combination of SecurityGroups and conditional statements needed to filter data from a user's view. |
||
| SecurityGroup | <Conditions> |
Required: The attribute provides a comma delimited list of Security Group names to associate with the conditional statements contained within this structure. When the user is a member of one of the listed Security Groups, the condition(s) are applied to the searched entity's resulting record data to determine removal from the results. |
Values:
|
|
| Type | <Conditions> |
Required: This attribute indicates when the conditions express an exclusion or inclusion of data from the presentation. The system currently supports exclusion only. |
Values:
|
|
| Operator | <Conditions> |
Optional: The <Conditions> element may contain multiple <Condition> elements as each represents a conditional statement. This attribute indicates the relationship between multiple <Condition> elements. All <Condition> elements apply the same OPERATOR value. |
Values:
|
|
|
<Condition>
|
<Conditions> |
Required, Repeatable: The element provides a single condition referencing data from the Policy's dynamic field table. This element is repeated to provide multiple conditions with each referencing a different field. When the condition evaluates to true, it may impact the display of the Policy's information on the screen. This is also dependent on the value of the containing <Conditions> Operator attribute and the result of multiple <Condition> elements. |
||
| Fieldname | <Condition> |
Required: This attribute identifies a Policy's dynamic field combined with the Value attribute identifies the Policy to exclude from the screen's presentation. |
Values:
|
|
| Value | <Condition> |
Required: This attribute provides a value combined with the Fieldname attribute identifies the Policy to exclude from the screen's presentation. |
Values:
|
|
|
<FixedFields> |
<PolicyScreen> |
Optional: This element allows the fixed fields to have the same configuration capabilities as dynamic fields. Fixed field data types cannot be altered from their system defined type and that configuration will be ignored. See Common Elements → Fixed Fields. |
||
|
<Fields> |
<PolicyScreen> |
Required: Allows configuration of dynamic fields. See Common Elements → Fields Elements. |
||
|
<MultiFields> |
<PolicyScreen> |
Optional: Allows configuration of MultiFields on the Policy Screen. See Common Elements → MultiFields Element. |
||
|
<Buttons> |
<PolicyScreen> |
Required: This element allows configuration of buttons and navigation associated to the Policy. |
||
|
<Button> |
<Buttons> |
Required, Repeatable: Defines functional buttons and navigation for the Policy. |
Values:
|
|
|
<Events> |
<PolicyScreen> |
Optional: See Common Elements → ActionEvents. |
||
|
<ScreenMath> |
<PolicyScreen> |
Optional: See Transaction Rules → Transaction Elements → Math Elements → ScreenMath Element. |
||
|
<Actions> |
<PolicyScreen> |
Optional: See Common Elements → ActionEvents. |
||
|
<Summary> |
<PolicyScreen> |
Optional: This element defines a Policy Summary section that includes more customization with more Policy related data than the <PolicySummary> section. If this element and the <PolicySummary> element are configured in the same Policy Screen rule, this element takes precedence. When neither <PolicySummary> and <Summary> element is configured, the default behavior is to present all Policy fixed fields in the following order.
|
||
|
<Fields> |
<Summary> |
Optional: This element is a definition structure to describe the Policy data to display. Structural child elements:
|
||
|
<Client> |
<Summary> |
Optional: This element defines a structure to display Client data. |
||
|
<ClientType> |
<Client> |
Required: This element provides the connection between the Policy and the Client through a Role. |
||
| ROLECODE | <ClientType> |
Required: This attribute identifies the Client from which the Summary will retrieve data. |
Values:
|
|
|
<Fields> |
<ClientType> |
Required, Repeatable: This element is a definition structure to describe the Client data to display. Structural child elements:
|
||
|
<Address> |
<Summary> |
Optional: This element defines a structure to display Address data. |
||
|
<AddressType> |
<Address> |
Required: This element provides the connection between the Policy and the Address through a Role and AddressRole. |
||
| ROLECODE |
<AddressType> |
Required: This attribute identifies the Client from which the Summary will retrieve data.
|
Values:
|
|
| ADDRESSTYPECODE |
<AddressType> |
Required: This attribute identifies the Address from which the Summary will retrieve data. |
Values:
|
|
|
<Fields> |
<AddressType> |
Required, Repeatable: This element is a definition structure to describe the Address data to display. Structural child elements:
|
||
|
<Role> |
<Summary> |
Optional: This element defines a structure to display Role data. |
||
|
<RoleType>
|
<Role> |
Required: This element provides the connection between the Policy and the desired Role. |
||
| ROLECODE | <RoleType> |
Required: This attribute identifies the Role from which the Summary will retrieve data.
|
Values:
|
|
|
<Fields> |
<RoleType> |
Required: This element is a definition structure to describe the Role data to display. Structural child elements:
|
||
|
<GroupCustomer> |
<Summary> |
Optional: This element defines a structure to display Group Customer data. |
||
|
<GroupCustomerType>
|
<GroupCustomer> |
Required: This element provides the connection between the Policy and the Group Customer. |
||
| ROLECODE |
<GroupCustomer> |
Required: This attribute identifies the Group Customer from which the Summary will retrieve data. |
Values:
|
|
|
<Fields> |
<GroupCustomer> |
Required: This element is a definition structure to describe the Group Customer data to display. Structural child elements:
|
||
|
<PolicySummary> |
<PolicyScreen> |
Optional: This element provides backward compatibility allowing a customized definition of the Policy Summary that appears at the top of all policy related pages. If this element and the <Summary> element are configured in the same Policy Screen rule, the <Summary> element takes precedence. When neither <PolicySummary> and <Summary> element is configured, the default behavior is to present all Policy fixed fields in the following order.
|
||
|
<FixedFieldName> |
<PolicySummary> |
Required, Repeatable: The element provides the name of a single Policy fixed field in which to display its value. |
Values:
|
|
|
<SegmentsAllowed> |
<PolicyScreen> |
Optional: The element specifies the number of segments allowed on the Policy. |
Values:
|
|
|
<MinimumSegments> |
<PolicyScreen> |
Optional: Specifies the minimum number of segments that must be attached to the Policy before any activity can be processed. Note: This element is required if the Policy supports Activities. |
Values:
|
|
|
<AllowPlanDateModifications> |
<PolicyScreen> |
Optional: This element defines whether the PlanDate field is enabled or disabled. |
Values:
|
|
|
<DisablePolicyFields> |
<PolicyScreen> |
Optional: Specifies when fields on the Policy screen can or cannot be edited, based on the Policy's status. |
||
|
<DisabledStatus> |
<DisablePolicyFields> |
Required: Indicates the Policy status(es) that would disable all Policy fields. |
Values:
|
|
|
<SegmentCount> |
<DisablePolicyFields> |
Optional: This element is an additional method to disable the Policy's fields. When the number of segments attached to the Policy reaches or exceeds this element's value, all Policy fields are disabled regardless of the Policy's status. This feature is not executed when the element is not configured. |
Values:
|
|
|
<AutomaticPolicyNumber> |
<PolicyScreen> |
Optional: Allows generating a policy number when a new Policy is created as per the format specified in AutomaticPolicyNumber business rule. |
Values:
|
|
|
<Roles> |
<PolicyScreen> |
Required: This element defines the roles that can be added to the policy. Policy Roles identify individuals or entities that have a Policy level responsibility or benefit. Multiple individuals or entities can be defined to a single role and multiple roles can be defined for a Policy. Specific Roles can be defined to be required and others optional. The order of Role definition dictates the order in which the Roles are presented on the screen as either checkboxes (left/right, top/bottom) or an options list in a drop down. |
||
|
<Role>
|
<Roles> |
Required, Repeatable: This element defines a single role that can be added to the policy. |
||
| NAME |
<Role> |
Optional: This element allows the configuror to provide a name to the Role to distinguish one <Role> element from another in a single PolicyScreen rule. |
Values:
|
|
| DISABLEBYPOLICYSTATUS |
<Role> |
Optional: This element is used to disable modification of this Role's data through the UI and prevents this Role from being added through the UI when the Policy status value is equal to a listed value. Without this attribute the Role's fields will not disable through the UI nor will the Role be prevented from being added through the UI. |
Values:
|
|
| ALLOWREQUIREMENTS |
<Role> |
Optional: The element controls the 'Add Requirement' button associated to this Role. The Requirement screen can be viewed by clicking on the Requirement navigation link. |
Values:
|
|
|
<RoleCode> |
<Role> |
Required: This element identifies the single Role being defined in the <Role> element. |
Values:
|
|
|
<RoleCount> |
<Role> |
Required: The element specifies the number of associated active Role instances that can be added to the Policy. |
Values:
|
|
|
<RolePercent> |
<Role> |
Required: Defines the total percentage value that OIPA will validate when an associated Role is added. OIPA will only accept multiple associated Roles where the total percentage value matches this element's value. |
Values:
|
|
|
<ClientType> |
<Role> |
Required: The element defines the client types that can be assigned to the associated Role. Multiple types of clients can be associated. This controls the client types from which the user can select. |
Values:
|
|
|
<Tests> |
<Role> |
Optional: This allows configuration of one or more test conditions. All configured conditions must evaluate to true for this associated Role to be valid for addition to the Policy. |
||
|
<Test> |
<Tests> |
Required, Repeatable: This element defines a single conditional expression. |
Values:
|
|
|
<AllowPercent> |
<Role> |
Optional: This element controls presentation of a percentage with the associated Role. |
Values:
|
|
|
<AllowZeroPercent> |
<Role> |
Optional: This element allows the percentage value to be zero. |
Values:
|
|
| Common <Field> sub-structure description | ||||
|
<Field> |
<Fields> |
Required, Repeatable: This element defines a field structure that identifies the field value to display, its translatable label and the a source table or Math section where the data resides. |
||
|
<Name> |
<Field> |
Required: This element identifies the data column or dynamic field name in the source table providing data to the presentation. |
Values:
|
|
|
<Display> |
<Field> |
Required: This element provides a label to display with the field's value. The label can be translated. If the <Name> element is Filler, this element is ignored. |
Values:
|
|
|
<Group> |
<Field> |
Required: This element provides the common name of the database table where the data has been stored. If the<Name> element is Filler, this element is ignored. |
Values:
|
|
XML Schema
<PolicyScreen>
<Filter>
<Conditions SecurityGroup="[security group, ...]" Type="Exclusion" Operator="[AND | OR]">
<Condition Fieldname="[field name]" Value="[field value]"/>
<Condition>...</Condition>
</Conditions>
<Conditions>...</Conditions>
</Filter>
<FixedFields>...</FixedFields>
<Fields>...</Fields>
<MultiFields>...</MultiFields>
<Buttons>
<Button>[Allocate | Activity | Close | New | PolicyOverview | Save | Values | Withholding]</Button>
<Button>...</Button>
</Buttons>
<Events>...</Events>
<ScreenMath>...</ScreenMath>
<Actions>...</Actions>
<Summary>
<Fields>
<Field>
<Name>[field name | Filler | math id:variable]</Name>
<Display>[literal]</Display>
<Group>[literal | Math]</Group>
</Field>
<Field>...</Field>
</Fields>
<Client>
<ClientType ROLECODE="[code value]">
<Fields>
<Field>
<Name>[field name | Filler | math id:variable]</Name>
<Display>[literal]</Display>
<Group>[literal | Math]</Group>
</Field>
<Field>...</Field>
</Fields>
</ClientType>
</Client>
<Address>
<AddressType ROLECODE="[code value]" ADDRESSTYPECODE="[code value]">
<Fields>
<Field>
<Name>[field name | Filler | math id:variable]</Name>
<Display>[literal]</Display>
<Group>[literal | Math]</Group>
</Field>
<Field>...</Field>
</Fields>
</AddressType>
</Address>
<Role>
<RoleType ROLECODE="[code value]">
<Fields>
<Field>
<Name>[field name | Filler | math id:variable]</Name>
<Display>[literal]</Display>
<Group>[literal | Math]</Group>
</Field>
<Field>...</Field>
</Fields>
</RoleType>
</Role>
<GroupCustomer>
<GroupCustomerType ROLECODE="[code value]">
<Fields>
<Field>
<Name>[field name | Filler | math id:variable]</Name>
<Display>[literal]</Display>
<Group>[literal | Math]</Group>
</Field>
<Field>...</Field>
</Fields>
</GroupCustomerType>
</GroupCustomer>
</Summary>
<PolicySummary>
<FixedFieldName>[PolicyNumber | PolicyName | StatusCode | PlanDate | Company | Plan | IssueStateCode]</FixedFieldName>
<FixedFieldName>...</FixedFieldName>
</PolicySummary>
<SegmentsAllowed>[0 | integer | *]</SegmentsAllowed>
<MinimumSegments>[0 | integer]</MinimumSegmenes>
<AllowPlanDateModifications>[No | Yes]</AllowPlanDateModifications>
<DisablePolicyFields>
<DisabledStatus>[code value, ...]</DisabledStatus>
<SegmentCount>[integer | * | +]</SegmentCount>
</DisablePolicyFields>
<AutomaticPolicyNumber>[No | Yes | Optional]</AutomaticPolicyNumber>
<Roles>
<Role NAME="[literal]" DISABLEBYPOLICYSTATUS="[code value]" ALLOWREQUIREMENTS="[No | Yes]">
<Tests>
<Test>[conditional expression]</Test>
<Test>...</Test>
</Tests>
<RoleCode>[code value]</RoleCode>
<RoleCount>[integer | *]</RoleCount>
<ClientType>[code value, ...]</ClientType>
<AllowPercent>[Yes | No]</AllowPercent>
<AllowZeroPercent>[Yes | No]</AllowZeroPercent>
</Role>
<Role>...</Role>
</Roles>
</PolicyScreen>
XML Example
<PolicyScreen>
<Fields>
<Field>
<Name>StatutoryCompany</Name>
<Display>Statutory Company</Display>
<DataType>Combo</DataType>
<DefaultValue>ALIC</DefaultValue>
<Disabled>Yes</Disabled>
<Query TYPE="FIXED">
<Options>
<Option>
<OptionValue>ALIC</OptionValue>
<OptionText>ALIC</OptionText>
</Option>
<Option>
<OptionValue>ALICNY</OptionValue>
<OptionText>ALICNY</OptionText>
</Option>
</Options>
</Query>
</Field>
<Field>
<Name>QualType</Name>
<Display>Qual Type</Display>
<DataType>Combo</DataType>
<Query TYPE="SQL">SELECT AsCode.CodeValue, AsCode.ShortDescription FROM AsCode WHERE AsCode.CodeName = 'AsCodeQualifier' AND AsCode.CodeValue IN ('01','02','03','04','07','08','13')</Query>
</Field>
<Field>
<Name>BandVariable</Name>
<Display>Option Groups</Display>
<DataType>Combo</DataType>
<Query TYPE="FIXED">
<Options>
<Option>
<OptionValue>125</OptionValue>
<OptionText>ContractBSeries</OptionText>
</Option>
<Option>
<OptionValue>160</OptionValue>
<OptionText>ContractXCSeries</OptionText>
</Option>
</Options>
</Query>
</Field>
<Field>
<Name>Filler</Name>
<Display/>
<DataType>Blank</DataType>
</Field>
<Field>
<Name>Filler</Name>
<Display/>
<DataType>Blank</DataType>
</Field>
<Field>
<Name>Filler</Name>
<Display/>
<DataType>Blank</DataType>
</Field>
<Field>
<Name>PolicyEffectiveDate</Name>
<Display>Effective Date</Display>
<DataType>Date</DataType>
<Disabled>Yes</Disabled>
</Field>
<Field>
<Name>PolicyIssueDate</Name>
<Display>Issue Date</Display>
<DataType>Date</DataType>
</Field>
<Field>
<Name>SweepDate</Name>
<Display>Sweep Date</Display>
<DataType>Date</DataType>
<Disabled>Yes</Disabled>
</Field>
<Field>
<Name>FreeLookEndDate</Name>
<Display>FreeLook End Date</Display>
<DataType>Date</DataType>
<Disabled>Yes</Disabled>
</Field>
<Field>
<Name>NewTaxID</Name>
<Display>SSN</Display>
<DataType>Text</DataType>
<Disabled>Yes</Disabled>
<Hidden>Yes</Hidden>
</Field>
<Field>
<Name>Filler</Name>
<Display/>
<DataType>Blank</DataType>
</Field>
<Field>
<Name>Filler</Name>
<Display/>
<DataType>Blank</DataType>
</Field>
<Field>
<Name>GMABRider</Name>
<Display>GMAB Rider</Display>
<DataType>Radio</DataType>
<Query TYPE="FIXED">
<Options>
<Option>
<OptionValue>00</OptionValue>
<OptionText>No</OptionText>
</Option>
<Option>
<OptionValue>01</OptionValue>
<OptionText>Yes</OptionText>
</Option>
</Options>
</Query>
<DefaultValue>00</DefaultValue>
</Field>
<Field>
<Name>PolicyYear</Name>
<Display>Policy Year</Display>
<DataType>Integer</DataType>
<DefaultValue>0</DefaultValue>
<Hidden>Yes</Hidden>
</Field>
</Fields>
<Summary>
<Fields>
<Field>
<Name>SummaryMath:OwnerFullNameMV</Name>
<Display>Owner Full Name</Display>
<Group>Math</Group>
</Field>
<Field>
<Name>SummaryMath:OwnerDOBMV</Name>
<Display>Owner DOB</Display>
<Group>Math</Group>
</Field>
<Field>
<Name>SummaryMath:OwnerTAXIDMV</Name>
<Display>Owner Tax ID</Display>
<Group>Math</Group>
</Field>
<Field>
<Name>SummaryMath:OwnerResidenceMV</Name>
<Display>Owner Residence</Display>
<Group>Math</Group>
</Field>
<Field>
<Name>SummaryMath:AnnuitantFullNameMV</Name>
<Display>Annuitant Full Name</Display>
<Group>Math</Group>
</Field>
<Field>
<Name>SummaryMath:AnnuitantDOB</Name>
<Display>Annuitant DOB</Display>
<Group>Math</Group>
</Field>
<Field>
<Name>QualType</Name>
<Display>Qual Type</Display>
<Group>PolicyField</Group>
</Field>
<Field>
<Name>NewTaxID</Name>
<Display>SSN</Display>
<Group>PolicyField</Group>
</Field>
<Field>
<Name>TAXID</Name>
<Display>SSN</Display>
<Group ROLECODE="01">Client</Group>
</Field>
</Fields>
<Client>
<ClientType ROLECODE="01">
<Fields>
<Field>
<Name>TAXID</Name>
<Display>SSN</Display>
<Group>Client</Group>
</Field>
</Fields>
</ClientType>
</Client>
<Address>
<AddressType ROLECODE="01" ADDRESSTYPECODE="02">
<Fields>
<Field>
<Name>Address</Name>
<Display>Owner Address</Display>
<Group>Address</Group>
</Field>
</Fields>
</AddressType>
<AddressType ROLECODE="27" ADDRESSTYPECODE="02">
<Fields>
<Field>
<Name>Address</Name>
<Display>Annuitant Address</Display>
<Group>Address</Group>
</Field>
</Fields>
</AddressType>
</Address>
</Summary>
<Buttons>
<Button>Allocate</Button>
<Button>Values</Button>
<Button>Activity</Button>
<Button>Withholding</Button>
</Buttons>
<Events>
<Event TYPE="ONLOAD">
<Math ID="SummaryMath"/>
<Math ID="FinalValidationMath"/>
<ActionSet ID="OnChangeIssueStateCode"/>
</Event>
<Event TYPE="ONCHANGE" FIELD="IssueStateCode">
<ActionSet ID="OnChangeIssueStateCode"/>
</Event>
<Event TYPE="ONSUBMIT">
<ActionSet ID="FinalValidation"/>
</Event>
</Events>
<ScreenMath>
<Math ID="SummaryMath" GLOBAL="Yes">
<MathVariables>
<MathVariable VARIABLENAME="NewYork" TYPE="VALUE" DATATYPE="TEXT">32</MathVariable>
<MathVariable VARIABLENAME="AnnuitantFullNameMV" TYPE="SQL" DATATYPE="TEXT">SELECT AsClient.FirstName || ' ' || AsClient.LastName FROM AsClient, AsRole, AsCode WHERE AsClient.ClientGUID = AsRole.ClientGUID AND (AsRole.RoleCode = AsCode.CodeValue) AND (AsCode.CodeName = 'AsCodeRole' AND AsRole.PolicyGUID = '[PolicyGUID]' AND AsRole.RoleCode = '27')</MathVariable>
<MathVariable VARIABLENAME="AnnuitantDOB" TYPE="SQL" DATATYPE="TEXT">SELECT AsClient.DATEOFBIRTH FROM AsClient, AsRole, AsCode WHERE AsClient.ClientGUID = AsRole.ClientGUID AND (AsRole.RoleCode = AsCode.CodeValue) AND (AsCode.CodeName = 'AsCodeRole' AND AsRole.PolicyGUID = '[PolicyGUID]' AND AsRole.RoleCode = '27')</MathVariable>
<MathVariable VARIABLENAME="OwnerFullNameMV" TYPE="SQL" DATATYPE="TEXT">SELECT AsClient.FirstName || ' ' || AsClient.LastName FROM AsClient, AsRole, AsCode WHERE AsClient.ClientGUID = AsRole.ClientGUID AND (AsRole.RoleCode = AsCode.CodeValue) AND (AsCode.CodeName = 'AsCodeRole' AND AsRole.PolicyGUID = '[PolicyGUID]' AND AsRole.RoleCode = '01')</MathVariable>
<MathVariable VARIABLENAME="OwnerDOBMV" TYPE="SQL" DATATYPE="TEXT">SELECT AsClient.DATEOFBIRTH FROM AsClient, AsRole, AsCode WHERE AsClient.ClientGUID = AsRole.ClientGUID AND (AsRole.RoleCode = AsCode.CodeValue) AND (AsCode.CodeName = 'AsCodeRole' AND AsRole.PolicyGUID = '[PolicyGUID]' AND AsRole.RoleCode = '01')</MathVariable>
<MathVariable VARIABLENAME="OwnerTAXIDMV" TYPE="SQL" DATATYPE="TEXT">SELECT AsClient.TAXID FROM AsClient, AsRole, AsCode WHERE AsClient.ClientGUID = AsRole.ClientGUID AND (AsRole.RoleCode = AsCode.CodeValue) AND (AsCode.CodeName = 'AsCodeRole' AND AsRole.PolicyGUID = '[PolicyGUID]' AND AsRole.RoleCode = '01')</MathVariable>
<MathVariable VARIABLENAME="OwnerAddressMV" TYPE="SQL" DATATYPE="TEXT">SELECT AsClient.FirstName || ' ' || AsClient.LastName FROM AsClient, AsRole, AsCode WHERE AsClient.ClientGUID = AsRole.ClientGUID AND (AsRole.RoleCode = AsCode.CodeValue) AND (AsCode.CodeName = 'AsCodeRole' AND AsRole.PolicyGUID = '[PolicyGUID]' AND AsRole.RoleCode = '01')</MathVariable>
<MathVariable VARIABLENAME="OwnerResidenceMV" TYPE="SQL" DATATYPE="TEXT">SELECT AsClient.LegalResidenceCountryCode FROM AsClient, AsRole, AsCode WHERE AsClient.ClientGUID = AsRole.ClientGUID AND (AsRole.RoleCode = AsCode.CodeValue) AND (AsCode.CodeName = 'AsCodeRole' AND AsRole.PolicyGUID = '[PolicyGUID]' AND AsRole.RoleCode = '01')</MathVariable>
</MathVariables>
</Math>
<Math ID="FinalValidationMath" GLOBAL="No">
<MathVariables>
<MathVariable VARIABLENAME="PolicyNameError" TYPE="VALUE" DATATYPE="BOOLEAN">false</MathVariable>
<MathIF IF="IsEmpty(PolicyName) = true">
<MathVariable VARIABLENAME="PolicyNameError" TYPE="VALUE" DATATYPE="BOOLEAN">true</MathVariable>
</MathIF>
<MathVariable VARIABLENAME="PlanName" TYPE="SQL" DATATYPE="TEXT">select PLANNAME from asplan where planguid in (select planguid from aspolicy where policyguid = '[PolicyGUID]')</MathVariable>
</MathVariables>
</Math>
<Math ID="TestSummary" GLOBAL="No">
<MathVariables>
<MathVariable VARIABLENAME="AnnuitantFullNameMV" TYPE="SQL" DATATYPE="TEXT">SELECT AsClient.FirstName || ' ' || AsClient.LastName FROM AsClient, AsRole, AsCode WHERE AsClient.ClientGUID = AsRole.ClientGUID AND (AsRole.RoleCode = AsCode.CodeValue) AND (AsCode.CodeName = 'AsCodeRole' AND AsRole.PolicyGUID = '[PolicyGUID]' AND AsRole.RoleCode = '01')</MathVariable>
</MathVariables>
</Math>
</ScreenMath>
<Actions>
<ActionSet ID="OnChangeIssueStateCode">
<Action ACTIONTYPE="ASSIGN" FIELD="NewTaxID">SummaryMath:OwnerTAXIDMV</Action>
<Condition IF="IssueStateCode=SummaryMath:NewYork">
<Action ACTIONTYPE="ASSIGN" FIELD="StatutoryCompany">'ALICNY'</Action>
<Else>
<Action ACTIONTYPE="ASSIGN" FIELD="StatutoryCompany">'ALIC'</Action>
</Else>
</Condition>
</ActionSet>
<ActionSet ID="FinalValidation">
<Condition IF="IsEmpty(PolicyIssueDate)">
<Action ACTIONTYPE="ERROR">Issue Date is a required field.</Action>
</Condition>
</ActionSet>
</Actions>
<Roles>
<Role NAME="Annuitant" DISABLEBYPOLICYSTATUS="01,04,07,09,10,21,30,31,32,36,40">
<RoleCode>27</RoleCode>
<RoleCount>1</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>02</ClientType>
</Role>
<Role NAME="Collateral Assignee" DISABLEBYPOLICYSTATUS="01,09,10,21,05,29">
<RoleCode>88</RoleCode>
<RoleCount>*</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>02</ClientType>
</Role>
<Role NAME="Contingent Beneficiary" DISABLEBYPOLICYSTATUS="01,04,07,09,10,21,30,31,32,36,40">
<RoleCode>24</RoleCode>
<RoleCount>1</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>02</ClientType>
</Role>
<Role NAME="Financial Advisor" DISABLEBYPOLICYSTATUS="01,04,07,09,10,21,30,31,32,36,40">
<RoleCode>40</RoleCode>
<RoleCount>1</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>02</ClientType>
</Role>
<Role NAME="Joint Annuitant" DISABLEBYPOLICYSTATUS="01,04,07,09,10,21,30,31,32,36,40">
<RoleCode>07</RoleCode>
<RoleCount>1</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>02</ClientType>
</Role>
<Role NAME="Owner" DISABLEBYPOLICYSTATUS="01,04,07,09,10,21,30,31,32,36,40">
<RoleCode>01</RoleCode>
<RoleCount>1</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>02</ClientType>
</Role>
<Role NAME="Payee" DISABLEBYPOLICYSTATUS="01,04,07,09,10,21,30,31,32,36,40">
<RoleCode>04</RoleCode>
<RoleCount>*</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>01,02</ClientType>
</Role>
<Role NAME="Primary Beneficiary" DISABLEBYPOLICYSTATUS="01,04,07,09,10,21,30,31,32,36,40">
<RoleCode>23</RoleCode>
<RoleCount>1</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>02</ClientType>
</Role>
<Role NAME="Transfer Company" DISABLEBYPOLICYSTATUS="01,04,07,09,10,21,30,31,32,36,40">
<RoleCode>15</RoleCode>
<RoleCount>1</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>01</ClientType>
</Role>
<Role NAME="Trustee" DISABLEBYPOLICYSTATUS="01,04,07,09,10,21,30,31,32,36,40">
<RoleCode>67</RoleCode>
<RoleCount>*</RoleCount>
<RolePercent>100</RolePercent>
<ClientType>01,02</ClientType>
</Role>
</Roles>
<SegmentsAllowed>4</SegmentsAllowed>
<MinimumSegments>1</MinimumSegments>
<ShowSegmentRoles>Yes</ShowSegmentRoles>
<AutomaticPolicyNumber>Yes</AutomaticPolicyNumber>
<DisablePolicyFields>
<DisabledStatus>01,04,07,09,10,21,30,31,32,36,40</DisabledStatus>
</DisablePolicyFields>
</PolicyScreen>