SegmentRoleScreen

This screen business rule defines the dynamic fields that can be displayed and updated on the specified Role Detail(s) windows. The segment selected during the policy entry process dictates which role options are visible and available on the Segment Role screen. This rule exists at Global and Plan levels.

 SegmentRoleScreen Elements and Attributes
Elements Attributes Parent Element Description Element/Attribute Value

<SegmentRoleScreen>

   

Required:

This is the opening element and matches the name of the business rule.

 

<Filter>

   

Optional:

The filter structure expresses conditions upon which the entity's data will not be displayed to a user.  The restrictions are based on the user's SecurityGroup membership and the entity's data values.

 

<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.

comma delimited list of Security Groups

 

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.

  • Exclusion

    • The filter will remove the entity record from the screen's presentation when the conditions evaluate to true.

 

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.

 

  • AND

    • default

    • All conditionals are connected by an AND relationship and all must evaluate to be true for the filter to impact the resulting presentation.

  • OR

    • All conditionals are connected by an OR relationship and any one evaluating to true will impact the resulting presentation.

<Condition>

 

<Conditions>

Required, Repeatable:

The element provides a single condition referencing data from the database table provided by its associated ENTITY attribute.  This element is repeated to provide multiple conditions with each referencing a different table name.

Conditional statement in the form of a SQL predicate

 

ENTITY

<Condition>

Required:

The attribute provides a database table name upon which the condition will apply.

  • ASPOLICY

  • ASPOLICYFIELD

  • ASCLIENT

  • ASCLIENTFIELD

  • ASROLEASROLEFIELD

 

FIELDNAME

<Condition>

Optional:

This attribute helps identify the Segment Role or Client that the <Condition>'s value is tested against.  This applies to Role, RoleField, Client and ClientField entities only.

  • RoleCode

    • This is applicable for ASROLE and ASROLEFIELD entities.

  • TypeCode

    • This is applicable for ASCLIENT and ASCLIENTFIELD entities.

 

VALUE

<Condition>

Optional:

This attribute provides a Segment Role's RoleCode or Client's TypeCode value.

 

  • code value

    • If the entity is ASROLE or ASROLEFIELD the code value must be a value from AsCodeRole.

    • If the entity is ASCLIENT or ASCLIENTFIELD the code value must be a value from AsCodeClientType.

<Role>

  <SegmentRoleScreen>

Required, Repeatable:

This element defines the dynamic fields of a specific Role associated to Segments listed with the element's definition structure. 

 

 

ROLECODE <Role>

Required:

This attribute identifies the Role that this structure further defines.

  • role code

    • A valid code value comes from AsCodeRole.

<SegmentName>

  <Role>

Required, Repeatable:

This element identifies a single SegmentName to associate with the Role being defined.  The definition of this Role and its dynamic fields can span across multiple SegmentNames by repeating this element.

segment name

<Fields>

  <Role>

Optional:

This structure allows dynamic field configuration. 

See Fields Elements.

 

<Events>

  <Role>

Optional:

This structure allows configuration of events on the Segment Role screen.

See the Action/Events page for an explanation of the elements and attributes generally available for Events configuration.

 

<ScreenMath>

  <Role>

Optional:

This structure allows configuration of screen math that support the Events and Actions in this Rule.

See ScreenMath Element.

 
<Actions>   <Role>

Optional:

This structure allows configuration of a series of actions.

See Action/Events element.

 

XML Schema

