# Patent

## Title
Rule generation system adapted for an insurance claim processing system

## Abstract

A rule generation system facilitates the dynamic generation of rules for an insurance claim processing computer system. The rule generation system includes various modules and graphical user interfaces that provide a streamlined mechanism for creating new rules for the insurance claim processing architecture. The rule generation system may include various levels of usability that distinguish between an advanced user of the rule generation system and basic user that uses the generated rules. The rule generation system may also include graphical user interfaces directed to adding, editing, removing, or maintaining rules for the insurance claim processing computer system.

## Background
BACKGROUND
1. Technical Field
This insurance application relates to processing insurance claims, and in particular, to a rule generation system for an insurance claim processing computer system.
2. Related Art
In processing insurance claims from an insurance customer, an insurance claim agent typically asks a variety of questions to the insurance customer. An insurance claim processing center typically employs an insurance claim processing computer system for processing insurance claims from insurance customers. The insurance claim processing computer system may be used by various employees at the claim processing center such as insurance claim agents. The insurance claim processing computer system may be operative to display various graphical user interfaces that an insurance claim agent uses when asking questions to an insurance customer and when the insurance claim agent receives answers to those questions.
In some circumstances, the insurance claim processing center desires to order the presentation of questions and various graphical user interfaces. However, an insurance claim processing computer system is usually extremely complex and requires an individual, such as a computer program developer, who has a skill set that includes the computer programming language in which the insurance claim processing computer system was written. Hence, the insurance claim processing center incurs additional burdens, including fees to the computer program developer and lag time, each time the insurance claim processing center desires to change the order or display of the graphical user interfaces. In addition, when an insurance claim processing center does not have the personnel with the technical skill set to add or create questions using the insurance claim processing computer system, the insurance claim processing center realizes additional expenses in training or hiring the personnel with the requisite skill set.
Moreover, making modifications to existing insurance claim processing computer systems requires disabling access to and shutting down the systems connected to the insurance claim processing computer system. Hence, when the insurance claim processing center desires to change the order or display of the graphical user interfaces, the insurance claim processing center must shut down the entire insurance claim processing computer system. This shutting down process results in downtime of the insurance claim processing center, which translates into lost revenue and lost worker productivity.
SUMMARY
A rule generation system dynamically generates rules for an insurance claim processing computer system. The dynamically generated rules may be used as part of the insurance claim processing computer system for presenting graphical user interfaces or other communication interfaces. The rule generation system includes various modules and graphical user interfaces that provide a streamlined mechanism for creating new rules and modifying pre-existing rules for the insurance claim processing computer system. In addition, the rule generation system minimizes the need to learn a complicated computer language or syntax each time a conversational question is created. The rule generation system may include various levels of usability that distinguish between a question programmer that programs questions for the rule question generation system and an insurance claim agent.
In general, a rule may be considered an evaluative expression. A user may use the rule generation system to generate or modify different categories of evaluative expressions. Examples of evaluative expressions include navigation evaluative expressions, display evaluative expressions, and discrepancy message evaluative expressions. An evaluative expression may have one or more evaluative expression parameters representing one or more conditional statements that correspond to the evaluative expression category of the evaluative expression. In addition, different categories of evaluative expressions may have different evaluative expression parameters. For example, a navigation evaluative expression may have different evaluative expression parameters than a display evaluative expression or a discrepancy message evaluative expression. The rule generation system may use one or more graphical user interfaces to assign values to the different categories of evaluative expressions.
In one implementation, the rule question generation system includes a memory storage device in communication with various system components, such as a processor. The memory storage device stores an evaluative expression database that has been configured with an evaluative expression framework. The evaluative expression framework may encompass different categories of evaluative expressions.
The evaluative expression database may employ various tables to implement the evaluative expression framework. By way of example, the evaluative expression database may employ an evaluative expression table, an evaluative expression support table, an evaluative expression text table, an evaluative expression association table, and a common evaluative expression table. The evaluative expression database may employ more or less tables depending on the evaluative expression framework.
The memory storage device may also store executable instructions that define evaluative expression modules for generating, editing, or modifying evaluative expressions. In one implementation, the executable instructions define an evaluative expression parameter module, an evaluative expression generator module, a common evaluative expression module, an evaluative expression parameter module, and an advanced evaluative expression module. The executable instructions may be operative to define more or less modules. Each of the modules may be associated with one or more graphical user interfaces.



BRIEF DESCRIPTION OF THE DRAWINGS
The innovation may be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like-referenced numerals designate corresponding parts throughout the different views.
FIG. 1 shows one example of a rule generation system.
FIG. 2 shows various modules implemented by the executable instruction sets of FIG. 1 in communication with an evaluative expression database.
FIG. 3 shows one example of an evaluative expression communication interface implemented by the evaluative expression parameter module of FIG. 2.
FIG. 4 shows another example of an evaluative expression communication interface implemented by the evaluative expression parameter module of FIG. 2 that displays the details of a navigation rule.
FIG. 5 shows another example of an evaluative expression communication interface implemented by the evaluative expression parameter module of FIG. 2 that displays the details of a discrepancy rule.
FIG. 6 shows another example of an evaluative expression communication interface implemented by the evaluative expression parameter module of FIG. 2 for adding a new rule.
FIG. 7 shows another example of an evaluative expression communication interface implemented by the evaluative expression parameter module of FIG. 2 for editing the details of a display rule.
FIG. 8 shows another example of an evaluative expression communication interface implemented by the evaluative expression parameter module of FIG. 2 for editing the details of a discrepancy rule.
FIG. 9 shows an example of an evaluative expression communication interface implemented by the common evaluative expression module of FIG. 2 for displaying common rules.
FIG. 10 shows another example of an evaluative expression communication interface implemented by the common evaluative expression module of FIG. 2 for editing common rules.
FIGS. 11-15 show various examples of building an advanced rule using an evaluation expression communication interface implemented by the advanced evaluative expression module of FIG. 2.
FIG. 16 shows a further example of an evaluative expression communication interface implemented by the evaluative expression parameter module of FIG. 2.
FIGS. 17-23 show additional examples of evaluation expression communication interfaces implemented by the advanced evaluative expression module of FIG. 2.
FIGS. 24-25 show examples of evaluation expression communication interfaces implemented by the discrepancy evaluative expression module of FIG. 2.
FIG. 26 shows an example of logic flow for generating an evaluative expression using the rule generation system of FIG. 1.



DETAILED DESCRIPTION
System Overview
While the embodiments described herein relate to insurance claim processing, the modules and other systems described may be adopted for any system that uses databases, Internet technologies, graphical user interfaces, or other communication interfaces.
In general, an insurance claim processing computer system uses graphical user interfaces to present questions to an insurance claim agent or an insurance customer. The questions may be part of an insurance application of the insurance claim processing computer system, such as a first notice of loss insurance application or an underwriting insurance application. Although the questions may be any type of question, the questions may relate to the specific insurance application. For example, in a first notice of loss insurance application, the questions may relate to an insurance claim.
The graphical user interfaces may be displayed as part of a web page, which is usually a file of information made available for viewing on the World Wide Web and displayable in an Internet browser or other computer program. The web page may be sub-divided into sections, referred to as “containers” in the present insurance application. The insurance claim processing computer system may populate the containers with questions.
The web pages are presented to an insurance claim agent or insurance customer as part of an organized structure of the insurance application, wherein the organized structure includes a series of sequential nodes and each node represents a web page. The web page may be displayed in a window of a computer program, such as an Internet web browser. In general, the term “window” refers to a portion of a computer monitor that contains its own document or message. In window-based computer programs, the screen may be divided into several windows, each of which has its own boundaries and may contain a different document, or a different view of the same document. A window may also be a modal window, which may require user input or other action before another window is displayed. In alternative implementations, the nodes may be non-sequential or a node may represent a window.
The organized structure may include nodes relating to any part of the insurance application. For example, in a first notice of loss application, an organized structure may include nodes relating to the witnesses of an accident, the insurance policy information of an insurance customer, or other aspect of an insurance claim. With regard to the previous example, an insurance claim agent may encounter one or more nodes in processing an insurance claim.
To maintain the organization of the web pages, nodes, containers, and questions, the insurance claim processing computer system may employ various evaluative expressions, also known as rules, directed to each of these elements. For example, the insurance claim processing computer system may have rules relating to the display of questions, to the navigation of web pages, and to evaluating whether answers to the questions conflict with expected answers or previously given answers.
Because the insurance claim processing computer system may have many rules, maintaining these rules and creating additional rules is often a daunting task. Hence, a rule generation system assists in the creation and maintenance of these rules.
FIG. 1 shows an example of the rule generation system 102. The rule generation system 102 includes several components for adding, maintaining, expiring or deleting evaluative expressions used by the insurance claim processing computer system. In one implementation, the rule generation system 102 includes a display 104, a network interface 106, a processor 108, and various input/output devices 110, such as keyboards, mice, hard drives, floppy drives, optical disk drives, or other input/output devices. The rule generation system 102 also includes a memory storage device 112 that stores executable instruction sets 114 that are executable by the processor 108. The memory storage device 112 also stores an evaluative expression database 116 that implements an evaluative expression framework 118, which defines different categories of evaluative expressions.
The rule generation system 102 may generate many different categories of the evaluative expressions. As previously discussed, the different categories of evaluative expressions may relate to the web pages of the insurance claim processing computer system, navigating through the web pages of the insurance claim processing computer system, determining whether discrepancies exist in the insurance claim processing computer system, or other aspects. In one example, the different categories of evaluative expressions may include, but are not limited to, page display rules, navigation rules, and discrepancy rules. However, in other examples, the rule generation system 102 also may generate, modify, or otherwise maintain other categories of evaluative expressions.
In one implementation, page display rules determine whether an element of the insurance claim processing computer system, such as a question for an insurance customer, should be visible or not visible on a web page. For example, if the page display rule evaluates to a predetermined result, such as Boolean true, the element is visible on the web page; otherwise, if the page display rule evaluates to a different predetermined result, such as Boolean false, the element is not visible on the web page.
Navigation rules define the order in which web pages are displayed. For example, a navigation rule may determine which web page should be navigated to when leaving the current web page. However, another navigation rule may determine the order in which the web pages are displayed.
Discrepancy rules may determine whether there are discrepancies in the insurance claim processing computer system. Examples of discrepancy rules include evaluative discrepancy rules and node result discrepancy report rules. In general, evaluative discrepancy rules determine whether data discrepancies exist in the insurance claim processing computer system, and node result discrepancy report rules determine whether there are node discrepancies in the insurance claim processing computer system. The rule generation system 102 may also support other categories of discrepancy rules.
In addition to the various categories of rules, the rule generation system 102 may support different types of evaluative expressions within those categories. In one implementation, the rule generation system 102 supports at least two evaluative expression types: a common rule type and an advanced rule type. The common rule type may define rules that have commonly-used parameters or commonly-used evaluative expressions. A common rule may define evaluative expression parameter categories and assign predetermined evaluative expression parameter values to the various evaluative expression parameter categories. In contrast, the advanced rule type may be one or more system-configured or user-configured rules that have a custom set of parameters or a custom set of evaluative expressions. The rule generation system 102 may be further operative to generate a rule that includes rules from both the common rule type and the advanced rule type. In this implementation, common rule types and advanced rule types are examples of different types of rules. The rule generation system 102 also may be operative to support different types of rules other than common rule types and advanced rule types.
The rule generation system 102 may be in communication with multiple insurance claim processing center employee client computers 122-126 through a network 120. The insurance claim processing center employee client computers 122-126 may include a developer client computer 122, a question programmer client computer 124 and an insurance claim agent client computer 126. The client computers 122-126 may have different categories of access levels for accessing the rule generation system 102. For example, the developer client computer 122 may have the highest tier access level, the question programmer client computer 124 may have a mid-tier access level, and the insurance claim agent 127 may have the lowest tier access level.
The different access levels may grant different categories of access to the rule generation system 102. For example, the highest tier access level may grant access to modify the executable instruction sets 114, the evaluative expression framework 118, or any other components 104-118 of the conversational question generation system 102. In contrast, the mid-tier access level may restrict access to activities relating to evaluative expressions, such as generating the different categories of rules, modifying one or more rules, or removing rules from the evaluative expression database 116. Finally, the lowest tier access level may restrict access to displaying rules and providing parameters to the various categories of rules.
Furthermore, the different access levels may be further subdivided into additional access levels. For example, the mid-tier access level may distinguish between basic users and advanced users. In general, the rule generation system 102 assigns a basic user to be a business analyst with limited exposure to technology, and assigns an advanced user to be an individual who has a solid understanding of the supporting technology of the insurance claim processing computer system. In one implementation, the rule generation system 102 permits an advanced user to set any property of a rule when creating and editing a rule. In contrast, the rule generation system 102 limits the basic user such that the basic user may only enter a subset of the properties of a rule. In addition, the lowest tier access level and the highest tier access level may distinguish between different categories of users accessing the rule generation system 102.
Table Structures
FIG. 2 shows an example of various modules 212-220 implemented by the executable instruction sets 114 of FIG. 1 in communication with the evaluative expression database 116, and shows additional details regarding the evaluative expression framework 118. In general, the evaluative expression framework 118 supports the various categories of rules. In one implementation, the evaluative expression framework 118 includes database tables 202-210 that contain parameter values for multiple different categories of rules. In the example of FIG. 2, the evaluative expression framework 118 includes an evaluative expression table 202, an evaluative expression support table 204, an evaluative expression text table 206, an evaluative expression association table 208, and a common evaluative expression table 210. In other examples, the evaluative expression framework 118 may include additional or fewer categories of rules to achieve the functionality described herein.
In general, the common evaluative expression table 210 includes criteria that govern the order and contents in which an insurance claim processing computer system places and displays information to a user. The placing and displaying of information may be further based on the type of insurance application that uses the common rule. For example, a common rule may be assigned to a first notice of loss insurance application or may be assigned to an underwriting insurance application. Assignment to other insurance applications is also possible. The common evaluative expression table 210 includes multiple evaluative expression entries that define the parameters for a rule of a common rule type. Table 1 below shows one implementation of the evaluative expression table 210. Table 1 includes a column for entry names, the category of data stored by the entry, whether the entry is initially set to a null value, whether the entry is used as a primary key, and whether the entry is used as a foreign key. In general, the term “primary key” refers to an entry or field that serves as a unique identifier of a specific row in a table. In general, the term “foreign key” refers to an entry or field that identifies a column or a set of columns in one (referencing) table that refers to a column or set of columns in another (referenced) table. Alternative arrangements of the common evaluative expression table 210 are also possible. For example, the common evaluative expression table 210 may include more or less entries than shown in Table 1.











