UnifiedSearch

This is a global rule that may be overridden by Primary Company. The rule intends to search define criteria for each of the 8 entities the rule controls. This should result in a quick and simple search on the entity that minimizes joins to related data. A more complex search is available in the Advanced search feature.

The UnifiedSearch rule is optional in an OIPA installation. When the rule is not configured, the default behavior provides criteria for the 8 entities and the presentation order for those entities. The entities, their order, and their default criteria are:

Searchable Fixed Fields
Entity Searchable Fixed Fields Hint Searched Tables
Policy PolicyNumber Policy Number AsPolicy
Case CaseNumber Case Number AsCase, AsPolicy
Client FirstName, LastName Client First Name, Client Last Name AsClient
Customer CustomerNumber, TaxId, CompanyName Customer Number, Tax Id, Company Name AsGroupCustomer, AsClient
Suspense SuspenseNumber Suspense Number AsSuspense
Disbursement DisbursementNumber Disbursement Number AsDisbursement, AsPolicy, AsClient
Group/list bill BillReferenceID Bill Reference Number AsBill
Batch [batch name] [. . .] BatchNumber Batch Number AsBatch

When an OIPA installation contains configuration of this rule, the configuration declares entities in the order of the desired presentation and their associated criteria in a desired order. Any of the 8 entities not configured in the rule are presented in the default order described above after the configured entities are presented in their configured order. The batch entity is more complex and sub-lists batch names in alphabetical order with the only possible criteria being batch number. This rule can filter the search results to eliminate sensitive records that can be viewed only by users within specific security groups. This filter defines criteria by security group so there can be different criteria for different security groups.

The unified search presents a combo box and an input text field. The combo box's options are a list of entities in the default order or the configured order. The first option in the combo box is auto selected upon the system's initial presentation. After execution of a quick search the user's entity selection remains until the next login or a screen refresh. When the user selects an entity, the input text field displays a hint of the searchable columns that are associated with the entity. The user enters a value in the input field and the entity is searched for records where the entered value matches the entity's searchable columns. A wildcard can be entered to return all of the entity's records. A wildcard entry combined with other characters modifies the search from a matching logic to a contains logic.

The UnifiedSearch rule primarily impacts the Quick Search feature. It also impacts the entity order presented in the Advanced Search feature.

UnifiedSearch: Elements and Attributes
Element/Tag Parent Element Attribute Definition/Values

<UnifiedSearch>

 

 

The opening element for the rule and matches the name of the business rule.

<Entity>

<UnifiedSearch>

Required, Repeatable:

This defines an entity that can be searched using a quick search.
The element is repeated to define any of the 8 entities and their search criteria. The order in which these entities are defined in the rule is the order of the entity names presented in OIPA's Quick Search drop down list.

<Entity> ENTITYNAME

Required:

The attribute identifies an entity that is being defined by this structure. The entities are limited to the list below.

Values:

  • Policy to search AsPolicy

  • Client to search AsClient

  • Customer to search AsGroupCustomer and related AsClient records

  • Case to search AsCase

  • Disbursement to search AsDisbursement

  • Suspense to search AsSuspense

  • Group/list bill to search AsBill

  • Batch to search AsBatch

<Filter> <Entity>  

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.

  <Conditions> SecurityGroup

Required:

The attribute provides a comma delimited list of Security Group names to associate with the conditional statements contained within this structure. When the user is a member of one of the listed Security Groups, the condition(s) are applied to the searched entity's resulting record data to determine removal from the results.

Values:

  • comma delimited list of security group names

<Conditions>

Type

Required:

This attribute indicates when the conditions express an exclusion or inclusion of data from the presentation. The system currently supports exclusion only.

Values:

  • Exclusion

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

<Conditions> Operator

Optional:

The <Conditions> element may contain multiple <Condition> elements as each represents a conditional statement. This attribute indicates the relationship between multiple <Condition> elements. All <Condition> elements apply the same OPERATOR value.

Values:

  • 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 associated by the element's Entity attribute value.

Values:

  • Conditional statement in the form of a SQL predicate

  <Condition> <Entity>

Required, Repeatable:

The attribute provides a database table name upon which the condition will apply. The applicable table name is dependent on the ENTITYNAME attribute value.

Values:

Table names listed by ENTITYNAME values are:

EntityName Table Names
ENTITYNAME Values Table Names
Case ASCASE, ASCASEFIELD, ASPOLICY
Client ASCLASSMEMBERSHIP, ASCLIENT, ASCLIENTFIELD, ASROLE, ASCLIENTRELATIONSHIP, ASCLIENTRELATIONSHIPFIELD
Customer ASCLIENT, ASCLIENTFIELD, ASGROUPCUSTOMER, ASCLIENTRELATIONSHIP, ASCLIENTRELATIONSHIPFIELD
Disbursement ASDISBURSEMENT, ASDISBURSEMENTFIELD, ASDISBURSEMENTAPPROVALL
Policy ASPOLICY, ASPOLICYFIELD, ASROLE
Suspense ASSUSPENSE, ASSUSPENSEFIELD
  <Condition> RelationshipKey

Optional:

The attribute provides a further definition for the Client Relationship entity type. This attribute is required when the Entity attribute's value is ASCLIENTRELATIONSHIP or ASCLIENTRELATIONSHIPFIELD. These tables store ClientGUIDs in PrimaryClientGUID and SecondaryClientGUID columns and this attribute indicates which column is targeted by this filter.

