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:
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.
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. |
|||||||||||||||||||||||||
<Entity> | ENTITYNAME |
Required: The attribute identifies an entity that is being defined by this structure. The entities are limited to the list below. Values:
|
|||||||||||||||||||||||||
<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:
|
|||||||||||||||||||||||||
<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:
|
|||||||||||||||||||||||||
<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:
|
|||||||||||||||||||||||||
<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:
|
|||||||||||||||||||||||||
<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:
|
|||||||||||||||||||||||||
<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:
|
|||||||||||||||||||||||||
<Criteria> | <Entity> |
Required, Repeatable: The element provides a single criteria definition identifying the entity's column name and its placeholder/ghost/hint text. |
|||||||||||||||||||||||||
<Name> | <Entity> |
Required: The element provides the entity's column name upon which to search. Values:
|
|||||||||||||||||||||||||
<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:
|
|||||||||||||||||||||||||
<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:
|
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>