diff --git a/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.002-24.003.sql b/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.002-24.003.sql index 79d58106a..da2fe1cfa 100644 --- a/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.002-24.003.sql +++ b/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.002-24.003.sql @@ -1,31 +1,34 @@ ---This build is a stored preoccured that uses a temp table and then updates onprc_ehronprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS -ALTER Procedure onprc_ehr.BaseProtocol - - AS ---Create a Temp Table that creates Base Protocol and Revision Number - WITH BaseProtocol AS ( - SELECT - RowID, - Protocol_id, - CASE - WHEN LEN(protocol_id) > 10 THEN SUBSTRING(protocol_id, 6, 15) - ELSE protocol_id - END AS BaseProtocol, - CASE - WHEN LEN(protocol_id) > 10 THEN SUBSTRING(protocol_ID,1, 5) - ELSE 'Original' - END AS RevisionNumber, - approval_date, - Three_Year_Expiration, - last_modified, - Protocol_State - FROM - onprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS - ) ---This will update the onprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS inserting the BaseProtocol and RevisionNumber -Update e -Set e.BaseProtocol = p.BaseProtocol, e.RevisionNumber = p.revisionNumber --- - from onprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS e, BaseProtocol p -where e.rowID = p.rowID +ALTER PROCEDURE onprc_ehr.BaseProtocol +AS +BEGIN + -- Create a Common Table Expression (CTE) named BaseProtocol + WITH BaseProtocol AS + ( + SELECT + RowID, + Protocol_id, + -- Determine the BaseProtocol based on the length of the Protocol_id + CASE + WHEN LEN(Protocol_id) > 10 THEN SUBSTRING(Protocol_id, 6, 15) + ELSE Protocol_id + END AS BaseProtocol, + -- Determine the RevisionNumber based on the length of the Protocol_id + CASE + WHEN LEN(Protocol_id) > 10 THEN SUBSTRING(Protocol_id,1, 5) + ELSE 'Original' + END AS RevisionNumber, + approval_date, + Three_Year_Expiration, + last_modified, + Protocol_State + FROM onprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS + ) + -- Update the onprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS table with BaseProtocol and RevisionNumber from the CTE + UPDATE onprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS + SET BaseProtocol = BaseProtocol.BaseProtocol, + RevisionNumber = BaseProtocol.RevisionNumber + FROM BaseProtocol + WHERE onprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS.RowID = BaseProtocol.RowID; +END +GO \ No newline at end of file diff --git a/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.004-24.005.sql b/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.004-24.005.sql index 3599c5188..aa6901fa0 100644 --- a/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.004-24.005.sql +++ b/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.004-24.005.sql @@ -1,11 +1,10 @@ -USE [Labkey_GJ] GO /****** Object: StoredProcedure [onprc_ehr].[ExpiredProtocolUpdate] Script Date: 12/20/2024 9:09:09 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -ALTER PROCEDURE [onprc_ehr].[ExpiredProtocolUpdate] +CREATE PROCEDURE [onprc_ehr].[ExpiredProtocolUpdate] AS BEGIN @@ -44,4 +43,5 @@ WITH ApprovedProtocols AS ( Update p Set p.enddate = getDate() , p.contacts = 'EndDated based on Protocol_State ' + e.PROTOCOL_State - from ehr.protocol p inner join expiredProtocol e on p.external_id = e.BaseProtocol \ No newline at end of file + from ehr.protocol p inner join expiredProtocol e on p.external_id = e.BaseProtocol +END \ No newline at end of file diff --git a/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.005-24.006.sql b/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.005-24.006.sql deleted file mode 100644 index 35f70af0d..000000000 --- a/onprc_ehr/resources/schemas/dbscripts/sqlserver/onprc_ehr-24.005-24.006.sql +++ /dev/null @@ -1,50 +0,0 @@ -/****** Object: StoredProcedure [onprc_ehr].[ExpiredProtocolUpdate] - Script Date: 12/20/2024 9:09:09 AM -Modified 20241223 to handle issue that origin was enddating Approvd Protocols -The modification changed the where clause and did not include Approved Protocols in the outpiut -******/ -SET ANSI_NULLS ON -GO -SET QUOTED_IDENTIFIER ON -GO -ALTER PROCEDURE [onprc_ehr].[ExpiredProtocol20241223] - AS -BEGIN - -WITH ApprovedProtocols AS ( - SELECT - BaseProtocol, - MAX(Approval_Date) AS maxApprovalDate - FROM - onprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS - WHERE - Protocol_State IN ('approved','expired', 'terminated', 'withdrawn') - GROUP BY - BaseProtocol -), - - - DistinctProtocols AS ( - SELECT DISTINCT - p.rowID, - p.BaseProtocol, - p.RevisionNumber, - p.Protocol_State, - p.Approval_Date, - p.Last_Modified, - p.Three_Year_Expiration - FROM - onprc_ehr.eIACUC_PRIME_VIEW_PROTOCOLS p - INNER JOIN ApprovedProtocols ap - ON p.BaseProtocol = ap.BaseProtocol - AND p.Approval_Date = ap.maxApprovalDate) - , - ExpiredProtocol as ( - Select d.*,p.protocol,p.enddate from DistinctProtocols d inner join ehr.protocol p on d.BaseProtocol = p.external_ID - where (d.Protocol_State != 'Approved' and p.enddate is Null)) - -Update p -Set p.enddate = getDate() , p.contacts = 'EndDated based on Protocol_State ' + e.PROTOCOL_State - - from ehr.protocol p inner join expiredProtocol e on p.external_id = e.BaseProtocol -End diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRModule.java b/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRModule.java index ca89952d2..5ec60e1d9 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRModule.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRModule.java @@ -126,7 +126,7 @@ public String getName() @Override public @Nullable Double getSchemaVersion() { - return 24.006; + return 24.005; } @Override