code wiki / (root) / nx_fin_audit_gate.nx

nx_fin_audit_gate.nx source

↩ module page · 110 lines · 5852 B

1// nx_fin_audit_gate.nx -- R5 GATE: proves the medical-overbilling audit is exact + data-driven, on a 2// cancer-treatment-style bill (date 2025-03-10): 3// L0 99214 office visit 1u $400.00 4// L1 96413 chemo infusion 1u $2,000.00 5// L2 96413 chemo infusion 1u $2,000.00 <- DUPLICATE of L1 6// L3 36415 blood draw 1u $150.00 <- NCCI-bundled into 96413 (unbundling) 7// L4 85025 CBC lab 8u $800.00 <- MUE max 3 units (5 excess) AND ~73x Medicare 8// Packs (data, grounded on NCCI/MUE/Medicare): bundle (96413,36415); MUE (85025->3); 9// benchmark 99214->$130, 96413->$300, 85025->$11; fair multiplier 400% (4x Medicare). 10// Negative controls: a CLEAN bill flags nothing; raising the multiplier to 1000% drops all but the 11// egregious lab markup -> the multiplier is a real data knob, not magic. Exits 0 iff ALL pass. 12// license_tier: ORIGINAL 13import "nx_syscalls.nx" 14import "nx_money.nx" 15import "nx_fin_audit.nx" 16 17func g_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 18func g_putn(v: i64) -> i64 { 19 if v == 0 { sys_write(1, "0" as *u8, 1); return 0 } 20 var m: i64 = v; if m < 0 { sys_write(1, "-" as *u8, 1); m = 0 - m } 21 let d: *u8 = sys_mmap(24); var k: i64 = 0 22 while m > 0 { d[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 23 var j: i64 = k - 1 24 while j >= 0 { sys_write(1, ((d as i64)+j) as *u8, 1); j = j - 1 } 25 return 0 26} 27func chk(name: *u8, got: i64, want: i64, st: *i64) -> i64 { 28 if got == want { st[0] = st[0] + 1; g_puts(" PASS "); g_puts(name); g_puts("\n") } 29 else { st[1] = st[1] + 1; g_puts(" FAIL "); g_puts(name); g_puts(" got="); g_putn(got); g_puts(" want="); g_putn(want); g_puts("\n") } 30 return 0 31} 32func seti(a: *i64, i: i64, v: i64) -> i64 { a[i] = v; return 0 } 33 34func main() -> i64 { 35 let st: *i64 = sys_mmap(16) as *i64 36 st[0] = 0; st[1] = 0 37 38 // ---- dirty bill ---- 39 let codes: *i64 = sys_mmap(8 * 8) as *i64 40 let dates: *i64 = sys_mmap(8 * 8) as *i64 41 let units: *i64 = sys_mmap(8 * 8) as *i64 42 let billed: *i64 = sys_mmap(8 * 8) as *i64 43 seti(codes,0,99214); seti(dates,0,20250310); seti(units,0,1); seti(billed,0,40000) 44 seti(codes,1,96413); seti(dates,1,20250310); seti(units,1,1); seti(billed,1,200000) 45 seti(codes,2,96413); seti(dates,2,20250310); seti(units,2,1); seti(billed,2,200000) 46 seti(codes,3,36415); seti(dates,3,20250310); seti(units,3,1); seti(billed,3,15000) 47 seti(codes,4,85025); seti(dates,4,20250310); seti(units,4,8); seti(billed,4,80000) 48 let nlines: i64 = 5 49 50 // ---- rule packs (data) ---- 51 let pairA: *i64 = sys_mmap(8 * 4) as *i64 52 let pairB: *i64 = sys_mmap(8 * 4) as *i64 53 seti(pairA,0,96413); seti(pairB,0,36415) 54 let mcode: *i64 = sys_mmap(8 * 4) as *i64 55 let mmax: *i64 = sys_mmap(8 * 4) as *i64 56 seti(mcode,0,85025); seti(mmax,0,3) 57 let bcode: *i64 = sys_mmap(8 * 4) as *i64 58 let ballow: *i64 = sys_mmap(8 * 4) as *i64 59 seti(bcode,0,99214); seti(ballow,0,13000) 60 seti(bcode,1,96413); seti(ballow,1,30000) 61 seti(bcode,2,85025); seti(ballow,2,1100) 62 63 let idx: *i64 = sys_mmap(8 * 16) as *i64 64 let amt: *i64 = sys_mmap(8 * 16) as *i64 65 let oc: *i64 = sys_mmap(16) as *i64 66 67 let dc: i64 = aud_duplicates(codes, dates, billed, nlines, idx, amt, oc) 68 g_puts(" [info] duplicates overcharge_cents="); g_putn(oc[0]); g_puts("\n") 69 chk("duplicate chemo line flagged (count=1)", dc, 1, st) 70 chk(" duplicate overcharge = 200000 ($2,000)", oc[0], 200000, st) 71 72 let uc: i64 = aud_unbundle(codes, nlines, pairA, pairB, 1, billed, idx, amt, oc) 73 g_puts(" [info] unbundle overcharge_cents="); g_putn(oc[0]); g_puts("\n") 74 chk("unbundled blood draw flagged (count=1)", uc, 1, st) 75 chk(" unbundle overcharge = 15000 ($150)", oc[0], 15000, st) 76 77 let mc: i64 = aud_mue(codes, units, billed, nlines, mcode, mmax, 1, idx, amt, oc) 78 g_puts(" [info] MUE overcharge_cents="); g_putn(oc[0]); g_puts("\n") 79 chk("over-units lab flagged (count=1)", mc, 1, st) 80 chk(" MUE excess-units overcharge = 50000 ($500)", oc[0], 50000, st) 81 82 let fc: i64 = aud_fairprice(codes, billed, nlines, bcode, ballow, 3, 400, idx, amt, oc) 83 g_puts(" [info] fair-price(4x) overcharge_cents="); g_putn(oc[0]); g_puts("\n") 84 chk("fair-price 4x flags 3 lines", fc, 3, st) 85 chk(" fair-price overcharge = 235600 ($2,356)", oc[0], 235600, st) 86 87 // negative control: multiplier is a real data knob (10x -> only the egregious lab markup remains) 88 let fc10: i64 = aud_fairprice(codes, billed, nlines, bcode, ballow, 3, 1000, idx, amt, oc) 89 chk("fair-price 10x flags only 1 line", fc10, 1, st) 90 chk(" fair-price 10x overcharge = 69000 ($690)", oc[0], 69000, st) 91 92 // ---- clean bill: the audit must flag NOTHING (liar-kill) ---- 93 let cc: *i64 = sys_mmap(8 * 8) as *i64 94 let cd: *i64 = sys_mmap(8 * 8) as *i64 95 let cu: *i64 = sys_mmap(8 * 8) as *i64 96 let cb: *i64 = sys_mmap(8 * 8) as *i64 97 seti(cc,0,99214); seti(cd,0,20250401); seti(cu,0,1); seti(cb,0,50000) 98 seti(cc,1,96413); seti(cd,1,20250401); seti(cu,1,1); seti(cb,1,100000) 99 seti(cc,2,85025); seti(cd,2,20250401); seti(cu,2,2); seti(cb,2,4000) 100 let cn: i64 = 3 101 chk("clean bill: 0 duplicates", aud_duplicates(cc, cd, cb, cn, idx, amt, oc), 0, st) 102 chk("clean bill: 0 unbundling", aud_unbundle(cc, cn, pairA, pairB, 1, cb, idx, amt, oc), 0, st) 103 chk("clean bill: 0 MUE", aud_mue(cc, cu, cb, cn, mcode, mmax, 1, idx, amt, oc), 0, st) 104 chk("clean bill: 0 fair-price (4x)", aud_fairprice(cc, cb, cn, bcode, ballow, 3, 400, idx, amt, oc), 0, st) 105 106 g_puts("nx_fin_audit_gate: PASS="); g_putn(st[0]); g_puts(" FAIL="); g_putn(st[1]); g_puts("\n") 107 if st[1] == 0 { g_puts("R5 nx_fin_audit: GREEN\n"); return 0 } 108 g_puts("R5 nx_fin_audit: RED\n") 109 return 1 110}