From 8162f52e3886f8aa40eb5e01b6f8e9ce750f19a6 Mon Sep 17 00:00:00 2001 From: Ohsudev <76500320+Ohsudev@users.noreply.github.com> Date: Tue, 19 Nov 2024 09:58:20 -0800 Subject: [PATCH] Modified Compliance query to remove sql reusltset errors (#1169) * Modified Compliance query to remove sql reusltset errors * Modified Compliance Overdue/Soon report the slower version. * Modified Compliance Overdue/Soon report the slower version. * Modified Compliance Overdue/Soon report the slower version. * Modified Compliance Overdue/Soon report the slower version. * Modified Compliance Overdue/Soon report the slower version. * Modified Compliance OVerdue/Soon reports sql program. * Modified Compliance OVerdue/Soon reports sql program. * Modified Compliance OVerdue/Soon reports sql program. * Modified Compliance OVerdue/Soon reports sql program. --- .../ComplianceProcedureRecentTests.query.xml | 2 +- .../ComplianceProcedureRecentTests.sql | 16 ++++++++++------ .../EHR_ComplianceDB/ComplianceRecentTests.sql | 10 +++++++--- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceProcedureRecentTests.query.xml b/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceProcedureRecentTests.query.xml index e07f0384d..43b1f7031 100644 --- a/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceProcedureRecentTests.query.xml +++ b/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceProcedureRecentTests.query.xml @@ -2,7 +2,7 @@ - Employee Procedure Requirement Summary + Employee Requirement Summary Employee ID diff --git a/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceProcedureRecentTests.sql b/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceProcedureRecentTests.sql index 36642fc48..795082a50 100644 --- a/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceProcedureRecentTests.sql +++ b/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceProcedureRecentTests.sql @@ -8,7 +8,7 @@ -- Training that was completed by an employee and being recorded as completed as a Unit or Category select b.requirementname, a.employeeid, - group_concat(distinct b.unit,chr(10)) as unit, + group_concat(distinct a.unit,chr(10)) as unit, group_concat(distinct a.category,chr(10)) as category, group_concat(distinct b.trackingflag) as trackingflag, @@ -24,14 +24,14 @@ select b.requirementname, (Select group_concat(distinct yy.comment, chr(10)) from completiondates yy where yy.date in (select max(zz.date) from completiondates zz where zz.requirementname= b.requirementname and zz.employeeid= a.employeeid ) And yy.requirementname= b.requirementname and yy.employeeid= a.employeeid ) as comment, - (Select yy.snooze_date from completiondates yy where yy.snooze_date in (select max(zz.snooze_date) from completiondates zz where zz.requirementname= b.requirementname and zz.employeeid= a.employeeid ) + (Select group_concat(distinct yy.snooze_date , chr(10)) from completiondates yy where yy.date in (select max(zz.date) from completiondates zz where zz.requirementname= b.requirementname and zz.employeeid= a.employeeid ) And yy.requirementname= b.requirementname and yy.employeeid= a.employeeid ) as snooze_date, CAST( CASE WHEN (select max(st.date) from completiondates st where st.requirementname = b.requirementname and st.employeeid = a.employeeid ) IS NULL then 0 - WHEN ( select (tt.expireperiod) from ehr_compliancedb.requirements tt, ehr_compliancedb.completiondates pq where tt.requirementname = b.requirementname and pq.requirementname = tt.requirementname and pq.employeeid = a.employeeid group by tt.expireperiod ) = 0 then Null + WHEN ( select (tt.expireperiod) from ehr_compliancedb.requirements tt where tt.requirementname = b.requirementname group by tt.expireperiod ) = 0 then Null WHEN ( select count(*) from ehr_compliancedb.requirements tt, ehr_compliancedb.completiondates pq where tt.requirementname = b.requirementname and pq.requirementname = tt.requirementname and pq.employeeid = a.employeeid group by tt.expireperiod, tt.reviewdate @@ -53,7 +53,9 @@ from employeeperunit a ,requirementspercategory b where ( a.unit = b.unit or a.category = b.category ) And b.requirementname not in (select distinct t.requirementname from ehr_compliancedb.employeerequirementexemptions t Where a.employeeid = t.employeeid And b.requirementname = t.requirementname) - And a.employeeid in (select p.employeeid from ehr_compliancedb.employees p where p.enddate is null) + And b.requirementname in ( select k.requirementname from ehr_compliancedb.requirements k where k.datedisabled is null) + + And a.employeeid in (select p.employeeid from ehr_compliancedb.employees p where p.enddate is null) @@ -82,13 +84,13 @@ select a.requirementname, (Select group_concat(distinct yy.comment, chr(10)) from completiondates yy where yy.date in (select max(zz.date) from completiondates zz where zz.requirementname= a.requirementname and zz.employeeid= a.employeeid ) And yy.requirementname= a.requirementname and yy.employeeid= a.employeeid ) as comment, - (Select yy.snooze_date from completiondates yy where yy.snooze_date in (select max(zz.snooze_date) from completiondates zz where zz.requirementname= a.requirementname and zz.employeeid= a.employeeid ) + (Select group_concat(distinct yy.snooze_date , chr(10)) from completiondates yy where yy.date in (select max(zz.date) from completiondates zz where zz.requirementname= a.requirementname and zz.employeeid= a.employeeid ) And yy.requirementname= a.requirementname and yy.employeeid= a.employeeid ) as snooze_date, CAST( CASE WHEN (select max(st.date) from completiondates st where st.requirementname = a.requirementname and st.employeeid = a.employeeid ) IS NULL then 0 - WHEN ( select (tt.expireperiod) from ehr_compliancedb.requirements tt, ehr_compliancedb.completiondates pq where tt.requirementname = a.requirementname and pq.requirementname = tt.requirementname and pq.employeeid = a.employeeid group by tt.expireperiod ) = 0 then Null + WHEN ( select (tt.expireperiod) from ehr_compliancedb.requirements tt where tt.requirementname = a.requirementname group by tt.expireperiod ) = 0 then Null WHEN ( select count(*) from ehr_compliancedb.requirements tt, ehr_compliancedb.completiondates pq where tt.requirementname = a.requirementname and pq.requirementname = tt.requirementname and pq.employeeid = a.employeeid group by tt.expireperiod, tt.reviewdate @@ -111,6 +113,7 @@ where a.requirementname not in (select distinct h.requirementname from ehr_compl And a.requirementname not in (select distinct t.requirementname from ehr_compliancedb.employeerequirementexemptions t Where a.employeeid = t.employeeid And a.requirementname = t.requirementname) And a.employeeid in (select p.employeeid from ehr_compliancedb.employees p where p.enddate is null) + And a.requirementname in ( select k.requirementname from ehr_compliancedb.requirements k where k.requirementname = a.requirementname And k.datedisabled is null) group by a.requirementname,a.employeeid @@ -135,6 +138,7 @@ from ehr_compliancedb.RequirementsPerEmployee j Where j.requirementname not in (select z.requirementname from ehr_compliancedb.completiondates z where z.requirementname = j.requirementname and z.employeeid = j.employeeid and z.date is not null) And j.employeeid in (select p.employeeid from ehr_compliancedb.employees p where p.enddate is null) + And j.requirementname in ( select k.requirementname from ehr_compliancedb.requirements k where k.requirementname = j.requirementname And k.datedisabled is null) group by j.requirementname,j.employeeid diff --git a/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceRecentTests.sql b/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceRecentTests.sql index 661b26fbe..e20555134 100644 --- a/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceRecentTests.sql +++ b/ONPRC_EHR_ComplianceDB/resources/queries/EHR_ComplianceDB/ComplianceRecentTests.sql @@ -8,7 +8,7 @@ -- Training that was completed by an employee and being recorded as completed as a Unit or Category select b.requirementname, a.employeeid, - group_concat(distinct b.unit,chr(10)) as unit, + group_concat(distinct a.unit,chr(10)) as unit, group_concat(distinct a.category,chr(10)) as category, group_concat(distinct b.trackingflag) as trackingflag, @@ -27,7 +27,7 @@ select b.requirementname, CAST( CASE WHEN (select max(st.date) from completiondates st where st.requirementname = b.requirementname and st.employeeid = a.employeeid ) IS NULL then 0 - WHEN ( select (tt.expireperiod) from ehr_compliancedb.requirements tt, ehr_compliancedb.completiondates pq where tt.requirementname = b.requirementname and pq.requirementname = tt.requirementname and pq.employeeid = a.employeeid group by tt.expireperiod ) = 0 then Null + WHEN ( select (tt.expireperiod) from ehr_compliancedb.requirements tt where tt.requirementname = b.requirementname group by tt.expireperiod ) = 0 then Null WHEN ( select count(*) from ehr_compliancedb.requirements tt, ehr_compliancedb.completiondates pq where tt.requirementname = b.requirementname and pq.requirementname = tt.requirementname and pq.employeeid = a.employeeid group by tt.expireperiod, tt.reviewdate @@ -48,6 +48,7 @@ where ( a.unit = b.unit or a.category = b.category ) And b.requirementname not in (select distinct t.requirementname from ehr_compliancedb.employeerequirementexemptions t Where a.employeeid = t.employeeid And b.requirementname = t.requirementname) And a.employeeid in (select p.employeeid from ehr_compliancedb.employees p where p.enddate is null) + And b.requirementname in ( select k.requirementname from ehr_compliancedb.requirements k where k.requirementname = b.requirementname And k.datedisabled is null) group by b.requirementname,a.employeeid @@ -80,7 +81,7 @@ select a.requirementname, CAST( CASE WHEN (select max(st.date) from completiondates st where st.requirementname = a.requirementname and st.employeeid = a.employeeid ) IS NULL then 0 - WHEN ( select (tt.expireperiod) from ehr_compliancedb.requirements tt, ehr_compliancedb.completiondates pq where tt.requirementname = a.requirementname and pq.requirementname = tt.requirementname and pq.employeeid = a.employeeid group by tt.expireperiod ) = 0 then Null + WHEN ( select (tt.expireperiod) from ehr_compliancedb.requirements tt where tt.requirementname = a.requirementname group by tt.expireperiod ) = 0 then Null WHEN ( select count(*) from ehr_compliancedb.requirements tt, ehr_compliancedb.completiondates pq where tt.requirementname = a.requirementname and pq.requirementname = tt.requirementname and pq.employeeid = a.employeeid group by tt.expireperiod, tt.reviewdate @@ -102,6 +103,7 @@ where a.requirementname not in (select distinct h.requirementname from ehr_compl And a.requirementname not in (select distinct t.requirementname from ehr_compliancedb.employeerequirementexemptions t Where a.employeeid = t.employeeid And a.requirementname = t.requirementname) And a.employeeid in (select p.employeeid from ehr_compliancedb.employees p where p.enddate is null) + And a.requirementname in ( select k.requirementname from ehr_compliancedb.requirements k where k.requirementname = a.requirementname And k.datedisabled is null) group by a.requirementname,a.employeeid @@ -130,6 +132,7 @@ from ehr_compliancedb.employeerequirementexemptions j Where j.requirementname in (select z.requirementname from ehr_compliancedb.completiondates z where z.requirementname = j.requirementname and z.employeeid = j.employeeid and z.date is not null) And j.employeeid in (select p.employeeid from ehr_compliancedb.employees p where p.enddate is null) + And j.requirementname in ( select k.requirementname from ehr_compliancedb.requirements k where k.requirementname = j.requirementname And k.datedisabled is null) group by j.requirementname,j.employeeid @@ -154,6 +157,7 @@ from ehr_compliancedb.RequirementsPerEmployee j Where j.requirementname NOT in (select z.requirementname from ehr_compliancedb.completiondates z where z.requirementname = j.requirementname and z.employeeid = j.employeeid and z.date is not null) And j.employeeid in (select p.employeeid from ehr_compliancedb.employees p where p.enddate is null) + And j.requirementname in ( select k.requirementname from ehr_compliancedb.requirements k where k.requirementname = j.requirementname And k.datedisabled is null) group by j.requirementname,j.employeeid