From 5dd9eb767914d28a1e4b0020694e43b62f79d360 Mon Sep 17 00:00:00 2001 From: Marty Pradere Date: Tue, 23 Dec 2025 07:13:39 -0800 Subject: [PATCH] Acq Report --- .../queries/study/AcquisitionReport.sql | 9 + .../study/AcquisitionReportBySpecies.sql | 13 ++ .../study/CurrentProtocolProjectReport.sql | 12 + .../study/activeProjectsFromHousing.sql | 5 + .../resources/views/acquisitionReport.html | 217 ++++++++++++++++++ .../views/acquisitionReport.view.xml | 6 + .../org/labkey/nirc_ehr/NIRC_EHRModule.java | 1 + 7 files changed, 263 insertions(+) create mode 100644 nirc_ehr/resources/queries/study/AcquisitionReport.sql create mode 100644 nirc_ehr/resources/queries/study/AcquisitionReportBySpecies.sql create mode 100644 nirc_ehr/resources/queries/study/CurrentProtocolProjectReport.sql create mode 100644 nirc_ehr/resources/queries/study/activeProjectsFromHousing.sql create mode 100644 nirc_ehr/resources/views/acquisitionReport.html create mode 100644 nirc_ehr/resources/views/acquisitionReport.view.xml diff --git a/nirc_ehr/resources/queries/study/AcquisitionReport.sql b/nirc_ehr/resources/queries/study/AcquisitionReport.sql new file mode 100644 index 00000000..52bbfd2b --- /dev/null +++ b/nirc_ehr/resources/queries/study/AcquisitionReport.sql @@ -0,0 +1,9 @@ +SELECT d.Id, + d.gender, + d.species, + d.Birth, + d.Id.MostRecentArrival.Center_Arrival, + cpp.project +FROM study.demographics d + LEFT JOIN CurrentProtocolProjectReport cpp ON cpp.Id = d.Id +ORDER BY d.Id ASC \ No newline at end of file diff --git a/nirc_ehr/resources/queries/study/AcquisitionReportBySpecies.sql b/nirc_ehr/resources/queries/study/AcquisitionReportBySpecies.sql new file mode 100644 index 00000000..5fbe7a7d --- /dev/null +++ b/nirc_ehr/resources/queries/study/AcquisitionReportBySpecies.sql @@ -0,0 +1,13 @@ +PARAMETERS(StartDate TIMESTAMP, EndDate TIMESTAMP, Project VARCHAR) + +SELECT s.species, s.project, s.speciesName, COUNT(*) as Total FROM + ( + SELECT + species, + species.scientific_name AS speciesName, + Center_Arrival, + project + FROM study.AcquisitionReport ar + WHERE CAST(COALESCE(StartDate, '1900-01-01') as date) <= ar.Center_Arrival AND CAST(COALESCE(EndDate, curdate()) as date) >= CAST(ar.Center_Arrival as date) AND Project = ar.project + ) s +GROUP BY s.species, s.project, s.speciesName \ No newline at end of file diff --git a/nirc_ehr/resources/queries/study/CurrentProtocolProjectReport.sql b/nirc_ehr/resources/queries/study/CurrentProtocolProjectReport.sql new file mode 100644 index 00000000..ff4c24ce --- /dev/null +++ b/nirc_ehr/resources/queries/study/CurrentProtocolProjectReport.sql @@ -0,0 +1,12 @@ + +SELECT DISTINCT Id, protocol.title as protocol, project FROM + ( + SELECT DISTINCT d.Id, + a.project.name as project, a.enddate AS projectenddate, + pa.protocol, pa.enddate AS protocolenddate + FROM study.demographics d + JOIN study.assignment a ON a.Id = d.Id + JOIN study.protocolAssignment pa ON pa.Id = d.Id + WHERE a.enddate IS NULL + ) sub +WHERE sub.protocolenddate IS NULL \ No newline at end of file diff --git a/nirc_ehr/resources/queries/study/activeProjectsFromHousing.sql b/nirc_ehr/resources/queries/study/activeProjectsFromHousing.sql new file mode 100644 index 00000000..3387bce9 --- /dev/null +++ b/nirc_ehr/resources/queries/study/activeProjectsFromHousing.sql @@ -0,0 +1,5 @@ +SELECT + Id.activeProjectAssignments.project, + COUNT(*) as Total +FROM housing +GROUP BY Id.activeProjectAssignments.project \ No newline at end of file diff --git a/nirc_ehr/resources/views/acquisitionReport.html b/nirc_ehr/resources/views/acquisitionReport.html new file mode 100644 index 00000000..8834f92b --- /dev/null +++ b/nirc_ehr/resources/views/acquisitionReport.html @@ -0,0 +1,217 @@ + + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ +
+
+
+ + diff --git a/nirc_ehr/resources/views/acquisitionReport.view.xml b/nirc_ehr/resources/views/acquisitionReport.view.xml new file mode 100644 index 00000000..bbbab5f4 --- /dev/null +++ b/nirc_ehr/resources/views/acquisitionReport.view.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/nirc_ehr/src/org/labkey/nirc_ehr/NIRC_EHRModule.java b/nirc_ehr/src/org/labkey/nirc_ehr/NIRC_EHRModule.java index 2e6b4f86..36fb4b67 100644 --- a/nirc_ehr/src/org/labkey/nirc_ehr/NIRC_EHRModule.java +++ b/nirc_ehr/src/org/labkey/nirc_ehr/NIRC_EHRModule.java @@ -190,6 +190,7 @@ protected void doStartupAfterSpringConfig(ModuleContext moduleContext) NotificationService.get().registerNotification(new NIRCPregnancyOutcomeNotification(this)); EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.moreReports, "Printable Necropsy Report", this, DetailsURL.fromString("/nirc_ehr-necropsy.view"), "Pathology"); + EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.moreReports, "Acquisition Report", this, DetailsURL.fromString("/nirc_ehr-acquisitionReport.view"), "Population Overview"); // Ensure N: is mounted if it's configured, as it's being mapped in via a symlink/shortcut, so we can't