Challenge April-2024

Using Lookup Tables in Decision Models                                             Solutions

ICDBrice Silver recently wrote about  importance of “Lookup Tables in DMN” stressing that we need to be able to modify the table data without modifications in the decision model. This month’s challenge provides a concrete example of decision model from the medical claim processing domain. Each claim includes lists of  procedures and diagnoses with their types, codes, and other information. Here is an example of a claim in the JSON format “Claim.json“.

Your decision model needs to validate each claim against the standard lists of compatible and incompatible pairs of procedures and diagnoses represented as ICD-10 codes. While real claim processing systems deals with tens of standard lists, we will limit our challenge only to two lists. Here are the validation rules for claim procedures of types X, Y, and Z:

  1. If Procedure has Type X or Y, then check if this procedure has a corresponding diagnosis such that the pair [procedure, diagnosis] can be found in the standard list “CompatibleCodes.csv” that consists of 260K compatible pairs [Diagnosis Code, Procedure Code]. If no corresponding pair is found, report the incompatibility: “Procedure <…> doesn’t have a compatible Diagnosis”.
  2. If Procedure has Type Z, then check that this procedure against the standard list “IncompatibleCodes.csv” that consists of only 83 records of incompatible ranges [Procedure Code Min, Procedure Code Max, Diagnosis Code Min, Diagnosis Code Max]. If a pair [procedure, diagnosis] is found, report the incompatibility: “Procedure <…> is incompatible with the Diagnosis <…>”.

Avoid generating duplicated error massages. Your decision service should be flexible to changes in the standard lists and be very fast as it needs to handle millions of claims daily. Use your favorite decision modeling tool to create such a service. Send your solutions including performance results to DecisionManagementCommunity@gmail.com

Solutions: