SegmentScreen

This business rule defines the screen to add one or more coverages to a Policy and present those coverages to the presented data grid. The business rule is configured to define the sort order of the items displayed in the data grid. It also defines the Policy statuses when the coverages fields are disabled.

Note: The StateApproval element is valid if the plan is configured to use state approval (with the UseStateApproval element in the PlanScreen equal to Yes). If the plan is not configured to use state approval, the StateApproval element in the SegmentScreen is ignored.

SegmentScreen Elements and Attributes
Element Attributes Parent Element Description Element / Attribute Values
<SegmentScreen>    

Required:

This is the root element for this business rule.

 
<Filter>   <SegmentScreen>

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.  This allows a set of SecurityGroups in one <Conditions> element to share the same conditional expressions.  This element is repeated for each unique combination of SecurityGroups and conditional expressions 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 expressions 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

    • valid values must be Security Group names

  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 entity records 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 expression.  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 expression

    • the expression looks like a SQL predicate

  Entity <Condition>

Required:

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

  • AsSegment

  • AsSegmentField

  • AsSegmentName

<Table>   <SegmentScreen>

Required:

See Table Element for common definition

The data source for the <Column> elements are provided by <Group> element values.  These sourced fields are in Segment, SegmentField and SegmentName tables.

 
<OrderBy>   <Column>

Optional:

This element structure extends the common <Table> definition.

The element provides a structure to define a sort order for the data in the presented grid.  This structure allows multiple columns involved in the sorting. 

 
  ORDINAL <OrderBy>

Required:

This attribute provides a priority to the column so that multiple columns can be involved in the sort.

  • literal

    • value must be an integer

  ORDER <OrderBy>

Optional:

This attribute provides a sorting direction to the values of this column.

  • ASCENDING

    • default

    • Data is ordered from lowest to highest value

  • DESCENDING

    • Data is ordered from highest to lowest value

<DisableSegmentFields>   <SegmentScreen>

Optional:

This element's structure defines an ability to disable the Segment's fields.

 
<DisabledPolicyStatus>   <DisableSegmentFields>

Required:

This element provides a comma delimited list of Policy status codes.  When the Policy status code matches one of the values in this list, the Segment's fields are disabled.

  • comma delimited list of code values

    • valid values come from AsCodeStatus

<StateApproval>   <SegmentScreen>

Optional:

This element's structure controls when a Segment can become effective on a Policy based on the data in the State Approval table.   A coverage cannot be effective on a Policy prior to it reaching an approval by a governing body.  

 

<SegmentNames>   <StateApproval>

Required:

This element's structure links the name of a coverage to a fixed or dynamic date field on the Segment.

 
<SegmentName>   <SegmentNames>

Required, Repeatable:

This element provides the name of a coverage being controlled by the State Approval data.  This element is repeated to link multiple coverages to the State Approval feature.

  • literal

    • value must be a valid segment name

  APPROVALDATE <SegmentName>

Required:

This attribute provides the name of the fixed or dynamic date field that will be used in the State Approval feature.  The date value on the Segment will be compared to the EffectiveDate and ExpriationDate on the State approval record.  A coverage is approved when its APPROVALDATE falls between these two dates.

  • field name

    • valid value must be a valid date

XML Example

<SegmentScreen>
    <Filter>
        <Conditions SecurityGroup="[list]" Type="Exclusion" Operator="[AND | OR]">
            <Condition Entity="[AsSegment | AsSegmentField | AsSegmentName]">[sql predicate]</Condition>
            <Condition>...</Condition>
        </Conditions>
        <Conditions>...</Conditions>
    </Filter>
    <Table>
        <Column ALIGN="[Left | Center | Right]">
            <Display>[literal]</Display>
            <Name>[field name]</Name>
            <Group>[Segment | SegmentField | SegmentName]</Group>
            <DataType>[Text | Date | Integer | Decimal | Money]</DataType>
            <OrderBy ORDINAL="[integer]" ORDER="[ASCENDING | DESCENDING]"></OrderBy>
        </Column>
        <Column>...</Column>
    </Table>
    <DisableSegmentFields>
        <DisabledPolicyStatus>[list]</DisabledPolicyStatus>
    </DisableSegmentFields>
    <StateApproval>
        <SegmentNames>
            <SegmentName APPROVALDATE="[field]">[segment name]</SegmentName>
            <SegmentName>...</SegmentName>
        </SegmentNames>
    </StateApproval>
</SegmentScreen>

XML Schema

<SegmentScreen>
    <Filter>
        <Conditions SecurityGroup="Prototype Super" Type="Exclusion" Operator="OR">
            <Condition Entity="AsSegmentField">FieldName='OracleEmployee' And TextValue='CHECKED'</Condition>
            <Condition Entity="AsSegmentField">FieldName='EmployeeCode' And TextValue='205'</Condition>
        </Conditions>
        <Conditions SecurityGroup="Prototype Admin" Type="Exclusion" Operator="OR">
            <Condition Entity="AsSegmentField">FieldName='OracleEmployee' And TextValue='CHECKED'</Condition>
            <Condition Entity="AsSegmentField">FieldName='EmployeeCode' And TextValue='201'</Condition>
        </Conditions>
    </Filter>
    <Table>
        <Column>
            <Display>Effective Date</Display>
            <Name>EffectiveDate</Name>
            <Group>SegmentField</Group>
            <DataType>Date</DataType>
        </Column>
        <Column>
            <Display>Type</Display>
            <Name>SegmentName</Name>
            <Group>SegmentName</Group>
            <DataType>Text</DataType>
        </Column>
        <Column>
            <Display>Status</Display>
            <Name>StatusCode</Name>
            <Group>Segment</Group>
            <DataType>Text</DataType>
        </Column>
    </Table>
    <DisableSegmentFields>
        <DisabledPolicyStatus>01,09,10,21,05,29</DisabledPolicyStatus>
    </DisableSegmentFields>
</SegmentScreen>