TABLE 1








Is
Is





Pri-
For-



Data

mary
eign


Name
Category
Null Option
Key?
Key?







N_CNV_COMM_RULE_ID
char(16)
NOT NULL
Yes
No


N_INSURANCE
char(16)
NOT NULL
No
Yes


APPLICATION_ID


C_CATEGORY
int
NULL
No
No


N_DISPLAY_COL
int
NULL
No
No


N_CODE_SORT_COL
int
NULL
No
No


N_CTGY_SORT_SEQ
int
NULL
No
No


C_GROUP_RMU_KEY
char(16)
NOT NULL
No
No


M_QUES_XML_NM
char(16)
NOT NULL
No
No


D_EFFECTIVE
datetime
NOT NULL
No
No


D_EXPIRATION
datetime
NOT NULL
No
No


C_RCD_DEL
char(1)
NOT NULL
No
No


D_CREATE_TS
datetime
NOT NULL
No
No


D_LAST_UPDT_TS
datetime
NOT NULL
No
No


N_LAST_MOD
char(16)
NOT NULL
No
No


N_LAST_UPDT
int
NOT NULL
No
No


N_SYSTEM_MOD
char(8)
NOT NULL
No
No









Each of the entries of the common evaluative expression table 210 may correspond to an evaluative expression parameter for a rule associated with a common rule type. The N_CNV_COMM_RULE_ID entry represents a common rule identifier parameter that is a unique identifier for a common rule. The common rule identifier parameter for the N_CNV_COMM_RULE_ID entry may be generated by the rule generation system 102 or by the insurance claim processing computer system.
The N_INSURANCE APPLICATION_ID entry represents a common rule insurance application identifier parameter whose value is a unique identifier for the insurance application to which the common rule is assigned. For example, the N_INSURANCE APPLICATION_ID entry may indicate that the common rule is assigned to a first notice of loss insurance application of the insurance claim processing center. As another example, the N_INSURANCE APPLICATION_ID entry may indicate that the common rule is assigned to an underwriting insurance application of the insurance claim processing center.
The C_CATEGORY entry represents a common rule code/decode category parameter. In general, the common rule code/decode category parameter represents a predetermined value for a category of related items. For example, the predetermined value of the common rule code/decode category parameter may be a numerical value of “18,” which may represent the countries of the world. The common rule code/decode category parameter may have one or more associated common rule code/decode category item parameters. A common rule code/decode category item parameter may represent a predetermined value for a specific item from a category of related items. For example, the common rule code/decode category item parameter value may be the numerical value of “001,” which, in combination with the common rule code/decode category parameter value of “18,” would represent the United States of America. In this example, the C_CATEGORY entry would store the numerical value “001.” However, in other examples, the common rule code/decode category item parameter value of “001,” may represent another item based on the parameter value of the common rule code/decode category parameter. In addition, when the common rule is displayed, an evaluative expression communication interface may also display one or more category items associated with the common rule code/decode category parameter as selectable parameter values for the common rule. Examples of common rules that may be displayed according to the C_CATEGORY entry include the states of the United States of America, the countries of the world, Lines of Business, Type of Loss, and other related items.
The N_DISPLAY_COL entry represents a common rule display parameter whose value is used by an insurance application of the insurance claim processing computer system to determine which code/decode column to display. The code/decode columns may include the C_CATEGORY entry, a business processing entry that is an alphanumeric representation of a category item associated with the C_CATEGORY entry, a short description entry that is a short description of the business processing entry, and a long description entry that is a long description of the business processing entry. Other code/decode columns are also possible. The N_DISPLAY_COL entry may be assigned any number of numerical values. For example, a value of “1” may cause the display of the contents of the business processing entry, a value of “2” may cause the display of the contents of the short description entry, and a value of “3” may display the contents of the long description entry.
In addition, the combination of a common rule code/decode category parameter value and business processing entry may cause the rule generation system 102 to display a predetermined value, such as the value of the short description entry or the value of the long description entry, to the user.
The N_CODE_SORT_COL entry represents a common rule sort parameter whose value determines the code/decode column to sort. In one implementation, the rule generation system 102 is configured to display items in order of the business processing entry, the short description entry, the long description entry, or any other entry. For example, a value of “1” may cause sorting on the contents of the business processing entry, a value of “2” may cause sorting on the contents of the short description entry, and a value of “3” may cause sorting on the contents of the long description entry.
The N_CTGY_SORT_SEQ entry represents a common rule position parameter whose value identifies the position in an evaluative expression communication interface where the code/decode values associated with the code/decode category parameter values are displayed.
The C_GROUP_RMU_KEY entry represents a common rule RMU parameter whose value is the RMU key for display of the group header information. In general, an RMU key is a look-up value for a dynamic link library that returns a literal representation of a key.
The M_QUES_XML_NM entry represents a common rule name parameter whose value is a text representation of the rule name. The common rule name parameter may be used in searching for the rule by the insurance claim processing computer system.
The D_EFFECTIVE entry represents a common rule effective parameter whose value indicates the effective calendar date of the common rule. Similarly, the D_EXPIRATION entry represents a common rule expiration parameter whose value indicates the expiration date of the common rule. In one implementation, the D_EFFECTIVE entry indicates the calendar day on which the insurance claim processing computer system should begin using or displaying a common rule, and the D_EXPIRATION entry indicates the calendar day on which the insurance claim processing computer system should stop using or displaying a common rule.
The common evaluative expression table 210 may also have computer system entries that represent parameters whose values are generated by the insurance claim processing computer system. For example, the C_RCD_DEL entry, the D_CREATE_TS entry, the D_LAST_UPDT_TS entry, the N_LAST_MOD entry, the N_LAST_UPDT entry, and the N_SYSTEM_MOD entry are examples of entries that have parameter values that are automatically generated by the insurance claim processing computer system. In other implementations, the common evaluative expression table 210 may have more than or less than the number of computer system entries shown in Table 2.
The C_RCD_DEL entry represents a deleted parameter whose value identifies whether a common rule is marked as deleted. In one implementation, the common rule is logically deleted from the evaluative expression database 116 and not physically deleted from the evaluative expression database 116. However, in other implementations, the common rule may be physically deleted from the evaluative expression database 116.
The D_CREATE_TS entry represents an added calendar date parameter whose value indicates a calendar date for when the common rule was added to the table. The D_LAST_UPDT_TS entry represents an updated calendar date parameter whose value indicates when the common rule was last updated. The N_LAST_MOD entry represents a user parameter whose value indicates the user who last updated or created the common rule in the evaluative expression database 116. The N_LAST_UPDT entry represents a parameter whose value changes every time a record is modified. In one implementation, the N_LAST_UPDT is updated by the insurance claim processing computer system and is used by optimistic locking. The N_SYSTEM_MOD entry represents a parameter whose value indicates the rule generation system 102 that updated the common rule.
In addition to a common evaluative expression table 210, the evaluative expression framework 118 may also include an evaluative expression association table 208. In one implementation, the evaluative expression association table 208 operates as a linking table between the tables 202-210 by providing rule association types for rules in the various evaluative expression categories. The entries of the evaluative expression association table 208 describe the rule association type for a rule.
Table 2 shows an example of one implementation of the evaluative expression association table 208. Alternative arrangements of the evaluative expression association table 208 are also possible. For example, the evaluative expression association table 208 may include more or less entries than shown in Table 2. The evaluative expression association table 208 may also have entries similar or identical to the entries found in the common evaluative expression table 210. For purposes of brevity, where the evaluative expression association table 208 has entries similar to the common evaluative expression table 210, a discussion of those entries has been omitted.











TABLE 2






Data

Is Primary
Is Foreign


Name
Category
Null Option
Key?
Key?







N_CONV_RULE_ASN_ID
char(16)
NOT NULL
Yes
No


N_CONV_TEXT_ID
char(16)
NOT NULL
No
Yes


N_RULE_SEQ
int
NULL
No
No


N_WEB PAGETYPE_ID
char(16)
NOT NULL
No
Yes


N_QUESTION_ID
char(16)
NOT NULL
No
Yes


N_INSURANCE
char(16)
NOT NULL
No
Yes


APPLICATION_ID


C_RULE_ASSOC_TYP
char(5)
NOT NULL
No
No


M_CONTAINER_NM
varchar(254)
NOT NULL
No
No


T_CONV_RULE
varchar(2000)
NOT NULL
No
No


N_NAV_RULE_TRUE
char(16)
NOT NULL
No
No


N_NAV_RULE_FALSE
char(16)
NOT NULL
No
No


M_CONTAINER_NM_UC
varchar(254)
NOT NULL
No
No


T_DATA_TYP_DET_OVR
varchar(254)
NOT NULL
No
No









