We completed a decision model that provides a solution for DMCommunity April-2024 Challenge “Using Lookup Tables in Decision Models“. This challenge deals with processing complex medical claims containing many medical procedures and diagnoses. The decision model is supposed to find incompatible procedures and diagnoses using large CSV files that may contain hundreds of thousands of records. There were two major requirements:
- Maintaining standard lists separately from the decision models
- High performance: handling millions of claims per day.
Our decision model demonstrates how to satisfy these requirements while representing the claim processing logic using simple decision tables oriented to business analysts.
To validate the performance, we deployed our model as an AWS Lambda function and executed it using POSTMAN and the provided Claim.json. We relied on the standard deployment options and received quite impressive results.
The pure rules execution time for this large claim was only 3.6 milliseconds. Together with sending the JSON request and receiving back JSON response, the total service execution time was 44 milliseconds. It means that one instance of our decision service will easily handle 1,000 claims in less than 1 minute and 60,000 claims in less than 1 hour.
However, we have several ways to essentially improve even this already high performance:
- We may process claims in batches and the performance will be improved from 10 to 100 times.
- We may allocate more memory for the Lambda function which usually makes it run much faster.
- We may increase the AWS Concurrency limit, and multiple instances of the same decision service working in parallel will add more 10-20 times performance improvement.
Thus, our deployed decision service will easily handle the requested millions of claims per day.
