In many business applications, there is an enormous potential to automate repeating manual tasks. The business value of automation is usually related to the complexity and the volume of tasks.

This post explores the design of a rule engine for automating the process of assigning investigators to a case in a case management solution. This specific type of rule engine is typical of investigative case management solutions and has been implemented by numerous customers.

This design of a rule engine can also be used on processes such as:

  • Finding candidates for investigation
  • Identification of suspicious transactions
  • Generation of payrolls or invoices
  • Generation of shift plans
  • Processing and payout of insurance claims

What is a rule engine

A rule engine is a type of software perfect for automating processes that can be expressed as “if situation X occurs then do Y”. Other types of processes, that are harder to define, might be smarter to automate using other methods such as artificial intelligence.

Rule engines are commercially available off-the-shelf (COTS) but may be costly to adapt to your custom business objects and processes. Developing a tailored rule engine can therefore be an economically smart choice, particularly when developed using low-code.

Solution design

The following description includes a data model, user interface, and the business logic of a rule engine. This rule engine is for automatically assigning users to a case in an insurance fraud investigation system based on a users’ preferences.

Keep in mind that a sufficiently flexible low-code platform, such as Genus, can be used to implement rule engines for the business objects and processes relevant to your specific needs.

Data model

A data model of a rule engine to automate the assignment of investigators to an insurance fraud case based on user preferences could look like the following diagram:

Data model of user preferences used by the automated assignment process.

This data model enables a user of your application to define rules, or preferences, for the properties of a case. Preferences such as a lower and upper limit on the reserved amount of the case, and a preferred upper and lower age limit of the policyholder. Also, the user may choose one or more preferred case types, product types, and damage types.

Lastly, the user may specify an address that will be used when calculating the distance between the case and the user.

Parameters of automatization and the user interface

The users could be given access to edit their own preferences, or it could be limited to administrators only. Either way, it would enable the adjustment of parameters used by the rule engine at any time. This flexibility will give the users control of the rule engine and the assignment process.

The following screenshot shows the user interface for adjusting the preferences of a user named “Donald Duck”. This user has set the following preferences for case assignment:

  • The age of policyholder should be between 30 and 60 years
  • Reserved amount should be larger or equal to 1 000 and maximum value should be 1 000 000
  • Damage type should be Accident or Fire
  • The case type should be Fraud
  • Product type should be Car or Personal property
User interface for editing user preferences used by the automated assignment process.

The automation process

The process of selecting and assigning users to a case can be implemented in several ways. In this example, we will show the implementation of a process where each user’s suitability for a case is calculated based on a score. All users are scored by the sum of matching preferences. Finally, the user with the highest score is assigned to the case.

The following screenshots show how such a process will look like when implemented in an Action in Genus:

The rule engine process implemented in a Genus Action to automate case assignment.

The Action is an orchestration of effects that is available on the Genus platform. The effects operate on the data model defined in your application. Please see our Platform Evaluation Guide for more details on how to develop in Genus, particularly about Data model and Business and application logic.

A tailored engine for automation

Customers of Genus have implemented rule engines like the discussed example, but also more complex versions. The most complex implementation is probably found in financial intelligence systems. These engines run recursively on networks consisting of millions of persons, organizations, and transactions. The goal of such engines is to automate the discovery of persons and organizations that should be targeted for an investigation.

Most of the rule engines developed with Genus have been additions to an existing solution. This is typical when the customer has asked for help with increasing operational efficiency by handling a higher volume of tasks, increased complexity, or reduced budget.

The key takeaway is that low-code platforms such as Genus are viable options on your path to automation. A rule engine implemented in Genus will in many scenarios require less upfront investment when compared to COTS, and it can be tailored to your specific process to achieve maximum value.

Erlend Barstad Strand avatar image
Erlend Barstad Strand

Erlend Barstad Strand is a Principal Business Architect and a Project Manager at Genus. He has 10 years of experience helping customers utilize the full potential of Genus.