Values:

  • Primary for the PrimaryClientGUID column

  • Secondary for the SecondaryClientGUID column

<Criteria> <Entity>  

Required, Repeatable:

The element provides a single criteria definition identifying the entity's column name and its placeholder/ghost/hint text.
This element is repeated to define multiple criteria for the entity search. A value entered in OIPA's Quick Search entry field is compared to all of the entity's searchable columns provided by one or more <Criteria> elements. The order of <Criteria> definition controls the order of the placeholder/ghost/hint text presented in OIPA's Quick Search entry field.

<Name> <Entity>  

Required:

The element provides the entity's column name upon which to search.

Values:

  • The entity's column name limited to text and numeric datatypes

  • Default columns in the search by <Entity> are:

Entity Column Names
Entity Column Name
Batch BatchNumber
Case CaseNumber
Client First Name, Last Name
Customer CustomerNumber, TaxID, CompanyName
Disbursement DisbursementNumber
Group/list bill BillReferenceID
Policy

PolicyNumber

Suspense SuspenseNumber

<DisplayName> <Criteria>  

Required:The element provides the placeholder/ghost/hint text to display in the Quick Search entry field. This text can be translated to other languages or text.

Values:

  • literal

  • Default labels listed by Column Names are:

Column Display Name
Column Name Display Text
PolicyNumber Policy Number
CaseNumber Case Number
FirstName Client First Name
LastName Client Last Name
CustomerNumber Customer Number
TaxId Tax Id
CompanyName Customer Name
SuspenseNumber Suspense Number
DisbursementNumber Disbursement Number
BillReferenceID Bill Reference Number
BatchNumber Batch Number
<Group> <Criteria>  

Required:

The element identifies the table containing the column defined by the <Name> element. The value of the element is a common name for the table. For example, the searchable field DisbursementNumber is a column in the database table AsDisbursement which is written in the <Group> element as Disbursement..

Values:

  • literal

  • List of available <Group> values by <Entity> are:

Abbreviated Values
Entity Available Abbreviated Tables
Policy Policy
Case Case, Policy
Client Client
Customer GroupCustomer, Client
Suspense Suspense
Disbursement Disbursement, Policy, Client
Group/list bill Bill
Batch Batch

XML Schema

<UnifiedSearch>
<Entity ENTITYNAME="[Policy | Case | Client | Customer | Suspense | Disbursement | Bill | Batch]">
<Filter>
<Conditions SecurityGroup="[list]" Type="Exclusion" Operator="[AND | OR]">
	<Condition ENTITY="[full table name]">[condition]</Condition>
	<Condition>...</Condition>
</Conditions>
<Conditions>...</Conditions>
</Filter>
<Criteria>
<Name>[fixed field]</Name>
<DisplayName>[text]</DisplayName>
<Group>[abbreviated table name]</Group>
</Criteria>
<Criteria>...</Criteria>
</Entity>
<Entity>...</Entity>
</UnifiedSearch>

XML Example

<UnifiedSearch>
<Entity ENTITYNAME="Case">
<Filter>
<Conditions SecurityGroup="Prototype Tester, Prototype Mask High Security" Type="Exclusion">
	<Condition ENTITY="AsCaseField">FieldName = 'Ignore' and 'TextValue = 'YES'</Condition>
</Conditions>
</Filter>
<Criteria>
<Name>CaseNumber</Name>
<Display>Case Number</Display>
<Group>Case</Group>
</Criteria>
<Criteria>
<Name>PolicyNumber</Name>
<Display>Application Number</Display>
<Group>Policy</Group>
</Criteria>
</Entity>
<Entity ENTITYNAME="Batch">
<Criteria>
<Name>BatchNumber</Name>
<Display>Batch Number</Display>
<Group>Batch</Group>
</Criteria>
</Entity>
<Entity ENTITYNAME="Customer">
<Filter>
<Conditions SecurityGroup = "Prototype Super" Type ="Exclusion">
	<Condition Entity = "AsClientField">FieldName = 'Ignore' and TextValue = 'YES'</Condition>
</Conditions>
</Filter>
<Criteria>
<Name>CustomerNumber</Name>
<Display>Customer Number</Display>
<Group>GroupCustomer</Group>
</Criteria>
<Criteria>
<Display>Customer Name</Display>
<Name>CompanyName</Name>
<Group>Client</Group>
</Criteria>
</Entity>
<Entity ENTITYNAME="Client">
<Filter>
<Conditions SecurityGroup = "Prototype Super" Type ="Exclusion">
	<Condition Entity = "AsClientField">FieldName = 'Ignore' and TextValue = 'YES'</Condition>
</Conditions>
</Filter>
<Criteria>
<Name>TaxID</Name>
<Display>Tax ID</Display>
<Group>Client</Group>
</Criteria>
<Criteria>
<Display>LASTNAME</Display>
<Name>LastName</Name>
<Group>Client</Group>
</Criteria>
</Entity>
<Entity ENTITYNAME="Policy">
<Filter>
<Conditions SecurityGroup = "Prototype Super" Type ="Exclusion">
	<Condition Entity = "AsClientField">FieldName = 'Ignore' and TextValue = 'YES'</Condition>
</Conditions>
</Filter>
<Criteria>
<Name>PolicyNumber</Name>
<Display>Policy Number</Display>
<Group>Policy</Group>
</Criteria>
<Criteria>
<Name>PolicyName</Name>
<Display>Policy Name</Display>
<Group>Policy</Group>
</Criteria>
</Entity>
</UnifiedSearch>