The N_CONV_RULE_ASN_ID entry represents a system rule association identifier parameter whose value is a unique numerical value. The system rule association identifier parameter value may be generated by the rule generation system 102 or another system, such as the insurance claim processing computer system.
The N_CONV_TEXT_ID entry represents a system rule text identifier parameter whose value is a unique value that identifies a message text. The system rule text identifier parameter value may be generated by the rule generation system 102 or another system, such as the insurance claim processing computer system.
The N_RULE_SEQ entry represents a rule sequence parameter whose value indicates the order in which one or more rules should be evaluated.
The PAGETYPE_ID entry represents a web page type identifier parameter whose value is a unique value that identifies the web page to which a rule is associated. For example, a web page type identifier parameter value of “INSUREDVEHTLE” represents that the web page of the insured vehicle total loss evaluator is associated with the rule. The web page type identifier parameter value may be generated by the rule generation system 102 or another system, such as the insurance claim processing computer system.
The N_QUESTION_ID entry represents a question identifier parameter whose value is a unique value that identifies a question in the insurance claim processing computer system. The question identifier parameter value may be generated by the rule generation system 102 or another system, such as the insurance claim processing computer system.
The N_INSURANCE APPLICATION_ID entry represents an insurance application identifier parameter whose value is a unique identifier that identifies an insurance application in the insurance claim processing computer system. Examples of insurance applications in the insurance claim processing computer system include a first notice of loss insurance application and an underwriting insurance application.
The C_RULE_ASSOC_TYP entry represents a rule association type parameter whose value is a code/decode value identifying the evaluative expression category of the rule. The rule association type parameter value may be a predefined value, such as a numerical value that identifies whether a rule is a display rule, a navigation rule, or a discrepancy rule. For example, display rules may be associated with the value of “1,” navigation rules may be associated with the value of “2,” and discrepancy rules may be associated with the value of “3.” Other values are also possible depending on the number and type of evaluative expression categories implemented in the rule generation system 102.
The M_CONTAINER_NM entry represents a rule container parameter whose value indicates the identification number of the container where a rule is located. In general, a container is a sub-section of a web page. In one implementation, the rule container parameter is assigned a value when the C_RULE_ASSOC_TYP entry identifies that the rule is a display rule.
The T_CONV_RULE entry represents a multiple rule name parameter. The T_CONV_RULE entry stores multiple rule names from the M_RULE_NM entry of the evaluative expression table 202. The rule generation system 102 or the insurance claim processing computer system refers to the T_CONV_RULE entry to combine the evaluative expressions represented by each of the rule names into one complete evaluative expression. Rule generation system 102 or the insurance claim processing computer system evaluates and expands the complete evaluative expression at run time.
The N_NAV_RULE_TRUE entry represents a rule navigation parameter whose value indicates the web page in the insurance claim processing computer system where the insurance claim processing computer system should navigate to when the navigation rule associated with the rule navigation parameter evaluates to a predetermined value, such as Boolean true. In some implementations, a web page may have multiple navigation rules. Where a web page has multiple navigation rules, the insurance claim processing computer system uses the first rule navigation parameter of a navigation rule that evaluates to the predetermined value, such as Boolean true, to determine the web page to which the insurance claim processing computer should navigate. A keyword may be assigned to the N_NAV_RULE_TRUE entry to also indicate the web page to which the insurance claim processing computer system should navigate. An example of a keyword is “NAVNEXT,” which would indicate to the insurance claim processing computer system that the insurance claim processing computer system should navigate to the next sequential web page after the current web page.
The N_NAV_RULE_FALSE entry represents a rule navigation parameter whose value indicates the web page in the insurance claim processing computer system where the insurance claim processing computer system should navigate to when the navigation rule associated with the rule navigation parameter evaluates to a predetermined value, such as Boolean false. In some implementations, a web page may have multiple navigation rules. Where a web page has multiple navigation rules, the insurance claim processing computer system may use the last rule navigation parameter of a navigation rule that evaluates to the predetermined value, such as Boolean false, to determine the web page to which the insurance claim processing computer should navigate. A keyword may be assigned to the N_NAV_RULE_FALSE entry to also indicate the web page to which the insurance claim processing computer system should navigate. An example of a keyword is “NAVNEXT,” which would indicate to the insurance claim processing computer system that the insurance claim processing computer system should navigate to the next sequential web page after the current web page.
The M_CONV_QUESTION TEXT_NM_UC entry represents an uppercase container name parameter whose value is the name of the container on which the rule appears. The insurance claim processing computer system may use the uppercase container name parameter to facilitate name searches in the evaluative expression database 116.
The T_DATA_TYP_DET_OVR entry represents a datatype override parameter whose value indicates whether the insurance claim processing computer system should override the datatype of a previously configured question. The datatype override parameter value either replaces the datatype of a question where the previously configured question has a datatype, or is appended to the datatype of a question where the previously configured question does not have a datatype.
Furthermore, the evaluative expression framework 118 may also include the evaluative expression text table 206. In one implementation, the evaluative expression text table 206 contains entries for the text of discrepancy messages associated with discrepancy rules. The evaluative expression text table 206 may also support the internationalization of discrepancy messages.
Table 3 shows an example of one implementation of the evaluative expression text table 206. Alternative arrangements of the evaluative expression text table 206 are also possible. For example, the evaluative expression text table 206 may include more or less entries than shown in Table 3. The evaluative expression text table 206 may also have entries similar or identical to the entries found in the other tables 202-210. For purposes of brevity, where the evaluative expression text table 206 has entries similar to the tables 202-210, a discussion of those entries has been omitted.











TABLE 3





Name
Data Category
Null Option
Is Primary Key?
Is Foreign Key?







N_CONV_TEXT_ID
char(16)
NOT NULL
Yes
No


N_SEQUENCE_NUM
int
NOT NULL
Yes
No


C_LOCALE
char(5)
NOT NULL
Yes
No


C_UPPERCASE_IND
char(1)
NOT NULL
Yes
No


N_INSURANCE
char(16)
NOT NULL
No
Yes


APPLICATION_ID


T_MSG_TEXT
varchar(4000)
NOT NULL
No
No


M_CONV_TEXT_NM
varchar(50)
NOT NULL
No
No


M_CONV_TEXT_NM_UC
varchar(50)
NOT NULL
No
No


C_DISC_MSG_IND
char(16)
NOT NULL
No
No


C_RCD_DEL
char(1)
NOT NULL
No
No


D_CREATE_TS
datetime
NOT NULL
No
No


D_LAST_UPDT_TS
datetime
NOT NULL
No
No


N_LAST_MOD
char(16)
NOT NULL
No
No


N_LAST_UPDT
int
NOT NULL
No
No


N_SYSTEM_MOD
char(8)
NOT NULL
No
No


N_LAST_UPDT
int
NOT NULL
No
No









In one implementation, the entries of the evaluative expression text table 206 correspond to a text parameter of a rule. The parameter values for the text parameters may be provided by any number of actors or systems. For example, the text parameter values may be provided by an insurance claim agent, provided by an insurance customer using a graphical user interface, or another provided by system in communication with the rule generation system 102.
The N_CONV_TEXT_ID entry represents a system text identifier parameter whose value is a unique numerical value. The system text association identifier parameter value may be generated by the rule generation system 102 or another system, such as the insurance claim processing computer system.
The N_SEQUENCE_NUM entry represents a sequence number parameter whose value is a sequence number when the message text of a rule is greater than a predetermined rule text character limit. In one implementation, the rule text character limit is 4000 characters. In this implementation, when the number of characters in the rule text of a rule is less than 4000 characters, the N_SEQUENCE_NUM parameter value is 0. However, when the number of characters in the rule text of a rule is less than 4000 characters, the N_SEQUENCE_NUM parameter value starts at a predetermined value, such as the number 1, and as additional rows of rule text are added, the N_SEQUENCE_NUM parameter value is incremented by a predetermined value, such as being incremented by 1, and the incremented parameter value is associated with the added rule text.
The C_LOCALE entry represents a rule language parameter whose value is a predefined value that indicates the language of the rule text. The C_LOCALE entry enables the use of multiple languages for a rule. A rule may have multiple C_LOCALE entries. In one implementation, the C_LOCALE entry indicates a number and the number is associated with a language. For example, the number “001” may be associated with “English” and the number “245” may be associated with French. In this example, a rule that is associated with multiple C_LANGUAGE entries is displayable in multiple languages. The language of the rule text may be selected based on input provided by a user, based on a selection by the rule generation system 102, or based on selection by the insurance claim processing computer system.
The C_UPPERCASE_IND entry represents an uppercase indicator parameter whose value is assigned a logic value, such as a Boolean true value or a Boolean false value. In one example, a Boolean true value indicates that the text associated with a rule is displayable in uppercase alphanumeric characters, and a Boolean false value indicates that the text associated with a rule is displayable in both lowercase and uppercase alphanumeric characters. The insurance claim processing computer system may refer to the C_UPPERCASE_IND entry when performing text searches for rules in the evaluative expression database 116.
The T_MSG_TEXT entry represents a rule message text parameter whose value is a text message associated with a rule. For example, the rule message text parameter may be a text message associated with a discrepancy message or other rule.
The M_CONV_TEXT_NM represents a rule text name parameter whose value is a unique identifying name of the rule text associated with the rule. The rule text name parameter value may be used by the rule generation system 102, by the insurance claim processing computer system, or any other system, for searching and selecting the rule text associated with the rule.
The M_CONV_TEXT_NM_UC entry represents an uppercase rule text name parameter whose value is an uppercase parameter value of the parameter value stored in the M_CONV_QUESTION TEXT_NM entry. The insurance claim processing computer system may use the uppercase rule text name parameter to facilitate name searches in the evaluative expression database 116.
The C_DISC_MSG_IND entry represents a discrepancy message indicator parameter that indicates whether the text is used for a discrepancy rule or for a question.
Additionally, the evaluative expression framework 118 may also include the evaluative expression support table 204. In one implementation, the evaluative expression support table 204 contains entries that support creating a common rule, an advanced rule, or a combination of the rule types.
Table 4 shows an example of one implementation of the evaluative expression support table 204. Alternative arrangements of the evaluative expression support table 204 are also possible. For example, the evaluative expression support table 204 may include more or less entries than shown in Table 4. The evaluative expression support table 204 may also have entries similar or identical to the entries found in the other tables 202-210. For purposes of brevity, where the evaluative expression support table 204 has entries similar to the tables 202-210, a discussion of those entries has been omitted.











TABLE 4








Is






Pri-
Is



Data

mary
Foreign


Name
Category
Null Option
Key?
Key?







N_CONV_RULE_LIB_ID
char(16)
NOT NULL
Yes
Yes


T_COMMON_RULE
char(16)
NOT NULL
No
No


T_ADVANCED_RULE
char(16)
NOT NULL
No
No


C_RCD_DEL
char(1)
NOT NULL
No
No


D_CREATE_TS
datetime
NOT NULL
No
No


D_LAST_UPDT_TS
datetime
NOT NULL
No
No


N_LAST_MOD
char(16)
NOT NULL
No
No


N_LAST_UPDT
int
NOT NULL
No
No


N_SYSTEM_MOD
char(8)
NOT NULL
No
No









The N_CONV_RULE_LIB_ID entry is a primary support key parameter whose value is both a primary key of the evaluative expression support table 204 and a foreign key to the evaluative expression table 202.
The T_COMMON_RULE entry is a common rule parameter whose value is the common portion of a rule. Where a rule does not have a common portion, the value of the common rule parameter may be a null value. The T_COMMON_RULE entry may refer to one or more entries, such as the T_RULE entry, of the evaluative expression table 202.
The T_ADVANCED_RULE entry is an advanced rule parameter whose value is the advanced portion of a rule. Where a rule does not have an advanced portion, the value of the advanced rule parameter may be a null value. The T_ADVANCED_RULE entry may refer to one or more entries, such as the T_RULE entry, of the evaluative expression table 202.
Furthermore, the evaluative expression framework 118 may also include the evaluative expression table 202. In one implementation, the evaluative expression table 202 contains entries that define the parameters for a rule. The entries of the evaluative expression table 202 may refer to other entries of the tables 204-210, or the entries of the tables 204-210 may refer to entries in the evaluative expression table 202. A rule defined by the entries of the evaluative expression table 202 may be a common rule, an advanced rule, or combination rule that includes both a common rule and an advanced rule.
Table 5 shows an example of one implementation of the evaluative expression table 202. Alternative arrangements of the evaluative expression table 202 are also possible. For example, the evaluative expression table 202 may include more or less entries than shown in Table 5. The evaluative expression table 202 may also have entries similar or identical to the entries found in the other tables 204-210. For purposes of brevity, where the evaluative expression table 202 has entries similar to the tables 204-210, a discussion of those entries has been omitted.











TABLE 5





Name
Data Category
Null Option
Is Primary Key?
Is Foreign Key?







N_CONV_RULE_ID
char(16)
NOT NULL
Yes
No


N_INSURANCE
char(16)
NOT NULL
No
Yes


APPLICATION_ID


N_ORG_ENTY_ID
char(16)
NOT NULL
No
Yes


M_RULE_NM
varchar(254)
NOT NULL
No
No


T_RULE
varchar(2000)
NOT NULL
No
No


D_EFFECTIVE
datetime
NOT NULL
No
No


D_EXPIRATION
datetime
NOT NULL
No
No


