diff --git a/snprc_ehr/resources/queries/snprc_ehr/HL7UnknownPivot.sql b/snprc_ehr/resources/queries/snprc_ehr/HL7UnknownPivot.sql
index 9958bb49c..c557fc0fb 100644
--- a/snprc_ehr/resources/queries/snprc_ehr/HL7UnknownPivot.sql
+++ b/snprc_ehr/resources/queries/snprc_ehr/HL7UnknownPivot.sql
@@ -1,6 +1,7 @@
SELECT
obr.ANIMAL_ID as id,
obr.OBSERVATION_DATE_TM as date,
+ obr.ANIMAL_ID || '-' || CAST(obr.OBSERVATION_DATE_TM AS VARCHAR) as key,
obr.MESSAGE_ID,
COALESCE (lp.ServiceId.ServiceName, obr.PROCEDURE_NAME) as PROCEDURE_NAME,
obr.PROCEDURE_ID,
diff --git a/snprc_ehr/resources/queries/snprc_ehr/HL7Urinalysis.query.xml b/snprc_ehr/resources/queries/snprc_ehr/HL7Urinalysis.query.xml
index 5e01645b2..5eeff14fc 100644
--- a/snprc_ehr/resources/queries/snprc_ehr/HL7Urinalysis.query.xml
+++ b/snprc_ehr/resources/queries/snprc_ehr/HL7Urinalysis.query.xml
@@ -2,7 +2,14 @@
+ Urinalysis Pivot
+
+
+ true
+ true
+
+
diff --git a/snprc_ehr/resources/queries/snprc_ehr/HL7UrinalysisPivot.sql b/snprc_ehr/resources/queries/snprc_ehr/HL7UrinalysisPivot.sql
index 1ddf9af4f..0f20e91db 100644
--- a/snprc_ehr/resources/queries/snprc_ehr/HL7UrinalysisPivot.sql
+++ b/snprc_ehr/resources/queries/snprc_ehr/HL7UrinalysisPivot.sql
@@ -1,6 +1,7 @@
SELECT
obr.ANIMAL_ID as id,
obr.OBSERVATION_DATE_TM as date,
+ obr.ANIMAL_ID || '-' || CAST(obr.OBSERVATION_DATE_TM AS VARCHAR) as key,
obr.MESSAGE_ID,
COALESCE (lp.ServiceId.ServiceName, obr.PROCEDURE_NAME) as PROCEDURE_NAME,
obr.PROCEDURE_ID,
diff --git a/snprc_ehr/resources/queries/snprc_ehr/MhcDataPivot.sql b/snprc_ehr/resources/queries/snprc_ehr/MhcDataPivot.sql
index b724529c4..f0f3165c0 100644
--- a/snprc_ehr/resources/queries/snprc_ehr/MhcDataPivot.sql
+++ b/snprc_ehr/resources/queries/snprc_ehr/MhcDataPivot.sql
@@ -1,11 +1,12 @@
SELECT
b.Id,
+ b.modified,
b.Haplotype,
b.Ocid,
b.DataFileSource,
- b.modified,
group_concat(b.MhcValue) as MhcValue
+
FROM (
SELECT
b.Id,
@@ -13,13 +14,13 @@ FROM (
b.Ocid,
b.MhcValue,
b.DataFileSource,
- b.Modified
+ cast(b.modified as varchar) as modified
FROM snprc_ehr.MhcData as b
- ) as b
+ ) as b
GROUP BY b.id, b.ocid, b.DataFileSource, b.haplotype, b.modified
-PIVOT MhcValue BY Haplotype IN
-(select distinct Haplotype from snprc_ehr.MhcData order by Haplotype
-
-)
+ PIVOT MhcValue BY Haplotype IN
+(
+ select distinct Haplotype from snprc_ehr.MhcData order by Haplotype
+)
\ No newline at end of file
diff --git a/snprc_ehr/resources/queries/study/BrowseDataSets.sql b/snprc_ehr/resources/queries/study/BrowseDataSets.sql
index aab30e6fa..9b2b44a5e 100644
--- a/snprc_ehr/resources/queries/study/BrowseDataSets.sql
+++ b/snprc_ehr/resources/queries/study/BrowseDataSets.sql
@@ -68,3 +68,5 @@ UNION
select 'ehr' as schema, 'Colony Management' as CategoryId,'Kinship' as Label, 'kinship' as Name, true as ShowByDefault, true as isAnimal
UNION
select 'ehr' as schema, 'Colony Management' as CategoryId,'Project' as Label, 'project' as Name, true as ShowByDefault, false as isAnimal
+UNION
+select 'study' as schema, 'Colony Management' as CategoryId,'Offspring' as Label, 'demographicsOffspring' as Name, true as ShowByDefault, true as isAnimal
diff --git a/snprc_ehr/resources/queries/study/demographicsEarliestHousing.sql b/snprc_ehr/resources/queries/study/demographicsEarliestHousing.sql
new file mode 100644
index 000000000..3480516d6
--- /dev/null
+++ b/snprc_ehr/resources/queries/study/demographicsEarliestHousing.sql
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2017-2018 LabKey Corporation
+ *
+ * Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0
+ */
+SELECT
+ d.Id AS Id,
+ h.date as FirstHousingDate,
+ h.room as FirstHousingRoom,
+ h.room.area.description as FirstHousingRoomDescription
+FROM study.demographics d
+
+
+--date of first housing
+LEFT JOIN study.housing as h on h.id = d.id and h.qcstate.publicdata = true
+ and h.date = (select min(c1.date) from study.housing as c1
+ where h.id = c1.id)
diff --git a/snprc_ehr/resources/referenceStudy/study/datasets/datasets_metadata.xml b/snprc_ehr/resources/referenceStudy/study/datasets/datasets_metadata.xml
index 40dadbc39..806d12694 100644
--- a/snprc_ehr/resources/referenceStudy/study/datasets/datasets_metadata.xml
+++ b/snprc_ehr/resources/referenceStudy/study/datasets/datasets_metadata.xml
@@ -394,6 +394,11 @@
varchar
+
+
+ caseid
+
+ Cases
@@ -1498,6 +1503,7 @@
varcharfalseSpecies code (3 char)
+ 10integer
diff --git a/snprc_ehr/resources/schemas/dbscripts/sqlserver/snprc_ehr-25.000-25.001.sql b/snprc_ehr/resources/schemas/dbscripts/sqlserver/snprc_ehr-25.000-25.001.sql
new file mode 100644
index 000000000..a198a3c9a
--- /dev/null
+++ b/snprc_ehr/resources/schemas/dbscripts/sqlserver/snprc_ehr-25.000-25.001.sql
@@ -0,0 +1,27 @@
+EXEC core.fn_dropifexists @objname = 'SndSuperPackageStaging', @objschema = 'snprc_ehr', @objtype = 'TABLE';
+
+CREATE TABLE snprc_ehr.SndSuperPackageStaging
+(
+ TopLevelPkgId INTEGER NOT NULL,
+ SuperPkgId INTEGER NOT NULL,
+ ParentSuperPkgId INTEGER NULL,
+ PkgId INTEGER NOT NULL,
+ TreePath VARCHAR(800) NOT NULL,
+ SuperPkgPath VARCHAR(MAX) NOT NULL,
+ SortOrder INTEGER NULL,
+ Required INTEGER NULL,
+ Description VARCHAR(MAX) NOT NULL,
+ Narrative VARCHAR(MAX) NOT NULL,
+ Active INTEGER NOT NULL,
+ Repeatable INTEGER NOT NULL,
+ Level INTEGER NOT NULL,
+ Created DATETIME NOT NULL,
+ CreatedBy USERID NOT NULL,
+ Modified DATETIME NOT NULL,
+ ModifiedBy USERID NOT NULL,
+ diModified DATETIME NOT NULL,
+ ObjectId UNIQUEIDENTIFIER NOT NULL
+
+ CONSTRAINT PK_SndSuperPackageStaging PRIMARY KEY CLUSTERED ( TopLevelPkgId, SuperPkgId, TreePath)
+);
+GO
\ No newline at end of file
diff --git a/snprc_ehr/resources/schemas/snprc_ehr.xml b/snprc_ehr/resources/schemas/snprc_ehr.xml
index 2c0946f64..7543d168a 100644
--- a/snprc_ehr/resources/schemas/snprc_ehr.xml
+++ b/snprc_ehr/resources/schemas/snprc_ehr.xml
@@ -2374,7 +2374,7 @@
Super PackageStaging
- TopLevelPkgId, SuperPkgId
+ TopLevelPkgId, SuperPkgId, TreePath
diff --git a/snprc_ehr/resources/source_queries/create_v_MchStatus.sql b/snprc_ehr/resources/source_queries/create_v_MchStatus.sql
index bc55df595..bbda2ff6c 100644
--- a/snprc_ehr/resources/source_queries/create_v_MchStatus.sql
+++ b/snprc_ehr/resources/source_queries/create_v_MchStatus.sql
@@ -44,7 +44,7 @@ SELECT m.[Animal ID] AS id ,
FROM dbo.MhcStatus AS m -- select primates only from the TxBiomed colony
INNER JOIN labkey_etl.V_DEMOGRAPHICS AS d ON d.id = RIGHT(SPACE(6) + m.[Animal ID], 6)
-WHERE [A001 Status] IS NOT NULL AND [B008 Status] IS NOT NULL AND [B017 Status] IS NOT NULL AND [B003 Status] IS NOT NULL
+WHERE [A001 Status] IS NOT NULL OR [B008 Status] IS NOT NULL OR [B017 Status] IS NOT NULL OR [B003 Status] IS NOT NULL
GO
diff --git a/snprc_ehr/resources/source_queries/create_v_charge_account.sql b/snprc_ehr/resources/source_queries/create_v_charge_account.sql
index 1fa67bbee..5df02bfb8 100644
--- a/snprc_ehr/resources/source_queries/create_v_charge_account.sql
+++ b/snprc_ehr/resources/source_queries/create_v_charge_account.sql
@@ -24,6 +24,7 @@ ALTER VIEW [labkey_etl].[v_charge_account] AS
-- 11/11/2016 added modified, modifiedby, created, and createdby columns tjh
-- 10/22/2019 removed distinct clause from valid_charge_by_species join tjh
-- 02/15/2020 Added fallback for missing created & createdBy columns tjh
+ -- 04/23/2026 Removed join on species table and added OUTER APPLY ja
-- ==========================================================================================
@@ -47,7 +48,12 @@ ALTER VIEW [labkey_etl].[v_charge_account] AS
ca.timestamp AS timestamp
FROM dbo.charge_account AS ca
LEFT OUTER JOIN dbo.TAC_COLUMNS AS tc ON tc.object_id = ca.object_id
- LEFT OUTER JOIN dbo.valid_charge_by_species AS vcs ON ca.charge_id = vcs.charge_id
+ OUTER APPLY (
+ SELECT TOP 1 vcs2.charge_id, vcs2.arc_species_code
+ FROM dbo.valid_charge_by_species vcs2
+ WHERE vcs2.charge_id = ca.charge_id
+ ORDER BY vcs2.arc_species_code
+ ) vcs
LEFT OUTER JOIN dbo.prd_cost_account AS pca on pca.account_id = ca.account_id
diff --git a/snprc_ehr/src/org/labkey/snprc_ehr/SNPRC_EHRModule.java b/snprc_ehr/src/org/labkey/snprc_ehr/SNPRC_EHRModule.java
index 682e15a84..b7c410c3c 100644
--- a/snprc_ehr/src/org/labkey/snprc_ehr/SNPRC_EHRModule.java
+++ b/snprc_ehr/src/org/labkey/snprc_ehr/SNPRC_EHRModule.java
@@ -65,6 +65,7 @@
import org.labkey.snprc_ehr.demographics.CurrentDietDemographicsProvider;
import org.labkey.snprc_ehr.demographics.CurrentPedigreeDemographicsProvider;
import org.labkey.snprc_ehr.demographics.DeathsDemographicsProvider;
+import org.labkey.snprc_ehr.demographics.EarliestHousingDemographicsProvider;
import org.labkey.snprc_ehr.demographics.IdHistoryDemographicsProvider;
import org.labkey.snprc_ehr.demographics.LastBcsDemographicsProvider;
import org.labkey.snprc_ehr.demographics.LastHousingDemographicsProvider;
@@ -118,7 +119,7 @@ public String getName()
@Override
public @Nullable Double getSchemaVersion()
{
- return 25.000;
+ return 26.000;
}
@Override
@@ -195,6 +196,9 @@ protected void doStartupAfterSpringConfig(ModuleContext moduleContext)
EHRService.get().registerDemographicsProvider(new LastHousingDemographicsProvider(this));
EHRService.get().registerDemographicsProvider(new LastBcsDemographicsProvider(this));
+ // Commented out until we need to add the EarliestHousing to the snapshot view. tjh
+ //EHRService.get().registerDemographicsProvider(new EarliestHousingDemographicsProvider(this));
+
EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.housing, "Find Animals Housed In A Given Room/Cage At A Specific Time", this, DetailsURL.fromString("/ehr-housingOverlaps.view?groupById=1"), "Commonly Used Queries");
EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.animalSearch, "Population Summary By Species, Gender and Age", this, DetailsURL.fromString("/query-executeQuery.view?schemaName=study&query.queryName=colonyPopulationByAge"), "Other Searches");
EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.animalSearch, "Find Animals Housed At The Center Over A Date Range", this, DetailsURL.fromString("/ehr-housingOverlaps.view?groupById=1"), "Other Searches");
diff --git a/snprc_ehr/src/org/labkey/snprc_ehr/SNPRC_EHRSequencer.java b/snprc_ehr/src/org/labkey/snprc_ehr/SNPRC_EHRSequencer.java
index 47b489813..d315252b7 100644
--- a/snprc_ehr/src/org/labkey/snprc_ehr/SNPRC_EHRSequencer.java
+++ b/snprc_ehr/src/org/labkey/snprc_ehr/SNPRC_EHRSequencer.java
@@ -30,7 +30,8 @@
public enum SNPRC_EHRSequencer
{
- ANIMALID("org.labkey.snprc_ehr.domain.AnimalId", 100);
+ ANIMALID("org.labkey.snprc_ehr.domain.AnimalId", 100),
+ ADMITID("org.labkey.snprc_ehr.domain.AdmitId", 300000);
// "last value assigned" is stored in the table - not the same as CAMP which is the "next value to assign"
// new sequences are added here
// example:
diff --git a/snprc_ehr/src/org/labkey/snprc_ehr/demographics/EarliestHousingDemographicsProvider.java b/snprc_ehr/src/org/labkey/snprc_ehr/demographics/EarliestHousingDemographicsProvider.java
new file mode 100644
index 000000000..ca3dd6e07
--- /dev/null
+++ b/snprc_ehr/src/org/labkey/snprc_ehr/demographics/EarliestHousingDemographicsProvider.java
@@ -0,0 +1,43 @@
+package org.labkey.snprc_ehr.demographics;
+
+import org.labkey.api.ehr.demographics.AbstractListDemographicsProvider;
+import org.labkey.api.module.Module;
+import org.labkey.api.query.FieldKey;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+public class EarliestHousingDemographicsProvider extends AbstractListDemographicsProvider
+
+{
+
+ public EarliestHousingDemographicsProvider(Module owner)
+ {
+ super(owner, "study", "demographicsEarliestHousing", "earliestHousing");
+ _supportsQCState = false;
+ }
+
+ @Override
+ public String getName()
+ {
+ return "Earliest Housing";
+ }
+
+ @Override
+ protected Collection getFieldKeys()
+ {
+ Set keys = new HashSet<>();
+ keys.add(FieldKey.fromString("FirstHousingDate"));
+ keys.add(FieldKey.fromString("FirstHousingRoom"));
+ keys.add(FieldKey.fromString("FirstHousingRoomDescription"));
+
+ return keys;
+ }
+
+ @Override
+ public boolean requiresRecalc(String schema, String query)
+ {
+ return ("study".equalsIgnoreCase(schema) && "Housing".equalsIgnoreCase(query));
+ }
+}
diff --git a/snprc_ehr/src/org/labkey/snprc_ehr/query/SNPRC_EHRTriggerHelper.java b/snprc_ehr/src/org/labkey/snprc_ehr/query/SNPRC_EHRTriggerHelper.java
index 1efec61c1..e47b46555 100644
--- a/snprc_ehr/src/org/labkey/snprc_ehr/query/SNPRC_EHRTriggerHelper.java
+++ b/snprc_ehr/src/org/labkey/snprc_ehr/query/SNPRC_EHRTriggerHelper.java
@@ -40,6 +40,7 @@
import org.labkey.api.security.UserManager;
import org.labkey.api.util.PageFlowUtil;
import org.labkey.snprc_ehr.SNPRC_EHRSchema;
+import org.labkey.snprc_ehr.SNPRC_EHRSequencer;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -222,15 +223,7 @@ public Integer getNextDietCode()
*/
public Integer getNextCaseId()
{
- DbSchema dbStudySchema = SNPRC_EHRSchema.getInstance().getStudySchema();
- SQLFragment sql = new SQLFragment("SELECT MAX(c.caseid) AS MAX_CODE FROM ");
- sql.append(getTableInfo("study", "cases"), "c");
- SqlSelector sqlSelector = new SqlSelector(dbStudySchema, sql);
-
- Integer caseId = sqlSelector.getObject(Integer.class);
-
- // if table has been truncated - reseed the caseid at 1
- return (caseId == null) ? 1 : caseId + 1;
+ return SNPRC_EHRSequencer.ADMITID.getNext(getContainer(), getUser());
}
public Map getExtraContext()
diff --git a/snprc_ehr/src/org/labkey/snprc_ehr/table/SNPRC_EHRCustomizer.java b/snprc_ehr/src/org/labkey/snprc_ehr/table/SNPRC_EHRCustomizer.java
index 8da6ec560..f0c7079ba 100644
--- a/snprc_ehr/src/org/labkey/snprc_ehr/table/SNPRC_EHRCustomizer.java
+++ b/snprc_ehr/src/org/labkey/snprc_ehr/table/SNPRC_EHRCustomizer.java
@@ -45,7 +45,6 @@
import org.labkey.snprc_ehr.SNPRC_EHRSchema;
import org.labkey.snprc_ehr.helpers.CustomizerQueryProvider;
import org.labkey.snprc_ehr.model.CalculatedColumn;
-
import static org.labkey.snprc_ehr.constants.QueryConstants.*;
import java.util.Calendar;
@@ -62,6 +61,7 @@ public class SNPRC_EHRCustomizer extends AbstractTableCustomizer
private Set calculatedColumns;
+
public SNPRC_EHRCustomizer()
{
_provider = new CustomizerQueryProvider();
@@ -123,6 +123,7 @@ public void doSharedCustomization(AbstractTableInfo ti)
{
ti.getMutableColumn("project").setLabel("Charge Id");
}
+
}
public UserSchema getEHRUserSchema(AbstractTableInfo ds, String name)
@@ -161,8 +162,14 @@ public void doTableSpecificCustomizations(AbstractTableInfo ti)
*/
if (matches(ti, "study", "Animal"))
{
+ UserSchema us = getEHRUserSchema(ti, STUDY_SCHEMA);
customizeAnimalTable(ti);
+ var col = getWrappedCol(us, ti, "earliestHousing", "demographicsEarliestHousing", ID_COLUMN, ID_COLUMN);
+ col.setLabel("Housing - Earliest");
+ col.setDescription("The calculates the earliest housing location for each living animal.");
+ ti.addColumn(col);
}
+
if (matches(ti, "study", "Animal Events") || matches(ti, "study", "encounters"))
{
customizeEncounterTable(ti);
@@ -196,6 +203,14 @@ public void doTableSpecificCustomizations(AbstractTableInfo ti)
{
customizeTasks(ti);
}
+
+ // add assignments and age to hl7 pivot tables
+ if (ti.getName().toLowerCase().contains("hl7") && ti.getName().toLowerCase().contains("pivot")) {
+ UserSchema snprc_ehrSchema = getEHRUserSchema(ti, SNPRC_EHRSchema.NAME);
+ appendAssignmentAtTimeColumn(snprc_ehrSchema, ti, DATE_COLUMN);
+ appendAgeAtTimeColumn(snprc_ehrSchema, ti, DATE_COLUMN);
+ }
+
}
/**
@@ -219,6 +234,7 @@ private void addCalculatedColumns(AbstractTableInfo table)
appendAssignmentAtTimeColumn(ehrSchema, table, DATE_COLUMN);
appendAgeAtTimeColumn(ehrSchema, table, DATE_COLUMN);
}
+
}
/**
@@ -444,27 +460,27 @@ private void customizeAnimalTable(AbstractTableInfo ds)
}
if (ds.getColumn("flags") == null)
{
- var col = getWrappedCol(us, ds, "Flags", "demographicsActiveFlags", "Id", "Id");
+ var col = getWrappedCol(us, ds, "Flags", "demographicsActiveFlags", ID_COLUMN, ID_COLUMN);
col.setLabel("ActiveFlags");
col.setURL(DetailsURL.fromString("/query/executeQuery.view?schemaName=ehr_lookups&queryName=flag_values&query.Id~eq=${Id}", ds.getContainerContext()));
ds.addColumn(col);
}
if (ds.getColumn("parents") == null)
{
- var col = getWrappedCol(us, ds, "parents", "demographicsParents", "Id", "Id");
+ var col = getWrappedCol(us, ds, "parents", "demographicsParents", ID_COLUMN, ID_COLUMN);
col.setLabel("Parents");
ds.addColumn(col);
}
if (ds.getColumn("mhcSummary") == null)
{
- var col = getWrappedCol(us, ds, "mhcSummary", "mhcSummary", "Id", "Id");
+ var col = getWrappedCol(us, ds, "mhcSummary", "mhcSummary", ID_COLUMN, ID_COLUMN);
col.setLabel("mhcSummary");
ds.addColumn(col);
}
if (ds.getColumn("totalOffspring") == null)
{
- var col15 = getWrappedCol(us, ds, "totalOffspring", "demographicsTotalOffspring", "Id", "Id");
+ var col15 = getWrappedCol(us, ds, "totalOffspring", "demographicsTotalOffspring", ID_COLUMN, ID_COLUMN);
col15.setLabel("Number of Offspring");
col15.setDescription("Shows the total offspring of each animal");
ds.addColumn(col15);
@@ -472,7 +488,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
if (ds.getColumn("labworkHistory") == null)
{
- var col = getWrappedCol(us, ds, "labworkHistory", "demographicsLabwork", "Id", "Id");
+ var col = getWrappedCol(us, ds, "labworkHistory", "demographicsLabwork", ID_COLUMN, ID_COLUMN);
col.setLabel("Labwork History");
col.setDescription("Shows the date of last labwork for a subsets of tests");
ds.addColumn(col);
@@ -481,7 +497,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
//do we have freezer samples?
if (ds.getColumn("freezerSamples") == null)
{
- var col = getWrappedCol(us, ds, "freezerSamples", "demographicsFreezers", "Id", "Id");
+ var col = getWrappedCol(us, ds, "freezerSamples", "demographicsFreezers", ID_COLUMN, ID_COLUMN);
col.setLabel("Freezer Samples");
col.setDescription("Shows the number of archived freezer samples");
col.setURL(DetailsURL.fromString("/query/executeQuery.view?schemaName=study&queryName=freezerWorks&query.Id~eq=${Id}", ds.getContainerContext()));
@@ -489,7 +505,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
}
if (ds.getColumn("idHistoryList") == null)
{
- var col = getWrappedCol(us, ds, "idHistoryList", "demographicsIdHistory", "Id", "Id");
+ var col = getWrappedCol(us, ds, "idHistoryList", "demographicsIdHistory", ID_COLUMN, ID_COLUMN);
col.setLabel("Id Hx List");
col.setDescription("List of Ids assigned to animal");
col.setURL(DetailsURL.fromString("/query/executeQuery.view?schemaName=study&queryName=idHistory&query.Id~eq=${Id}", ds.getContainerContext()));
@@ -498,7 +514,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
if (ds.getColumn("activeAccounts") == null)
{
- var col = getWrappedCol(us, ds, "activeAccounts", "demographicsActiveAccount", "Id", "Id");
+ var col = getWrappedCol(us, ds, "activeAccounts", "demographicsActiveAccount", ID_COLUMN, ID_COLUMN);
col.setLabel("Accounts - Active");
col.setDescription("Shows all accounts to which the animal is actively assigned on the current date");
ds.addColumn(col);
@@ -506,7 +522,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
if (ds.getColumn("packageCategory") == null)
{
- var col = getWrappedCol(us, ds, "packageCategory", "demographicsPackageCategories", "Id", "Id");
+ var col = getWrappedCol(us, ds, "packageCategory", "demographicsPackageCategories", ID_COLUMN, ID_COLUMN);
col.setLabel("Package Category");
col.setDescription("Shows the package category for procedures");
ds.addColumn(col);
@@ -514,7 +530,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
if (ds.getColumn("activeAssignments") == null)
{
- var col = getWrappedCol(us, ds, "activeAssignments", "demographicsActiveAssignment", "Id", "Id");
+ var col = getWrappedCol(us, ds, "activeAssignments", "demographicsActiveAssignment", ID_COLUMN, ID_COLUMN);
col.setLabel("IACUC Assignments - Active");
col.setDescription("Shows all protocols to which the animal is actively assigned on the current date");
ds.addColumn(col);
@@ -522,7 +538,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
if (ds.getColumn("activeGroups") == null)
{
- var col = getWrappedCol(us, ds, "activeGroups", "demographicsAnimalGroups", "Id", "Id");
+ var col = getWrappedCol(us, ds, "activeGroups", "demographicsAnimalGroups", ID_COLUMN, ID_COLUMN);
col.setLabel("Animal Groups - Active");
col.setDescription("Shows all groups to which the animal is actively assigned on the current date");
ds.addColumn(col);
@@ -530,14 +546,14 @@ private void customizeAnimalTable(AbstractTableInfo ds)
if (ds.getColumn("MostRecentTBDate") == null)
{
- var col = getWrappedCol(us, ds, "MostRecentTBDate", "demographicsMostRecentTBDate", "Id", "Id");
+ var col = getWrappedCol(us, ds, "MostRecentTBDate", "demographicsMostRecentTBDate", ID_COLUMN, ID_COLUMN);
col.setLabel("Most Recent TB");
col.setDescription("Queries the most recent TB date for the animal.");
ds.addColumn(col);
}
if (ds.getColumn("LastBCS") == null)
{
- var col = getWrappedCol(us, ds, "LastBCS", "demographicsLastBCS", "Id", "Id");
+ var col = getWrappedCol(us, ds, "LastBCS", "demographicsLastBCS", ID_COLUMN, ID_COLUMN);
col.setLabel("Most Recent BCS");
col.setDescription("Queries the most recent BCS value for the animal.");
ds.addColumn(col);
@@ -546,7 +562,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
// Change label and description 8/31/2017 tjh
if (ds.getColumn("MostRecentArrival") != null)
{
- var col = getWrappedCol(us, ds, "MostRecentArrival", "demographicsArrival", "Id", "Id");
+ var col = getWrappedCol(us, ds, "MostRecentArrival", "demographicsArrival", ID_COLUMN, ID_COLUMN);
ds.removeColumn(col);
col.setLabel("Acquisition");
col.setDescription("Calculates the earliest and most recent acquisition per animal.");
@@ -556,7 +572,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
// Change label and description 8/31/2017 tjh
if (ds.getColumn("MostRecentDeparture") != null)
{
- var col = getWrappedCol(us, ds, "MostRecentDeparture", "demographicsMostRecentDeparture", "Id", "Id");
+ var col = getWrappedCol(us, ds, "MostRecentDeparture", "demographicsMostRecentDeparture", ID_COLUMN, ID_COLUMN);
ds.removeColumn(col);
col.setLabel("Disposition");
col.setDescription("Calculates the earliest and most recent departure per animal, if applicable, and most recent acquisition.");
@@ -568,7 +584,7 @@ private void customizeAnimalTable(AbstractTableInfo ds)
{
if (ds.getColumn("GenDemoCustomizer") == null)
{
- var col = getWrappedCol(us, ds, "GenDemoCustomizer", "GenDemoCustomizer", "Id", "Id");
+ var col = getWrappedCol(us, ds, "GenDemoCustomizer", "GenDemoCustomizer", ID_COLUMN, ID_COLUMN);
col.setLabel("Genetic Assays");
col.setDescription("Show if genetic assays exist for ID");
ds.addColumn(col);
diff --git a/snprc_ehr/test/src/org/labkey/test/tests/snprc_ehr/SNPRC_EHRTest.java b/snprc_ehr/test/src/org/labkey/test/tests/snprc_ehr/SNPRC_EHRTest.java
index a721330e2..5b106e7c3 100644
--- a/snprc_ehr/test/src/org/labkey/test/tests/snprc_ehr/SNPRC_EHRTest.java
+++ b/snprc_ehr/test/src/org/labkey/test/tests/snprc_ehr/SNPRC_EHRTest.java
@@ -447,7 +447,10 @@ public void testFileRepository()
waitForElement(Ext4Helper.Locators.ext4Button("Create Folders"));
click(Ext4Helper.Locators.ext4Button("Create Folders"));
- waitForText("Anesthesia Reports", "Cardiology Docs", "Dental Records", "Images", "Lab Reports", "Misc Docs", "Pathology Reports", "Procurement Docs", "Radiology Reports", "Surgery Sheets");
+ waitForTextToDisappear("No directory found for this animal. To upload files, you must create the folders first.");
+ waitForTextToDisappear("Loading...");
+ waitForText(WAIT_FOR_PAGE * 2, "Anesthesia Reports");
+ assertTextPresent("Anesthesia Reports", "Cardiology Docs", "Dental Records", "Images", "Lab Reports", "Misc Docs", "Pathology Reports", "Procurement Docs", "Radiology Reports", "Surgery Sheets");
}
diff --git a/snprc_r24/src/org/labkey/snprc_r24/snprc_r24Module.java b/snprc_r24/src/org/labkey/snprc_r24/snprc_r24Module.java
index 11b47dd65..2ecdd7c10 100644
--- a/snprc_r24/src/org/labkey/snprc_r24/snprc_r24Module.java
+++ b/snprc_r24/src/org/labkey/snprc_r24/snprc_r24Module.java
@@ -46,7 +46,7 @@ public String getName()
@Override
public @Nullable Double getSchemaVersion()
{
- return 25.000;
+ return 26.000;
}
@Override
diff --git a/snprc_scheduler/.babelrc b/snprc_scheduler/.babelrc
deleted file mode 100644
index 43448556a..000000000
--- a/snprc_scheduler/.babelrc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "presets": [ "@babel/preset-env", "@babel/preset-react" ],
- "plugins": [ "@babel/plugin-transform-class-properties" ]
- }
\ No newline at end of file
diff --git a/snprc_scheduler/api-src/org/labkey/api/snprc_scheduler/SNPRC_schedulerService.java b/snprc_scheduler/api-src/org/labkey/api/snprc_scheduler/SNPRC_schedulerService.java
index 035846843..ec3eb7f42 100644
--- a/snprc_scheduler/api-src/org/labkey/api/snprc_scheduler/SNPRC_schedulerService.java
+++ b/snprc_scheduler/api-src/org/labkey/api/snprc_scheduler/SNPRC_schedulerService.java
@@ -27,7 +27,7 @@ static SNPRC_schedulerService get()
}
List getActiveTimelines(Container c, User u, String ProjectObjectId, BatchValidationException errors);
- List getScheduledTimelinesForSpecies(Container c, User u, String species, Date date, BatchValidationException errors);
+ List getScheduledTimelinesForSpecies(Container c, User u, String species, Date date, String qcState, BatchValidationException errors);
List