Skip to content
DMN templates

DMN — Eligibility Screening (FIRST, order is the logic)

A FIRST-hit table, where rule order carries meaning and later rules are deliberately shadowed by earlier ones. Written this way on purpose: under FIRST an overlap is not a defect, and a checker that flagged it would be reporting the notation working as designed.

Template previewDMN
Benefit eligibility screeningClaimRegulation 2019/4Eligibilityinformation requirementauthority requirementEligibility — FirstFAge[0..120]Residency{ Citizen, Resident, Visitor }Income[0..200000]Result{ Eligible, Refer, Ineligible }AnnotationR1-Visitor-Ineligiblefails at the first gateR2[0..18)--ReferR3--(60000..200000]IneligibleR4[18..120]Citizen, Resident[0..60000]EligibleR5---Refercatch-all, lastNo overlaps and no gaps over the declared input space · 1 decision · 1 input data · 1 knowledge source · 1 table · 5 rules7 rule pairs overlap, which First resolves by design.

Make it your own.

title "Benefit eligibility screening"

input    Claim   "Claim"
source   Reg     "Regulation 2019/4"
decision Elig    "Eligibility"

Claim -> Elig
Reg   -> Elig

decision Elig "Eligibility" {
  hit F
  input  Age       number [0..120]
  input  Residency enum { Citizen, Resident, Visitor }
  input  Income    number [0..200000]
  output Result    enum { Eligible, Refer, Ineligible }

  rule -         | Visitor           | -                -> Ineligible  // fails at the first gate
  rule [0..18)   | -                 | -                -> Refer
  rule -         | -                 | (60000..200000]  -> Ineligible
  rule [18..120] | Citizen, Resident | [0..60000]       -> Eligible
  rule -         | -                 | -                -> Refer        // catch-all, last
}