C_RULE_ASSOC_TYP
char(5)
NOT NULL
No
No


M_RULE_NM_UC
varchar(254)
NOT NULL
No
No


C_RCD_DEL
char(1)
NOT NULL
No
No


C_RULE_NBR
char(16)
NOT NULL
No
No


D_CREATE_TS
datetime
NOT NULL
No
No


D_LAST_UPDT_TS
datetime
NOT NULL
No
No


N_LAST_MOD
char(16)
NOT NULL
No
No


N_LAST_UPDT
int
NOT NULL
No
No


N_SYSTEM_MOD
char(8)
NOT NULL
No
No









The N_CONV_RULE_ID entry represents a rule identifier parameter whose value is a unique identifier for a rule. The rule identifier parameter may be used as the primary key for the evaluative expression table 202. The rule identifier parameter value may be generated by the rule generation system 102 or by another system, such as the insurance claim processing computer system.
The N_ORG_ENTY_ID entry represents an organization entity identification parameter whose value is a foreign key to the organization entity identification number of the employee who created the conversational question.
The M_RULE_NM entry represents a rule name parameter whose value is a unique set of alphanumeric characters that identify the name of the rule. The rule generation system 102 may provide that the rule name parameter value be in a preconfigured format. For example, rule generation system 102 may provide that the rule name parameter value start with “?^” and end with “^?,” such as in “?^BusinessRuleName1^?”. The M_RULE_NUM entry may be referenced by other tables 204-210, such as the evaluative expression association table 208.
The T_RULE entry represents an expression parameter whose value is the text expression of the rule. The expression parameter value may be written in the XML Path Language (“XPATH”) or other expression language. In addition, the format of the expression parameter value may be based on the evaluative expression category associated with the rule. For example, display rules and navigation rules may have a type of formatting for the expression parameter, while discrepancy rules may have another type of formatting. The expression parameter value may also be assigned a predetermined value, such as a Boolean value of “true” or “false,” to indicate that the rule should always evaluate to the predetermined value, such as to always evaluate as true or to always evaluate as false. Assigning a predetermined value to the expression parameter may provide organization of the web pages displayed by the rule generation system 102 or the insurance claim processing computer system, such as by eliminating questions or web pages from the system in an orderly fashion, or setting up questions or rules that do not affect the current insurance application.
The M_RULE_NM_UC entry represents an uppercase rule name parameter whose value is an uppercase name of the rule name parameter value of the M_RULE_NM entry. The insurance claim processing computer system may use the uppercase rule name parameter to facilitate name searches in the evaluative expression database 116.
The executable instruction sets 114 of FIG. 2 implement various modules that are used to populate the evaluative expression database 116 according to the evaluative expression framework 118. In one implementation, the executable instructions sets 114 implement an evaluative expression parameter module 212, a common evaluative expression module 214, an advanced evaluative expression module 216, a discrepancy evaluative expression module 218, and an evaluative expression generator module 220. However, in other examples, the executable instruction sets 114 may implement more or fewer modules that encompass the functionality described herein.
The evaluative expression parameter module 212 is operative to receive evaluative expression parameter values that correspond to evaluative expression parameters. The evaluative expression parameter module 212 may use a graphical user interface or other communication interface to receive the evaluative expression parameter values. For example, the evaluative expression parameter module 212 may receive manually entered evaluative expression parameter values from one of the client computers 122-126 through network 120. As another example, the evaluative expression parameter module 212 may receive the evaluative expression parameter values from one of the components 104-110 of the rule question generation system 102, such as from the I/O devices 110 (FIG. 1). In addition, the evaluative expression parameter values may be provided by any number of actors or systems. For example, the evaluative expression parameter values may be manually provided by an insurance claim agent, manually provided by an insurance customer using a graphical user interface, or provided by another system in communication with the rule generation system 102.
The evaluative expression parameter module 212 is also in communication with the common evaluative expression module 214. The common evaluative expression module 214 is operative to receive common evaluative expression parameters for a rule. In general, rules of the insurance claim processing computer system may have parameters in common, and the common evaluative expression module 214 may be operative to define these parameters. In addition, the common evaluative expression parameters may be based on previously configured questions of the insurance claim processing computer system. Furthermore, the common evaluative expression parameters may vary by insurance application. In one implementation, during operation, the common evaluative expression module 214 communicates with the evaluative expression database 116 to determine the current insurance application, and displays the commonly-used parameters associated with the current insurance application. Examples of common evaluative expression parameters include FNOL Loss Type (Property, Auto, Liability, etc.), FNOL Cause of Loss (Collision, Comprehensive, Theft, etc.), Loss Location Country (USA, Canada, etc.), Loss Location State (New Jersey, Newfoundland, etc.). Other common evaluative expression parameters are also possible.
The evaluative expression parameter module 212 is also in communication with the advanced evaluative expression module 216. The advanced evaluative expression module 216 is operative to define an advanced rule using a combination of advanced rule parameters and advanced rule operands. In one implementation, the advanced evaluative expression module 216 receives the advanced rule parameters as part of a manual entry procedure by a user, such as an insurance claim agent. In another implementation, the advanced evaluative expression module 216 implements an advanced parameter user input form that assists a user in formulating an advanced rule. The advanced parameter user input form helps a user define advanced rule parameters including, but not limited to, advanced rule attributes, advanced rule parameter values, advanced rule answer values, and advanced rule operands. The guided procedure then generates an advanced rule from the input provided by the user. The advanced evaluative expression module 216 may be operative to edit the received advanced rule parameters and advanced rule parameter values after the advanced rule is generated based on user-provided input.
Discrepancy rules that are configured as advanced rules may have additional advanced rule parameters. Where a user starts the process of creating a discrepancy rule using the advanced evaluative expression module 216, the advanced evaluative expression module 216 also may receive a node count parameter value and a node attribute parameter value manually entered by a user or other system through a communication interface.
The evaluative expression parameter module 212 also communicates with the discrepancy evaluative expression module 218. The discrepancy evaluative expression module 218 is operative to receive rule discrepancy parameters manually entered by a user. The discrepancy evaluative expression module 218 is further operative to display or modify the discrepancy messages associated with a discrepancy rule. For example, the discrepancy evaluative expression module 218 may be operative to display a message associated with a discrepancy rule when the discrepancy is evaluated to a predetermined value, such as Boolean true. The discrepancy evaluative expression module 218 also may be operative to associate discrepancy rules with questions of the insurance claim processing computer system using input provided by a user. The user may use a control, such as a graphically displayed button, to search for and attach a new discrepancy rule or change the message that is associated with the rule. The user may also associate a discrepancy rule with a previously configured question.
During operation, after the rule parameter values have been received for a rule, the evaluative expression parameter module 212 communicates with the evaluative expression generator module 220 to generate the rule. The evaluative expression parameter module 212 may communicate any number of rule parameter values to the evaluative expression generator module 220 including common rule parameter values, advanced rule parameter values, display rule parameter values, navigation rule parameter values, discrepancy rule parameter values, or other parameter values. The evaluative expression generator module 220 receives the rule parameter values from the evaluative expression parameter module 212 and generates a rule from these rule parameter values. In one implementation, the evaluative expression generator module 220 communicates with the evaluative expression database 116 to populate the entries of the tables 202-210 with the rule parameter values received from the evaluative expression parameter module 212.
Detail Rule Parameter Interface
The modules 212-220 may implement one or more evaluative expression communication interfaces for receiving rule parameters. In one implementation, the evaluative expression parameter module 212 implements one or more evaluative expression communication interfaces as graphical user interfaces displayable in a web browser or other computer display program. FIG. 3 shows one example of a display-detail-evaluative-expression communication interface 300 implemented by the evaluative expression parameter module of FIG. 2.
As shown in FIG. 3, the display-detail-evaluative-expression communication interface 300 displays the details regarding a rule. The display-detail-evaluative-expression communication interface 300 may display the details regarding any of the categories of rules, including display rules, navigation rules, and discrepancy rules.
The display-detail-evaluative-expression communication interface 300 may initially display a detail rule parameter interface. The detail rule parameter interface is operative to initially display interface selection controls 312-316. The interface selection controls 312-316 include a detail parameter selection control 312, a common rule selection control 314, and an advanced parameter selection control 316. The detail parameter interface is also operative to display a discrepancy message selection control (not shown) when a selected rule is a discrepancy rule.
Selecting one of the interface selection controls 312-316 causes the display of one of several different evaluative expression communication interfaces. For example, selecting the detail parameter selection control 312 communicates to the evaluative expression parameter module 212 to display the detail rule parameter interface. The detail rule parameter interface generally displays details about a selected rule and where the selected rule is used in an insurance application. As another example, selecting the common rule selection control 314 communicates to the common evaluative expression module 214 to display one or more common-parameter-evaluative-expression communication interfaces. As a further example, selecting the advanced parameter selection control 316 communicates to the advanced evaluative expression module 216 to display one or more advanced-parameter-evaluative-expression communication interfaces. Other communication interfaces are also displayable, including discrepancy-message-evaluative-expression communication interfaces. Hence, a user may switch between the common-parameter-evaluative-expression communication interfaces, advanced-parameter-evaluative-expression communication interfaces, and discrepancy-message-evaluative-expression communication interfaces using the interface selection controls 314-316.
The detail rule parameter interface also includes various display sections. In one implementation, the detail rule parameter interface includes a rule detail display section 318 and a location display section 320. The rule detail display section 318 screen displays various rule parameters about a selected rule. The rule parameters may define one or more properties about a selected rule, such as the name of the rule, the application to which the rule belongs, whether the rule is a display, navigation, or discrepancy rule, when the rule should go into effect, when the rule should be no longer used, the user who created the rule and when the rule was created. In one implementation, during operation, the rule generation system 102 automatically generates a rule identifier parameter value for the rule, and automatically determines the user who created the rule and when the rule was created.
Table 6 shows an example of rule parameters displayed in the display section 320 and their associated entries in the evaluative expression table 202. Table 6 lists the rule parameter, a brief description of the rule parameter, and the evaluative expression table entry from the evaluative expression table 202 associated with the rule parameter.









TABLE 6





Rule Parameter Name
Brief Description
Evaluative Expression Entry







Rule Name
The rule name.
M_RULE_NM



Initial focus in Add New or Create Like mode.


Rule Number
The rule identification number assigned by the insurance claim
C_RULE_NBR



processing computer system.


Rule Type
The rule category associated with the rule.
C_RULE_NBR


Application
The name of the application that the rule is used in.
C_RULE_ASSOC_TYP


Effective Date
The calendar on which the rule becomes effective.
C_RULE_ASSOC_TYP



Initial focus in Edit mode.


Expiration Date
The calendar date on which the rule expires.
D_EFFECTIVE


Initiated by
The name of the user who created the rule.
M_EXPIRATION


Initiated Date
The calendar date that the rule was initiated.
N_ORG_ENTITY_ID


Last Modified by
The name of the user that last modified the rule.
D_CREATE_TS


Last Modified date
The calendar date that the rule was last modified.
M_RULE_NM









The location display section 320 of the detail rule parameter interface displays rule parameters that relate to where in the insurance claim processing computer system the rule is used. The rule parameters displayed in the location display section 320 may be based on the evaluative expression category associated with the rule. For example, a display rule may have a different set of rule parameters displayed in the location display section 320 than a navigation rule. Similarly, a navigation rule may have a different set of rule parameters displayed in the location display section 320 than a discrepancy rule. However, it is also possible that rules of different evaluative expression categories, such as display rules and navigation rules, share similar or identical rule parameters that are displayed in the location display section 320.
The location display section 320 may also include various links to parts of the insurance claim processing computer system where the rule is used. In one implementation, the links are implemented as hyperlinks. The links provided for the rule may vary depending on the category of the rule. For example, the location display section 320 may display one set of links for a display rule, another set of links for a navigation rule, and yet a further set of links for a discrepancy rule. As one example of links that are displayed, the location display section 320 may display links to each web page that is associated with a selected navigation rule. Alternatively, or in addition, the location display section 320 may display links for displaying windows that are associated with a selected navigation rule. As explained with reference to FIG. 8, as another example, where the selected rule is a discrepancy rule, the location display section 320 displays the process names that are associated with the discrepancy rule and further assists the user in associating a process to a discrepancy rule.
Table 7 shows an example of rule parameters displayable in the location display section 320. Table 7 lists the rule parameters, a brief description of the rule parameter, and the evaluative expression category associated with the rule parameter.









