ClientScreen

This business rule allows the configuration of fixed and dynamic fields on the Client screen. This rule holds an indicator that displays fields appropriate for a corporate or individual entity. A repeatable section defines each Client Type, which is identified by its TYPECODE. This rule is also used to control the address table display.  

Note: The ClientScreen rule also configures the Customer Detail screen for Group customers, based on the values of TYPECODE attribute of the <Client> element.

Important: The Typecode field cannot be disabled by configuration. The LegalResidenceCountryCode field supports limited configurability through the LegalResidenceCountryCode element. You can change its display name, populate its values by SQL, and hide it from the UI by setting the HIDDEN attribute to Yes.

ClientScreen: Elements and Attributes

Element/Tag Attributes Parent Element Description Element/Attribute Value

<ClientScreen>



The opening and closing elements of the screen rule.

 

<Filter>


<ClientScreen>

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 element's 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.

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

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

<Condition>


<Conditions >

Required, Repeatable:

The element provides a single dynamic field and value that must match the dynamic field's value in order to exclude the Client from the user's view. This element is repeated to provide multiple conditions with each either referencing a different dynamic field or the same field where multiple values of that field can exclude the Client.

 

Fieldname

<Condition>

Required:

The dynamic field name

Field Name.

Value

<Condition>

Required:

The dynamic field's value

Field Value.

<LegalResidenceCountryCode>


<ClientScreen>

Optional:

This Element allows configuration of the Title and population by SQL for the LegalResidenceCountryCode Fixed Field.

The value of the element provides the SQL query for fetching the country code and country name values. All the country codes retrieved by the query must have an entry in the AsCountry table and the country code cannot retrieve a blank value.

 

TITLE

<LegalResidenceCountryCode>

Optional:

Allows a Display Name to be configured

String value that will be displayed on screen as the label.
HIDDEN <LegalResidenceCountryCode>

Optional:

Controls whether the LegalResidenceCountryCode field appears on the Client screen.

Yes: The system hides the field on the UI. The system still sets the field value by using the configured SQL statement or the default value from the AsCountry table.

No: The system displays the field on the UI. This is the default behavior.

TYPE

<LegalResidenceCountryCode>

Optional:

Allows population of LegalResidenceCountryCode with a SQL statement. If this attribute does not exist, all countries in AsCountry will be used to populate this dropdown in alphabetic order, based on the Code Value

SQL

 

<DisplayPhoneScreen>


<ClientScreen>

Optional:

Specifies whether the Phone screen should be enabled or disabled.

Yes: The Phone screen will be enabled.

No: The Phone screen will be disabled. This is the default value.

<Events>


<ClientScreen>

Optional:

<Events> under the rule's root element, <ClientScreen> element, is applicable for an Activity's Client datatype field.  The <Events> element and associated <ScreenMath> and <Actions> elements have a purpose to populate the Client Screen's Type combo box options.  The combo box's ID is "ClientType".

See ActionEvents page in the Common Elements definition.  The only applicable event is ONLOAD. 

 

<ScreenMath>


<ClientScreen>

Optional:

<ScreenMath> under the rule's root element, <ClientScreen> element, is applicable for an Activity's Client datatype field.  The <ScreenMath> element and the associated <Events> and <Actions> elements have a purpose to populate the Client Screen's Type combo box options.  The <ScreenMath> element provides variables for the conditions and SQL query in the <Actions> element's <QuerySet> child element.

See ScreenMath element page in the Common Elements definition.

Note: When the ClientScreen opens from the Client pop-up triggered by an activity field configured with the Client data type, screen math can reference the initiating transaction using Transaction:TransactionGUID and Transaction:TransactionName. These values are available only when a transaction context exists.

 

<Actions>


<ClientScreen>

Optional:

<Actions> under the rule's root element, <ClientScreen> element, is applicable for an Activity's Client datatype field.  The <Actions> element and the associated <Events> and <ScreenMath> elements have a purpose to populate the Client Screen's Type combo box options.  The <Actions> element populate the Client screen's Type combo box with the results of the <QuerySet> child element.

See ActionEvents page in the Common Elements definition.  The only applicable child element is <QuerySet>.

 

<Client>


<ClientScreen>

Required, Repeatable:

The element is repeated for each unique client type that is applicable for the Primary Company.

 

TYPECODE

<Client>

Required:

This attribute identifies a client type code that the <Client> defines.

code value:  this must be a valid value from AsCodeClientType.

 

GROUP

<Summary>

Optional:

This attribute indicates if the Client type should present the Group button.

No: Group button will not be displayed for the client type.  This is the default value.

Yes: Displays Group button on the Client screen for the client type.

 

ACTIVITYPLAN

<Fields>

Optional:

This attribute identifies the plan's name where the system can find the client's transaction definitions.

literal:  plan name

ALLOWREQUIREMENTS

<Field>

Optional:

This attribute controls the availability of the Requirements tab and Add Requirement button for the client type.

No: The Requirements tab is not presented, this is the default.

