Patent Abstract:
A method and a computer program product are provided for processing an insurance claim. In particular, an example method may comprise receiving policy information associated with a particular insurance policy. The policy information may comprise a plurality of rules that define one or more benefits under the insurance policy. The example method may further comprise organizing the plurality of rules into a predefined tabular format. Furthermore, the example method may comprise providing a claims processing engine with the organized plurality of rules and thereafter processing the insurance claim in accordance with the plurality of rules.

Full Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. application Ser. No. 11/412,001, filed on Apr. 25, 2006, which is hereby incorporated herein in its entirety by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    Example embodiments of the present invention relate generally to processing an insurance claim. Example embodiments further relate to processing insurance claims according to a plurality of rules. 
       BACKGROUND OF THE INVENTION 
       [0003]    In many cases, insurance providers will contract with other companies to process the numerous insurance claims submitted by customers of the insurance provider. These companies, referred to as “insurance processors,” will receive policy information from the various insurance providers and then use this information to process the incoming claims. The policy information received may include, for example, information relating to one or more authorized providers (e.g., specific medical doctors or facilities, psychiatrists, etc.), the different benefits provided, and/or various eligibility requirements for each of the respective insurance policies offered by the insurance provider. 
         [0004]    Because the insurance processor receives policy information from multiple sources (e.g., different insurance providers), it is often the case that the insurance processor will receive information in many different formats; each source, for example, having a different format for the policy information provided. For example, one insurance provider may designate the authorized providers using a five-digit numeric code. By contrast, another may use a seven-digit alphanumeric code. In addition, various insurance providers may have different ways of describing the fee schedule or method of calculating the benefit. 
         [0005]    When an insurance processor receives policy information from various sources in various formats, it would be beneficial, and perhaps may even be necessary, for the insurance processor to be able to put all of the received information into a consistent format. The insurance processor may select a format that is used by a majority of the insurance providers, if such a format exists, or the insurance processor may have a particular format that is preferred or even necessary for use with the insurance processor&#39;s system. 
         [0006]    A need, therefore, exists for enabling the insurance processor to efficiently and consistently reformat received insurance-related data into a consistent format that can be used when processing incoming insurance claims. 
         [0007]    In addition, the policy information received by an insurance processor, such as the list of authorized providers and/or the various benefits and eligibility requirements, will often be in the form of, or in addition to, a set of complex rules and parameters to be used when processing the submitted insurance claims. These rules and parameters may be used to determine, for example, if the service on the claim is covered by the policy for the particular recipient, if there is a copay, coinsurance or other penalty, if the service is in or out of network, and/or which pricing methodology/fee schedule should be used to compute the allowed charges. 
         [0008]    In a typical scenario, each parameter or rule of each insurance policy for each insurance provider would need to be translated into its own coding structure, or set of computer programming instructions. This can be very time consuming. Processing an insurance claim would then require running each set of computer programming instructions sequentially. In addition to being time consuming, this process may prevent a person who is unfamiliar with programming languages to ascertain whether or not the rule or parameter has been accurately translated. It further makes it difficult for the various rules or parameters to be changed at a later point in time, since this would likely require retranslating the entire rule or parameter into a new set of computer programming instructions. 
         [0009]    A need, therefore, exists for an improved process of receiving incoming insurance policy information and converting the information, if necessary, into a format that can be easily understood and, if necessary, changed, yet still capable of being used by a claims processing engine when processing a submitted insurance claim. 
       BRIEF SUMMARY OF THE INVENTION 
       [0010]    Generally described, example embodiments of the present invention provide an improvement over the known prior art by, among other things, providing a method, system and computer program product for creating software that can be used to reformat incoming insurance-related data into a format that conforms to the requirements or preferences of the receiving party. In particular, the software generated is capable of causing a particular action to be taken which will result in the transfer of the received data from one format to another in response to certain conditions being met. These conditions are defined by a decision table, from which the software is automatically generated. Example embodiments of the present invention further provide a means for using the incoming insurance-related data, which has been reformatted where necessary, to create a user-friendly table that defines the rules and parameters of a particular insurance policy. The table is capable of being easily understood by those unfamiliar with the intricacies of insurance claim processing and programming code, and is further capable of being read by a claims processing engine when processing an insurance claim. 
         [0011]    According to one aspect of the present invention a method is provided for creating software for reformatting insurance-related data received from a first party to a format that is acceptable to a second party. In one example embodiment, the method includes: (1) creating a decision table based on a combination of conditions defining when a respective one of a plurality of reformatting actions should be taken with respect to the data received; (2) providing the decision table to a software generator; and (3) automatically generating computer programming instructions based upon the decision table and configured to cause the respective reformatting action to be taken based on the combination of conditions from the decision table upon execution thereof. 
         [0012]    In one example embodiment, a first party offers one or more insurance policies to one or more third parties, and a second party processes insurance claims submitted by the third parties under the insurance policies. In this embodiment, the insurance-related data may include data relating to one or more providers authorized under a respective insurance policy offered by the first party. Alternatively, the insurance-related data may include data relating to one or more benefits under a respective insurance policy offered by the first party, or data relating to one or more eligibility requirements for respective insurance policies. 
         [0013]    In one example embodiment, creating a decision table is repeated for each of the plurality of reformatting actions, such that a different decision table is created for each reformatting action based on a different combination of conditions defining when the reformatting action, with which the decision table is associated, should be taken. The method of this example embodiment may further include repeatedly providing the decision table to the software generator for each of the decision tables created. In this case, for each of the different decision tables, a different set of computer programming instructions is automatically generated that causes the respective reformatting action, with which the decision table is associated, to be taken based on the combination of conditions from the decision table. 
         [0014]    According to another aspect of the invention, a system is provided for creating software for reformatting insurance-related data received from a first party to a format that is acceptable to a second party. In one example embodiment, the system includes a software generator and a decision table. The decision table, which is instantiated in a memory device and accessible by the software generator, defines a combination of conditions that must occur in order for a respective one of a plurality of reformatting actions to be taken with respect to the data received. The software generator automatically generates computer programming instructions based upon the decision table and configured to cause the respective reformatting action to be taken based on the combination of conditions from the decision table upon execution thereof. 
         [0015]    According to yet another aspect of the invention, a computer program product is provided for creating software for reformatting insurance-related data received from a first party to a format that is acceptable to a second party. The computer program product includes at least one computer-readable storage medium having computer-readable program code portions stored therein. In one example embodiment, the computer-readable program code portions include: (1) a first executable portion for receiving a decision table that defines a combination of conditions that must occur for a respective one of a plurality of reformatting actions to be taken with respect to the data received; and (2) a second executable portion for automatically generating computer programming instructions based upon the decision table and configured to cause the respective reformatting action to be taken based on the combination of conditions from the decision table upon execution thereof. 
         [0016]    According to another aspect of the present invention, a method is provided for processing an insurance claim. In one example embodiment, the method includes: (1) receiving policy information associated with a particular insurance policy, wherein the policy information comprises a plurality of rules that define one or more benefits under the insurance policy; (2) organizing the plurality of rules into a predefined tabular format; (3) providing a claims processing engine with the organized plurality of rules; and (4) thereafter processing the insurance claim in accordance with the plurality of rules. 
         [0017]    According to a further aspect of the present invention, a method is provided for processing an insurance claim. In one example embodiment, the method comprises receiving policy information associated with a particular insurance policy. In this example embodiment, the policy information comprises a plurality of rules that define one or more benefits under the insurance policy. The method of this example embodiment further comprises organizing the plurality of rules into a predefined tabular format. Additionally, the method of this example embodiment comprises providing a claims processing engine with the organized plurality of rules; and thereafter processing the insurance claim in accordance with the plurality of rules. 
         [0018]    According to a further aspect of the present invention, a computer program product is provided for processing an insurance claim. The computer program product comprises at least one computer-readable storage medium having computer-readable program code portions stored therein. In one example embodiment, the computer program product comprises an executable portion for receiving policy information associated with a particular insurance policy. In this example embodiment, the policy information comprises a plurality of rules that define one or more benefits under the insurance policy. The computer program product of this example embodiment further comprises an executable portion for organizing the plurality of rules into a predefined tabular format. Additionally, the computer program product of this example embodiment comprises an executable portion for providing a claims processing engine with the organized plurality of rules; and thereafter processing the insurance claim in accordance with the plurality of rules. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0019]    Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein: 
           [0020]      FIG. 1  illustrates a system which may be used in accordance with example embodiments of the present invention; 
           [0021]      FIG. 2  is a flow chart illustrating a method of generating software to be used for reformatting incoming insurance-related data in accordance with example embodiments of the present invention; 
           [0022]      FIG. 3  is a decision table which may be defined for each of a plurality of actions to be taken when reformatting incoming insurance-related data and from which software may be automatically generated in accordance with example embodiments of the present invention; 
           [0023]      FIG. 4  is a flow chart illustrating a method of converting the insurance-related data received into a user-friendly table and using the table to process insurance claims in accordance with example embodiments of the present invention; and 
           [0024]      FIG. 5  illustrates a user-friendly table created in accordance with example embodiments of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0025]    The present inventions now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, these inventions may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout. 
         [0026]    Reference is now made to  FIG. 1 , which very generally illustrates a system in which example embodiments of the present invention may be implemented. As shown, the system may include a decision table  102 , which may be stored in a memory device and an example of which is illustrated in  FIG. 3 . The decision table  102  defines a set of conditions that must be met in order for a particular action to be taken with respect to incoming insurance-related data. As is discussed in more detail below, an insurance processing company (hereinafter “an insurance processor”) may receive data from one or more customers (i.e., insurance providers) that define the insurance policies offered by those customers. For example, the data may define the authorized providers, the available benefits and/or the eligibility requirements for each policy offered. The data received from the various customers is likely in a format that is particular to each customer. For example, one customer may use provider ID numbers that are five digits long, while another uses provider ID numbers that are six digits long. In some instances none of these formats conform to the format preferred, or at least predefined, by the insurance processor (e.g., the insurance processor may use a 10-digit provider ID). 
         [0027]    It would, therefore, be advantageous for the insurance processor to be able to reformat the incoming insurance-related data to its predefined format. Doing so may require that certain actions be taken with respect to the incoming data. For example, one action may be to change the provider IDs. The change may be based on a database maintained by the insurance processor that correlates the provider IDs used by its customers to those used by the insurance processor. Other examples of actions to be taken will be readily apparent to those of ordinary skill in the art, such as moving information contained in one field from an input to an output, or vice versa, translating data in a particular field from one format to another, left or right justifying data in one or more fields, removing dollar signs ($), filling in particular data fields with leading or ending zeros, or converting leading or ending zeros to spaces. In order to effect a change (or other action) at the appropriate time, such as the reformatting of certain incoming data, a set of conditions is first defined and then combined in a manner that dictates when the action will be taken. It is this combination of conditions that is defined by the decision table  102 . Once the decision table has been defined and stored, it is fed into a software generator  104 , which automatically generates a software application  106 , which can then be executed to evaluate incoming data in order to take actions that will effect a format change of the data where applicable. A software generator  104  is a computing application including or capable of accessing the decision table  102  in memory. The software generator  104  is capable of translating a set of instructions implied by the decision table  102  into a computer executable set of instructions (i.e., the software application  106 ) and storing that set of instructions or application for future execution. Either the same or a different computing application is capable of executing the software application  106 , which is stored in the same or different memory device. In general, therefore, the software generator  104  is a computer program or set of computer executable instructions configured to create another set of computer executable instructions (i.e., the software application  106 ) from a set of parameters (i.e., derived from the decision table  102 ). 
         [0028]      FIG. 2  illustrates in more detail the steps which may be taken in example embodiments of the present invention when generating software for reformatting incoming insurance-related data. As shown, the first step, Step  201 , may be to receive the insurance-related data from a first party (e.g., one of several insurance providers for which the insurance processor processes incoming insurance claims). It may then be determined, in Step  202 , which actions may need to be taken with respect to the type of data received. For example, where different field sizes are used, varying provider IDs are used, or where it is necessary that specific fields be populated in order to function within the insurance processor&#39;s system, specific actions relating to each of these inconsistencies in data will need to be taken. For example, where different field sizes are used, the information contained in a field may need to be truncated or, alternatively, to have one or more spacers (e.g., leading or ending zeroes) added to it. As discussed above, another action which may be taken may be to access a database that correlates various values (e.g., provider ID numbers) used by a customer to those predefined by the claims processor. 
         [0029]    Once it is determined which potential actions may need to be taken with respect to the received data, the next step, Step  203  is to define each action. In general, this step includes first defining various conditions that must be met in order for the action to be taken and then creating a decision table which reflects these conditions. In particular, in one example embodiment, the action is described by defining a set of conditions using various data fields from within the data received. Each condition may include, for example, a field name plus a predicate. The predicate may consist of a comparison (e.g., &lt;, &gt;, =, IN, etc.) plus (1) another field name, (2) a constant or fixed value, (3) a simple computation (e.g., the sum of various fields), (4) a list number (in the instance where the comparison is TN), or (5) a system parameter. For example, the condition may be defined as Provider ID (i.e., a field name)&lt;(i.e., a comparison)  10  digits (i.e., a constant or fixed value). 
         [0030]    A decision table, like the one illustrated in  FIG. 3 , can then be generated for each action based on a combination of such conditions. To illustrate, in the example shown in  FIG. 3 , Conditions  1 ,  2  and  3  were defined, for example, in the above-described manner. These conditions are then combined in the decision table to indicate that data from a particular field should be moved to another field when: (1) conditions  1 ,  2  and  3  are all met; (2) conditions  1  and  3 , but not 2, are met; (3) condition  3 , but not 1 or 2, is met; and (4) condition  1 , but not 2 or 3, is met. As shown, all other combinations of conditions  1 ,  2  and  3  do not cause the action to be taken (i.e., they do not cause the data to be moved from a particular field to another). 
         [0031]    A software application can then be automatically generated, in Step  204  from each decision table. As will be recognized by those of ordinary skill in the art, the software application may be written in any programming language, such as Java, XML, or Cobalt. The generated software application, when applied to the insurance-related data received, will cause each of the defined actions to take place in the instance where the appropriate conditions are met, as defined by the decision table. In particular, the software generator writes additional software that causes the evaluation defined in the decision table to be performed upon execution. By way of example, the software generator effectively creates a series of if-then statements that effectuate the decision table. With reference to the decision table of  FIG. 3 , for example, the software generator would generate software equivalent to the following pseudocode, albeit in the programming language of choice: 
         [0000]    
       
         
               
               
             
           
               
                   
               
             
             
               
                   
                 IF (COND 1 = Y) AND (COND 2 = Y) AND (COND 3 = Y), 
               
               
                   
                  THEN ACTION =Y 
               
               
                   
                 ELSE, 
               
               
                   
                 IF (COND 1 = Y) AND (COND 2 = N) AND (COND 3 = Y), 
               
               
                   
                  THEN ACTION = Y 
               
               
                   
                 ELSE, 
               
               
                   
                 IF (COND 1= N) AND (COND 2 = N) AND (COND 3 = Y), 
               
               
                   
                  THEN ACTION = Y 
               
               
                   
                 ELSE, 
               
               
                   
                 IF (COND 1 = Y) AND (COND 2 = N) AND (COND 3 = N), 
               
               
                   
                  THEN ACTION = Y 
               
               
                   
                 ELSE, ACTION = N 
               
               
                   
               
             
          
         
       
     
         [0032]    Finally, once a software application has been generated for each action, in Step  205 , the software will be applied to the received insurance-related data, which will consequently be reformatted to the format preferred or predefined by the receiving party (e.g., the insurance processor). As will be understood by those of ordinary skill in the art, in alternative embodiments Steps  202 - 204  may be performed prior to receiving the data in Step  201 . In this instance, for example, various actions may be determined and defined for each of the various insurance providers from which the insurance processor receives policy information based on past experience with those insurance providers. Based upon the predefined decision table and corresponding computer program instructions automatically generated therefrom, incoming data can be immediately processed without repeating Steps  202 - 204  of  FIG. 2 . 
         [0033]    As discussed above, insurance processors receive information from various insurance providers regarding the different policies offered by them. The information, which may require reformatting in the manner described above, may include, for example, a list of providers that are authorized, the benefits that are available, the eligibility requirements, and a complex set of rules and parameters for determining what, if any, benefit to which a particular claimant is entitled. The insurance processor can use this information to process insurance claims received from customers of the insurance providers. According to a typical scenario, each parameter or rule received for each policy of each provider would have to be translated into its own coding structure (i.e., set of computer programming instructions), and processing a claim would require running each set of computer programming instructions sequentially. In addition to being time consuming, this process may prevent a person unfamiliar with basic programming languages from being able to review the translated coding structure in order to verify that that the rules or parameters were translated accurately. In addition, it is a complex and time consuming process to modify or add any rules or parameters in the instance where a particular policy changes. 
         [0034]    Example embodiments of the present invention provide an improvement over this typical scenario by enabling the insurance processor to capture the benefit information provided by the insurance providers in a user-friendly format, which can be directly read by a claims processing engine (i.e., a computing application capable of applying various policy rules and conditions to claimant-specific information in order to determine, among other things, what, if any, benefit the claimant is eligible to receive) in order to process an incoming insurance claim. In particular, the claims processing engine is able to extract the necessary information from the user-friendly table, or other similar format, in order to process the claim. The process, therefore, eliminates the requirement of a complex computer program code for each individual rule or parameter. As a result, one can intuitively see what the various rules and conditions are for receiving different benefits, and is able to easily modify and add to those rules and conditions. 
         [0035]    Reference is now made to  FIG. 4 , which illustrates the steps which may be taken in order to process an insurance claim in the foregoing manner. As shown, in Step  401 , one or more complex rules or parameters are received from an insurance provider that define the benefits under a particular insurance policy. These parameters may relate to, for example, the type of procedure (e.g., defining which procedures are covered and which are not), the bill type (e.g., was it for a visit to the hospital, or a stay in a nursing home or mental health facility), a revenue code (e.g., corresponding to the particular service provided), the diagnosis of the patient (e.g., was the patient in critical condition) and/or characteristics of the patient (e.g., age group, gender, race, etc.). 
         [0036]    Once the complex rules and parameters have been received, they can be organized, in Step  402 , into a user-friendly format, such that the complex rules can be easily understood and modified. This format may include, for example, a table comprising various fields with pull-down options for defining the particular policy. How the table is laid out (i.e., what fields are included and what pull down options there are for each field) is dependent upon the various parameters and rules for the policy. The effect of how the fields are populated on the calculated benefit for the claim being processed is also determined by the parameters or rules of the policy. To illustrate,  FIG. 5  is a screen shot of such a user-friendly table that may be used to define a particular policy in accordance with example embodiments of the present invention. As shown, in order to define the policy an individual (e.g., an insurance provider employee) may, for example, first select the organization or line of business for which the policy applies (e.g., SHB-Samp, which may represent a School Board). The individual may then select which benefit plan option he or she is defining (e.g., 00-PPO), as well as what dates for which the service is provided, what provider type the policy pertains to, and the like. A similar table may be created for each policy offered by the particular insurance provider. 
         [0037]    Once the user-friendly table has been created and defines the insurance policy including all of the specific rules and parameters, the table may be provided, in Step  403 , to the claims processing engine, which is capable of extracting the rules and parameters from the table when processing incoming insurance claim. In particular, in Step  404  an insurance claim from either a provider or a member (i.e., a claimant) is received and in Step  405 , the claims processing engine uses the user-friendly table to process the incoming insurance claim. For example, the claims processing engine may use the table and the claimant-specific data extracted from the insurance claim received to determine: (1) if the service on the claim is covered by the policy for the particular recipient; (2) if the provider is authorized to perform the service; (3) if there is a copay, coinsurance or other penalty (e.g., for lack of approval or hospital certification); (4) if the service is in or out of network; (5) which pricing methodology/fee schedule should be used to compute the allowed charges; (6) how much to pay the provider; (7) how much the claimant/patient is responsible to pay; and/or (8) what service limitations apply. 
         [0038]    To further illustrate, in one example embodiment, an insurance processor may first use the parameters and rules received from an insurance provider to create a user-friendly table. The table may be specific to a particular policy, or it may be applicable for several policies offered by the same insurance provider, or even still it may be applicable for several policies offered by several insurance providers. As discussed above, its appearance, including the fields and the pull down options for each field, are dictated by the rules and parameters of the corresponding policies. The table, which now defines the particular policy, can then be provided to the claims processing engine that is able to extract the rules/parameters from the user-friendly table in order to determine what, if any, benefit a claimant is entitled to upon receipt of an insurance claim. 
         [0039]    In an alternative embodiment, the insurance processor may provide the generated user-friendly table (absent the user-specific data) along with the claims processing engine that is capable of reading the table, to the insurance provider, so that the insurance provider itself is able to process incoming insurance claims from its customers using the table. 
         [0040]    As described above, therefore, the method of example embodiments of the present invention enables the party that is processing an insurance claim (whether it be an independent insurance processor or the insurance provider itself) to easily read and comprehend the complex rules and parameters of an insurance policy being administered without requiring that the party be able to read complex programming code. In addition, the table format provides an easy way to change policy parameters and to enter information about particular claims. 
         [0041]    Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Technology Classification (CPC): 6