| Id | Sex | Room | Cage | Project | Protocol | Title | Project Investigator | Assign Date | Release Date | Projected Release Date | Assignment Type | Assign Condition | Projected Release Condition | Condition At Release |
| " + PageFlowUtil.filter(rs.getString("Id")) + " | \n"); - msg.append("" + PageFlowUtil.filter(rs.getString("Sex")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("Room")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("Cage")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("project")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("Protocol")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("Title")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("ProjectInvestigator")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("AssignDate")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("ReleaseDate")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("ProjectedReleaseDate")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("assignmentType")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("assignCondition")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("projectedReleaseCondition")) + " | "); - msg.append("" + PageFlowUtil.filter(rs.getString("ConditionAtRelease")) + " | "); + msg.append("
| " + PageFlowUtil.filter(rs.getString("Id")) + " | \n"); + msg.append("" + PageFlowUtil.filter(rs.getString("Sex")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("Room")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("Cage")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("project")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("Protocol")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("Title")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("ProjectInvestigator")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("AssignDate")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("ReleaseDate")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("ProjectedReleaseDate")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("assignmentType")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("assignCondition")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("projectedReleaseCondition")) + " | "); + msg.append("" + PageFlowUtil.filter(rs.getString("ConditionAtRelease")) + " | "); msg.append("
"); - if (total > 0) - { - msg.append( total + " entries found. "); - msg.append("Click here to view them\n"); - msg.append("
");
+ msg.append( count + " entries found. ");
+ msg.append("Click here to view them in a separate window\n");
+ msg.append("\n\n");
+
+ //Changes made byKolli, July 2026, Refer to tkt # 14974
+ //Display the daily report in the email
+ Set");
+ msg.append("
");
+ msg.append(" ");
+
+ ts2.forEach(object -> {
+ Results rs = new ResultsImpl(object, colMap);
+ String url = getParticipantURL(c, rs.getString("Id"));
+
+ msg.append("Id Species Sex Age(Years, Rounded) Area Room Cage Most Recent Alopecia Score Date Performed By ");
+ msg.append(" ");
+ });
+ msg.append(" " + PageFlowUtil.filter(rs.getString("Id")) + " \n");
+ msg.append("" + PageFlowUtil.filter(rs.getString("Species")) + " ");
+ msg.append("" + PageFlowUtil.filter(rs.getString("gender")) + " ");
+ msg.append("" + PageFlowUtil.filter(rs.getString("ageinYearsRounded")) + " ");
+ msg.append("" + PageFlowUtil.filter(rs.getString("area")) + " ");
+ msg.append("" + PageFlowUtil.filter(rs.getString("room")) + " ");
+ msg.append("" + PageFlowUtil.filter(rs.getString("cage")) + " ");
+ msg.append("" + PageFlowUtil.filter(rs.getString("MostRecentAlopeciaScore")) + " ");
+ java.sql.Date date = rs.getDate("date");
+ msg.append("")
+ .append(PageFlowUtil.filter(
+ date == null ? "" : new java.text.SimpleDateFormat("MM/dd/yyyy").format(date)
+ ))
+ .append(" ");
+ msg.append("" + PageFlowUtil.filter(rs.getString("performedby")) + " ");
+ msg.append("
");
}
- else
- {
- msg.append("WARNING: No animals found with alopecia score of 4 or 5, but does not have an open behavioral case for alopecia!
\n");
+ else {
+ msg.append("WARNING: No animals found with alopecia score of 4 or 5, there fore no open behavioral case(s) for alopecia!
\n");
}
}
From 2456f0485e4ad532a127b3f1043b222e9a1586e4 Mon Sep 17 00:00:00 2001
From: Ohsudev <76500320+Ohsudev@users.noreply.github.com>
Date: Tue, 21 Jul 2026 13:54:58 -0700
Subject: [PATCH 2/2] 26.3 fb bsu rounds rewrite (#1807)
Modified the BSU Rounds template process to prevent auto generating of
an "Alopecia Regrowth" when there are
existing Alopecia Regrowth defined to the same case id.
---
.../window/AddBehaviorCasesWindow.js | 30 ++++++++++++++-----
1 file changed, 23 insertions(+), 7 deletions(-)
diff --git a/onprc_ehr/resources/web/onprc_ehr/window/AddBehaviorCasesWindow.js b/onprc_ehr/resources/web/onprc_ehr/window/AddBehaviorCasesWindow.js
index f8082a0ba..c88f57e97 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/room,Id/curLocation/cage,Id,remark,allProblemCategories',
+ sort: 'Id/curLocation/room,Id/curLocation/cage,Id,category,remark,allProblemCategories',
columns: 'Id,objectid,remark,allProblemCategories',
filterArray: casesFilterArray,
scope: this,
@@ -86,17 +86,31 @@ Ext4.define('ONPRC_EHR.window.AddBehaviorCasesWindow', {
}
var previousObsMap = {};
+ var newobservation = '';
+ var tempcaseid = '';
+
if (this.obsResults && this.obsResults.rows && this.obsResults.rows.length){
Ext4.Array.forEach(this.obsResults.rows, function(sr){
//reset variable
- var newobservation = '';
- var newremark = '';
+
var row = new LDK.SelectRowsRow(sr);
- newobservation = row.getValue('category');
- newremark = row.getValue('remark');
+
//note: this has been changed to ensure 1 row per case
var key = row.getValue('caseid');
+ // if ( row.getValue('category') == 'Alopecia Regrowth' || (tempcaseid != key || tempcaseid == '') ) {
+ if ( (tempcaseid != key || tempcaseid == '') ) {
+ if (row.getValue('category') != 'Alopecia Regrowth') {
+ newobservation = '';
+ tempcaseid = '';
+ }
+ else
+ {
+ newobservation = row.getValue('category'); //load Alopecia Regrowth
+ tempcaseid = row.getValue('caseid');
+ }
+
+ }
if (!previousObsMap[key])
previousObsMap[key] = [];
@@ -110,7 +124,8 @@ Ext4.define('ONPRC_EHR.window.AddBehaviorCasesWindow', {
allProblemCategories:row.getValue('allProblemCategories'),
remark: row.getValue('remark')
});
- if (newobservation == 'Alopecia Score' && (newremark == null || newremark == '')) {
+
+ if (row.getValue('category') == 'Alopecia Score' && (newobservation == '') && tempcaseid == '' && (row.getValue('remark') == null || row.getValue('remark') == '')) {
previousObsMap[key].push({
Id: row.getValue('Id'),
date: this.recordData.date,
@@ -121,7 +136,8 @@ Ext4.define('ONPRC_EHR.window.AddBehaviorCasesWindow', {
allProblemCategories:row.getValue('allProblemCategories')
});
-
+ newobservation = '';
+ tempcaseid = '';
}
}, this);
}