Skip to content

Commit 15d612e

Browse files
Adding T cruzi reports (#360)
* Adding reports for T Cruzi new positives and T Cruzi summary Added new surveillance section of More reports srr * Working To Add to new fb Adding reports for T Cruzi new positives and T Cruzi summary Added new surveillance section of More reports srr * Adding reports for T Cruzi new positives and T Cruzi summary Added new surveillance section of More reports srr
1 parent e6d27d0 commit 15d612e

3 files changed

Lines changed: 164 additions & 0 deletions

File tree

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
/**************************************************************
2+
Sourced from ReportTcruziPositiveSummary
3+
Purpose is to report all summary data on T. cruzi tests.
4+
5+
Changed to CASE to report single value for result (i.e. combining seroPos and Positive)
6+
Runs as expected in SQLdbx.
7+
srr 04.16.2021
8+
Added IND and INDETERMINATE
9+
to results CASE
10+
srr 04.20.21
11+
12+
Dr. Elmore request
13+
This report is for positive only, therefore restricting
14+
in each subquery and not the unioned result. Did not remove
15+
negative or indeterminate from case, but will never be used.
16+
Hope is to one day drive all TC reports from same SQL.
17+
No longer reporting NumTests. Purpose of this report is to
18+
only report first positive.
19+
srr 04.23.21
20+
**************************************************************/
21+
22+
SELECT d.SpeciesCode AS Species, d.CurrentLocation,d.id, d.status, d.result AS "T cruzi result",
23+
min(d.TestDate) AS FirstDate /*, count(*) AS NumTests*/
24+
FROM
25+
(SELECT 'LabResults',
26+
b.id.demographics.species.arc_species_code.code AS SpeciesCode,
27+
b.id.curlocation.Room AS CurrentLocation,
28+
b.id,
29+
b.id.demographics.calculated_status AS status,
30+
b.date AS TestDate,
31+
b.runId.serviceRequested as panelName,
32+
b.serviceTestId.testName AS TestName,
33+
coalesce(b.runId, b.objectid) as runId,
34+
/*b.resultoorindicator,*/
35+
CASE b.qualresult
36+
WHEN 'NEGATIVE' THEN 'NEGATIVE'
37+
WHEN 'SERONEG' THEN 'NEGATIVE'
38+
WHEN 'POSITIVE' THEN 'POSITIVE'
39+
WHEN 'SEROPOS' THEN 'POSITIVE'
40+
WHEN 'IND' THEN 'INDETERMINATE'
41+
WHEN 'INDETERMINATE' THEN 'INDETERMINATE'
42+
END AS result
43+
FROM study.labworkResults b
44+
WHERE b.serviceTestId.includeInPanel = true and b.qcstate.publicdata = true and b.serviceTestid.ServiceId.Dataset = 'Surveillance'
45+
AND b.serviceTestId.testName LIKE '%CRUZI%'
46+
AND b.qualresult IN ('SEROPOS','POSITIVE')
47+
-- AND b.id.demographics.calculated_status = 'Alive'
48+
union
49+
50+
SELECT 'AssayResults',
51+
b.id.demographics.species.arc_species_code.code AS SpeciesCode,
52+
b.id.curlocation.Room AS CurrentLocation,
53+
b.id,
54+
b.id.demographics.calculated_status AS status,
55+
b.date AS TestDate,
56+
b.runId.serviceRequested as panelName,
57+
b.serviceTestId.testName AS TestName,
58+
coalesce(b.runId, b.objectid) as runId,
59+
/*b.resultoorindicator,*/
60+
CASE b.qualresult
61+
WHEN 'NEGATIVE' THEN 'NEGATIVE'
62+
WHEN 'SERONEG' THEN 'NEGATIVE'
63+
WHEN 'POSITIVE' THEN 'POSITIVE'
64+
WHEN 'SEROPOS' THEN 'POSITIVE'
65+
WHEN 'IND' THEN 'INDETERMINATE'
66+
WHEN 'INDETERMINATE' THEN 'INDETERMINATE'
67+
END AS result
68+
69+
FROM study.assay_labworkResults b
70+
WHERE b.serviceTestId.includeInPanel = true and b.qcstate.publicdata = true and b.serviceTestid.ServiceId.Dataset = 'Surveillance'
71+
AND b.serviceTestId.testName LIKE '%CRUZI%'
72+
AND b.qualresult IN ('SEROPOS','POSITIVE')
73+
--AND b.id.demographics.calculated_status = 'Alive'
74+
) AS d
75+
--WHERE result IN ('SEROPOS','POSITIVE')
76+
77+
/* d.SpeciesCode AS Species,d.CurrentLocation,d.id, d.status,'T cruzi', d.result*/
78+
GROUP BY d.SpeciesCode,d.CurrentLocation, d.id,d.status, d.result
79+
/* Look at last 12 month per Dr. Elmore */
80+
HAVING min(d.TestDate) > timestampadd('SQL_TSI_MONTH', -12, now())
81+
AND d.result = 'POSITIVE'
82+
ORDER BY min(d.TestDate) desc --, min(d.TestDate)
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
2+
/**************************************************************
3+
Sourced from ReportTcruziPositiveSummary
4+
Purpose is to report all summary data on T. cruzi tests.
5+
6+
Changed to CASE to report single value for result (i.e. combining seroPos and Positive)
7+
Runs as expected in SQLdbx.
8+
srr 04.16.2021
9+
Added IND and INDETERMINATE
10+
to results CASE
11+
srr 04.20.21
12+
13+
This report is for positive only, therefore restricting
14+
in each subquery and not the unioned result. Did not remove
15+
negative or indeterminate from case, but will never be used.
16+
Hope is to one day drive all TC reports from same SQL.
17+
No longer reporting NumTests. Purpose of this report is to
18+
only report first positive.
19+
srr 04.23.21
20+
**************************************************************/
21+
22+
SELECT d.SpeciesCode AS Species, d.CurrentLocation,d.id, d.status, d.result AS "T cruzi result",
23+
min(d.TestDate) AS MinDate,max(d.TestDate) AS MaxDate, count(*) TestCount
24+
FROM
25+
(SELECT 'LabResults',
26+
b.id.demographics.species.arc_species_code.code AS SpeciesCode,
27+
b.id.curlocation.Room AS CurrentLocation,
28+
b.id,
29+
b.id.demographics.calculated_status AS status,
30+
b.date AS TestDate,
31+
b.runId.serviceRequested as panelName,
32+
b.serviceTestId.testName AS TestName,
33+
coalesce(b.runId, b.objectid) as runId,
34+
/*b.resultoorindicator,*/
35+
CASE b.qualresult
36+
WHEN 'NEGATIVE' THEN 'NEGATIVE'
37+
WHEN 'SERONEG' THEN 'NEGATIVE'
38+
WHEN 'POSITIVE' THEN 'POSITIVE'
39+
WHEN 'SEROPOS' THEN 'POSITIVE'
40+
WHEN 'IND' THEN 'INDETERMINATE'
41+
WHEN 'INDETERMINATE' THEN 'INDETERMINATE'
42+
END AS result
43+
FROM study.labworkResults b
44+
WHERE b.serviceTestId.includeInPanel = true and b.qcstate.publicdata = true and b.serviceTestid.ServiceId.Dataset = 'Surveillance'
45+
AND b.serviceTestId.testName LIKE '%CRUZI%'
46+
AND b.qualresult IN ('SEROPOS','POSITIVE')
47+
-- AND b.id.demographics.calculated_status = 'Alive'
48+
union
49+
50+
SELECT 'AssayResults',
51+
b.id.demographics.species.arc_species_code.code AS SpeciesCode,
52+
b.id.curlocation.Room AS CurrentLocation,
53+
b.id,
54+
b.id.demographics.calculated_status AS status,
55+
b.date AS TestDate,
56+
b.runId.serviceRequested as panelName,
57+
b.serviceTestId.testName AS TestName,
58+
coalesce(b.runId, b.objectid) as runId,
59+
/*b.resultoorindicator,*/
60+
CASE b.qualresult
61+
WHEN 'NEGATIVE' THEN 'NEGATIVE'
62+
WHEN 'SERONEG' THEN 'NEGATIVE'
63+
WHEN 'POSITIVE' THEN 'POSITIVE'
64+
WHEN 'SEROPOS' THEN 'POSITIVE'
65+
WHEN 'IND' THEN 'INDETERMINATE'
66+
WHEN 'INDETERMINATE' THEN 'INDETERMINATE'
67+
END AS result
68+
69+
FROM study.assay_labworkResults b
70+
WHERE b.serviceTestId.includeInPanel = true and b.qcstate.publicdata = true and b.serviceTestid.ServiceId.Dataset = 'Surveillance'
71+
AND b.serviceTestId.testName LIKE '%CRUZI%'
72+
AND b.qualresult IN ('SEROPOS','POSITIVE')
73+
--AND b.id.demographics.calculated_status = 'Alive'
74+
) AS d
75+
--WHERE result IN ('SEROPOS','POSITIVE')
76+
77+
/* d.SpeciesCode AS Species,d.CurrentLocation,d.id, d.status,'T cruzi', d.result*/
78+
GROUP BY d.SpeciesCode,d.CurrentLocation, d.id,d.status, d.result
79+
80+
ORDER BY min(d.TestDate) desc --, min(d.TestDate)

snprc_ehr/src/org/labkey/snprc_ehr/SNPRC_EHRModule.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,8 @@ protected void doStartupAfterSpringConfig(ModuleContext moduleContext)
217217
EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.moreReports, "Search Apath History", this, DetailsURL.fromString("/query/executeQuery.view?schemaName=study&query.queryName=apathHistoryReport"), "Pathololgy");
218218
EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.moreReports, "Overall Behavior Report", this, DetailsURL.fromString("/query/executeQuery.view?schemaName=study&query.queryName=BehaviorReport"), "Behavior");
219219
EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.moreReports, "Birth Record Report", this, DetailsURL.fromString("/snprc_ehr/BirthReport.view?"), "Colony Management");
220+
EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.moreReports, "T cruzi New Positives Report",this,DetailsURL.fromString("/query/executeQuery.view?schemaName=snprc_ehr&query.queryName=ReportTcruziNewPositives"),"Surveillance");
221+
EHRService.get().registerReportLink(EHRService.REPORT_LINK_TYPE.moreReports, "T cruzi Summary Report",this,DetailsURL.fromString("/query/executeQuery.view?schemaName=snprc_ehr&query.queryName=ReportTcruziSummaryAll"),"Surveillance");
220222

221223
// Add the current date to the chimp observation report
222224
SimpleDateFormat format = new SimpleDateFormat("MM-dd-yyyy");

0 commit comments

Comments
 (0)