From 26555f11f7a29009b0a3fa7bd0d733d0bbbda250 Mon Sep 17 00:00:00 2001
From: Jay Allen <107942890+jallentxbiomed@users.noreply.github.com>
Date: Wed, 13 Aug 2025 10:19:00 -0500
Subject: [PATCH 1/2] trim spaces on eventDataNarrative attribute brackets
(#1010)
---
snd/src/org/labkey/snd/SNDManager.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/snd/src/org/labkey/snd/SNDManager.java b/snd/src/org/labkey/snd/SNDManager.java
index d04bd0cc8..124b16018 100644
--- a/snd/src/org/labkey/snd/SNDManager.java
+++ b/snd/src/org/labkey/snd/SNDManager.java
@@ -3457,7 +3457,12 @@ private String generateEventDataNarrative(Container c, User u, Event event, Even
value = "" + value + "";
}
- eventDataNarrative = new StringBuilder(eventDataNarrative.toString().replace("{" + pd.getName() + "}", value));
+ // Trim any spaces immediately inside '{' and '}' to make tokens like "{ route 2}" -> "{route 2}"
+ String normalized = eventDataNarrative.toString()
+ .replaceAll("\\{\\s+", "{")
+ .replaceAll("\\s+\\}", "}");
+
+ eventDataNarrative = new StringBuilder(normalized.replace("{" + pd.getName() + "}", value));
}
}
From a648590e8ae596d2d0ec9b1c5ee4defe666c9eb1 Mon Sep 17 00:00:00 2001
From: Marty Pradere
Date: Mon, 18 Aug 2025 15:08:36 -0700
Subject: [PATCH 2/2] Cage class extensible (#1008)
* Make cage class table extensible
* Update most recent weight calc to only include public data weights
---
.../queries/study/demographicsMostRecentWeight.sql | 2 +-
.../postgresql/ehr_lookups-25.001-25.002.sql | 1 +
.../dbscripts/sqlserver/ehr_lookups-25.001-25.002.sql | 1 +
ehr/resources/schemas/ehr_lookups.xml | 11 +++++++++++
ehr/src/org/labkey/ehr/EHRModule.java | 2 +-
5 files changed, 15 insertions(+), 2 deletions(-)
create mode 100644 ehr/resources/schemas/dbscripts/postgresql/ehr_lookups-25.001-25.002.sql
create mode 100644 ehr/resources/schemas/dbscripts/sqlserver/ehr_lookups-25.001-25.002.sql
diff --git a/ehr/resources/queries/study/demographicsMostRecentWeight.sql b/ehr/resources/queries/study/demographicsMostRecentWeight.sql
index 4fc5d0d4d..f5aea3bf4 100644
--- a/ehr/resources/queries/study/demographicsMostRecentWeight.sql
+++ b/ehr/resources/queries/study/demographicsMostRecentWeight.sql
@@ -14,7 +14,7 @@ null as weightField,
cast((
SELECT round(cast(AVG(w2.weight) as double), 2) AS _expr
FROM study.weight w2
- WHERE w.id=w2.id AND w.MostRecentWeightDate=w2.date
+ WHERE w2.qcstate.publicdata = true AND w.id=w2.id AND w.MostRecentWeightDate=w2.date
) as double) AS MostRecentWeight
FROM (
diff --git a/ehr/resources/schemas/dbscripts/postgresql/ehr_lookups-25.001-25.002.sql b/ehr/resources/schemas/dbscripts/postgresql/ehr_lookups-25.001-25.002.sql
new file mode 100644
index 000000000..e867d20cb
--- /dev/null
+++ b/ehr/resources/schemas/dbscripts/postgresql/ehr_lookups-25.001-25.002.sql
@@ -0,0 +1 @@
+ALTER TABLE ehr_lookups.cageclass ADD COLUMN LSID LSIDtype;
\ No newline at end of file
diff --git a/ehr/resources/schemas/dbscripts/sqlserver/ehr_lookups-25.001-25.002.sql b/ehr/resources/schemas/dbscripts/sqlserver/ehr_lookups-25.001-25.002.sql
new file mode 100644
index 000000000..5e1b39074
--- /dev/null
+++ b/ehr/resources/schemas/dbscripts/sqlserver/ehr_lookups-25.001-25.002.sql
@@ -0,0 +1 @@
+ALTER TABLE ehr_lookups.cageclass ADD Lsid LsidType null;
\ No newline at end of file
diff --git a/ehr/resources/schemas/ehr_lookups.xml b/ehr/resources/schemas/ehr_lookups.xml
index bc63b4d58..d0afd67b4 100644
--- a/ehr/resources/schemas/ehr_lookups.xml
+++ b/ehr/resources/schemas/ehr_lookups.xml
@@ -93,6 +93,17 @@
entityid
+
+ lsidtype
+ true
+ true
+ false
+
+ ObjectUri
+ Object
+ exp
+
+
diff --git a/ehr/src/org/labkey/ehr/EHRModule.java b/ehr/src/org/labkey/ehr/EHRModule.java
index 9c6b00561..b63580d1e 100644
--- a/ehr/src/org/labkey/ehr/EHRModule.java
+++ b/ehr/src/org/labkey/ehr/EHRModule.java
@@ -133,7 +133,7 @@ public String getName()
@Override
public @Nullable Double getSchemaVersion()
{
- return 25.001;
+ return 25.002;
}
@Override