TABLE 7







Evaluative


Rule Parameter

Expression


Name
Brief Description
Category







Question Text
The text of the question that uses
Display



the rule as a display rule.


Question Name
The Question XML Name used as a
Display



hyperlink to a question details web



page for the listed question


Container Name
The name of the container that
Display



holds the question in the same



record. The container name links to



a web page for customizing the



container.


Page Node
The XML path (page node name) of
Display



the web page on which the question



appears.


Page Name
A hyperlink displaying the page
Navigation



display literal for the page that the



navigation rule is associated to.


Navigation Rule
Displays where to navigate to if a
Navigation


True
rule is true.


Navigation Rule
Displays where to navigate to if a
Navigation


False
rule is false.


Process Name
The name of the process that will
Discrepancy



trigger the running a discrepancy



when the process is completed.









The detail rule parameter interface also includes various controls 302-310. The controls 302-310 control the detail rule parameter interface and may be configured for creating, editing, and viewing rule parameter values of a selected rule. One or more controls 302-310 may also be operative to instruct the evaluative expression parameter module 212 to display additional or alternative evaluative expression communication interfaces including a new-rule-evaluative-expression communication interface, an edit-display-evaluative-expression communication interface, an edit navigation evaluative expression communication interface, an edit-discrepancy-evaluative-expression communication interface, or other interfaces. The display-detail-evaluative-expression communication interface 300 may be configured for a view mode, such as shown in FIG. 3. Other evaluative expression communication interfaces, such as the new-rule-evaluative-expression communication interface may be associated with an add mode. Examples of other modes include an edit mode or other modes. Additional controls may be displayed in the detail rule parameter interface based on the mode of the evaluative expression communication interface. For example, a reset control element (not shown in FIG. 3) may be displayed when an evaluative expression communication interface is displayed that is associated with an edit mode.
In addition, using the controls 302-310, a user may delete a rule, generate a new rule, generate a new rule using existing rule parameter values, expire a rule, etc. Any number of controls may be included in the display-detail-evaluative-expression communication interface 300 for modifying or manipulating rules. Table 8 lists an example of displayable controls in the detail rule parameter interface, a brief description of the controls, and the modes of the detail rule parameter interface associated with the controls.









TABLE 8





Control Name
Brief Description
Mode







Add New
Selecting this control launches a new instance of the detail
View



rule parameter interface in add mode.


Create Like
Selecting this control while viewing a preconfigured rule
View



launches a new instance of the detail rule parameter



interface in add mode and uses the current rules criteria as a



starting point to create a new rule.


Expire
Sets the rule's expiration to the current date.
View


Delete
Deletes an inactive unassociated rule from the evaluative
View



expression tables.


Reset
Resets the form to its last saved state.
Add, Edit



Message box requests confirmation of action if changes had



been made.



Displayed in edit mode.


Back
Returns the system to previously viewed page.
Add



Message box requests confirmation of action if changes had



been made.



Displayed in edit mode.


Save
Saves the data to the evaluative expression database.
Add, Edit



Default control in Edit mode.



Validates syntax of advanced rules, if present.


Edit
Enables the user to edit an existing rule.
View



Default button in view mode









FIG. 3 also shows that the display-detail-evaluative-expression communication interface 300 is associated with a view mode. In the view mode, the detail rule parameter interface of the display-detail-evaluative-expression communication interface 300 displays the controls of an add control 302, a create-like control 304, an expire control 306, a delete control 308, and an edit control 310. In alternative implementations, the detail rule parameter interface may display other controls.
The add control 302 is operative to instruct the evaluative expression parameter module 212 to start the process of creating a new rule. The evaluative expression parameter module 212 then displays a new-rule-evaluative-expression communication interface associated with an add mode. The new-rule-evaluative-expression communication interface is further explained with reference to FIG. 6.
The create-like control 304 is operative to instruct the evaluative expression parameter module 212 to start the process of creating a new rule having rule parameter values similar to an existing rule. In general, the create-like control 304 is used in conjunction with a previously selected pre-existing rule. For example, the pre-existing rule may be selected by a user using the detail rule parameter interface. In one implementation, selecting the create-like control 304 causes the evaluative expression parameter module 212 to communicate with the evaluative expression database 116 to retrieve rule parameter values from the entries of the evaluative expression tables 202-210 for the previously selected pre-existing rule. The evaluative parameter module 212 then copies each of the rule parameter values associated with the previously configured rule and stores the copied rule parameter values in the memory storage device 112. After copying each of the rule parameter values to the memory storage device 112, the evaluative parameter module 212 then retrieves each copied parameter value and populates the evaluative expression tables 202-210 with the copied rule parameter values. The evaluative parameter module 212 then displays the copied rule parameter values using the detail rule parameter interface. In one implementation, after selecting the create-like control 304, the detail rule parameter interface may prompt the user to provide a different rule parameter name value from the rule parameter value of the previously selected pre-existing rule.
The expire control 306 is operative to instruct the evaluative expression parameter module 212 to expire a rule. In one implementation of expiring a rule, the evaluative expression parameter module 212 sets the expiration date of the rule to the current calendar date. Alternatively, a user may provide an expiration date parameter value, which would instruct the evaluative expression parameter module 212 to expire the rule on the calendar date provided by the expiration date parameter value. The evaluative expression parameter module 212 may set the expiration date by communicating with the evaluative expression database 112 and modifying one or more of the evaluative expression tables 202-210.
In some implementations of the rule generation system 102, the evaluative expression parameter module 212 may prevent or prohibit the expiration of rules. For example, the evaluative expression parameter module 212 may prohibit the expiration of a rule where the rule is associated with a container, question, or other element of the insurance claim processing computer system. In prohibiting the expiration of a rule where the rule is associated with a container, the evaluative expression parameter module 212 may examine the associated M_CONTAINER_NM entry of the rule to determine whether the associated M_CONTAINER_NM entry is populated with a rule container parameter value. Where the associated M_CONTAINER_NM entry is populated with a rule container parameter value, the evaluative expression parameter module 212 may prohibit the expiration of the rule. In prohibiting the expiration of a rule where the rule is associated with a question, the evaluative expression parameter module 212 may examine the associated N_QUESTION_ID entry to determine whether the associated N_QUESTION_ID entry is populated with a question identifier parameter value. Where the associated N_QUESTION_ID entry is populated with a question identifier value, the evaluative expression parameter module 212 may prohibit the expiration of the rule.
The delete control 308 is operative to instruct the evaluative expression parameter module 212 to delete a rule. Depending upon the configuration of the insurance claim processing computer system, deleting a rule may be a logical deletion or a physical deletion. For example, a logical deletion includes marking one or more entries in the evaluative expression tables 202-210 that a rule has been deleted. A physical deletion may include removing one or more rows from the evaluative expression tables 202-210 associated with the rule. In a logical deletion, the evaluative expression parameter module 212 may populate one or more entries of the tables 202-210 with a value to indicate that the rule has been deleted. For example, in logically deleting a rule, the evaluative expression parameter module 212 may populate the C_RCD_DEL entry of the tables 202-210. Alternatively, the evaluative expression parameter module 212 may communicate a delete command to the insurance claim processing computer system, which may then perform the logical deletion of the selected rule. In a physical deletion, the evaluative expression parameter module 212 may communicate a delete command to the insurance claim processing computer system, which may then perform the physical deletion of the selected rule.
The rule generation system 102 may also have safeguards in place relating to the deletion of a rule. For example, the rule generation system 102 may prevent or prohibit the deletion of a rule where the rule is an active rule; that is, the rule generation system 102 may prevent the deletion of a rule if the rule is in use by the insurance claim processing computer system or if the rule is still associated with containers, questions, or other entities. In prohibiting the deletion of a rule where the rule is associated with a container, the evaluative expression parameter module 212 may examine the associated M_CONTAINER_NM entry of the rule to determine whether the associated M_CONTAINER_NM entry is populated with a rule container parameter value. Where the associated M_CONTAINER_NM entry is populated with a rule container parameter value, the evaluative expression parameter module 212 may prohibit the deletion of the rule. In prohibiting the deletion of a rule where the rule is associated with a question, the evaluative expression parameter module 212 may examine the associated N_QUESTION_ID entry to determine whether the associated N_QUESTION_ID entry is populated with a question identifier parameter value. Where the associated N_QUESTION_ID entry is populated with a question identifier value, the evaluative expression parameter module 212 may prohibit the deletion of the rule.
FIGS. 4-5 show other examples of evaluative expression communication interfaces implemented by the evaluative expression parameter module 212 when viewing different categories of rules. FIG. 4 shows an example of a navigation-detail-evaluative-expression communication interface 400 that displays the details of a navigation rule using a detail rule parameter interface. FIG. 5 shows an example of a discrepancy-detail-evaluative-expression communication interface 500 that displays the details of a discrepancy rule using a detail rule parameter interface. As shown in FIG. 4 and in FIG. 5, the evaluative expression parameter module 212 displays different rule parameters depending on the category of the selected rule.
FIG. 6 shows an example of a new-rule-evaluative-expression communication interface 600 implemented by the evaluative expression parameter module 212 for adding a new rule. In one implementation, during operation, a user provides various rule parameter values including a rule name parameter value, a rule type parameter value, an application parameter value, an activate date parameter value, an expiration data parameter value, and other values. In providing a rule name parameter value, the rule name parameter value may be an XML name. The evaluative expression parameter module 212 may perform one or more checks to determine whether a valid name was provided. For example, the evaluative expression parameter module 212 may use pattern-matching, regular expressions, a previously configured syntax, or other techniques to determine whether a valid name was provided for the rule name parameter value.
Referring to FIGS. 2, 3, and 6, the rule type parameter value may affect the display of the location display section 320 and the advanced evaluative expression communication interface of the advanced evaluative expression module 216.
The evaluative expression parameter module 212 may have one or more preconfigured safeguards for the various rule parameters. The preconfigured safeguards may be stored as part of the executable instruction sets 114, as part of the programming for the evaluative expression parameter module 212, or stored in the memory storage device 112 and retrievable by the evaluative expression parameter module 212. For example, when a new rule is added, the effective data parameter value for the rule may have a default calendar date of the following calendar date. Similarly, the expiration date may have a default date of a future calendar date. When adding a rule, the expiration date may be set to system default expiration date. In addition, during operation, the evaluative expression parameter module 212 may determine whether the expiration date parameter value is a calendar date prior to the current date. Similarly, the evaluative expression parameter module 212 may determine whether the effective date parameter value is a calendar date that occurs after the current date.
Some or all of the rule parameter values may be provided by the rule generation system 102 or the insurance claim processing computer system. For example, the rule generation system 102 may provide the “initiated by” parameter value and the initiated date parameter value. The “initiated by” parameter value may by the username or some other identifier of the current user adding the rule. The initiated date parameter value may be the date on which the rule was added or created.
FIGS. 7-8 show examples of evaluative expression communication interfaces implemented by the evaluative expression parameter module 212 for editing different categories of rules. FIG. 7 shows an example of an edit-display-evaluative-expression communication interface 700 for editing the properties of a display rule. In one implementation, the properties that are editable for a display rule include the effective date parameter value and the expiration date parameter value. However, in other implementations, alternative or additional parameters are also editable.
Although not shown, an edit navigation evaluative expression communication interface may be configured similarly to an edit-display-evaluative-expression communication interface. In one implementation, the properties that are editable for a navigation rule include an effective date parameter value and an expiration date parameter value. However, in other implementations, alternative or additional parameters are also editable.
FIG. 8 shows an example of an edit-discrepancy-evaluative-expression communication interface 800 implemented by the evaluative expression parameter module 212 of FIG. 2 for editing the details of a discrepancy rule. In one implementation, the editable rule parameters for a discrepancy rule include the effective date parameter, the expiration date parameter, and the process name rule parameter. In other implementations, alternative or additional rule parameters are also editable.
Common Rules
Briefly referring back to FIG. 3, a user may view the common rules associated with a selected rule or may add common rules to a newly added rule using the common rule selection control 314. FIG. 9 shows an example of a display-common-evaluative-expression communication interface 900 implemented by the common evaluative expression module 214 of FIG. 2 for displaying common rules as common evaluative expression parameters. The display-common-evaluative-expression communication interface 900 displays various common rules 902-908 and evaluative expression communication interface controls 910-912. The evaluative expression communication interface controls include a back control 910 and an edit control 912. In this example, the common rules include an FNOL Cause of Loss common rule 902, a Loss Location country common rule 904, an FNOL Loss Type common rule 906, and a Loss Location state 908. In other examples, the common rules may include rules relating to countries, states, the type of accident, the cause of an accident, or other common rules.
Each of the common rules 902-908 includes common rule parameter values. In the example of FIG. 9, the currently selected rule from FIG. 3 is associated with the four common rules 902-908 and one or more of their associated common rule parameter values. The common evaluative expression module 214 may read from one or more of the evaluative expression tables 202-210 to determine which common rules to display. For example, the common evaluative expression module 214 may retrieve the parameter value stored in the T_RULE entry of the evaluative expression table 202 or the T_COMMON_RULE entry of the evaluative expression support table 204.
The evaluative expression module 214 is also operative to implement an add-common-evaluative-expression communication interface for adding common rules to a newly created rule or a previously configured rule. FIG. 10 shows an example of an add-common-evaluative-expression communication interface 1000 for adding common rules and associated common rule parameters to a newly created rule or a previously configured rule. The add-common-evaluative-expression communication interface 1000 may include any number of controls, including a reset control 1002 and a save control 1004. In one implementation, the common rules displayed on the evaluative expression communication interface 1000 are based on the insurance application associated with the rule and the evaluative expression tables 202-210.
Using the evaluative expression communication interface 1000, a user may select one or more parameter values from a common rule for associating with the selected rule. Where the user selects multiple parameter values from a common rule, the evaluative expression module 214 logically couples the common rule parameter values together, such as with a Boolean “OR” statement, and groups the common rule parameter values within parenthesis to create an evaluative expression string. The evaluative expression string may then be used as an XPath query or other query. An example of creating an evaluative expression string using a logical OR of multiple common rule parameter values is: (\\LossLocationState=‘Alabama’ OR \\LossLocationState=‘Alaska’ OR \\LossLocationState=‘Arizona’ OR \\LossLocationState=‘Arkansas’).
In addition, a user may select more than one common rule for associating with the selected rule. Where the user selects multiple common rules, the evaluative expression module 214 logically couples the common rule parameter values for the various common rules, such as with a Boolean “AND” statement, to create an evaluative expression string. The evaluative expression string may then be used in a predetermined query format, such as an XPath query or some other query format. An example of creating an evaluative expression string using a logical AND of multiple common rule parameter values is \\FNOLLossType=‘Automobile’ AND (\\FNOLCauseOfLoss=‘Collision’ OR \\FNOLCauseOfLoss=‘Comprehensive’) AND (\\LossLocationState=‘Alabama’ OR \LossLocationState=‘Alaska’ OR \\LossLocationState=‘Arizona’ OR \\LossLocationState=‘Arkansas’) AND \\LossLocationCountry=‘United States’. Other combinations of logical operators are also possible.
During operation, after the user has selected the common rules and common rule parameter values, the user may then associate the common rules and common rule parameter values with the selected rule. For example, by selecting the save control 1004, the user indicates to the common evaluative expression module 214 to save the common rules associated with the selected rule. In one implementation, the common evaluative expression module 214 communicates the parameters and parameter values selected by the user to the evaluative expression generator module 220. The evaluative expression generator module 220 may then communicate the parameter values selected by the user to the evaluative expression tables 202-210. For example, the evaluative expression generator module 220 may populate the T_RULE entry of the evaluative expression support table 204 with the parameter values received from the common evaluative expression module 214. Alternatively, or in addition, the evaluative expression generator module 220 may append the selected parameter values to a preexisting parameter value stored by the T_RULE entry of the evaluative expression support table 204. In yet a further addition or alternative, the evaluative expression generator module 220 populates or appends values to other entries, such as the T_COMMON_RULE entry.
Advanced Rules (Navigation and Display Rules)
In addition to associating common rules, a user may also view or associate advanced rule parameters to a previously configured rule or a newly created rule. Using the advanced parameter selection control 316 (FIG. 3), a user may view or edit the advanced rule parameters for a rule, including display rules, navigation rules, and discrepancy rules. However, the rule generation system 102 may use the access level of a user to restrict or prevent the user from manipulating the advanced rule parameters for every category of a rule. For example, the rule generation system 102 may be operative to permit an advanced user to edit the advanced rule parameters for each of the rule categories. As another example, the rule generation system 102 may be operative to permit basic users to only edit the advanced rule parameters for display rules. Hence, using the access level of a user, the rule generation system 102 may be operative to grant different levels of access to the advanced rule parameters for the various rule categories.
FIGS. 11-15 show various examples of building an advanced rule for a display rule using an advanced evaluation expression communication interface 1100 implemented by the advanced evaluative expression module 216 of FIG. 2. FIG. 11 shows an advanced evaluative expression communication interface 1100 for the display rule that includes a rule expression display section 1102 and an add rule display section 1104. The rule expression display section 1102 is operative to display the advanced portion of a rule and may receive text input from a user. The add rule display section 1104 is operative to assist the user in building the advanced portion of the rule. The add rule display section 1104 may be in communication with the rule expression display section 1102, such that selections made in the add rule display section 1104 appear in the rule expression display section 1102.
The rule expression display section 1102 includes various controls for manipulating and verifying a rule. In one implementation, the rule expression display section 1102 includes a view full expression control 1106, a clear control 1108, and a validate expression control 1110. The view full expression control 1106 is operative to instruct the advanced evaluative expression module 216 to display the entire rule, including the common portion and the advanced portion. In displaying the entire rule, the advanced evaluative expression module 216 may communicate with the evaluative expression tables 202-210 to retrieve one or more parameter values from the entries of the evaluative expression tables 202-210, such as the T_RULE entry, the T_COMMON_RULE entry, or the T_ADVANCED_RULE entry. The clear control 1108 is operative to instruct the advanced evaluative expression module 216 to remove all of the advanced rules associated with the selected rule. The validate expression control 1110 is operative to instruct the advanced evaluative expression module 216 to validate the advanced rule displayed in the rule expression display section 1102. The evaluative expression module 216 may validate the displayed advanced rule by determining whether the syntax of the advanced rule is correct or whether the advanced rule conforms to expected rules of a previously configured grammar. In one implementation, the syntax of the advanced rule may be validated by comparing the advanced rule, such as an XPath query, with a previously configured document, such as an XML document. Where the advanced rule does not conform to the XML document, the evaluative expression module 216 may display an error stating that the syntax is incorrect and that the advanced rule is invalid.
The add rule display section 1104 assists the user in building an advanced rule. The illustrated example of the add rule display section 1104 includes various expression controls, including parenthesis controls, a logical AND control, a logical OR control, a COMPLETE control. In other examples, any other logic may be selected or otherwise implemented with the add rule display section 1104. The logical AND control, the logical OR control, and the COMPLETE control are operative to instruct the advanced evaluative expression module 216 to validate the criteria selected from the add rule display section 1104, manipulate the selected criteria into a previously configured syntax, such as XPath, and append the criteria to the existing rule displayed in the view expression display section 1102. During operation in this example, selection of the AND control causes the word AND to append to the end of the rule, the OR control causes the word OR to append to the end of the rule, and the COMPLETE control does not append any keywords to the end of the rule. Table 9 lists the controls for the add rule display section 1004 and provides a brief description of each.








