From 35eedf5adb3fbed980f3882c8d7209aabd0ab2c2 Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Thu, 30 Apr 2026 22:12:44 -0700 Subject: [PATCH 1/2] Don't send notification on Save Draft. --- nirc_ehr/resources/queries/study/deaths.js | 26 +++++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/nirc_ehr/resources/queries/study/deaths.js b/nirc_ehr/resources/queries/study/deaths.js index 99ef0498..d4610aca 100644 --- a/nirc_ehr/resources/queries/study/deaths.js +++ b/nirc_ehr/resources/queries/study/deaths.js @@ -152,17 +152,21 @@ EHR.Server.TriggerManager.registerHandlerForQuery(EHR.Server.TriggerManager.Even }); EHR.Server.TriggerManager.registerHandlerForQuery(EHR.Server.TriggerManager.Events.COMPLETE, 'study', 'Deaths', function(event, errors, helper){ - var deaths = helper.getDeaths(); - - if (deaths) { - var ids = []; - for (var id in deaths){ - ids.push(id); - } - if (!helper.isETL() && event === 'insert') { - triggerHelper.sendDeathNotification(ids[0]); + var rows = helper.getRows() || []; + for (var i = 0; i < rows.length; i++) { + var row = rows[i].row; + var oldRow = rows[i].oldRow; + + // Notification will get sent when: + // 1) a brand-new row saved directly as 'Request: Pending' (i.e., when a user clicks 'Submit Death'), or + // 2) a draft death record moving from 'In Progress' to 'Request: Pending'. + if (!helper.isETL() && + row && row.Id && + row.QCStateLabel && + row.QCStateLabel.toUpperCase() === 'REQUEST: PENDING' && + (!oldRow || !oldRow.QCStateLabel || oldRow.QCStateLabel.toUpperCase() === 'IN PROGRESS')) { + triggerHelper.sendDeathNotification(row.Id); + triggerHelper.updateProcedureOrdersToCompleted([row.Id]); } - - triggerHelper.updateProcedureOrdersToCompleted(ids); } }); \ No newline at end of file From bea8d5f275a9706fc3674c421ae46d1393f6efc3 Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Mon, 4 May 2026 16:09:33 -0700 Subject: [PATCH 2/2] Update/add log messages. --- nirc_ehr/resources/queries/study/deaths.js | 3 +++ .../src/org/labkey/nirc_ehr/query/NIRC_EHRTriggerHelper.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/nirc_ehr/resources/queries/study/deaths.js b/nirc_ehr/resources/queries/study/deaths.js index d4610aca..626223e7 100644 --- a/nirc_ehr/resources/queries/study/deaths.js +++ b/nirc_ehr/resources/queries/study/deaths.js @@ -165,7 +165,10 @@ EHR.Server.TriggerManager.registerHandlerForQuery(EHR.Server.TriggerManager.Even row.QCStateLabel && row.QCStateLabel.toUpperCase() === 'REQUEST: PENDING' && (!oldRow || !oldRow.QCStateLabel || oldRow.QCStateLabel.toUpperCase() === 'IN PROGRESS')) { + console.log("Sending NIRC Death Notification") triggerHelper.sendDeathNotification(row.Id); + + console.log("Updating Procedure Orders to Completed for Animal: " + row.Id + "") triggerHelper.updateProcedureOrdersToCompleted([row.Id]); } } diff --git a/nirc_ehr/src/org/labkey/nirc_ehr/query/NIRC_EHRTriggerHelper.java b/nirc_ehr/src/org/labkey/nirc_ehr/query/NIRC_EHRTriggerHelper.java index 74bd1adf..22112ed5 100644 --- a/nirc_ehr/src/org/labkey/nirc_ehr/query/NIRC_EHRTriggerHelper.java +++ b/nirc_ehr/src/org/labkey/nirc_ehr/query/NIRC_EHRTriggerHelper.java @@ -950,7 +950,7 @@ public void updateProcedureOrdersToCompleted(List ids) if (results.length == 0) { - _log.info("No prc_order rows found with 'Request: Approved' status for the provided IDs"); + _log.info("No Procedure Orders found with 'Request: Approved' status for the provided IDs"); return; }