Yes: The Requirements tab is presented.

RELATIONSHIPACTIVITYPLAN

<Field>

Optional:

This attribute identifies the plan to use when the Relationship link is selected in OIPA.

literal: Must be a valid plan name

<Summary>


<Field>

Optional:

This element provides a structure defining the Client Summary that is displayed when the user navigates to a Client context of the containing client type.  The default presentation displays the combined value of first and last name values.

 
<Fields>
<Summary>

Required:

The element's structure defines all fields to display in the Summary area.

 
<Field>
<Address>

Required, Repeatable:

This element defines a single field to present in the Client Summary.

 
<Name>
<AddressType>

Required:

This element identifies the column or dynamic field that is the source of the displayed value.

literal:  valid value is a database column name, a dynamic field name, or a math variable.

  • the syntax for a math variable is [mathid:variablename]
  • the math must be Global math
<Display>


<Fields>

Required:

This element provides the text for the Summary field's label.

literal
<Group>
<Field>

Required:

This element provides the table name of the source column, field, or math variable.

literal:  valid values are Client, ClientField, and Math.
<Address>
<Field>

Optional:

This element provides Client Summary with fields that come from one of the Client's address records.

 
<AddressType>
<Field>

Required:

This attribute identifies a single address record to display on the Client's Summary.

code value:  valid value comes from AsCodeAddressRole
<Fields>

<Client>


Required:

The element's structure defines all fields to display in the Summary area.

 
<Field>

<Client>

Required, Repeatable:

This element defines a single Address field to present in the Client Summary.

 
<Name>

<Client>

Required:

This element identifies the column or dynamic field that is the source of the displayed value.

literal: valid value is a database column name or a dynamic field name.
<Display>


<Client>

Required:

This element provides the text for the Summary field's label.

literal
<Group>

<Event>

Required:

This element provides the table name of the source column or dynamic field.

literal: valid values are Address and AddressField.

<MultiFields>


<Spawns>

Optional:

See the common MultiFields Element page under the Common Elements topic.

 

<FixedFields>


<Spawn>

Required:
See the common
Fixed Fields page under the Common Element topic.

 

<Fields>


<Spawn>

Optional:

See the common the Fields page under the Common Element topic.

 

<Events>


<Spawn>

Optional:
See common 
Action/Events page under the Common Elements topic.

This rule can contain multiple configuration sectors based on different Client types, each containing its own Events section, which will act only on the Fields and MultiFields configured within the same sector.

For example:
If the DISABLEALL action is triggered during an ONLOAD event, only those fields configured within this sector are disabled.

 

<Spawns>


<SpawnFields>

Optional:

This is the opening tag for the Spawns section.

Client level activity spawning is supported on these screens.

 

<Spawn>


<SpawnField>

Required, Repeatable:

Opening element that defines the activity to spawn and its data. The element is repeated to spawn multiple activities or to define conditional spawns of one or more possible activities.

See the Operators available for EXPRESSION writing under the Common Element topic.

 

IF

<SpawnField>

Optional:

A condition that when true initiates the spawn. If not present the spawn will generate under all conditions.

 

<Transaction>


<SpawnField>

Required:

Identifies the transaction that will be spawned. It must exist as a client level transaction and be available for the client type whose field value was changed.

The name of an existing transaction.

 

SPAWNCODE

<Client>

Required:

This attribute defines how the spawned activity’s effective date will be determined.

03 = Spawn on a date provided by a FIELD attribute.

FIELD

<Client>

Required:

This attribute provides the spawned activity’s effective date.

math variable or field with a date value

<SpawnFields>


<Client>

Optional:

The opening tag for the SpawnField section.

 

<SpawnField>


<DisplayFormat>

Required, Repeatable:

Identifies a field and its source of population as the spawned activity is created.

 

<From>


<Part>

Required:

Defines the spawned field’s source of population.

A screen math variable or field.

<To>


<Part>

Required:

Identifies a field in the spawned activity to be populated.

A field’s name.

<Datatype>


 

Required:

Identifies the DataType of the spawned field.

  • Date

  • Decimal

  • Integer

  • Money

  • Text

 

<ScreenMath>


 

Optional:

See ScreenMath Element under the Common Elements topic.

 

<Actions>


 

Optional:

See Action/Events under the Common Elements topic.

 

<DisplayFormat>


 

Required:

The opening and closing tag for Parts section, which designates Client Fields’ order, alignment, and any symbols or codes for the “finished”, viewable Client Name.

 

<Part>


 

Required, Repeatable:

<Part> sub-elements define individual “parts” of the “finished” product, which will be visible in Client Summary table, Client Search Results table, and any other screen or peripheral where Client’s Name may be viewed or passed to. Acceptable values for the Part element are the fixed columns of the AsClient and AsClientField tables that contain text data.

 

PRE

 

Optional:

This attribute provides a literal value that is applied prior to the <Part> element's value.

literal:  examples are a comma, hyphen, space

POST

 