TABLE 9





Control Name
Brief Description







(
Appends a “(” to the rule expression.


)
Appends a “)” to the rule expression.


And
Validates and Creates the expression from the entered data in the Add Rules section,



appends an “And” keyword and adds it to the Rule Expression text box.


Or
Validates and Creates the expression from the entered data in the Add Rules section,



appends an “Or” keyword and adds it to the Rule Expression text box.


Complete
Validates and Creates the expression from the entered data in the Add Rules section



and appends it to the Rule Expression text box.



In one implementation, the Complete control is configured to determine whether any



open parenthesis or brackets remain in the rule and to close those open parenthesis or



brackets.









The add rule display section 1104 may also display one or more operators and operands for adding to the advanced portion of the rule. The displayed operators and operands may vary depending on the selected rule category. For example, a navigation rule or a display rule may have different operators and operands than a discrepancy rule. Table 10 lists an example of various display operators and operands, a brief description of each, and the category associated with the operator or operand.









TABLE 10





Control Name
Brief Description
Rule Category







Starting Page Node
Allows the user to select the page display name to
Discrepancy



be used as the starting point when entering a



Node Evaluation Discrepancy Report Rule.


Add
Adds the selected Starting Page Node to the Rule
Discrepancy



Expression textbox when entering a Node



Evaluation Discrepancy Report Rule.


Operand Type (1)
Allows the user to select what type of operand is
Display, Navigation,



required to create the rule evaluation.
Discrepancy


Operand (1)
Displays the Question Text when a user has
Display, Navigation,



selected a question type operand or displays a
Discrepancy



dropdown of the page node names when the user



selects a node type operand.


Select (Operand 1)
Allows the user to search for a question.
Display, Navigation,




Discrepancy


Operand 1
A combobox displaying all selectable nodes in the
Display, Navigation,


(Combobox)
node count or node attribute evaluation.
Discrepancy


Evaluate all instances of a question.
When checked, the system evaluates all instances
Display, Navigation,



of a question instead of a specific instance.
Discrepancy


Operator
Allows the user to select the logical operator for
Display, Navigation,



the rule.
Discrepancy


Operand Type (2)
Provides the user with choice of Question or
Display, Navigation,



Value.
Discrepancy


Operand (2)
If the user has selected question as the second
Display, Navigation,



operand the Operand (2) display the Question
Discrepancy



Text.


Select (Operand 2)
Enables the user to search for a question for the
Display, Navigation,



second operand.
Discrepancy


Value
Provides input for user to enter a value for the right
Display, Navigation,



hand side of the operator.
Discrepancy









