From 2056c13c7932cd133b9ca18aa4ca1d94bf61af70 Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Wed, 20 Aug 2025 12:37:33 -0700 Subject: [PATCH 1/5] Unregister ehr_lookups.procedures. --- nirc_ehr/resources/scripts/nirc_triggers.js | 1 + 1 file changed, 1 insertion(+) diff --git a/nirc_ehr/resources/scripts/nirc_triggers.js b/nirc_ehr/resources/scripts/nirc_triggers.js index bd1b726c..3e90d1ea 100644 --- a/nirc_ehr/resources/scripts/nirc_triggers.js +++ b/nirc_ehr/resources/scripts/nirc_triggers.js @@ -13,6 +13,7 @@ exports.init = function (EHR) { EHR.Server.TriggerManager.registerHandler(EHR.Server.TriggerManager.Events.INIT, function (event, helper, EHR) { EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('ehr_lookups', 'cage', EHR.Server.TriggerManager.Events.BEFORE_UPSERT); + EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('ehr_lookups', 'procedures', EHR.Server.TriggerManager.Events.BEFORE_DELETE); EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('study', 'assignment', EHR.Server.TriggerManager.Events.BEFORE_UPSERT); EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('study', 'clinremarks', EHR.Server.TriggerManager.Events.BEFORE_UPSERT); EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('study', 'clinremarks', EHR.Server.TriggerManager.Events.AFTER_UPSERT); From bb13044eb536ae80c2a526454042ce7fa1192333 Mon Sep 17 00:00:00 2001 From: Marty Pradere Date: Thu, 28 Aug 2025 06:33:30 -0700 Subject: [PATCH 2/5] Update test for procedure populating --- nirc_ehr/resources/data/lookupsManifest.tsv | 1 + .../resources/data/lookupsManifestTest.tsv | 1 - .../tests.nirc_ehr/NIRC_EHRTest.java | 38 +++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/nirc_ehr/resources/data/lookupsManifest.tsv b/nirc_ehr/resources/data/lookupsManifest.tsv index 300f7645..dba02926 100644 --- a/nirc_ehr/resources/data/lookupsManifest.tsv +++ b/nirc_ehr/resources/data/lookupsManifest.tsv @@ -93,6 +93,7 @@ pregnancy_result procedure_category problem_list_category problem_list_subcategory +procedures protocol_category protocol_state protocol_type diff --git a/nirc_ehr/resources/data/lookupsManifestTest.tsv b/nirc_ehr/resources/data/lookupsManifestTest.tsv index 9a509028..39d7a0d3 100644 --- a/nirc_ehr/resources/data/lookupsManifestTest.tsv +++ b/nirc_ehr/resources/data/lookupsManifestTest.tsv @@ -90,7 +90,6 @@ pairing_separation_reason preferences pregnancy_result procedure_category -procedures problem_list_category problem_list_subcategory protocol_category diff --git a/nirc_ehr/test/src/org.labkey.test/tests.nirc_ehr/NIRC_EHRTest.java b/nirc_ehr/test/src/org.labkey.test/tests.nirc_ehr/NIRC_EHRTest.java index 75268f35..aa5cd09b 100644 --- a/nirc_ehr/test/src/org.labkey.test/tests.nirc_ehr/NIRC_EHRTest.java +++ b/nirc_ehr/test/src/org.labkey.test/tests.nirc_ehr/NIRC_EHRTest.java @@ -111,6 +111,24 @@ public void importStudy() importFolderByPath(path, getContainerPath(), 2); } + @Override + @LogMethod + protected void populateHardTableRecords() throws Exception + { + log("Inserting initial records into EHR hard tables"); + + //verify delete first + deleteHardTableRecords(); + + //then do the inserts + populateProtocolRecords(); + populateProjectRecords(); + populateRoomRecords(); + + // procedures has to be populated after the study load due to being tied into EHR triggers and needing qcstate + populateLookup("procedures", false); + } + @Override protected String getExpectedAnimalIDCasing(String id) { @@ -217,6 +235,26 @@ protected void populateInitialData() throws Exception populateFormulary(); } + private void populateLookup(String name, boolean useTestManifest) + { + if (useTestManifest) + { + beginAt(WebTestHelper.buildURL("ehr", getContainerPath(), "populateLookupData", Map.of("manifest", "lookupsManifestTest"))); + } + else + { + beginAt(WebTestHelper.buildURL("ehr", getContainerPath(), "populateLookupData")); + } + + waitForElement(Locator.linkWithText("Populate Lookups")); + selectOptionByValue(Locator.tagWithAttribute("select", "id", "populateOptions"), name); + click(Locator.linkWithText("Populate Lookups")); + acceptAlert(); + + waitFor(() -> Input(Locator.textarea("populateLookupResults"), getDriver()).waitFor().getValue().contains("Loading lookups is complete."), + "Lookups didn't finish loading", 60000); + } + private void populateFormulary() throws IOException, CommandException { InsertRowsCommand insertRowsCommand = new InsertRowsCommand("ehr_lookups", "drug_defaults"); From 1d292d2108715da996479437f4deb07b27902b98 Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Tue, 2 Sep 2025 09:42:09 -0700 Subject: [PATCH 3/5] Revert "Unregister ehr_lookups.procedures." This reverts commit 2056c13c7932cd133b9ca18aa4ca1d94bf61af70. --- nirc_ehr/resources/scripts/nirc_triggers.js | 1 - 1 file changed, 1 deletion(-) diff --git a/nirc_ehr/resources/scripts/nirc_triggers.js b/nirc_ehr/resources/scripts/nirc_triggers.js index 3e90d1ea..bd1b726c 100644 --- a/nirc_ehr/resources/scripts/nirc_triggers.js +++ b/nirc_ehr/resources/scripts/nirc_triggers.js @@ -13,7 +13,6 @@ exports.init = function (EHR) { EHR.Server.TriggerManager.registerHandler(EHR.Server.TriggerManager.Events.INIT, function (event, helper, EHR) { EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('ehr_lookups', 'cage', EHR.Server.TriggerManager.Events.BEFORE_UPSERT); - EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('ehr_lookups', 'procedures', EHR.Server.TriggerManager.Events.BEFORE_DELETE); EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('study', 'assignment', EHR.Server.TriggerManager.Events.BEFORE_UPSERT); EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('study', 'clinremarks', EHR.Server.TriggerManager.Events.BEFORE_UPSERT); EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('study', 'clinremarks', EHR.Server.TriggerManager.Events.AFTER_UPSERT); From 693f5839683ddca10d6e90455b08c21ab4cda77a Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Tue, 2 Sep 2025 09:43:12 -0700 Subject: [PATCH 4/5] Revert "Update test for procedure populating" This reverts commit bb13044eb536ae80c2a526454042ce7fa1192333. --- nirc_ehr/resources/data/lookupsManifest.tsv | 1 - .../resources/data/lookupsManifestTest.tsv | 1 + .../tests.nirc_ehr/NIRC_EHRTest.java | 38 ------------------- 3 files changed, 1 insertion(+), 39 deletions(-) diff --git a/nirc_ehr/resources/data/lookupsManifest.tsv b/nirc_ehr/resources/data/lookupsManifest.tsv index dba02926..300f7645 100644 --- a/nirc_ehr/resources/data/lookupsManifest.tsv +++ b/nirc_ehr/resources/data/lookupsManifest.tsv @@ -93,7 +93,6 @@ pregnancy_result procedure_category problem_list_category problem_list_subcategory -procedures protocol_category protocol_state protocol_type diff --git a/nirc_ehr/resources/data/lookupsManifestTest.tsv b/nirc_ehr/resources/data/lookupsManifestTest.tsv index 39d7a0d3..9a509028 100644 --- a/nirc_ehr/resources/data/lookupsManifestTest.tsv +++ b/nirc_ehr/resources/data/lookupsManifestTest.tsv @@ -90,6 +90,7 @@ pairing_separation_reason preferences pregnancy_result procedure_category +procedures problem_list_category problem_list_subcategory protocol_category diff --git a/nirc_ehr/test/src/org.labkey.test/tests.nirc_ehr/NIRC_EHRTest.java b/nirc_ehr/test/src/org.labkey.test/tests.nirc_ehr/NIRC_EHRTest.java index aa5cd09b..75268f35 100644 --- a/nirc_ehr/test/src/org.labkey.test/tests.nirc_ehr/NIRC_EHRTest.java +++ b/nirc_ehr/test/src/org.labkey.test/tests.nirc_ehr/NIRC_EHRTest.java @@ -111,24 +111,6 @@ public void importStudy() importFolderByPath(path, getContainerPath(), 2); } - @Override - @LogMethod - protected void populateHardTableRecords() throws Exception - { - log("Inserting initial records into EHR hard tables"); - - //verify delete first - deleteHardTableRecords(); - - //then do the inserts - populateProtocolRecords(); - populateProjectRecords(); - populateRoomRecords(); - - // procedures has to be populated after the study load due to being tied into EHR triggers and needing qcstate - populateLookup("procedures", false); - } - @Override protected String getExpectedAnimalIDCasing(String id) { @@ -235,26 +217,6 @@ protected void populateInitialData() throws Exception populateFormulary(); } - private void populateLookup(String name, boolean useTestManifest) - { - if (useTestManifest) - { - beginAt(WebTestHelper.buildURL("ehr", getContainerPath(), "populateLookupData", Map.of("manifest", "lookupsManifestTest"))); - } - else - { - beginAt(WebTestHelper.buildURL("ehr", getContainerPath(), "populateLookupData")); - } - - waitForElement(Locator.linkWithText("Populate Lookups")); - selectOptionByValue(Locator.tagWithAttribute("select", "id", "populateOptions"), name); - click(Locator.linkWithText("Populate Lookups")); - acceptAlert(); - - waitFor(() -> Input(Locator.textarea("populateLookupResults"), getDriver()).waitFor().getValue().contains("Loading lookups is complete."), - "Lookups didn't finish loading", 60000); - } - private void populateFormulary() throws IOException, CommandException { InsertRowsCommand insertRowsCommand = new InsertRowsCommand("ehr_lookups", "drug_defaults"); From ceb54f5bc20219927e9c70f74fb1cab24bfffa4f Mon Sep 17 00:00:00 2001 From: Binal Patel Date: Tue, 2 Sep 2025 09:44:49 -0700 Subject: [PATCH 5/5] Unregister --- nirc_ehr/resources/scripts/nirc_triggers.js | 1 + 1 file changed, 1 insertion(+) diff --git a/nirc_ehr/resources/scripts/nirc_triggers.js b/nirc_ehr/resources/scripts/nirc_triggers.js index bd1b726c..3e90d1ea 100644 --- a/nirc_ehr/resources/scripts/nirc_triggers.js +++ b/nirc_ehr/resources/scripts/nirc_triggers.js @@ -13,6 +13,7 @@ exports.init = function (EHR) { EHR.Server.TriggerManager.registerHandler(EHR.Server.TriggerManager.Events.INIT, function (event, helper, EHR) { EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('ehr_lookups', 'cage', EHR.Server.TriggerManager.Events.BEFORE_UPSERT); + EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('ehr_lookups', 'procedures', EHR.Server.TriggerManager.Events.BEFORE_DELETE); EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('study', 'assignment', EHR.Server.TriggerManager.Events.BEFORE_UPSERT); EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('study', 'clinremarks', EHR.Server.TriggerManager.Events.BEFORE_UPSERT); EHR.Server.TriggerManager.unregisterAllHandlersForQueryNameAndEvent('study', 'clinremarks', EHR.Server.TriggerManager.Events.AFTER_UPSERT);