Optional:

This attribute provides a literal value that is applied after the <Part> element's value.

literal:  examples are a comma, hyphen, space

Additional Common Fields Available for Configuration

Because client screens are often required to hold a wide range of information not displayed on any other screens in OIPA, they have a number of configurable fields not available to other screens. The following chart summarizes these fields, their configurability and their behavior.

Additional Common Fields Available for Configuration
Fields Hidden if not Configured Able to be Disabled Able to be Renamed OnChange Generator Can Generate Errors OnChange/OnLoad/OnSubmit Receiver
TypeCode     1      
CompanyName
LastName
FirstName
MiddleInitial
AlternateName1
AlternateName2
AlternateName3
AlternateName4
AlternateName5
Prefix2
Suffix2
AdditionalPrefix
AdditionalSuffix
Title2
Sex
MaritalStatus3
DateOfBirth
DateOfDeath
TaxIDType2
TaxID
Email
BirthCountryCode2
CitizenshipCountryCode2
BirthRegionCode2
PrimaryPhone
TextField1
TextField2
CheckBox1
CheckBox2
Radio1
Radio2
Combo12
Combo22

Date1

Date2
LegalResidenceCountryCode 1

1: TypeCode can only be renamed by using system translation keys.

2: LegalResidenceCountryCode field cannot be hidden but limited configuration, in terms of display name change and available values change can be made using the LegalResidenceCountryCode element.

3: These fixed fields are drop-down fields that will derive their values from their corresponding code names.

4:Marital Status will be a radio field.

XML Schema

<ClientScreen>
    <Filter>
        <Conditions SecurityGroup="[list]" Type="Exclusion" Operator="[OR | AND]">
            <Condition Fieldname="[field name]" Value="[value]"></Condition>
            <Condition>...</Condition>
        </Conditions>
        <Conditions>...</Conditions>
    </Filter>
    <LegalResidenceCountryCode TITLE="[literal]" TYPE="SQL">[sql]</LegalResidenceCountryCode>
    <DisplayPhoneScreen>[No | Yes]</DisplayPhoneScreen>
    <Events>
        <Event TYPE="ONLOAD">
            <Math ID="[literal]"></Math>
            <Math ID="[literal]"></Math>
            <QuerySet ID="[literal]" FIELD="ClientType"></QuerySet>
        </Event>
    </Events>
    <ScreenMath>
        <Math ID="[literal]" GLOBAL="[No | Yes]">...</Math>
        <Math>...</Math>
    </ScreenMath>
    <Actions>
        <QuerySet ID="[literal]">...</QuerySet>
    </Actions>
    <Client TYPECODE="[code]" ACTIVITYPLAN="[plan name]" ALLOWREQUIREMENTS="[No | Yes]" GROUP="[No | Yes]" RELATIONSHIPACTIVITYPLAN="[plan name]">
        <MultiFields RULE="[rule name]">[No | Yes]</MultiFields>
        <FixedFields>...</FixedFields>
        <Fields>...</Fields>
        <Events>...</Events>
        <ScreenMath>...</ScreenMath>
        <Actions>...</Actions>
        <Spawns>
            <Spawn IF="[condition]">
                <Transaction SPAWNCODE="03" FIELD="[variable | field]">[transaction name]</Transaction>
                <SpawnFields>
                    <SpawnField>
                        <From>[variable | field]</From>
                        <To>[field name]</To>
                        <DataType>[Date | Decimal | Integer | Money | Text]</DataType>
                    </SpawnField>
                    <SpawnField>...</SpawnField>
                </SpawnFields>
            </Spawn>
            <Spawn>...</Spawn>
        </Spawns>
        <DisplayFormat>
            <Part POST="[literal]" PRE="[literal]">[field | literal]</Part>
            <Part>...</Part>
        </DisplayFormat>
        <Summary>
            <Fields>
                <Field>
                    <Name>[column | field | [mathid]:[variable]]</Name>
                    <Display>[literal]</Display>
                    <Group>[Client | ClientField | Math]</Group>
                </Field>
                <Field>...</Field>
            </Fields>
            <Address>
                <AddressType ADDRESSTYPECODE="[code value]">
                    <Fields>
                        <Field>
                            <Name>[column | field]</Name>
                            <Display>[literal]</Display>
                            <Group>[Address | AddressField]</Group>
                        </Field>
                        <Field>...</Field>
                    </Fields>
                </AddressType>
            </Address>
        </Summary>
    </Client>
    <Client>...</Client>
</ClientScreen>

ClientScreen Business Rule

XML Schema

<ClientScreen>
...
<Fields>
    <Field>
        <Name>TransactionGUID</Name>
        <Display>Transaction GUID</Display>
    </Field>
    <Field>
        <Name>TransactionName</Name>
        <Display>Transaction Name</Display>
    </Field>
</Fields>
...
<Event TYPE="ONLOAD">
    <ActionSet ID="RemovingField"/>