<SegmentRoleScreen>
    <Filter>
        <Conditions SECURITYGROUP="[list]" TYPE="Exclusion" OPERATOR="[AND | OR]">
            <Condition ENTITY="[ASCLIENT | ASCLIENTFIELD | ASPOLICY | APOLICYFIELD | ASROLE | ASROLEFIELD]">[SQL predicate]</Condition>
            <Condition ENTITY="[ASROLE | ASROLEFIELD]" FIELDNAME="RoleCode" VALUE="[role code]">[SQL predicate]</Condition>
            <Condition ENTITY="[ASCLIENT | ASCLIENTFIELD]" FIELDNAME="TypeCode" VALUE="[client typecode]">[SQL predicate]</Condition>
            <Condition>...</Condition>
        </Conditions>
        <Conditions>...</Conditions>
    </Filter>
    <Role ROLDCODE="[role code]">
        <SegmentName>[segment name]</SegmentName>
        <SegmentName>...</SegmentName>
        <Fields>...</Fields>
        <Events>...</Events>
        <ScreenMath>...</ScreenMath>
        <Actions>...</Actions>
    </Role>
    <Role>...</Role>
</SegmentRoleScreen>

XML Example

<SegmentRoleScreen>
    <Role ROLECODE="37">
        <SegmentName>BaseCoverage</SegmentName>
        <Fields>
            <Field>
                <Name>SegmentTobaccoPremiumBasis</Name>
                <Display>Tobacco</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT AsCode.CodeValue, AsCode.ShortDescription FROM AsCode WHERE AsCode.CodeName = 'AsCodeTobacco' ORDER BY AsCode.CodeValue ASC</Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>MedicalRating</Name>
                <Display>Medical Rating</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue,ShortDescription FROM AsCode WHERE CodeName = 'AsCodeMedicalRating'</Query>
                <DefaultValue>02</DefaultValue>
                <Disabled>No</Disabled>
                <DefaultValue>T0</DefaultValue>
            </Field>
            <Field>
                <Name>MedicalFlatRate</Name>
                <Display>Medical Flat Rate (per 1000)</Display>
                <DataType>Combo</DataType>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>0</OptionValue>
                            <OptionText>0</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>10</OptionValue>
                            <OptionText>10</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>20</OptionValue>
                            <OptionText>20</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>30</OptionValue>
                            <OptionText>30</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>40</OptionValue>
                            <OptionText>40</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>50</OptionValue>
                            <OptionText>50</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>60</OptionValue>
                            <OptionText>60</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>70</OptionValue>
                            <OptionText>70</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>80</OptionValue>
                            <OptionText>80</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>90</OptionValue>
                            <OptionText>90</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>100</OptionValue>
                            <OptionText>100</OptionText>
                        </Option>
                    </Options>
                </Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>NSAPFlatRate</Name>
                <Display>NSAP Flat Rate (per 1000)</Display>
                <DataType>Combo</DataType>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>0</OptionValue>
                            <OptionText>0</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>10</OptionValue>
                            <OptionText>10</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>20</OptionValue>
                            <OptionText>20</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>30</OptionValue>
                            <OptionText>30</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>40</OptionValue>
                            <OptionText>40</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>50</OptionValue>
                            <OptionText>50</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>60</OptionValue>
                            <OptionText>60</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>70</OptionValue>
                            <OptionText>70</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>80</OptionValue>
                            <OptionText>80</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>90</OptionValue>
                            <OptionText>90</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>100</OptionValue>
                            <OptionText>100</OptionText>
                        </Option>
                    </Options>
                </Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredActualGender</Name>
                <Display>Actual Gender</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeGender' AND CodeValue <= '02'</Query>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredIssueAge</Name>
                <Display>Issue Age</Display>
                <DataType>Integer</DataType>
            </Field>
            <Field>
                <Name>OccupationCategoryValue</Name>
                <Display>Occupation Category</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT DISTINCT(MC1.TextValue),MC2.TextValue FROM AsMapValue JOIN AsMapGroup ON AsMapGroup.MapGroupGUID = AsMapValue.MapGroupGUID AND AsMapGroup.MapGroupDescription = 'OccupationBand' JOIN AsMapCriteria MC1 ON MC1.MapValueGUID = AsMapValue.MapValueGUID AND MC1.MapCriteriaName = 'OccupationCategoryCode' JOIN AsMapCriteria MC2 ON MC2.MapValueGUID = MC1.MapValueGUID AND MC2.MapCriteriaName = 'OccupationCategory' ORDER BY MC2.TextValue</Query>
                <Expanded>Yes</Expanded>
            </Field>
            <Field>
                <Name>OccupationNameValue</Name>
                <Display>Occupation Name</Display>
                <DataType>Combo</DataType>
                <Expanded>Yes</Expanded>
            </Field>
        </Fields>
        <Events>
            <Event TYPE="ONLOAD">
                <Math ID="LocalScreenMath"/>
                <QuerySet ID="OccupationNameValueComboList" FIELD="OccupationNameValue"/>
            </Event>
            <Event TYPE="ONCHANGE" FIELD="OccupationCategoryValue">
                <Math ID="LocalScreenMath"/>
                <QuerySet ID="OccupationNameValueComboList" FIELD="OccupationNameValue"/>
            </Event>
        </Events>
        <ScreenMath>
            <Math ID="LocalScreenMath" GLOBAL="No">
                <MathVariables>
                    <MathVariable VARIABLENAME="OccupationCategoryValueSMV" TYPE="EXPRESSION" DATATYPE="TEXT">OccupationCategoryValue</MathVariable>
                </MathVariables>
            </Math>
        </ScreenMath>
        <Actions>
            <QuerySet ID="OccupationNameValueComboList">
                <Condition IF="IsEmpty(LocalScreenMath:OccupationCategoryValueSMV)">
                    <Action ACTIONTYPE="HIDE" FIELD="OccupationNameValue"/>
                </Condition>
                <Condition IF="Not IsEmpty(LocalScreenMath:OccupationCategoryValueSMV)">
                    <Action ACTIONTYPE="SHOW" FIELD="OccupationNameValue"/>
                    <Action ACTIONTYPE="SQLQUERY">SELECT DISTINCT(MC1.TextValue),MC2.TextValue FROM AsMapValue JOIN AsMapGroup ON AsMapGroup.MapGroupGUID = AsMapValue.MapGroupGUID AND AsMapGroup.MapGroupDescription = 'OccupationBand' JOIN AsMapCriteria MC1 ON MC1.MapValueGUID = AsMapValue.MapValueGUID AND MC1.MapCriteriaName = 'OccupationNameCode' JOIN AsMapCriteria MC2 ON MC2.MapValueGUID = MC1.MapValueGUID AND MC2.MapCriteriaName = 'OccupationName' JOIN AsMapCriteria MC3 ON MC3.MapValueGUID = MC2.MapValueGUID AND MC3.MapCriteriaName = 'OccupationCategoryCode' AND MC3.TextValue='[LocalScreenMath:OccupationCategoryValueSMV]' ORDER BY MC2.TextValue</Action>
                </Condition>
            </QuerySet>
        </Actions>
    </Role>
    <Role ROLECODE="37">
        <SegmentName>HospitalCashRider</SegmentName>
        <Fields>
            <Field>
                <Name>SegmentTobaccoPremiumBasis</Name>
                <Display>Tobacco</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT AsCode.CodeValue, AsCode.ShortDescription FROM AsCode WHERE AsCode.CodeName = 'AsCodeTobacco' ORDER BY AsCode.CodeValue ASC</Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>MedicalRating</Name>
                <Display>Medical Rating</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue,ShortDescription FROM AsCode WHERE CodeName = 'AsCodeMedicalRating'</Query>
                <DefaultValue>02</DefaultValue>
                <Disabled>No</Disabled>
                <DefaultValue>T0</DefaultValue>
            </Field>
            <Field>
                <Name>MedicalFlatRate</Name>
                <Display>Medical Flat Rate (per 1000)</Display>
                <DataType>Combo</DataType>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>0</OptionValue>
                            <OptionText>0</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>10</OptionValue>
                            <OptionText>10</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>20</OptionValue>
                            <OptionText>20</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>30</OptionValue>
                            <OptionText>30</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>40</OptionValue>
                            <OptionText>40</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>50</OptionValue>
                            <OptionText>50</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>60</OptionValue>
                            <OptionText>60</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>70</OptionValue>
                            <OptionText>70</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>80</OptionValue>
                            <OptionText>80</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>90</OptionValue>
                            <OptionText>90</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>100</OptionValue>
                            <OptionText>100</OptionText>
                        </Option>
                    </Options>
                </Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>NSAPFlatRate</Name>
                <Display>NSAP Flat Rate (per 1000)</Display>
                <DataType>Combo</DataType>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>0</OptionValue>
                            <OptionText>0</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>10</OptionValue>
                            <OptionText>10</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>20</OptionValue>
                            <OptionText>20</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>30</OptionValue>
                            <OptionText>30</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>40</OptionValue>
                            <OptionText>40</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>50</OptionValue>
                            <OptionText>50</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>60</OptionValue>
                            <OptionText>60</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>70</OptionValue>
                            <OptionText>70</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>80</OptionValue>
                            <OptionText>80</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>90</OptionValue>
                            <OptionText>90</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>100</OptionValue>
                            <OptionText>100</OptionText>
                        </Option>
                    </Options>
                </Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredActualGender</Name>
                <Display>Actual Gender</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeGender' AND CodeValue<= '02'</Query>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredIssueAge</Name>
                <Display>Issue Age</Display>
                <DataType>Integer</DataType>
            </Field>
            <Field>
                <Name>OccupationCategoryValue</Name>
                <Display>Occupation Category</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT DISTINCT(MC1.TextValue),MC2.TextValue FROM AsMapValue JOIN AsMapGroup ON AsMapGroup.MapGroupGUID = AsMapValue.MapGroupGUID AND AsMapGroup.MapGroupDescription = 'OccupationBand' JOIN AsMapCriteria MC1 ON MC1.MapValueGUID = AsMapValue.MapValueGUID AND MC1.MapCriteriaName = 'OccupationCategoryCode' JOIN AsMapCriteria MC2 ON MC2.MapValueGUID = MC1.MapValueGUID AND MC2.MapCriteriaName = 'OccupationCategory' ORDER BY MC2.TextValue</Query>
                <Expanded>Yes</Expanded>
            </Field>
            <Field>
                <Name>OccupationNameValue</Name>
                <Display>Occupation Name</Display>
                <DataType>Combo</DataType>
                <Expanded>Yes</Expanded>
            </Field>
        </Fields>
        <Events>
            <Event TYPE="ONLOAD">
                <Math ID="LocalScreenMath"/>
                <QuerySet ID="OccupationNameValueComboList" FIELD="OccupationNameValue"/>
            </Event>
            <Event TYPE="ONCHANGE" FIELD="OccupationCategoryValue">
                <Math ID="LocalScreenMath"/>
                <QuerySet ID="OccupationNameValueComboList" FIELD="OccupationNameValue"/>
            </Event>
        </Events>
        <ScreenMath>
            <Math ID="LocalScreenMath" GLOBAL="No">
                <MathVariables>
                    <MathVariable VARIABLENAME="OccupationCategoryValueSMV" TYPE="EXPRESSION" DATATYPE="TEXT">OccupationCategoryValue</MathVariable>
                </MathVariables>
            </Math>
        </ScreenMath>
        <Actions>
            <QuerySet ID="OccupationNameValueComboList">
                <Condition IF="IsEmpty(LocalScreenMath:OccupationCategoryValueSMV)">
                    <Action ACTIONTYPE="HIDE" FIELD="OccupationNameValue"/>
                </Condition>
                <Condition IF="Not IsEmpty(LocalScreenMath:OccupationCategoryValueSMV)">
                    <Action ACTIONTYPE="SHOW" FIELD="OccupationNameValue"/>
                    <Action ACTIONTYPE="SQLQUERY">SELECT DISTINCT(MC1.TextValue),MC2.TextValue FROM AsMapValue JOIN AsMapGroup ON AsMapGroup.MapGroupGUID = AsMapValue.MapGroupGUID AND AsMapGroup.MapGroupDescription = 'OccupationBand' JOIN AsMapCriteria MC1 ON MC1.MapValueGUID = AsMapValue.MapValueGUID AND MC1.MapCriteriaName = 'OccupationNameCode' JOIN AsMapCriteria MC2 ON MC2.MapValueGUID = MC1.MapValueGUID AND MC2.MapCriteriaName = 'OccupationName' JOIN AsMapCriteria MC3 ON MC3.MapValueGUID = MC2.MapValueGUID AND MC3.MapCriteriaName = 'OccupationCategoryCode' AND MC3.TextValue='[LocalScreenMath:OccupationCategoryValueSMV]' ORDER BY MC2.TextValue</Action>
                </Condition>
            </QuerySet>
        </Actions>
    </Role>
    <Role ROLECODE="37">
        <SegmentName>WaiverOfPremium</SegmentName>
        <Fields>
            <Field>
                <Name>SegmentTobaccoPremiumBasis</Name>
                <Display>Tobacco</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT AsCode.CodeValue, AsCode.ShortDescription FROM AsCode WHERE AsCode.CodeName = 'AsCodeTobacco' ORDER BY AsCode.CodeValue ASC</Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>MedicalRating</Name>
                <Display>Medical Rating</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue,ShortDescription FROM AsCode WHERE CodeName = 'AsCodeMedicalRating'</Query>
                <DefaultValue>02</DefaultValue>
                <Disabled>No</Disabled>
                <DefaultValue>T0</DefaultValue>
            </Field>
            <Field>
                <Name>MedicalFlatRate</Name>
                <Display>Medical Flat Rate (per 1000)</Display>
                <DataType>Combo</DataType>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>0</OptionValue>
                            <OptionText>0</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>10</OptionValue>
                            <OptionText>10</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>20</OptionValue>
                            <OptionText>20</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>30</OptionValue>
                            <OptionText>30</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>40</OptionValue>
                            <OptionText>40</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>50</OptionValue>
                            <OptionText>50</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>60</OptionValue>
                            <OptionText>60</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>70</OptionValue>
                            <OptionText>70</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>80</OptionValue>
                            <OptionText>80</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>90</OptionValue>
                            <OptionText>90</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>100</OptionValue>
                            <OptionText>100</OptionText>
                        </Option>
                    </Options>
                </Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>NSAPFlatRate</Name>
                <Display>NSAP Flat Rate (per 1000)</Display>
                <DataType>Combo</DataType>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>0</OptionValue>
                            <OptionText>0</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>10</OptionValue>
                            <OptionText>10</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>20</OptionValue>
                            <OptionText>20</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>30</OptionValue>
                            <OptionText>30</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>40</OptionValue>
                            <OptionText>40</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>50</OptionValue>
                            <OptionText>50</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>60</OptionValue>
                            <OptionText>60</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>70</OptionValue>
                            <OptionText>70</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>80</OptionValue>
                            <OptionText>80</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>90</OptionValue>
                            <OptionText>90</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>100</OptionValue>
                            <OptionText>100</OptionText>
                        </Option>
                    </Options>
                </Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredActualGender</Name>
                <Display>Actual Gender</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeGender' AND CodeValue<= '02'</Query>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredIssueAge</Name>
                <Display>Issue Age</Display>
                <DataType>Integer</DataType>
            </Field>
            <Field>
                <Name>OccupationCategoryValue</Name>
                <Display>Occupation Category</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT DISTINCT(MC1.TextValue),MC2.TextValue FROM AsMapValue JOIN AsMapGroup ON AsMapGroup.MapGroupGUID = AsMapValue.MapGroupGUID AND AsMapGroup.MapGroupDescription = 'OccupationBand' JOIN AsMapCriteria MC1 ON MC1.MapValueGUID = AsMapValue.MapValueGUID AND MC1.MapCriteriaName = 'OccupationCategoryCode' JOIN AsMapCriteria MC2 ON MC2.MapValueGUID = MC1.MapValueGUID AND MC2.MapCriteriaName = 'OccupationCategory' ORDER BY MC2.TextValue</Query>
                <Expanded>Yes</Expanded>
            </Field>
            <Field>
                <Name>OccupationNameValue</Name>
                <Display>Occupation Name</Display>
                <DataType>Combo</DataType>
                <Expanded>Yes</Expanded>
            </Field>
        </Fields>
        <Events>
            <Event TYPE="ONLOAD">
                <Math ID="LocalScreenMath"/>
                <QuerySet ID="OccupationNameValueComboList" FIELD="OccupationNameValue"/>
            </Event>
            <Event TYPE="ONCHANGE" FIELD="OccupationCategoryValue">
                <Math ID="LocalScreenMath"/>
                <QuerySet ID="OccupationNameValueComboList" FIELD="OccupationNameValue"/>
            </Event>
        </Events>
        <ScreenMath>
            <Math ID="LocalScreenMath" GLOBAL="No">
                <MathVariables>
                    <MathVariable VARIABLENAME="OccupationCategoryValueSMV" TYPE="EXPRESSION" DATATYPE="TEXT">OccupationCategoryValue</MathVariable>
                </MathVariables>
            </Math>
        </ScreenMath>
        <Actions>
            <QuerySet ID="OccupationNameValueComboList">
                <Condition IF="IsEmpty(LocalScreenMath:OccupationCategoryValueSMV)">
                    <Action ACTIONTYPE="HIDE" FIELD="OccupationNameValue"/>
                </Condition>
                <Condition IF="Not IsEmpty(LocalScreenMath:OccupationCategoryValueSMV)">
                    <Action ACTIONTYPE="SHOW" FIELD="OccupationNameValue"/>
                    <Action ACTIONTYPE="SQLQUERY">SELECT DISTINCT(MC1.TextValue),MC2.TextValue FROM AsMapValue JOIN AsMapGroup ON AsMapGroup.MapGroupGUID = AsMapValue.MapGroupGUID AND AsMapGroup.MapGroupDescription = 'OccupationBand' JOIN AsMapCriteria MC1 ON MC1.MapValueGUID = AsMapValue.MapValueGUID AND MC1.MapCriteriaName = 'OccupationNameCode' JOIN AsMapCriteria MC2 ON MC2.MapValueGUID = MC1.MapValueGUID AND MC2.MapCriteriaName = 'OccupationName' JOIN AsMapCriteria MC3 ON MC3.MapValueGUID = MC2.MapValueGUID AND MC3.MapCriteriaName = 'OccupationCategoryCode' AND MC3.TextValue='[LocalScreenMath:OccupationCategoryValueSMV]' ORDER BY MC2.TextValue</Action>
                </Condition>
            </QuerySet>
        </Actions>
    </Role>
    <Role ROLECODE="37">
        <SegmentName>CriticalIllness</SegmentName>
        <Fields>
            <Field>
                <Name>SegmentTobaccoPremiumBasis</Name>
                <Display>Tobacco</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT AsCode.CodeValue, AsCode.ShortDescription FROM AsCode WHERE AsCode.CodeName = 'AsCodeTobacco' ORDER BY AsCode.CodeValue ASC</Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>MedicalRating</Name>
                <Display>Medical Rating</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue,ShortDescription FROM AsCode WHERE CodeName = 'AsCodeMedicalRating'</Query>
                <DefaultValue>02</DefaultValue>
                <Disabled>No</Disabled>
                <DefaultValue>T0</DefaultValue>
            </Field>
            <Field>
                <Name>MedicalFlatRate</Name>
                <Display>Medical Flat Rate (per 1000)</Display>
                <DataType>Combo</DataType>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>0</OptionValue>
                            <OptionText>0</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>10</OptionValue>
                            <OptionText>10</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>20</OptionValue>
                            <OptionText>20</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>30</OptionValue>
                            <OptionText>30</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>40</OptionValue>
                            <OptionText>40</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>50</OptionValue>
                            <OptionText>50</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>60</OptionValue>
                            <OptionText>60</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>70</OptionValue>
                            <OptionText>70</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>80</OptionValue>
                            <OptionText>80</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>90</OptionValue>
                            <OptionText>90</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>100</OptionValue>
                            <OptionText>100</OptionText>
                        </Option>
                    </Options>
                </Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>NSAPFlatRate</Name>
                <Display>NSAP Flat Rate (per 1000)</Display>
                <DataType>Combo</DataType>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>0</OptionValue>
                            <OptionText>0</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>10</OptionValue>
                            <OptionText>10</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>20</OptionValue>
                            <OptionText>20</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>30</OptionValue>
                            <OptionText>30</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>40</OptionValue>
                            <OptionText>40</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>50</OptionValue>
                            <OptionText>50</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>60</OptionValue>
                            <OptionText>60</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>70</OptionValue>
                            <OptionText>70</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>80</OptionValue>
                            <OptionText>80</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>90</OptionValue>
                            <OptionText>90</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>100</OptionValue>
                            <OptionText>100</OptionText>
                        </Option>
                    </Options>
                </Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredActualGender</Name>
                <Display>Actual Gender</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeGender' AND CodeValue<= '02'</Query>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredIssueAge</Name>
                <Display>Issue Age</Display>
                <DataType>Integer</DataType>
            </Field>
            <Field>
                <Name>OccupationCategoryValue</Name>
                <Display>Occupation Category</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT DISTINCT(MC1.TextValue),MC2.TextValue FROM AsMapValue JOIN AsMapGroup ON AsMapGroup.MapGroupGUID = AsMapValue.MapGroupGUID AND AsMapGroup.MapGroupDescription = 'OccupationBand' JOIN AsMapCriteria MC1 ON MC1.MapValueGUID = AsMapValue.MapValueGUID AND MC1.MapCriteriaName = 'OccupationCategoryCode' JOIN AsMapCriteria MC2 ON MC2.MapValueGUID = MC1.MapValueGUID AND MC2.MapCriteriaName = 'OccupationCategory' ORDER BY MC2.TextValue</Query>
                <Expanded>Yes</Expanded>
            </Field>
            <Field>
                <Name>OccupationNameValue</Name>
                <Display>Occupation Name</Display>
                <DataType>Combo</DataType>
                <Expanded>Yes</Expanded>
            </Field>
        </Fields>
        <Events>
            <Event TYPE="ONLOAD">
                <Math ID="LocalScreenMath"/>
                <QuerySet ID="OccupationNameValueComboList" FIELD="OccupationNameValue"/>
            </Event>
            <Event TYPE="ONCHANGE" FIELD="OccupationCategoryValue">
                <Math ID="LocalScreenMath"/>
                <QuerySet ID="OccupationNameValueComboList" FIELD="OccupationNameValue"/>
            </Event>
        </Events>
        <ScreenMath>
            <Math ID="LocalScreenMath" GLOBAL="No">
                <MathVariables>
                    <MathVariable VARIABLENAME="OccupationCategoryValueSMV" TYPE="EXPRESSION" DATATYPE="TEXT">OccupationCategoryValue</MathVariable>
                </MathVariables>
            </Math>
        </ScreenMath>
        <Actions>
            <QuerySet ID="OccupationNameValueComboList">
                <Condition IF="IsEmpty(LocalScreenMath:OccupationCategoryValueSMV)">
                    <Action ACTIONTYPE="HIDE" FIELD="OccupationNameValue"/>
                </Condition>
                <Condition IF="Not IsEmpty(LocalScreenMath:OccupationCategoryValueSMV)">
                    <Action ACTIONTYPE="SHOW" FIELD="OccupationNameValue"/>
                    <Action ACTIONTYPE="SQLQUERY">SELECT DISTINCT(MC1.TextValue),MC2.TextValue FROM AsMapValue JOIN AsMapGroup ON AsMapGroup.MapGroupGUID = AsMapValue.MapGroupGUID AND AsMapGroup.MapGroupDescription = 'OccupationBand' JOIN AsMapCriteria MC1 ON MC1.MapValueGUID = AsMapValue.MapValueGUID AND MC1.MapCriteriaName = 'OccupationNameCode' JOIN AsMapCriteria MC2 ON MC2.MapValueGUID = MC1.MapValueGUID AND MC2.MapCriteriaName = 'OccupationName' JOIN AsMapCriteria MC3 ON MC3.MapValueGUID = MC2.MapValueGUID AND MC3.MapCriteriaName = 'OccupationCategoryCode' AND MC3.TextValue='[LocalScreenMath:OccupationCategoryValueSMV]' ORDER BY MC2.TextValue</Action>
                </Condition>
            </QuerySet>
        </Actions>
    </Role>
    <Role ROLECODE="37">
        <SegmentName>AccidentalDeathDisability</SegmentName>
        <Fields>
            <Field>
                <Name>SegmentTobaccoPremiumBasis</Name>
                <Display>Tobacco</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT AsCode.CodeValue, AsCode.ShortDescription FROM AsCode WHERE AsCode.CodeName = 'AsCodeTobacco' ORDER BY AsCode.CodeValue ASC</Query>
                <DefaultValue>0</DefaultValue>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredTableRating</Name>
                <Display>Table Rating</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT '00' AS CodeValue, '-- Select Table Rating --' AS LongDescription FROM SYS.DUAL UNION SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeTableRating' AND CodeValue <= '09' ORDER BY 1</Query>
            </Field>
            <Field>
                <Name>InsuredUWClass</Name>
                <Display>Underwriting Class</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT '00' AS CodeValue, '-- Select Underwriting Class --' AS LongDescription FROM SYS.DUAL UNION SELECT CodeValue, ShortDescription FROM AsCode WHERE CodeName = 'AsCodeUnderwritingClass' ORDER BY 1</Query>
            </Field>
            <Field>
                <Name>InsuredActualGender</Name>
                <Display>Actual Gender</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeGender' AND CodeValue<= '02'</Query>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredRateGender</Name>
                <Display>Rate Gender</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeGender'</Query>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredIssueAge</Name>
                <Display>Issue Age</Display>
                <DataType>Integer</DataType>
            </Field>
        </Fields>
    </Role>
    <Role ROLECODE="44">
        <SegmentName>ChildTermRider</SegmentName>
        <Fields>
            <Field>
                <Name>InsuredActualGender</Name>
                <Display>Actual Gender</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeGender' AND CodeValue<= '02'</Query>
                <Disabled>No</Disabled>
            </Field>
            <Field>
                <Name>InsuredRateGender</Name>
                <Display>Rate Gender</Display>
                <DataType>Combo</DataType>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeGender'</Query>
                <Disabled>No</Disabled>
            </Field>
        </Fields>
    </Role>
    <Role ROLECODE="23">
        <SegmentName>AccidentalDeathDisability</SegmentName>
        <SegmentName>BaseCoverage</SegmentName>
        <Fields>
            <Field>
                <Name>RoleRelationship</Name>
                <Display>Relationship to Insured</Display>
                <DataType>Combo</DataType>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>01</OptionValue>
                            <OptionText>Child</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>02</OptionValue>
                            <OptionText>Spouse</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>03</OptionValue>
                            <OptionText>Other</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>00</OptionValue>
                            <OptionText/>
                        </Option>
                    </Options>
                </Query>
            </Field>
        </Fields>
    </Role>
</SegmentRoleScreen>