The advanced evaluative expression module 216 may implement various safeguards for creating an advanced rule for a display rule or a navigation rule. The preconfigured safeguards may be stored as part of the executable instruction sets 114, as part of the programming for the advanced evaluative expression module 216, or stored in the memory storage device 112 and retrievable by the advanced evaluative expression module 216. For example, the Operand Type (1) parameter may be pre-assigned a value, such as “Question,” when the selected rule is a display rule or a navigation rule. When creating the advanced portion of a navigation rule or a display rule, the advanced evaluative expression module 216 may further use absolute pathing to add the selected question to the advanced portion of the rule. In other configurations, the advanced evaluative expression module 216 may use relative pathing to add the selected question to the advanced portion of the rule. In general, absolute pathing is evaluating a rule starting with the highest node of the path and evaluating each node that matches the path. In contrast, relative pathing generally refers to evaluating a rule starting with a starting page node. With relative pathing, the rule generation system 102 starts its evaluation from the starting page node and evaluates inwards instead of evaluating the entire path.
When the parameter value of the Operand Type (1) parameter is “Question,” the advanced evaluative expression module 216 may require that the user select a parameter value for the Operand Type (2) parameter. For example, the advanced evaluative expression module 216 may maintain an association as part of the executable instruction sets 114 that where the Operand Type (1) parameter value is “Question,” the Operand Type (2) parameter should have a parameter value. Examples of parameter values for the Operand Type (2) parameter include “Value” and “Question.” Other parameter values are also possible.
The advanced evaluative expression module 216 may also have safeguards relating to the Operator parameter. For example, the advanced evaluative expression module 216 may determine whether the displayed operator choices are consistent with the type of evaluation. Where the user has selected numeric comparison, the advanced evaluative expression module 216 may determine that the valid operators are “+,” “−,” “=,” “<=,” “>=,” or “< >.” Where the user has selected a string comparison or a code value, the advanced evaluative expression module 216 may determine that the valid operators are “< >” and “=.” The advanced evaluative expression module 216 may determine that other valid operators are also possible.
Where the Operand Type (1) parameter value is “Question” and the Operand Type (2) parameter value is selected as “Value,” the advanced evaluative expression module 216 may prompt the user to provide a numerical value for the Operand (2) parameter value. In addition, when the Operand Type (2) parameter value is selected as “Value,” the available input for the parameter value matches the associated datatype of the question. The advanced evaluative expression module 216 may communicate with the insurance claim processing computer system to determine the datatype of the question. The datatype of a question may be any datatype including, but not limited to, String, integer, Boolean, or other datatype. As one example, where the selected question datatype is an integer, then a textbox that only accepts integers is displayed to the user. As another example, where the selected question datatype is a code/decode value, then a drop-down box displaying the available code/decode values is displayed to the user. Other values for the Operand Type (2) parameter are also possible. In addition, where the user selects “Question” as the parameter value for the Operand Type (2) parameter, the user may search for a question to be used as the Operand (2) parameter value. The rule generation system 102 may then perform a question value to question value comparison.
FIGS. 11-15 show an example of selecting advanced rule parameters for a display rule to aid the reader. FIG. 11 shows that no operators, operands, or values have been selected for the advanced portion of the display rule. FIG. 12 shows that the parameter value for the Operand Type (1) parameter is “Question” and that the parameter value for the Operand (1) parameter is “Is the vehicle drivable?” FIG. 13 shows that the parameter value for the Operator parameter is “=” and that the parameter value for the Operand Type (2) parameter is “Value.” FIG. 14 shows an example of selecting “Question” for the parameter value of the Operand Type (2) parameter. Finally, FIG. 15 shows the advanced portion of the rule in the rule expression display section 1102 using the parameter values from FIGS. 12-13.
Advanced Rules (Discrepancy Rules)
FIG. 16 shows an example of an edit-discrepancy-evaluative-expression communication interface 1600 implemented by the evaluative expression parameter module of FIG. 2. The edit-discrepancy-evaluative-expression communication interface 1600 is associated with an edit mode and displays a detail rule parameter interface for configuring the rule parameters of a node discrepancy report rule. After configuring the rule parameters of a node discrepancy report rule, a user may then configure the common rule parameters, or may proceed to the advanced rule parameters. For purposes of brevity, the details regarding the common rule parameters is hereby omitted, as the common rule parameters for a discrepancy rule may be similar or identical to the common rule parameters for a navigation or display rule.
However, a discrepancy rule may have a different set of advanced rule parameters compared with a navigation rule or a display rule. FIGS. 17-23 show an example of building an advanced rule portion of a discrepancy rule using an advanced evaluative expression communication interface 1100 implemented by the advanced evaluative expression module of FIG. 2. For the example shown in FIG. 17-23, the discrepancy rule is a node discrepancy report rule. As earlier discussed, a node discrepancy report rule is a rule that determines whether node discrepancies exist in the insurance claim processing computer system.
FIG. 17 shows the advanced evaluative expression communication interface 1100 where no operands or operators have been selected for building a discrepancy rule. In particular the advanced evaluative expression communication interface 1100 is an example of configuring the advanced evaluative expression communication interface 1100 for a node result discrepancy rule. However, other configurations of the advanced evaluative expression communication interface 1100 are also possible.
Initially, when a user creates a node result discrepancy rule, the user is given the option to select a starting page node. As shown in FIG. 17, the advanced evaluative expression communication interface 1100 initially starts with a starting page node parameter and an Operand Type (1) parameter. Selecting the add control causes the advanced evaluative expression parameter module 216 to begin the evaluation of the advanced portion of the rule.
In contrast to a navigation rule or a display rule, a discrepancy rule is configurable with different operands from the Operand Type (1) parameter. Table 11 lists the examples of various parameter values for the Operand Type (1) parameter for a discrepancy rule. However, the parameter values for the Operand Type (1) may include more than or less than the parameter values shown in Table 11.








TABLE 11





Parameter Value
Brief Description







Question
The Question operand evaluates a questions value to



either the value for that question as previously



answered or the value of another question.



Comparing question to question may be used when



the questions are of similar data type.



Example: //WasAnyonesvehicleDamaged=’Y’


Question Answer
The Question Answer Count operand evaluates the


Count
number of times a question was answered with a



specific value.



