From e771052a595f22ec67e8ce974c83a24222f8de2e Mon Sep 17 00:00:00 2001 From: Ohsudev <76500320+Ohsudev@users.noreply.github.com> Date: Tue, 23 Jun 2026 12:20:01 -0700 Subject: [PATCH 1/8] Modified BSU Rounds Open Cases sorting. (#1765) Modified program allow sorting of all Behavior Open cases into room sorting order. Co-authored-by: blasar --- .../resources/web/onprc_ehr/window/AddBehaviorCasesWindow.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/onprc_ehr/resources/web/onprc_ehr/window/AddBehaviorCasesWindow.js b/onprc_ehr/resources/web/onprc_ehr/window/AddBehaviorCasesWindow.js index 212abe495..f8082a0ba 100644 --- a/onprc_ehr/resources/web/onprc_ehr/window/AddBehaviorCasesWindow.js +++ b/onprc_ehr/resources/web/onprc_ehr/window/AddBehaviorCasesWindow.js @@ -50,7 +50,7 @@ Ext4.define('ONPRC_EHR.window.AddBehaviorCasesWindow', { requiredVersion: 9.1, schemaName: 'study', queryName: 'cases', - sort: 'Id/curLocation/location,Id,remark,allProblemCategories', + sort: 'Id/curLocation/room,Id/curLocation/cage,Id,remark,allProblemCategories', columns: 'Id,objectid,remark,allProblemCategories', filterArray: casesFilterArray, scope: this, From 24cd7118bf982b62d290edcad42e9e21f5b04609 Mon Sep 17 00:00:00 2001 From: Ohsudev <76500320+Ohsudev@users.noreply.github.com> Date: Tue, 23 Jun 2026 16:44:40 -0700 Subject: [PATCH 2/8] Created a new Animal History report tab called (#1768) Created a new Animal History tab reports that shows Clinical Encounters "TB Test Intradermal" entries from both Procedure, and Surgical entries. --------- Co-authored-by: blasar --- .../queries/study/Procedure_Amended.query.xml | 83 +++++++++++++++++++ .../queries/study/Procedure_Amended.sql | 48 +++++++++++ .../study/Procedure_Amended/.qview.xml | 19 +++++ .../Procedure_Amended/Procedure.qview.xml | 20 +++++ 4 files changed, 170 insertions(+) create mode 100644 onprc_ehr/resources/queries/study/Procedure_Amended.query.xml create mode 100644 onprc_ehr/resources/queries/study/Procedure_Amended.sql create mode 100644 onprc_ehr/resources/queries/study/Procedure_Amended/.qview.xml create mode 100644 onprc_ehr/resources/queries/study/Procedure_Amended/Procedure.qview.xml diff --git a/onprc_ehr/resources/queries/study/Procedure_Amended.query.xml b/onprc_ehr/resources/queries/study/Procedure_Amended.query.xml new file mode 100644 index 000000000..7be4d1136 --- /dev/null +++ b/onprc_ehr/resources/queries/study/Procedure_Amended.query.xml @@ -0,0 +1,83 @@ + + + + + Procedures Amended + + + + + + + + + Date + + + + Center Project + false + + ehr + project + project + + + + Procedure + + ehr_lookups + procedures + rowid + name + + + + Remark + false + + + Status + + core + QCState + Rowid + + + + + ehr + tasks + taskid + rowid + + + + + ehr + requests + requestid + rowid + + + + Charge Unit + + ehr_lookups + procedureChargeType + value + + + + Source + + ehr_lookups + encounter_types + value + + + +
+
+
+
\ No newline at end of file diff --git a/onprc_ehr/resources/queries/study/Procedure_Amended.sql b/onprc_ehr/resources/queries/study/Procedure_Amended.sql new file mode 100644 index 000000000..ebecb4db0 --- /dev/null +++ b/onprc_ehr/resources/queries/study/Procedure_Amended.sql @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2013 LabKey Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +SELECT + t.id, + t.date, + t.procedureid, + t.qcstate, + t.taskid, + t.type, + t.remark, + t.requestid, + t.chargetype, + t.project + + +FROM study.encounters t +Where t.type in ('Procedure') +UNION +SELECT + j.id, + j.date, +j.procedureid, + j.qcstate, + j.taskid, + j.type, + j.remark, + j.requestid, + j.chargetype, + j.project + + +FROM study.encounters j +where j.procedureid.name in ('TB Test Intradermal') + And j.type in ('Surgery') + diff --git a/onprc_ehr/resources/queries/study/Procedure_Amended/.qview.xml b/onprc_ehr/resources/queries/study/Procedure_Amended/.qview.xml new file mode 100644 index 000000000..483e3ed60 --- /dev/null +++ b/onprc_ehr/resources/queries/study/Procedure_Amended/.qview.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/onprc_ehr/resources/queries/study/Procedure_Amended/Procedure.qview.xml b/onprc_ehr/resources/queries/study/Procedure_Amended/Procedure.qview.xml new file mode 100644 index 000000000..50a0bb742 --- /dev/null +++ b/onprc_ehr/resources/queries/study/Procedure_Amended/Procedure.qview.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From e00bf46839931b76aa8cdf4d741ad2149b2428c1 Mon Sep 17 00:00:00 2001 From: Ohsudev <76500320+Ohsudev@users.noreply.github.com> Date: Tue, 23 Jun 2026 16:45:47 -0700 Subject: [PATCH 3/8] Modified Bulk Clinical Entry to contain Pairing Observation Entry form. (#1777) Created a new Pairing Observation as an additional input form to the "Bulk Clinical Entry" input form set. --------- Co-authored-by: blasar --- .../sources/Bulk_Clinic_Pairing_Properties.js | 132 ++++++++++++++++++ .../dataentry/BulkClinicalEntryFormType.java | 6 +- 2 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 onprc_ehr/resources/web/onprc_ehr/model/sources/Bulk_Clinic_Pairing_Properties.js diff --git a/onprc_ehr/resources/web/onprc_ehr/model/sources/Bulk_Clinic_Pairing_Properties.js b/onprc_ehr/resources/web/onprc_ehr/model/sources/Bulk_Clinic_Pairing_Properties.js new file mode 100644 index 000000000..8c01cc7d2 --- /dev/null +++ b/onprc_ehr/resources/web/onprc_ehr/model/sources/Bulk_Clinic_Pairing_Properties.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2016-2017 LabKey Corporation + * + * Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 + */ + +//Created 6-7-2016 R.Blasa +EHR.model.DataModelManager.registerMetadata('Bulk_Pairing_Properties', { + allQueries: { + + }, + byQuery: { + + 'study.pairings': { + + outcome: { + hidden: true + }, + Id: { + allowBlank: false, + columnConfig: { + width: 100 + } + }, + infant_id: { + hidden: true + }, + + eventtype: { + columnConfig: { + width: 250 + }, + editorConfig: { + caseSensitive: false, + anyMatch: true, + listConfig: { + innerTpl: '{[(values.category ? "" + LABKEY.Utils.encodeHtml(values.category) + ": " : "") + LABKEY.Utils.encodeHtml(values.value)]}', + getInnerTpl: function () { + return this.innerTpl; + } + } + }, + lookup: { + xtype: 'combobox', + schemaName: 'ehr_Lookups', + queryName: 'pairingstarttype', + columns: 'value,category,sort_order,date_disabled', + keyColumn: 'value', + displayColumn: 'value', + sort: 'category,value,sort_order', + filterArray: [ + LABKEY.Filter.create('date_disabled', null, LABKEY.Filter.Types.ISBLANK), + LABKEY.Filter.create('category', 'STF Clinical', LABKEY.Filter.Types.EQUAL) + ] + } + }, + outcome: { + hidden: true + }, + goal: { + hidden: true + }, + endeventType: { + columnConfig: { + width: 250 + }, + lookup: { + filterArray: [ + LABKEY.Filter.create('date_disabled', null, LABKEY.Filter.Types.ISBLANK) + ] + } + }, + enddate: { + hidden: false + }, + separationreason: { + hidden: true + }, + observation: { + hidden: true + }, + + remark2: { + xtype: 'textareafield', + columnConfig: { + width: 200 + } + }, + room: { + allowBlank: false, + columnConfig: { + width: 130 + } + }, + cage: { + allowBlank: false, + columnConfig: { + width: 100 + } + }, + priorgrouphousing: { + hidden: true + }, + category: { + allowBlank: false, + columnConfig: { + width: 150 + }, + lookup: { + filterArray: [ + LABKEY.Filter.create('date_disabled', null, LABKEY.Filter.Types.ISBLANK), + LABKEY.Filter.create('value', 'STF Clinical', LABKEY.Filter.Types.EQUAL) + ] + } + }, + other_infant: { + hidden: true + }, + lowestcage: { + hidden: false + }, + remark: { + xtype: 'textareafield', + columnConfig: { + width: 200 + } + } + + } + + } +}); \ No newline at end of file diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BulkClinicalEntryFormType.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BulkClinicalEntryFormType.java index 2c0d89d73..78cdb5d56 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BulkClinicalEntryFormType.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BulkClinicalEntryFormType.java @@ -55,6 +55,7 @@ public BulkClinicalEntryFormType(DataEntryFormContext ctx, Module owner) new DrugAdministrationFormSection(ClientDependency.supplierFromPath("onprc_ehr/window/ONPRC_AddScheduledTreatmentWindow.js")), new TreatmentOrdersFormSection(), new WeightFormSection(), + new PairingFormSection(), new SimpleGridPanel("study", "blood", "Blood Draws"), new SimpleGridPanel("ehr", "snomed_tags", "Diagnostic Codes") )); @@ -64,6 +65,8 @@ public BulkClinicalEntryFormType(DataEntryFormContext ctx, Module owner) s.addConfigSource("ClinicalDefaults"); //Added 6-4-2015 Blasa s.addConfigSource("ClinicalProcedures"); + + s.addConfigSource("Bulk_Pairing_Properties"); } addClientDependency(ClientDependency.supplierFromPath("ehr/model/sources/ClinicalDefaults.js")); @@ -91,7 +94,8 @@ public BulkClinicalEntryFormType(DataEntryFormContext ctx, Module owner) //Added 11-4-2025 R. Blasa addClientDependency(ClientDependency.supplierFromPath("onprc_ehr/window/FormTemplateWindow.js")); - + //Added 6-22-2026 R.Blasa + addClientDependency(ClientDependency.supplierFromPath("/onprc_ehr/model/sources/Bulk_Clinic_Pairing_Properties.js")); } From 6ea70e46952add207825e53ced14a6fd0c506f15 Mon Sep 17 00:00:00 2001 From: Ohsudev <76500320+Ohsudev@users.noreply.github.com> Date: Wed, 24 Jun 2026 09:36:19 -0700 Subject: [PATCH 4/8] =?UTF-8?q?Modified=20Clinical=20Medications=20Online?= =?UTF-8?q?=20version=20of=20the=20Printable=20web=20sit=E2=80=A6=20(#1780?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modified the Clinical Medication online version of the Printable reports so that information generated by pdf mirrors the same information when online version is selected. --------- Co-authored-by: blasar --- .../study/treatmentSchedule/Clinical Medications.qview.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/onprc_ehr/resources/queries/study/treatmentSchedule/Clinical Medications.qview.xml b/onprc_ehr/resources/queries/study/treatmentSchedule/Clinical Medications.qview.xml index 90510570f..fdaca4f2d 100644 --- a/onprc_ehr/resources/queries/study/treatmentSchedule/Clinical Medications.qview.xml +++ b/onprc_ehr/resources/queries/study/treatmentSchedule/Clinical Medications.qview.xml @@ -6,6 +6,6 @@ - + \ No newline at end of file From 7f7ecb566cb12adabff625235e68ca16703d0239 Mon Sep 17 00:00:00 2001 From: Ohsudev <76500320+Ohsudev@users.noreply.github.com> Date: Thu, 25 Jun 2026 11:27:15 -0700 Subject: [PATCH 5/8] Modified Room Layout page to allow scrolling across (#1783) Provided new functionality to allow row scrolling to each "Room Layout" diagram. --------- Co-authored-by: blasar --- .../resources/web/onprc_ehr/panel/RoomLayoutPanel.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/onprc_ehr/resources/web/onprc_ehr/panel/RoomLayoutPanel.js b/onprc_ehr/resources/web/onprc_ehr/panel/RoomLayoutPanel.js index db0620603..3c4f91956 100644 --- a/onprc_ehr/resources/web/onprc_ehr/panel/RoomLayoutPanel.js +++ b/onprc_ehr/resources/web/onprc_ehr/panel/RoomLayoutPanel.js @@ -533,6 +533,11 @@ Ext4.define('ONPRC.panel.RoomLayoutPanel', { } } else { + + + + + rowItems.push({ border: true, width: cageWidth, @@ -658,7 +663,7 @@ Ext4.define('ONPRC.panel.RoomLayoutPanel', { Ext4.apply(this, { border: false, itemId: 'roomLayoutPanel', - width: 1450, + width: 2850, defaults: { border: false }, @@ -666,6 +671,7 @@ Ext4.define('ONPRC.panel.RoomLayoutPanel', { xtype: this.printMode ? 'panel' : 'ldk-webpartpanel', title: this.printMode ? null : 'Room Layout', border: false, + autoScroll: !this.printMode, defaults: { border: false }, From bb498d5f8e6e9b3d72cdbf6f23d2cee1919bd0f4 Mon Sep 17 00:00:00 2001 From: Ohsudev <76500320+Ohsudev@users.noreply.github.com> Date: Mon, 29 Jun 2026 11:59:27 -0700 Subject: [PATCH 6/8] =?UTF-8?q?Modified=20Clinical=20Procedure=20report=20?= =?UTF-8?q?to=20allow=20Current=20location=20selectio=E2=80=A6=20(#1784)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modify code so that Clinical Procedures will generate a report based on Current monkey's location. --------- Co-authored-by: blasar --- .../queries/study/Procedure_Amended.query.xml | 29 +++++++------ .../queries/study/Procedure_Amended.sql | 43 +++++++++++-------- .../Procedure_Amended/Procedure.qview.xml | 3 +- 3 files changed, 43 insertions(+), 32 deletions(-) diff --git a/onprc_ehr/resources/queries/study/Procedure_Amended.query.xml b/onprc_ehr/resources/queries/study/Procedure_Amended.query.xml index 7be4d1136..5f5aa7ba4 100644 --- a/onprc_ehr/resources/queries/study/Procedure_Amended.query.xml +++ b/onprc_ehr/resources/queries/study/Procedure_Amended.query.xml @@ -3,26 +3,18 @@ Procedures Amended - - - - + + study + animal + Id + Date - - Center Project - false - - ehr - project - project - - Procedure @@ -60,6 +52,13 @@ rowid + + + ehr + project + project + + Charge Unit @@ -76,6 +75,10 @@ value + + true + true +
diff --git a/onprc_ehr/resources/queries/study/Procedure_Amended.sql b/onprc_ehr/resources/queries/study/Procedure_Amended.sql index ebecb4db0..89dbbccb7 100644 --- a/onprc_ehr/resources/queries/study/Procedure_Amended.sql +++ b/onprc_ehr/resources/queries/study/Procedure_Amended.sql @@ -13,8 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + + + SELECT - t.id, + t.Id, t.date, t.procedureid, t.qcstate, @@ -23,26 +26,30 @@ SELECT t.remark, t.requestid, t.chargetype, - t.project + t.project, + t.lsid FROM study.encounters t Where t.type in ('Procedure') -UNION -SELECT - j.id, + + UNION + + SELECT + j.Id, j.date, -j.procedureid, - j.qcstate, - j.taskid, - j.type, - j.remark, - j.requestid, - j.chargetype, - j.project - - -FROM study.encounters j -where j.procedureid.name in ('TB Test Intradermal') - And j.type in ('Surgery') + j.procedureid, + j.qcstate, + j.taskid, + j.type, + j.remark, + j.requestid, + j.chargetype, + j.project, + j.lsid + + + FROM study.encounters j + where j.procedureid.name in ('TB Test Intradermal') + And j.type in ('Surgery') diff --git a/onprc_ehr/resources/queries/study/Procedure_Amended/Procedure.qview.xml b/onprc_ehr/resources/queries/study/Procedure_Amended/Procedure.qview.xml index 50a0bb742..b6ff5a628 100644 --- a/onprc_ehr/resources/queries/study/Procedure_Amended/Procedure.qview.xml +++ b/onprc_ehr/resources/queries/study/Procedure_Amended/Procedure.qview.xml @@ -10,11 +10,12 @@ + - + \ No newline at end of file From 428cef1ec64496465db648a7406af45f07ce1947 Mon Sep 17 00:00:00 2001 From: Ohsudev <76500320+Ohsudev@users.noreply.github.com> Date: Tue, 30 Jun 2026 17:49:58 -0700 Subject: [PATCH 7/8] =?UTF-8?q?Modified=20Colony=20Management=20notificati?= =?UTF-8?q?on=20to=20include=20"Pending"=20gender=20B=E2=80=A6=20(#1788)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modified Colony Management notification to include "Pending" gender Births as warning message listings. --- .../notification/ColonyAlertsNotification.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java index 712b8a462..d17eafc0d 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java @@ -15,6 +15,7 @@ */ package org.labkey.onprc_ehr.notification; +import com.google.gwt.user.cellview.client.AbstractCellTable; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.labkey.api.data.Aggregate; @@ -909,7 +910,7 @@ protected void pedigreeIssues(final Container c, User u, final StringBuilder msg protected void incompleteBirthRecords(final Container c, User u, final StringBuilder msg) { SimpleFilter filter = new SimpleFilter(new SimpleFilter.OrClause( - //new CompareType.CompareClause(FieldKey.fromString("species"), CompareType.ISBLANK, null), + new CompareType.CompareClause(FieldKey.fromString("Id/demographics/gender"), CompareType.EQUAL, "p"), new CompareType.CompareClause(FieldKey.fromString("Id/demographics/gender"), CompareType.ISBLANK, null), new CompareType.CompareClause(FieldKey.fromString("Id/demographics/species"), CompareType.ISBLANK, null), new CompareType.CompareClause(FieldKey.fromString("Id/demographics/geographic_origin"), CompareType.ISBLANK, null) @@ -952,7 +953,16 @@ protected void incompleteBirthRecords(final Container c, User u, final StringBui msg.append("" + (rs.getString("date") == null ? "Unknown" : rs.getDate("date")) + ""); msg.append("" + (rs.getString("remark") == null ? " " : rs.getString("remark")) + ""); - msg.append("" + (rs.getString(FieldKey.fromString("Id/demographics/gender/meaning")) == null ? "MISSING" : rs.getString(FieldKey.fromString("Id/demographics/gender/meaning"))) + ""); + //Added: 6-30-2026 R. Blasa + if (rs.getString(FieldKey.fromString("Id/demographics/gender/meaning")) == "Pending") + { + msg.append("" + rs.getString(FieldKey.fromString("Id/demographics/gender/meaning")) + ""); + } + else + { + msg.append("" + (rs.getString(FieldKey.fromString("Id/demographics/gender/meaning")) == null ? "MISSING" : rs.getString(FieldKey.fromString("Id/demographics/gender/meaning"))) + ""); + } + msg.append("" + (rs.getString(FieldKey.fromString("Id/demographics/species")) == null ? "MISSING" : rs.getString(FieldKey.fromString("Id/demographics/species"))) + ""); msg.append("" + (rs.getString(FieldKey.fromString("Id/demographics/geographic_origin")) == null ? "MISSING" : rs.getString(FieldKey.fromString("Id/demographics/geographic_origin"))) + ""); msg.append(""); From a3c71a94ad25e8dc0202ff8cd2f739aabb7e5ef8 Mon Sep 17 00:00:00 2001 From: cnathe Date: Tue, 7 Jul 2026 09:44:09 -0500 Subject: [PATCH 8/8] remove unused import (fix build) --- .../labkey/onprc_ehr/notification/ColonyAlertsNotification.java | 1 - 1 file changed, 1 deletion(-) diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java index 1c1cf8486..f7fa1b57d 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java @@ -15,7 +15,6 @@ */ package org.labkey.onprc_ehr.notification; -import com.google.gwt.user.cellview.client.AbstractCellTable; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.labkey.api.data.Aggregate;