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 deal 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 a 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 all procedures without compatible diagnoses.
  2. If a Procedure has Type Z, then check that this procedure against the standard list “IncompatibleCodes.csv” which 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 all incompatible pairs (Procedure Code – Diagnosis Code).

Avoid generating duplicated incompatibilities. 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: