ClientSearchScreen
This business rule allows a user-initiated client search by any data column in AsClient. The search results are also configurable and will display in a table format.
Note: External clients are displayed in one of two ways:
- Using the existing Client Search Screen on the Policy and Segment Role screens in OIPA.
- Using a customized type of external client search screen.
Both the search criteria (Fields & FixedFields) and results (Columns) will accept mask attributes in the DataType elements. Refer to the Fields and Tables sections to see mask attribute configuration.
Note: The AddressScreen rule should be used to dictate the contents of address column. Ordinals are not mandatory, but if specified, it dictates the order of sorting on initial load of the results.
Element/Tag | Definition | Attribute | Element/Attribute Value and Description |
---|---|---|---|
<ClientSearchScreen> |
The required opening and closing tags. |
|
|
<Filter> | |||
<Conditions> |
Exclusion condition definition:
|
SecurityGroup |
Comma separated security group names:
|
<Condition> | Repeatable |
ENTITY RELATIONSHIPKEY |
Specifies the table to be used for the filter. Only requied when ENITITY is CLIENTRELATIONSHIP OR CLIENTRELATIONSHIPFIELD. Should be set to either Primary or Secondary |
Repeatable |
Specifies the field name to be used. For the main tables, this would be the column name. For Field tables this would be the field name. |
||
Specifies the value to search on the attribute should correspond to the datatype of the field: TextValue/ IntValue/ FloatValue/ DateValue |
|||
<Client> |
Required, Repeatable Element: Indicates the opening of the Client field descriptions and related values. Used to search for different types of clients specified in the TypeCode attribute. In addition, it also allows for the ability to search external clients from within the Client Search screen and perform actions on that external client like any other client type. |
TYPECODE |
Required
Attribute: |
|
TYPE |
"External" Indicates if the type of client is external, the client search will be performed on an outside data source. Retrieves external client info from another system through a real-time web service from within the existing client search screen. |
|
|
EXTERNAL |
Optional: Defines the client type as an external client. The only value supported is "Yes". If the attribute is omitted, the default is No. |
|
<ExternalClientSearchRetriever> |
|
The name of a class that has been created to implement the external client search. Optional: Specifies the class used in the client search for role assignments to populate the result grid. Required if EXTERNAL=“Yes” and existing Client Search Screen is used. |
|
<Search> |
Required
and Repeatable Element: |
|
|
<Fields> |
|
|
|
<Results> |
Required: Defines the results. This element provides the return of the search and the data in the Results override the fixed fields. |
|
|
<Table> |
Controls formatting of results display. See Table Element section. |
|
|
<Column> | The container element for column configuration. | ||
<Display> | Defines the header for the search result table column. | ||
<Name> |
Specifies the database column in which the field values are stored. |
|
|
<Group> | Indicates the table/screen that stores the field being referenced. The value used should be appropriate for the screen being configured. |
The name of the database table that holds the relevant records. Examples: Activity |
|
<DataType> |
Defines the datatype of the field. |
|
String |
|
MASK |
Optional: Used to specify the mask that will validate and format the field data for display purposes. Any mask name that has been defined. |
|
<OrderBy> |
Optional, repeatable element: Specifies a structure to define an ordering ability to the data in the table. This element is repeatable only when the <Name> element has a value of "Name" and the <Group> element has a value of "Client," or when the <Name> element has a value of "Address" and the <Group> element has a value of "Address." |
|
|
ORDINAL |
Required attribute: Specifies priority of the column among the columns being sorted. An integer indicating the sort order of the column. |
||
ORDER |
Optional attribute: Specifies the direction of the sort with respect to the value of each column's ORDINAL attribute. ASCENDING: The columns will sort in ascending order. This is the default value. DESCENDING: The columns will sort in descending order. |
||
COLUMN |
A database column name from AsClient or AsAddress Optional attribute: This attribute is only valid and processed by the system for "Name=Name" and "Group=Client" and "Name=Address" and "Group=Address". |
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.
Hidden if not Configured | Able to be Disabled | Able to be Renamed | OnChange Generator | Can Generate Errors | OnChange/OnLoad/OnSubmit Receiver | |
TypeCode | x1 | |||||
CompanyName | x | x | x | x | x | x |
LastName | x | x | x | x | x | x |
FirstName | x | x | x | x | x | x |
MiddleInitial | x | x | x | x | x | x |
AlternateName1 | x | x | x | x | x | x |
AlternateName2 | x | x | x | x | x | x |
AlternateName3 | x | x | x | x | x | x |
AlternateName4 | x | x | x | x | x | x |
AlternateName5 | x | x | x | x | x | x |
Prefix2 | x | x | x | x | x | x |
Suffix2 | x | x | x | x | x | x |
AdditionalPrefix | x | x | x | x | x | x |
AdditionalSuffix | x | x | x | x | x | x |
Title2 | x | x | x | x | x | x |
Sex | x | x | x | x | x | x |
MaritalStatus3 | x | x | x | x | x | x |
DateOfBirth | x | x | x | x | x | x |
DateOfDeath | x | x | x | x | x | x |
TaxIDType2 | x | x | x | x | x | x |
TaxID | x | x | x | x | x | x |
x | x | x | x | x | x | |
BirthCountryCode2 | x | x | x | x | x | x |
CitizenshipCountryCode2 | x | x | x | x | x | x |
BirthRegionCode2 | x | x | x | x | x | x |
PrimaryPhone | x | x | x | x | x | x |
TextField1 | x | x | x | x | x | x |
TextField2 | x | x | x | x | x | x |
CheckBox1 | x | x | x | x | x | x |
CheckBox2 | x | x | x | x | x | x |
Radio1 | x | x | x | x | x | x |
Radio2 | x | x | x | x | x | x |
Combo12 | x | x | x | x | x | x |
Combo22 | x | x | x | x | x | x |
Date1 |
x | x | x | x | x | x |
Date2 | x | x | x | x | x | x |
LegalResidenceCountryCode | x1 |
1 TypeCode and LegalResidenceCountryCode can only be renamed by using system translation keys.
2 These fixed fields are drop-down fields that will derive their values from their corresponding code names.
3 Marital Status will be a radio field.
XML Example
<ClientSearchScreen>
<Filter>
<Conditions SecurityGroup = "AlamereGroupSuper,AlamereTest" type ="Exclusion" Operator = "AND" >
<Condition Entity = "ASCLIENTFIELD">Fieldname = 'Employee' and TextValue = 'GuideStone'</Condition>
<Condition Entity = "ASCLIENTRELATIONSHIP" RELATIONSHIPKEY ="Primary">Fieldname = 'Status' and TextValue = 'FullTime'</Condition>
</Conditions>
</Filter>
<Client TYPECODE="90" EXTERNAL="Yes">
<ExternalClientSearchRetriever>com.adminserver.web.ASWebappClassLoader</ExternalClientSearchRetriever>
<Search>
<Fields>
<Field>
<Name>Name</Name>
<Display>Name</Display>
<DataType>Text</DataType>
<Group>Client</Group>
<InitialFocus>Yes</InitialFocus>
</Field>
</Fields>
</Search>
<Results DEFAULTRESULTS="Yes">
<Table>
<Column WIDTH="150" ALIGN="LEFT">
<Display>Name</Display>
<Name>Name</Name>
<Group>Client</Group>
<DataType>Text</DataType>
<OrderBy ORDINAL="1" ORDER="DESCENDING" COLUMN="LastName"></OrderBy>
</Column>
<Column WIDTH="250" ALIGN="LEFT">
<Display>Address</Display>
<Name>Address</Name>
<Group>Address</Group>
<DataType>Text</DataType>
</Column>
</Table>
</Results>
</Client>
<Client TYPECODE="*">
<Search>
<Fields>
<Field>
<Name>FirstName</Name>
<Display>First Name</Display>
<DataType>Text</DataType>
<Group>Client</Group>
</Field>
<Field>
<Name>LastName</Name>
<Display>Last Name</Display>
<DataType>Text</DataType>
<Group>Client</Group>
</Field>
<Field>
<Name>CompanyName</Name>
<Display>Company Name</Display>
<DataType>Text</DataType>
<Group>Client</Group>
</Field>
</Fields>
</Search>
<Results>
<Table NAME="CLIENT">
<Column ALIGN="CENTER">
<Display>TIN</Display>
<Name>TaxId</Name>
<DataType>Text</DataType>
<Group>Client</Group>
</Column>
<Column ALIGN="CENTER">
<Display>Company Name</Display>
<Name>CompanyName</Name>
<DataType>Text</DataType>
<Group>Client</Group>
<OrderBy ORDINAL="1" ORDER="DESCENDING" COLUMN="CompanyName"></OrderBy>
</Column>
<Column ALIGN="CENTER">
<Display>Last Name</Display>
<Name>LastName</Name>
<DataType>Text</DataType>
<Group>Client</Group>
<OrderBy ORDINAL="2" ORDER="DESCENDING" COLUMN="LastName"></OrderBy>
</Column>
<Column ALIGN="CENTER">
<Display>City</Display>
<Name>City</Name>
<DataType>Text</DataType>
</Column>
</Table>
</Results>
</Client>
</ClientSearchScreen>
XML Schema
<ClientSearchScreen>
<Client TYPECODE="" TYPE=""EXTERNAL="[Yes|No]" >
<ExternalClientSearchRetriever>[client search class loader]</ExternalClientSearchRetriever>
<Search>
<Fields>
<Field>
<Name></Name>
<Display></Display>
<Group></Group>
<DataType></DataType>
</Field>
<Field>
<Name></Name>
<Display></Display>
<DataType></DataType>
<Group></Group>
</Field>
</Fields>
</Search>
<Results>
<Table NAME="CLIENT">
<Column ALIGN="" FORMAT="">
<Display></Display>
<Name></Name>
<DataType></DataType>
<Group></Group>
<OrderBy ORDINAL="[integer]" ORDER="[ASCENDING|DESCENDING]" COLUMN="[database column name]"></OrderBy>
</Column>
<Column ALIGN="">
<Display></Display>
<Name></Name>
<DataType></DataType>
<Group></Group>
<OrderBy ORDINAL="[integer]" ORDER="[ASCENDING|DESCENDING]" COLUMN="[database column name]"></OrderBy>
</Column>
</Table>
</Results>
</Client>
</ClientSearchScreen>