Example: Count(//IsIndivInjured[.=’Y’])=0)


Question Count
The Question Count operand evaluates the number of



times a question was presented during a conversation.



Example: Count(//KeyFacts/WhatTypeofAccident)=0


Node Attribute
The Node Attribute operand evaluates the value of a



specific attribute for a node in XML.



Example: ./DamageDetails/@id=”


Node Count
The node count evaluated how many times a specific



node appears in the XML node tree.



Example: Count(./TotalLossEval) = 0









In creating a node result discrepancy rule, the rule generation system 102 is operative to track the page node name of the page node, such as through the use of the evaluative expression database 116 or through the insurance claim processing computer system. The rule generation system 102 uses tracking to help the advanced evaluative expression module 216 determine the type of pathing, relative or absolute, to use when generating the evaluative expression of the advanced portion of the rule. For example, the rule generation system 102 may detect that the selected question for the advanced portion of the rule is located on a child node of the starting node given in the Starting Node Page parameter. In this example, the advanced evaluative expression module 216 uses relative pathing to write the advanced portion of the rule because the node on which the question exists is a child node, and the rule generation system 102 uses the starting node from the Starting Node Page parameter in evaluating the rule. In contrast, where the rule generation system 102 detects that the selected question for the advanced portion of the rule exists on a node other than a child node of the starting node, the advanced evaluative expression module 216 uses the absolute path of question to generate the advanced portion of the rule. Similar determinations may be made where the Operand Type (1) parameter is selected to be Question Count, Question Answer Count, Node Count and Node Attribute evaluations.
Although the advanced evaluative expression module 216 may use different types of pathing for a node result discrepancy rule, the advanced evaluative expression module 216 may be operative to use one type of pathing for other types of rules. For example, the advanced evaluative expression module 216 may use absolute pathing for creating the advanced portion of an evaluative discrepancy report rule. Other types of pathing for other types of rules are also possible.
The advanced evaluative expression module 216 may also be operative to help a user search for a question in the insurance claim processing computer system for use in the advanced portion of the rule. In one implementation, where a user selects Question, Question Count or Question Answer Count as the parameter value for the Operand Type (1) parameter, the advanced evaluative expression module 216 displays a Select control 1902 (FIG. 19) on the advanced evaluative expression communication interface 1100 that helps the user to search for a Question. Selecting the Select control 1902 may display another or alternative communication interface that displays the questions in the insurance claim processing computer system or a search option for searching through the questions in the insurance claim processing computer system.
The rule generation system 102 may be operative to evaluate all instances of a question rather than a single instance of the question. In one implementation, the advanced evaluative expression module 216 displays an option via the advanced evaluative expression communication interface 1100 for indicating that the rule generation system 102 should evaluative all instances of a selected question. Where the user selects to evaluate all instances of a question, the advanced evaluative expression module 216 may append a syntax indicator for absolute pathing to the beginning of the evaluative expression of the advanced portion of the rule. For example, the advanced evaluative expression module 216 may append the characters “//” to the beginning of the advanced portion of the rule.
Selecting other types of operands for the Operand Type (1) parameter may present additional options to the user. For example, there may be additional options associated with the Node Count operand or the Node Attribute operand. In one implementation, where the user selects the Node Count operand or the Node Attribute operand, the advanced evaluative expression module 216 is operative to display on the advanced evaluative expression communication interface 1100 a drop-down list of all of the page node names in the insurance claim processing computer system.
After providing the operands and operators using the advanced evaluative expression communication interface 1100, the user may then save the advanced rule by selecting a Save control. In one implementation, selecting the Save control causes the advanced evaluative expression module 216 to communicate the advanced portion of the rule to the evaluative expression generator module 220. The evaluative expression generator module 220 may then communicate the advanced portion of the rule to one or more evaluative expression tables 202-210. For example, the evaluative expression generator module 220 may append the advanced portion of the rule to the T_RULE entry associated with the rule, or may populate the T_ADVANCED_RULE entry associated with the rule. However, the evaluative expression generator module 220 may also populate other entries of the evaluative expression tables 202-210. Moreover, the rule generation system 102 may be operative to prohibit or prevent the user from using the Save control until the rule is provided with a common portion, an advanced portion, or both.
FIGS. 18-20 also show an example of building an advanced portion of a node discrepancy report rule. FIG. 18 shows the advanced evaluative expression communication interface 1100 where the user has selected a starting page node for the advanced portion of the node discrepancy report rule. FIG. 19 shows the advanced evaluative expression communication interface 1100 where the user selected the Question operand as the parameter value for the Operand Type (1) parameter. FIG. 20 shows the advanced evaluative expression communication interface 1100 where the user selected the “=” operator for the Operator parameter and the Value operand for the Operand Type (2) parameter. FIG. 20 further shows that the parameter values for the Value parameter correspond to the type of answers expected for the selected questions. FIG. 21 shows that the user has added the criteria from FIGS. 18-20 to the advanced portion of the node discrepancy report rule. FIG. 21 also shows that the user has selected a logical AND operator.
FIGS. 22-23 show the user building a second advanced portion of the node discrepancy report rule of FIGS. 17-21. FIG. 22 shows that user has selected the Node Count operand for the Operand Type (1) parameter, that the parameter values for the Operand parameter correspond to the page node names in the insurance claim processing computer system, and that the Operand Type (2) parameter value is Value. Finally, FIG. 23 shows that the user has added the second advanced portion to the node discrepancy report rule. As previously discussed, the advanced evaluative expression module 216 is operative to build upon previously configured advanced portions of rules, and in the example shown in FIG. 23, the advanced evaluative expression module 216 has read from the parameter values selected by the user and appended those parameter values to the first advanced portion previously created. Although FIGS. 17-23 provide an example of a user building an advanced rule with only two advanced portions, a user may add up to an infinite amount of advanced portions to a rule. Conversely, a rule may only have one or no advanced portion. The configuration possibilities for an advanced rule are unlimited.
Discrepancy Messages
FIGS. 24-25 show examples of evaluation expression communication interfaces 2400-2500 implemented by the discrepancy evaluative expression module 218 of FIG. 2. In general, the discrepancy evaluative expression module 218 is operative to associate text messages with a discrepancy rule, such as an evaluative discrepancy report rule or a node discrepancy report rule. FIG. 24 shows an example of an evaluative expression communication interface 2400 implemented by the discrepancy evaluative expression module 218 for associating text messages with a discrepancy rule.
In one implementation, the evaluative expression communication interface 2400 includes three display sections: a discrepancy question display section 2402, a discrepancy text display section 2404, and a discrepancy locale display section 2404. In one implementation, a question generally has three parts: a question name, a text name, and a text message. The discrepancy question display section 2402 is operative to display the question name of the question associated with the discrepancy rule. The discrepancy text display section 2404 is operative to display the name of the text message. The discrepancy locale display section 2404 is operative to display the text message associated with the discrepancy rule. Where the text message is displayable in more than one language, the discrepancy text display section 2404 displays the text discrepancy message in its various languages. Table 12 shows the various parameters displayed in the evaluative expression communication interface 2400 and their associated entries in the evaluative expression tables 202-210.









TABLE 12





Parameter
Entry
Table







Discrepancy Question
N_QUESTION_ID
Evaluative expression




association table 208


Text Name
M_CONV_TEXT_NM
Evaluative expression




text table 206


Discrepancy Text
T_MSG_TEXT
Evaluative expression




text table 206









Using the Select controls of the evaluative expression communication interface 2400, a user may search for either the name of the question or the name of the text message associated with a question. For example, selecting the Select control of the discrepancy question display section 2402 allows the user to search for the question name of a question, select the question name of the question, and associate the question with the discrepancy rule. Associating the question with the discrepancy rule also associates the text message associated with the question with the discrepancy rule. As another example, selecting the Select control of the discrepancy text display section 2404 allows the user to search for the text name of a text message, and associate the text message with the discrepancy rule. Associating the text message with the discrepancy rule also associates the question associated with the text message with the discrepancy rule. While numerous text messages may be associated with a discrepancy rule, the discrepancy evaluative expression module 218 may restrict the number of text messages to one text message per discrepancy rule. Similarly, the discrepancy evaluative expression module 218 may require that at least one text message is associated with a discrepancy rule. However, the number of text messages associated with a discrepancy rule may be zero or unlimited.
In general, the text messages are stored in the evaluative expression database 116. When the evaluative expression module 218 associates a text message with a discrepancy rule, the evaluative expression module 218 communicates with one or more tables 202-210 to store the association between the text message and the discrepancy rule.
The evaluative expression module 218 receives the selection of the text message. In general, the text message may be identified by a system identifier, numerical or otherwise. The evaluative expression module 218 then communicates the text message system identifier to the evaluative expression tables 202-210 to associate the text message with the discrepancy rule. For example, the evaluative expression module 218 may store the text message system identifier as a parameter value for the N_CONV_TEXT_ID entry of the evaluative expression association table 208. The N_CONV_TEXT_ID entry of the evaluative expression association table 208 may then be used as a foreign key to the N_CONV_TEXT_ID entry, or other entries, of the evaluative expression text table 206. The evaluative expression module 218 may also store the question name of the question associated with the text message in one of the evaluative expression tables 202-210. Alternatively, a question may have a system identifier and the evaluative expression module 218 stores the question system identifier in one or more evaluative expression tables 202 to associate the question with the discrepancy rule.
The discrepancy evaluative expression module 218 is also operative to display an evaluative expression communication interface for viewing the discrepancy message details of a discrepancy rule. FIG. 25 shows an evaluative expression communication interface 2500 implemented by the discrepancy evaluative expression module 218 for viewing the message details of a selected discrepancy rule. In displaying the message details of a selected discrepancy rule, the discrepancy evaluative expression module 218 is operative to retrieve the parameter values displayed by the display sections 2402-2406 from the evaluative expression tables 202-210 and the evaluative expression database 116.
FIG. 26 shows an example of logic flow 2600 for generating an evaluative expression using the rule generation system 102 of FIG. 1. Initially, the evaluative expression framework 118 is implemented (2602). The evaluative expression parameter module 212 then receives the rule detail parameter values for a new rule (2604). Similarly, the common evaluative expression module 214 receives common rule parameter values (2606) for creating the common portion of a rule, or the advanced evaluative expression module 216 receives advanced rule parameter values (2608) for creating the advanced portion of a rule.
The rule generation system 102 then determines whether the created rule is a discrepancy rule (2610). Where the new rule is a discrepancy rule, the discrepancy evaluative expression module 218 receives discrepancy message parameter values from the user (2612). The discrepancy evaluative expression module 218 then stores the discrepancy message detail parameter values in the evaluative expression database 116, such as in the entries of one or more evaluative expression tables 202-210. Thereafter, the rule generation system 102 proceeds to store the rule parameter values (rule detail parameter values, common rule parameters, and advanced rule parameter values) in the evaluative expression database 116. However, where the rule generation system 102 determines that the created rule is not a discrepancy rule, the rule generation system 102 may proceed to store the rule parameter values (rule detail parameter values, common rule parameters, and advanced rule parameter values) in the evaluative expression database 116.
The elements illustrated in the Figures interoperate as explained in detail above. In implementing the system described above, one or more technologies may be used. However, the technologies are merely exemplary and alternative technologies may be used as well. For example, the system may be implemented in one or more computer programming languages. Examples of computer programming languages include ASP, C, and PHP. The system may also use various computer programming frameworks including the .NET framework available from Microsoft Corporation located in Redmond, Wash. The system may also use various database technologies including Microsoft SQL Server, also available from the Microsoft Corporation. In addition, the system may use markup languages, such as XML for transmitting data structures and additional data type definitions, HTML, DHTML, or other markup languages.
All of the discussion, regardless of the particular implementation described, is exemplary in nature, rather than limiting. For example, although selected aspects, features, or components of the implementations are depicted as being stored in memories, all or part of systems and methods consistent with the innovations may be stored on, distributed across, or read from other machine-readable media, for example, secondary storage devices such as hard disks, floppy disks, and CD-ROMs or other forms of ROM or RAM either currently known or later developed.
Furthermore, although specific components of innovations were described, methods, systems, and articles of manufacture consistent with the innovation may include additional or different components. For example, a processor may be implemented as a microprocessor, microcontroller, insurance application specific integrated circuit (ASIC), discreet logic, or a combination of other categories of circuits or logic. Similarly, memories may be DRAM, SRAM, Flash or any other category of memory. Flags, data, databases, tables, entities, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be distributed, or may be logically and physically organized in many different ways. Programs may be parts of a single program, separate programs, or distributed across several memories and processors. The framework used herein may be any diagram, plan, scheme, organizational pattern, structure, schema, or combinations thereof. The framework may further describe one or more databases to a database management system, including the aspects of a database, such as attributes, fields, domains, and parameters of the attributes or fields.
While various embodiments of the innovation have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the innovation. Accordingly, the innovation is not to be restricted except in light of the attached claims and their equivalents.

## Claims

1. A rule generation system to generate rules for a computer program, the system comprising: a processor; a memory storage device comprising a computer program, the computer program comprising instructions executable with the processor, the instructions comprising:
an evaluative expression parameter module configured to generate a graphical user interface for creation of a navigation rule, the navigation rule being indicative of whether to navigate from a first page of the computer program to a second page of the computer program;
the evaluative expression parameter module further configured to receive an expression parameter, a logical operator, and at least one expression parameter value from the graphical user interface in response to user input via the graphical user interface at runtime, the expression parameter identifying a question displayed on the first page of the computer program, the at least one expression parameter value including at least one potential answer to the question, wherein the expression parameter and the at least one expression parameter value are operands of the logical operator;
an evaluative expression generator configured to generate the navigation rule, the navigation rule including a combination of a first evaluative expression and a second evaluative expression, the first evaluative expression comprising the expression parameter, the operator, and the at least one expression parameter value;
instructions executable with the processor to store the first and second evaluative expressions in a database;
instructions executable with the processor to receive an answer to the question displayed on the first page from user input at runtime;
instructions executable with the processor to evaluate the first and second evaluative expressions retrieved from the database at runtime, the expression parameter set to the answer in the evaluation of the first evaluative expression; and
instructions executable with the processor to navigate to the second page from the first page at runtime based on the evaluation of the first and second evaluative expressions retrieved from the database.

2. The rule generation system of claim 1, wherein the instructions further comprise a common evaluative expression module configured to receive names of common rules from the graphical user interface in response to user input, the evaluative expression generator further configured to include the names of the common rules as operands in the evaluative expression, the evaluation of the evaluative expression depending on an evaluation of the common rules.

3. The rule generation system of claim 1, wherein
the computer program further comprises instructions executable with the processor to navigate from the first page to the second page based on the evaluation of the first and second evaluative expressions of the navigation rule without a restart of the computer program between receipt of the second evaluative expression through the graphical user interface and the evaluation of the navigation rule.

4. The rule generation system of claim 1, wherein
the evaluative expression parameter module is further configured to generate a second graphical user interface that includes a name of the navigation rule selectable for inclusion in evaluative expressions of rules other than the navigation rule; and
the evaluative expression parameter module is further configured to receive an expiration date for the navigation rule from the first graphical user interface in response to user input, and the expiration date indicates when the evaluative expression parameter module stops including the navigation rule in the second graphical user interface.

5. The rule generation system of claim 1, wherein the evaluative expression parameter module is further configured to modify the first and second evaluative expressions of the navigation rule based on expression parameters and expression parameter values received from the graphical user interface in response to user input at runtime.

6. The rule generation system of claim 1, wherein the evaluative expression parameter module is further configured to create a page display rule, the navigation rule, or a discrepancy rule depending on what evaluative expression category is received from the graphical user interface.

7. A computer-implemented method for generating rules for an application, the method comprising:
generating a graphical user interface with a processor for creation of a navigation rule, the navigation rule indicative of where to navigate when leaving a page in the application;
receiving an expression parameter, a logical operator, and at least one expression parameter value with the processor from the graphical user interface in response to user input entered through the graphical user interface, the expression parameter identifying a question, the at least one expression parameter value including at least one potential answer to the question, wherein the expression parameter and the at least one expression parameter value are operands of the logical operator;
generating the navigation rule with the processor, the navigation rule including a combination of a first evaluative expression and a second evaluative expression, the first evaluative expression comprising the expression parameter, the operator, and the at least one expression parameter value;
storing the first and second evaluative expressions in a database; receiving an answer to the question with the processor from user input; evaluating the first and second evaluative expressions retrieved from the database at runtime with the processor, the expression parameter set to the answer in the evaluation of the first evaluative expression; and
determining a next page with the processor when navigating away from the page based on the evaluation of the first and second evaluative expressions of the navigation rule.

8. The computer-implemented method of claim 7 further comprising:
receiving names of common rules from the graphical user interface in response to user input; and
including the names of the common rules as operands in the second evaluative expression, wherein evaluating the second evaluative expression further comprises evaluating the common rules.

9. The computer-implemented method of claim 7 further comprising:
generating the graphical user interface for creation of a page display rule, the page display rule indicative of whether to display an element on the page;
receiving a third evaluative expression from the graphical user interface in response to user input;
generating the page display rule comprising the third evaluative expression; and
determining whether to display the element on the page based on an evaluation of the page display rule without stopping the application after receiving the third evaluative expression.

10. The computer-implemented method of claim 7 further comprising receiving an expiration date for the navigation rule from the graphical user interface in response to user input, the expiration date indicative of when to stop displaying the navigation rule in the graphical user interface for inclusion in evaluative expressions of rules other than the navigation rule.

11. The computer-implemented method of claim 7 further comprising creating a discrepancy rule from a third evaluative expression received from the graphical user interface in response to user input, wherein the discrepancy rule indicates whether data discrepancies exist in answers provided to questions, and the answers are received by the application.

12. The computer-implemented method of claim 7 further comprising modifying the second evaluative expression in the navigation rule based on expression parameters and expression parameter values received from the graphical user interface in response to user input.

13. The computer-implemented method of claim 7 further comprising creating a page display rule, the navigation rule, or a discrepancy rule depending on what evaluative expression category is received from the graphical user interface in response to user input.

14. A non-transitory machine-readable medium comprising a software program for rule generation, the software program comprising instructions executable with a processor to:
generate a graphical user interface for creation of a navigation rule, the navigation rule indicative of where to navigate to when leaving a page of the software program;
receive a first expression parameter, a logical operator, and at least one expression parameter value entered through the graphical user interface in response to user input at runtime of the software program, the first expression parameter identifying a question, the at least one expression parameter value including at least one potential answer to the question, wherein the first expression parameter and the at least one expression parameter value are operands of the logical operator;
generate the navigation rule, the navigation rule comprising an evaluative expression comprising the first expression parameter, the operator, the at least one expression parameter value, and a second expression parameter; store the evaluative expression in a database;
receive an answer to the question from user input at runtime of the software program;
evaluate the evaluative expression retrieved from the database at runtime of the software program, the first expression parameter set to the answer in the evaluation of the evaluative expression; and
navigate away from the page to a next page of the software program based on the evaluation of the evaluative expression of the navigation rule without a stop of the software program after the receipt of the first expression parameter, the logical operator, and the at least one expression parameter value from the graphical user interface.

15. The non-transitory machine-readable medium of claim 14, wherein the instructions are further configured to:
receive names of common rules from the graphical user interface in response to user input; and
include the names of the common rules as operands in the evaluative expression, and the evaluation of the evaluative expression depends on an evaluation of the common rules.

16. The non-transitory machine-readable medium of claim 14, wherein the instructions are further configured to:
generate a second graphical user interface that includes a name of a page display rule selectable for inclusion in evaluative expressions of rules other than the page display rule, the page display rule indicative of whether to display the question on the page; and
receive an expiration date for the page display rule from a third graphical user interface in response to user input, the expiration date indicative of when to stop including the name of the page display rule in the second graphical user interface.

17. The non-transitory machine-readable medium of claim 14, wherein the instructions are further configured to create a discrepancy rule from a second evaluative expression received from the graphical user interface in response to user input, wherein the discrepancy rule indicates whether data discrepancies exist in answers provided to questions.

18. The non-transitory machine-readable medium of claim 14, wherein the instructions are further configured to modify the evaluative expression of the navigation rule based on expression parameters and expression parameter values received from the graphical user interface in response to user input at runtime.

19. The non-transitory machine-readable medium of claim 14, wherein the instructions are further configured to create a page display rule, the navigation rule, or a discrepancy rule depending on an evaluative expression category received from the graphical user interface in response to user input.