</Event>
...
<ScreenMath>
<Math ID="GlobalScreenMath" GLOBAL="Yes">
    <MathVariables>
        <MathVariable VARIABLENAME="TransactionNameMV" TYPE="EXPRESSION" DATATYPE="TEXT">Transaction:TransactionName</MathVariable>
        <MathVariable VARIABLENAME="TransactionGUIDMV" TYPE="EXPRESSION" DATATYPE="TEXT">Transaction:TransactionGUID</MathVariable>
        <MathVariable VARIABLENAME="True" TYPE="VALUE" DATATYPE="INTEGER">1</MathVariable>
        <MathVariable VARIABLENAME="False" TYPE="VALUE" DATATYPE="INTEGER">0</MathVariable>
    </MathVariables>
</Math>
...
</ScreenMath>
...
    <ActionSet ID="RemovingField">
        <Action ACTIONTYPE="ASSIGN" FIELD="TransactionName">GlobalScreenMath:TransactionNameMV</Action>
        <Action ACTIONTYPE="ASSIGN" FIELD="TransactionGUID">GlobalScreenMath:TransactionGUIDMV</Action>
    </ActionSet>
...
</ClientScreen>

XML Example

<ClientScreen>
    <LegalResidenceCountryCode TITLE="Legal Residence Country" TYPE="SQL">SELECT CountryCode, CountryLongName FROM AsCountry ORDER BY CASE CountryCode WHEN 'US' THEN 1 WHEN 'CA' THEN 2 ELSE 3 END, CountryLongName</LegalResidenceCountryCode>
    <DisplayPhoneScreen>Yes</DisplayPhoneScreen>
    <Events>
        <Event TYPE="ONLOAD">
            <Math ID="TypePopulationMath" />
            <QuerySet ID="TypePopulationQuery" FIELD="TypeCode" />
        </Event>
    </Events>
    <ScreenMath>
        <Math ID="TypePopulationMath" GLOBAL="Yes">
            <MathVariables>
                <MathVariable VARIABLENAME="PlanNameMV" TYPE="VALUE" DATATYPE="TEXT" />
                <MathIF IF="InitiatedByActivity">
                    <MathVariable VARIABLENAME="PlanNameMV" TYPE="SQL" DATATYPE="TEXT">SELECT PlanName FROM AsPlan WHERE PlanGUID = "[Transaction:PlanGUID]'</MathVariable>
                </MathIF>
                <MathVariable VARIABLENAME="FirstNameMV" TYPE="SQL" DATATYPE="TEXT">select FIRSTNAME from asclient where clientguid = '[ClientGUID]'</MathVariable>
                <MathVariable VARIABLENAME="LastNameMV" TYPE="SQL" DATATYPE="TEXT">select LASTNAME from asclient where clientguid = '[ClientGUID]'</MathVariable>
                <MathVariable VARIABLENAME="FullNameMV1" TYPE="EXPRESSION" DATATYPE="TEXT">FirstNameMV + LastNameMV</MathVariable>
            </MathVariables>
        </Math>
    </ScreenMath>
    <Actions>
        <QuerySet ID="TypePopulationQuery">
            <Condition IF="InitiatedByActivity=true">
                <Action ACTIONTYPE="SQLQUERY">SELECT CodeValue, ShortDescription FROM AsCode WHERE CodeName = 'AsCodeClientType' AND CodeValue = '02'</Action>
            </Condition>
        </QuerySet>
    </Actions>
    <Client TYPECODE="01" ACTIVITYPLAN="Client Plan" ALLOWREQUIREMENTS="Yes">
        <MultiFields RULE="MultiField-AccountNumber">Yes</MultiFields>
        <FixedFields>
            <Field>
                <Name>CompanyName</Name>
                <Display>Company Name</Display>
                <Expanded>Yes</Expanded>
            </Field>
            <Field>
                <Name>TaxID</Name>
                <Display>TIN/SSN</Display>
                <DataType MASK="CorporateTaxID">Text</DataType>
            </Field>
        </FixedFields>
        <Fields>
            <Field>
                <Name>EntitySubType</Name>
                <Display>Entity Sub Type</Display>
                <DataType>Combo</DataType>
                <DefaultValue>00</DefaultValue>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>00</OptionValue>
                            <OptionText />
                        </Option>
                        <Option>
                            <OptionValue>01</OptionValue>
                            <OptionText>Bank</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>02</OptionValue>
                            <OptionText>Business</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>03</OptionValue>
                            <OptionText>Foundation</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>04</OptionValue>
                            <OptionText>Trust</OptionText>
                        </Option>
                    </Options>
                </Query>
            </Field>
            <Field>
                <Name>Filler</Name>
                <Display />
                <DataType>Blank</DataType>
            </Field>
            <Field>
                <Name>Corporation</Name>
                <Display>Corporation</Display>
                <DataType>Radio</DataType>
                <Disabled>No</Disabled>
                <DefaultValue />
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>01</OptionValue>
                            <OptionText>Yes</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>00</OptionValue>
                            <OptionText>No</OptionText>
                        </Option>
                    </Options>
                </Query>
            </Field>
            <Field>
                <Name>Filler</Name>
                <Display />
                <DataType>Blank</DataType>
            </Field>
            <Field>
                <Name>TaxIDSource</Name>
                <Display>TaxID Source</Display>
                <DataType>Combo</DataType>
                <DefaultValue>00</DefaultValue>
                <Query TYPE="FIXED">
                    <Options>
                        <Option>
                            <OptionValue>00</OptionValue>
                            <OptionText>Application</OptionText>
                        </Option>
                        <Option>
                            <OptionValue>01</OptionValue>
                            <OptionText>Form</OptionText>
                        </Option>
                    </Options>
                </Query>
            </Field>
        </Fields>
        <DisplayFormat>
            <Part POST="">CompanyName</Part>
        </DisplayFormat>
        <Summary>
            <Fields>
                <Field>
                    <Name>CompanyName</Name>
                    <Display>Company</Display>
                    <Group>Address</Group>
                </Field>
            </Fields>
        </Summary>
    </Client>
    <Client TYPECODE="02" GROUP="Yes" ACTIVITYPLAN="Client Plan" ALLOWREQUIREMENTS="Yes">
        <MultiFields RULE="MultiField-AccountNumber">Yes</MultiFields>
        <FixedFields>
            <Field>
                <Name>Prefix</Name>
                <Display>Prefix2</Display>
            </Field>
            <Field>
                <Name>FirstName</Name>
                <Display>First Name</Display>
                <Required>Yes</Required>
                <DataType MASK="FirstName">Text</DataType>
            </Field>
            <Field>
                <Name>MiddleInitial</Name>
                <Display>Middle Name</Display>
            </Field>
            <Field>
                <Name>LastName</Name>
                <Display>Last Name</Display>
                <Required>Yes</Required>
                <DataType MASK="LastName">Text</DataType>
            </Field>
            <Field>
                <Name>Sex</Name>
                <Display>Gender</Display>
                <Expanded>Yes</Expanded>
                <DataType>Radio</DataType>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeGender' AND CodeValue IN ('01','02','03')</Query>
            </Field>
            <Field>
                <Name>MaritalStatus</Name>
                <Display>Marital Status</Display>
                <Query TYPE="SQL">SELECT CodeValue, LongDescription FROM AsCode WHERE CodeName = 'AsCodeMaritalStatus' AND CodeValue IN ('00','01','02')</Query>
            </Field>
            <Field>
                <Name>DateOfBirth</Name>
                <Display>Date of Birth</Display>
                <DataType>Date</DataType>
            </Field>
            <Field>
                <Name>DateOfDeath</Name>
                <Display>Date of Death</Display>
                <DataType>Date</DataType>
            </Field>
            <Field>
                <Name>TaxID</Name>
                <Display>Tax ID</Display>
                <DataType MASK="TaxID">Text</DataType>
                <DataType>Text</DataType>
            </Field>
            <Field>
                <Name>BirthCountryCode</Name>
                <Display>BirthCountry</Display>
                <DataType>Combo</DataType>
            </Field>
            <Field>
                <Name>CitizenshipCountryCode</Name>
                <Display>Citizenship Country</Display>
            </Field>
            <Field>
                <Name>Email</Name>
                <Display>Email Address</Display>
                <Disabled>Yes</Disabled>
            </Field>
            <Field>
                <Name>TextField1</Name>
                <Display>Text Field</Display>
            </Field>
        </FixedFields>
        <Subsections>
            <Subsection TITLE="Client Details" SECTIONNODES="Expanded">
                <Fields>
                    <Field>
                        <Name>TestRadio</Name>
                        <Display>PolicyScreenTestRadio</Display>
                        <DataType>Radio</DataType>
                        <DefaultValue>00</DefaultValue>
                        <Query TYPE="FIXED">
                            <Options>
                                <Option>
                                    <OptionValue>00</OptionValue>
                                    <OptionText>RadioYes</OptionText>
                                </Option>
                                <Option>
                                    <OptionValue>01</OptionValue>
                                    <OptionText>RadioNo</OptionText>
                                </Option>
                            </Options>
                        </Query>
                    </Field>
                    <Field>
                        <Name>TestCombo</Name>
                        <Display>PolicyScreenTestCombo</Display>
                        <DataType>Combo</DataType>
                        <Query TYPE="FIXED">
                            <Options>
                                <Option>
                                    <OptionValue>00</OptionValue>
                                    <OptionText>Combo1</OptionText>
                                </Option>
                                <Option>
                                    <OptionValue>01</OptionValue>
                                    <OptionText>Combo2</OptionText>
                                </Option>
                            </Options>
                        </Query>
                    </Field>
                    <Field>
                        <Name>PaymentMethod</Name>
                        <Display>PaymentMethod</Display>
                        <DataType>Combo</DataType>
                        <Query TYPE="SQL">SELECT CodeValue, ShortDescription FROM AsCode WHERE CodeName = 'AsCodePaymentMethod'</Query>
                    </Field>
                    <Field>
                        <Name>TaxIDSource</Name>
                        <Display>TaxID Source</Display>
                        <DataType>Combo</DataType>
                        <DefaultValue>01</DefaultValue>
                        <Query TYPE="FIXED">
                            <Options>
                                <Option>
                                    <OptionValue>01</OptionValue>
                                    <OptionText>Application</OptionText>
                                </Option>
                                <Option>
                                    <OptionValue>02</OptionValue>
                                    <OptionText>Form</OptionText>
                                </Option>
                            </Options>
                        </Query>
                    </Field>
                    <Field>
                        <Name>LetterSendDate</Name>
                        <Display>Date to Send Correspondence</Display>
                        <DataType>Date</DataType>
                    </Field>
                    <Field>
                        <Name>PersonSponsorID</Name>
                        <Display>Sponsor TaxID</Display>
                        <DataType>Text</DataType>
                        <Hidden>No</Hidden>
                    </Field>
                    <Field>
                        <Name>Ignore</Name>
                        <Display>Ignore</Display>
                        <DataType>Text</DataType>
                        <Hidden>No</Hidden>
                    </Field>
                    <Field>
                        <Name>Filler</Name>
                        <Display />
                        <DataType>Blank</DataType>
                    </Field>
                    <Field>
                        <Name>URLText</Name>
                        <DataType>LinkExternal</DataType>
                        <Display>Open an external link</Display>
                        <Hidden>Yes</Hidden>
                    </Field>
                </Fields>
            </Subsection>
        </Subsections>
        <DisplayFormat>
            <Part POST=" ">FirstName</Part>
            <Part POST=" ">MiddleInitial</Part>
            <Part>LastName</Part>
        </DisplayFormat>
        <Events>
            <Event TYPE="ONSUBMIT">
                <Math ID="FinalActionScreenMath" />
                <ActionSet ID="FinalValidation" />
                <Spawns>
                    <Spawn IF="FinalActionScreenMath:LastNameChange = GlobalScreenMath:True">
                        <Transaction SPAWNCODE="03" FIELD="FinalActionScreenMath:LetterSendDateMV">ClientInfoLastNameUpdateLetter</Transaction>
                        <SpawnFields>
                            <SpawnField>
                                <From>FinalActionScreenMath:ClientGUIDMV</From>
                                <To>ClientGUID</To>
                                <DataType>Text</DataType>
                            </SpawnField>
                            <SpawnField>
                                <From>LastName</From>
                                <To>LastName</To>
                                <DataType>Text</DataType>
                            </SpawnField>
                        </SpawnFields>
                    </Spawn>
                    <Spawn IF="FinalActionScreenMath:TaxIDChange = GlobalScreenMath:True">
                        <Transaction SPAWNCODE="03" FIELD="FinalActionScreenMath:LetterSendDateMV">ClientInfoTaxUpdateLetter</Transaction>
                        <SpawnFields>
                            <SpawnField>
                                <From>FinalActionScreenMath:ClientGUIDMV</From>
                                <To>ClientGUID</To>
                                <DataType>Text</DataType>
                            </SpawnField>
                            <SpawnField>
                                <From>TaxID</From>
                                <To>TaxID</To>
                                <DataType>Text</DataType>
                            </SpawnField>
                        </SpawnFields>
                    </Spawn>
                    <Spawn IF="FinalActionScreenMath:DateOfBirthChange= GlobalScreenMath:True">
                        <Transaction SPAWNCODE="03" FIELD="FinalActionScreenMath:LetterSendDateMV">ClientInfoDateofBirthLetter</Transaction>
                        <SpawnFields>
                            <SpawnField>
                                <From>FinalActionScreenMath:ClientGUIDMV</From>
                                <To>ClientGUID</To>
                                <DataType>Text</DataType>
                            </SpawnField>
                            <SpawnField>
                                <From>DateOfBirth</From>
                                <To>DateOfBirth</To>
                                <DataType>Date</DataType>
                            </SpawnField>
                        </SpawnFields>
                    </Spawn>
                    <Spawn IF="FinalActionScreenMath:DateOfDeathChange= GlobalScreenMath:True">
                        <Transaction SPAWNCODE="03" FIELD="FinalActionScreenMath:LetterSendDateMV">ClientInfoDateofDeathLetter</Transaction>
                        <SpawnFields>
                            <SpawnField>
                                <From>FinalActionScreenMath:ClientGUIDMV</From>
                                <To>ClientGUID</To>
                                <DataType>Text</DataType>
                            </SpawnField>
                            <SpawnField>
                                <From>DateOfDeath</From>
                                <To>DateOfDeath</To>
                                <DataType>Date</DataType>
                            </SpawnField>
                        </SpawnFields>
                    </Spawn>
                </Spawns>
            </Event>
            <Event TYPE="ONLOAD">
                <Math ID="FinalActionScreenMath" />
                <ActionSet ID="RemovingField" />
            </Event>
            <Event TYPE="ONCHANGE" FIELD="LinkPicker">
                <ActionSet ID="ONCHANGEActionSet_Link" />
            </Event>
        </Events>
        <ScreenMath>
            <Math ID="GlobalScreenMath" GLOBAL="Yes">
                <MathVariables>
                    <MathVariable VARIABLENAME="TestMV" TYPE="VALUE" DATATYPE="TEXT">00</MathVariable>
                    <MathVariable VARIABLENAME="True" TYPE="VALUE" DATATYPE="INTEGER">1</MathVariable>
                    <MathVariable VARIABLENAME="False" TYPE="VALUE" DATATYPE="INTEGER">0</MathVariable>
                    <MathIF IF="InitiatedByActivity">
                        <MathVariable VARIABLENAME="TextData" TYPE="VALUE" DATATYPE="TEXT">This is a test value of text</MathVariable>
                    </MathIF>
                    <MathVariable VARIABLENAME="FirstNameMV" TYPE="SQL" DATATYPE="TEXT">select FIRSTNAME from asclient where clientguid = '[ClientGUID]'</MathVariable>
                    <MathVariable VARIABLENAME="LastNameMV" TYPE="SQL" DATATYPE="TEXT">select LASTNAME from asclient where clientguid = '[ClientGUID]'</MathVariable>
                    <MathVariable VARIABLENAME="FullNameMV1" TYPE="EXPRESSION" DATATYPE="TEXT">FirstNameMV + LastNameMV</MathVariable>
                </MathVariables>
            </Math>
            <Math ID="FinalActionScreenMath">
                <MathVariables>
                    <MathVariable VARIABLENAME="LastNameChange" TYPE="EXPRESSION" DATATYPE="INTEGER">0</MathVariable>
                    <MathVariable VARIABLENAME="TaxIDChange" TYPE="EXPRESSION" DATATYPE="INTEGER">0</MathVariable>
                    <MathVariable VARIABLENAME="DateOfBirthChange" TYPE="EXPRESSION" DATATYPE="INTEGER">0</MathVariable>
                    <MathVariable VARIABLENAME="DateOfDeathChange" TYPE="EXPRESSION" DATATYPE="INTEGER">0</MathVariable>
                    <MathVariable VARIABLENAME="ClientGUIDMV" TYPE="EXPRESSION" DATATYPE="TEXT">ClientGUID</MathVariable>
                    <MathIF IF="Not IsEmpty(ClientGUIDMV)">
                        <MathVariable VARIABLENAME="SystemDateMV" TYPE="SYSTEMDATE" DATATYPE="DATE">SystemDate</MathVariable>
                        <MathVariable VARIABLENAME="LetterSendDateMV" TYPE="IIF" DATATYPE="DATE" EXPRESSION="IsEmpty(LetterSendDate)">SystemDateMV,LetterSendDate</MathVariable>
                        <MathVariable VARIABLENAME="InitialLastName" TYPE="SQL" DATATYPE="TEXT">SELECT LastName FROM AsClient WHERE ClientGUID = '[ClientGUIDMV]'</MathVariable>
                        <MathVariable VARIABLENAME="LastNameChange" TYPE="IIF" DATATYPE="INTEGER" EXPRESSION="InitialLastName = LastName">
                            GlobalScreenMath:False,GlobalScreenMath:True</MathVariable>
                        <MathVariable VARIABLENAME="InitialTaxID" TYPE="SQL" DATATYPE="TEXT">SELECT TaxID FROM AsClient WHERE ClientGUID = '[ClientGUIDMV]'</MathVariable>
                        <MathVariable VARIABLENAME="TaxIDChange" TYPE="IIF" DATATYPE="INTEGER" EXPRESSION="InitialTaxID = TaxID">
                            GlobalScreenMath:False,GlobalScreenMath:True</MathVariable>
                        <MathVariable VARIABLENAME="InitialDateOfBirth" TYPE="SQL" DATATYPE="DATE">SELECT DateOfBirth FROM AsClient WHERE ClientGUID = '[ClientGUIDMV]'</MathVariable>
                        <MathVariable VARIABLENAME="DateOfBirthChange" TYPE="IIF" DATATYPE="INTEGER" EXPRESSION="InitialDateOfBirth = DateOfBirth">
                            GlobalScreenMath:False,GlobalScreenMath:True</MathVariable>
                        <MathVariable VARIABLENAME="InitialDateOfDeath" TYPE="SQL" DATATYPE="DATE">SELECT DateOfDeath FROM AsClient WHERE ClientGUID = '[ClientGUIDMV]'</MathVariable>
                        <MathVariable VARIABLENAME="DateOfDeathChange" TYPE="IIF" DATATYPE="INTEGER" EXPRESSION="InitialDateOfDeath = DateOfDeath">
                            GlobalScreenMath:False,GlobalScreenMath:True</MathVariable>
                    </MathIF>
                    <MathVariable VARIABLENAME="TestMV" TYPE="VALUE" DATATYPE="TEXT">00</MathVariable>
                    <MathIF IF="InitiatedByActivity">
                        <MathVariable VARIABLENAME="PlanNameVariable" TYPE="VALUE" DATATYPE="TEXT">Client Plan</MathVariable>
                    </MathIF>
                </MathVariables>
            </Math>
        </ScreenMath>
        <Actions>
            <ActionSet ID="FinalValidation">
                <Condition IF="IsEmpty(DateOfBirth)">
                    <Action ACTIONTYPE="ERROR">Date of Birth is Empty</Action>
                </Condition>
                <Condition IF="IsEmpty(TaxID)">
                    <Action ACTIONTYPE="ERROR">TaxID is Empty</Action>
                </Condition>
                <Condition IF="FinalActionScreenMath:LastNameChange = GlobalScreenMath:True">
                    <Action ACTIONTYPE="WARNING">LastName has changed. ClientInfoLastNameUpdateLetter was sent.</Action>
                </Condition>
                <Condition IF="Not IsEmpty(TaxID) AND (FinalActionScreenMath:TaxIDChange = GlobalScreenMath:True)">
                    <Action ACTIONTYPE="WARNING">TaxID has changed. ClientInfoTaxUpdateLetter was sent.</Action>
                </Condition>
                <Condition
                    IF="(FinalActionScreenMath:DateOfBirthChange = GlobalScreenMath:True) AND (FinalActionScreenMath:DateOfDeathChange = GlobalScreenMath:True)">
                    <Action ACTIONTYPE="WARNING">Both DateofBirth and DateofDeath have changed. ClientInfoDateofBirthLetter and ClientInfoDateofDeathLetter were sent.</Action>
                    <ElseIf
                        IF="(FinalActionScreenMath:DateOfBirthChange = GlobalScreenMath:True) AND (FinalActionScreenMath:DateOfDeathChange = GlobalScreenMath:False)">
                        <Action ACTIONTYPE="WARNING">DateofBirth has changed. ClientInfoDateofBirthLetter was sent.</Action>
                    </ElseIf>
                    <ElseIf
                        IF="(FinalActionScreenMath:DateOfBirthChange = GlobalScreenMath:False) AND (FinalActionScreenMath:DateOfDeathChange = GlobalScreenMath:True)">
                        <Action ACTIONTYPE="WARNING">DateofDeath has changed. ClientInfoDateofDeathLetter was sent.</Action>
                    </ElseIf>
                </Condition>
            </ActionSet>
            <ActionSet ID="RemovingField">
                <Action ACTIONTYPE="ASSIGN" FIELD="TextField1">GlobalScreenMath:TestMV</Action>
            </ActionSet>
            <ActionSet ID="ONCHANGEActionSet_Link">
                <Action ACTIONTYPE="ASSIGN" FIELD="URLText">LinkPicker</Action>
                <Condition IF="LinkPicker='Please Select'">
                    <Action ACTIONTYPE="HIDE" FIELD="URLText" />
                    <Else>
                        <Action ACTIONTYPE="SHOW" FIELD="URLText" />
                    </Else>
                </Condition>
            </ActionSet>
        </Actions>
        <Summary>
            <Fields>
                <Field>
                    <Name>GlobalScreenMath:FullNameMV1</Name>
                    <Display>Full Name</Display>
                    <Group>Math</Group>
                </Field>
                <Field>
                    <Name>Email</Name>
                    <Display>Email ID</Display>
                    <Group>ClientField</Group>
                </Field>
            </Fields>
            <Address>
                <AddressType ADDRESSTYPECODE="02">
                    <Fields>
                        <Field>
                            <Name>City</Name>
                            <Display>City</Display>
                            <Group>Address</Group>
                        </Field>
                    </Fields>
                </AddressType>
            </Address>
        </Summary>
    </Client>
    <Client TYPECODE="99">
        <FixedFields>
            <Field>
                <Name>FirstName</Name>
                <Display>First Name</Display>
            </Field>
            <Field>
                <Name>MiddleInitial</Name>
                <Display>Middle Name</Display>
            </Field>
            <Field>
                <Name>LastName</Name>
                <Display>Last Name</Display>
            </Field>
        </FixedFields>
        <DisplayFormat>
            <Part POST=" ">FirstName</Part>
            <Part POST=" ">MiddleInitial</Part>
            <Part>LastName</Part>
        </DisplayFormat>
    </Client>
</ClientScreen>

Example for Restricting Access of Privileged Clients using Filters

<ClientScreen>
<Filter>
<Conditions SecurityGroup = "Prototype Super,AlamereTest" Type ="Exclusion"  Operator ="OR|AND">
<Condition  Fieldname ="PrivilegedField1"  Value = "X"></Condition>
<Condition  Fieldname ="PrivilegedField2"  Value = "Y"></Condition>
</Conditions>
</Filter>
</ClientScreen>