Risk attribution — Kane Hettinger
v1.0 · cal 2026-05-22Component breakdown showing every feature that contributed to this patient's risk score.
Computed score
100
Group J · Stage IV / progressing
Stored A–J score
87
Group I · On treatment
Score buildup
Baseline 5 + +149 positive = 100
Demographic
Subtotal +5- +5
Age ≥ 70
Advanced age is an independent risk factor for PDAC.
Evidence: Current age 70· Threshold: 70 years
Symptom
Subtotal +26- +14
Abdominal pain at age ≥ 50
Unexplained abdominal pain in a patient over 50 warrants pancreas evaluation.
Evidence: Onset 2024-03-16· Triggers PANDA group C
- +12
Weight loss at age ≥ 50
Unintentional weight loss after 50 raises concern for occult malignancy.
Evidence: Onset 2024-03-26
Comorbidity
Subtotal +13- +13
Has chronic condition(s)
Chronic disease burden warrants ongoing surveillance.
Evidence: 7 active conditions
Imaging
Subtotal +10- +10
CT of abdomen on record
Imaging suggests the patient has been worked up for pancreatic concern.
Evidence: CT on 2024-09-10
Procedure
Subtotal +42- +20
EUS performed
EUS is the highest-resolution modality for sub-cm pancreatic lesions; performance implies clinical concern.
Evidence: Endoscopic ultrasonography of pancreas on 2024-06-29· Triggers PANDA group G
- +22
Tissue diagnosis procedure
Biopsy or resection indicates definitive workup or treatment.
Evidence: EUS-guided fine needle aspiration of pancreas on 2024-07-02
Pathology
Subtotal +25- +25
Pancreatic tumor confirmed
Confirmed pancreatic malignancy is the defining factor for groups H–J.
Evidence: Malignant neoplasm of body of pancreas· Triggers PANDA group H
Treatment
Subtotal +20- +20
Active chemotherapy
Active cytotoxic therapy implies confirmed malignancy with treatment intent.
Evidence: Oxaliplatin 85 MG/M2 Injection, Irinotecan 180 MG/M2 Injection· Triggers PANDA group I
Follow-up
Subtotal +8- +8
Missed surveillance
No encounter in over a year increases the chance of unrecognized progression.
Evidence: Last encounter 3298 days ago
The Risk Engine computed group (J) is derived purely from the feature contributions above. The stored A–J group (I) comes from the cascade classifier in scripts/classify-risk.ts. Divergence between the two indicates a classifier rule that the scoring weights haven't captured, or vice versa — useful for calibration.