diff --git a/db/upgrade/rdb_modern/routines/146-sp_nrt_d_addl_risk_postprocessing.sql b/db/upgrade/rdb_modern/routines/146-sp_nrt_d_addl_risk_postprocessing.sql new file mode 100644 index 00000000..1e6413ee --- /dev/null +++ b/db/upgrade/rdb_modern/routines/146-sp_nrt_d_addl_risk_postprocessing.sql @@ -0,0 +1,455 @@ +CREATE OR ALTER PROCEDURE dbo.sp_nrt_d_addl_risk_postprocessing +@phc_uids nvarchar(max), +@debug bit = 'false' +AS +BEGIN + BEGIN TRY + /* Logging */ + + declare @RowCount_no bigint; + declare @proc_step_no float = 0; + declare @proc_step_name varchar(200) = ''; + declare @batch_id bigint; + declare @dataflow_name varchar(200) = 'ADDL_RISK POST-Processing'; + declare @package_name varchar(200) = 'RDB_MODERN.sp_nrt_addl_risk_postprocessing'; + + set @batch_id = cast((format(getdate(),'yyMMddHHmmss')) as bigint); + + SELECT @ROWCOUNT_NO = 0; + + INSERT INTO [DBO].[JOB_FLOW_LOG] + (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT], [Msg_Description1]) + VALUES (@BATCH_ID, @dataflow_name, @package_name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO, LEFT (@phc_uids, 199)); + +-------------------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #S_ADDL_RISK_TRANSLATED'; + + IF OBJECT_ID('#S_ADDL_RISK_TRANSLATED', 'U') IS NOT NULL + drop table #S_ADDL_RISK_TRANSLATED; + + SELECT + CAST(TB.ACT_UID AS BIGINT) AS TB_PAM_UID, + TB.SEQ_NBR, + TB.DATAMART_COLUMN_NM, + TB.NBS_CASE_ANSWER_UID, + TB.ANSWER_TXT, + TB.CODE_SET_GROUP_ID, + TB.LAST_CHG_TIME, + METADATA.CODE_SET_NM, + CVG.CODE, + CVG.CODE_SHORT_DESC_TXT AS CODE_SHORT_DESC_TXT + INTO #S_ADDL_RISK_TRANSLATED + FROM DBO.NRT_PAGE_CASE_ANSWER TB with (nolock) + left join dbo.NRT_INVESTIGATION inv with(nolock) + on TB.act_uid = inv.public_health_case_uid + LEFT JOIN DBO.nrt_srte_Codeset_Group_Metadata METADATA with (nolock) + ON METADATA.CODE_SET_GROUP_ID = TB.CODE_SET_GROUP_ID + LEFT JOIN DBO.nrt_srte_CODE_VALUE_GENERAL CVG with (nolock) + ON CVG.CODE_SET_NM = METADATA.CODE_SET_NM + AND CVG.CODE = TB.ANSWER_TXT + INNER JOIN ( + SELECT value FROM STRING_SPLIT(@phc_uids, ',') + ) nu ON TB.ACT_UID = nu.value + WHERE TB.DATAMART_COLUMN_NM <> 'n/a' + and isnull(tb.batch_id, 1) = isnull(inv.batch_id, 1) + AND QUESTION_IDENTIFIER = 'TUB167'; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #S_ADDL_RISK_TRANSLATED; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +--------------------------------------------------------------------------------------------------------------------- + + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #S_ADDL_RISK'; + + IF OBJECT_ID('#S_ADDL_RISK', 'U') IS NOT NULL + drop table #S_ADDL_RISK; + + + SELECT + *, + CASE + WHEN CODE_SET_GROUP_ID IS NULL OR CODE_SET_GROUP_ID = '' + THEN ANSWER_TXT + WHEN CODE_SET_GROUP_ID<>'' THEN CODE_SHORT_DESC_TXT + ELSE ANSWER_TXT + END AS VALUE + INTO #S_ADDL_RISK + FROM #S_ADDL_RISK_TRANSLATED with (nolock); + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #S_ADDL_RISK; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; +------------------------------------------------------------------------------------------- + + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Insert keys to nrt_addl_risk_group_key '; + + INSERT INTO DBO.NRT_ADDL_RISK_GROUP_KEY(TB_PAM_UID) + SELECT ADDL_RISK.TB_PAM_UID FROM (SELECT DISTINCT TB_PAM_UID FROM #S_ADDL_RISK) ADDL_RISK + LEFT JOIN DBO.NRT_ADDL_RISK_GROUP_KEY ADDL_RISK_GROUP_KEY with (nolock) + ON ADDL_RISK_GROUP_KEY.TB_PAM_UID = ADDL_RISK.TB_PAM_UID + where ADDL_RISK_GROUP_KEY.TB_PAM_UID is null; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Insert keys to dbo.nrt_addl_risk_key'; + + INSERT INTO DBO.NRT_ADDL_RISK_KEY(TB_PAM_UID, NBS_CASE_ANSWER_UID) + SELECT ADDL_RISK.TB_PAM_UID, ADDL_RISK.NBS_CASE_ANSWER_UID FROM (SELECT DISTINCT TB_PAM_UID, NBS_CASE_ANSWER_UID FROM #S_ADDL_RISK) ADDL_RISK + LEFT JOIN DBO.NRT_ADDL_RISK_KEY ADDL_RISK_KEY with (nolock) + ON ADDL_RISK_KEY.TB_PAM_UID = ADDL_RISK.TB_PAM_UID + AND ADDL_RISK_KEY.NBS_CASE_ANSWER_UID = ADDL_RISK.NBS_CASE_ANSWER_UID + where ADDL_RISK_KEY.TB_PAM_UID is null; + + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #D_TB_PAM_TEMP'; + + IF OBJECT_ID('#D_TB_PAM_TEMP', 'U') IS NOT NULL + drop table #D_TB_PAM_TEMP; + + + SELECT DISTINCT D_TB_PAM.TB_PAM_UID + INTO #D_TB_PAM_TEMP + FROM (SELECT DISTINCT TB_PAM_UID FROM DBO.D_TB_PAM WHERE TB_PAM_UID IN (SELECT VALUE FROM STRING_SPLIT(@phc_uids, ','))) D_TB_PAM + LEFT JOIN #S_ADDL_RISK ADDL_RISK with (nolock) + ON ADDL_RISK.TB_PAM_UID = D_TB_PAM.TB_PAM_UID; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #D_TB_PAM_TEMP; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #L_ADDL_RISK_GROUP'; + + IF OBJECT_ID('#L_ADDL_RISK_GROUP', 'U') IS NOT NULL + drop table #L_ADDL_RISK_GROUP; + + SELECT D_TB_PAM.TB_PAM_UID, NRT_GROUP_KEY.TB_PAM_UID AS D_ADDL_RISK_UID , NRT_GROUP_KEY.D_ADDL_RISK_GROUP_KEY + INTO #L_ADDL_RISK_GROUP + FROM #D_TB_PAM_TEMP D_TB_PAM with (nolock) + LEFT OUTER JOIN DBO.NRT_ADDL_RISK_GROUP_KEY NRT_GROUP_KEY with (nolock) + ON NRT_GROUP_KEY.TB_PAM_UID=D_TB_PAM.TB_PAM_UID; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #L_ADDL_RISK_GROUP; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #L_ADDL_RISK'; + + IF OBJECT_ID('#L_ADDL_RISK', 'U') IS NOT NULL + drop table #L_ADDL_RISK; + + SELECT LARG.TB_PAM_UID, + NRT_ADDL_RISK_KEY.NBS_CASE_ANSWER_UID, + CASE WHEN LARG.D_ADDL_RISK_GROUP_KEY IS NULL THEN 1 ELSE LARG.D_ADDL_RISK_GROUP_KEY END AS D_ADDL_RISK_GROUP_KEY, + CASE WHEN NRT_ADDL_RISK_KEY.D_ADDL_RISK_KEY IS NULL THEN 1 ELSE NRT_ADDL_RISK_KEY.D_ADDL_RISK_KEY END AS D_ADDL_RISK_KEY + INTO #L_ADDL_RISK + FROM #L_ADDL_RISK_GROUP LARG with (nolock) + LEFT OUTER JOIN DBO.NRT_ADDL_RISK_KEY NRT_ADDL_RISK_KEY with (nolock) + ON NRT_ADDL_RISK_KEY.TB_PAM_UID=LARG.TB_PAM_UID; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #L_ADDL_RISK; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #TEMP_D_ADDL_RISK'; + + IF OBJECT_ID('#TEMP_D_ADDL_RISK', 'U') IS NOT NULL + drop table #TEMP_D_ADDL_RISK; + + SELECT LAR.TB_PAM_UID, + LAR.D_ADDL_RISK_KEY, + SAR.SEQ_NBR, + LAR.D_ADDL_RISK_GROUP_KEY, + SAR.LAST_CHG_TIME, + SAR.VALUE + INTO #TEMP_D_ADDL_RISK + FROM #L_ADDL_RISK LAR with (nolock) + LEFT OUTER JOIN #S_ADDL_RISK SAR with (nolock) + ON SAR.TB_PAM_UID=LAR.TB_PAM_UID + AND SAR.NBS_CASE_ANSWER_UID= LAR.NBS_CASE_ANSWER_UID; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #TEMP_D_ADDL_RISK; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Insert records to D_ADDL_RISK_GROUP'; + + INSERT INTO DBO.D_ADDL_RISK_GROUP + ([D_ADDL_RISK_GROUP_KEY]) + SELECT + DISTINCT + T.D_ADDL_RISK_GROUP_KEY + FROM #TEMP_D_ADDL_RISK T with (nolock) + LEFT JOIN DBO.D_ADDL_RISK_GROUP DSG with (nolock) + ON DSG.D_ADDL_RISK_GROUP_KEY= T.D_ADDL_RISK_GROUP_KEY + WHERE DSG.D_ADDL_RISK_GROUP_KEY IS NULL; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Update D_ADDL_RISK'; + + UPDATE DBO.D_ADDL_RISK + SET + TB_PAM_UID = T.TB_PAM_UID, + SEQ_NBR = T.SEQ_NBR, + LAST_CHG_TIME = T.LAST_CHG_TIME, + VALUE = T.VALUE + FROM #TEMP_D_ADDL_RISK T with (nolock) + INNER JOIN DBO.D_ADDL_RISK D_ADDL_RISK with (nolock) + ON D_ADDL_RISK.TB_PAM_UID= T.TB_PAM_UID + and D_ADDL_RISK.D_ADDL_RISK_KEY = T.D_ADDL_RISK_KEY + WHERE D_ADDL_RISK.D_ADDL_RISK_KEY IS NOT NULL; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Insert records to D_ADDL_RISK'; + + INSERT INTO DBO.D_ADDL_RISK + ([TB_PAM_UID] + ,[D_ADDL_RISK_KEY] + ,[SEQ_NBR] + ,[D_ADDL_RISK_GROUP_KEY] + ,[LAST_CHG_TIME] + ,[VALUE]) + SELECT + T.TB_PAM_UID, + T.D_ADDL_RISK_KEY, + T.SEQ_NBR, + T.D_ADDL_RISK_GROUP_KEY, + T.LAST_CHG_TIME, + T.VALUE + FROM #TEMP_D_ADDL_RISK T with (nolock) + LEFT JOIN DBO.D_ADDL_RISK D_ADDL_RISK with (nolock) + ON D_ADDL_RISK.TB_PAM_UID= T.TB_PAM_UID + and D_ADDL_RISK.D_ADDL_RISK_KEY = T.D_ADDL_RISK_KEY + WHERE D_ADDL_RISK.TB_PAM_UID IS NULL; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; +------------------------------------------------------------------------------------------- + + SET @Proc_Step_no = 999; + + SET @Proc_Step_Name = 'SP_COMPLETE'; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'COMPLETE', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + +------------------------------------------------------------------------------------------- + END TRY + + BEGIN CATCH + + IF @@TRANCOUNT > 0 + BEGIN + ROLLBACK TRANSACTION; + END; + + DECLARE @FullErrorMessage VARCHAR(8000) = + 'Error Number: ' + CAST(ERROR_NUMBER() AS VARCHAR(10)) + CHAR(13) + CHAR(10) + -- Carriage return and line feed for new lines + 'Error Severity: ' + CAST(ERROR_SEVERITY() AS VARCHAR(10)) + CHAR(13) + CHAR(10) + + 'Error State: ' + CAST(ERROR_STATE() AS VARCHAR(10)) + CHAR(13) + CHAR(10) + + 'Error Line: ' + CAST(ERROR_LINE() AS VARCHAR(10)) + CHAR(13) + CHAR(10) + + 'Error Message: ' + ERROR_MESSAGE(); + + + INSERT INTO dbo.[job_flow_log] ( + batch_id + ,[Dataflow_Name] + ,[package_Name] + ,[Status_Type] + ,[step_number] + ,[step_name] + ,[Error_Description] + ,[row_count] + ) + VALUES ( + @batch_id + ,@dataflow_name + ,@package_name + ,'ERROR' + ,@Proc_Step_no + , @Proc_Step_name + , @FullErrorMessage + ,0 + ); + + return -1 ; + + END CATCH + +END; + +---------------------------------------------------END OF PROCEDURE--------------------------------------------------------------------- diff --git a/db/upgrade/rdb_modern/tables/081-create_d_addl_risk_group.sql b/db/upgrade/rdb_modern/tables/081-create_d_addl_risk_group.sql new file mode 100644 index 00000000..ae9679ee --- /dev/null +++ b/db/upgrade/rdb_modern/tables/081-create_d_addl_risk_group.sql @@ -0,0 +1,15 @@ +--CNDE-2345 +IF NOT EXISTS (SELECT 1 + FROM sysobjects + WHERE name = 'D_ADDL_RISK_GROUP' + and xtype = 'U') + +BEGIN + CREATE TABLE DBO.D_ADDL_RISK_GROUP ( + D_ADDL_RISK_GROUP_KEY BIGINT NOT NULL , + PRIMARY KEY + ( + D_ADDL_RISK_GROUP_KEY + ) + ); +END; diff --git a/db/upgrade/rdb_modern/tables/082-create_d_addl_risk.sql b/db/upgrade/rdb_modern/tables/082-create_d_addl_risk.sql new file mode 100644 index 00000000..d209a0d3 --- /dev/null +++ b/db/upgrade/rdb_modern/tables/082-create_d_addl_risk.sql @@ -0,0 +1,21 @@ +--CNDE-2345 Foreign key constraints will be added after the completion of TB Datamart migration.*/ +IF NOT EXISTS (SELECT 1 + FROM sysobjects + WHERE name = 'D_ADDL_RISK' + and xtype = 'U') + +BEGIN + CREATE TABLE DBO.D_ADDL_RISK ( + TB_PAM_UID BIGINT NOT NULL , + D_ADDL_RISK_KEY BIGINT NOT NULL , + SEQ_NBR INT NULL , + D_ADDL_RISK_GROUP_KEY BIGINT NOT NULL , + LAST_CHG_TIME DATETIME NULL , + VALUE VARCHAR (250) NULL , + PRIMARY KEY + ( + D_ADDL_RISK_KEY, + TB_PAM_UID + ) + ); +END; \ No newline at end of file diff --git a/db/upgrade/rdb_modern/tables/083-create_nrt_addl_risk_group_key.sql b/db/upgrade/rdb_modern/tables/083-create_nrt_addl_risk_group_key.sql new file mode 100644 index 00000000..54423f17 --- /dev/null +++ b/db/upgrade/rdb_modern/tables/083-create_nrt_addl_risk_group_key.sql @@ -0,0 +1,15 @@ +IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_addl_risk_group_key' and xtype = 'U') + BEGIN + CREATE TABLE dbo.nrt_addl_risk_group_key ( + D_ADDL_RISK_GROUP_KEY bigint IDENTITY (2,1) NOT NULL, + TB_PAM_UID bigint NOT NULL + + ); + + declare @max bigint; + select @max=max(D_ADDL_RISK_GROUP_KEY)+1 from dbo.d_addl_risk_group ; + select @max; + if @max IS NULL --check when max is returned as null + SET @max = 2; -- default to 2 + DBCC CHECKIDENT ('dbo.nrt_addl_risk_group_key', RESEED, @max); + END diff --git a/db/upgrade/rdb_modern/tables/084-create_nrt_addl_risk_key.sql b/db/upgrade/rdb_modern/tables/084-create_nrt_addl_risk_key.sql new file mode 100644 index 00000000..df32f78c --- /dev/null +++ b/db/upgrade/rdb_modern/tables/084-create_nrt_addl_risk_key.sql @@ -0,0 +1,16 @@ +IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_addl_risk_key' and xtype = 'U') + BEGIN + CREATE TABLE dbo.nrt_addl_risk_key ( + D_ADDL_RISK_KEY bigint IDENTITY (2,1) NOT NULL, + TB_PAM_UID bigint NOT NULL, + NBS_Case_Answer_UID bigint NOT NULL + + ); + + declare @max bigint; + select @max=max(D_ADDL_RISK_KEY)+1 from dbo.d_addl_risk ; + select @max; + if @max IS NULL --check when max is returned as null + SET @max = 2; -- default to 2 + DBCC CHECKIDENT ('dbo.nrt_addl_risk_key', RESEED, @max); + END diff --git a/liquibase-service/src/main/resources/db/changelog/db.rdb_modern.changelog-16.1.yaml b/liquibase-service/src/main/resources/db/changelog/db.rdb_modern.changelog-16.1.yaml index d6ada016..536eb454 100644 --- a/liquibase-service/src/main/resources/db/changelog/db.rdb_modern.changelog-16.1.yaml +++ b/liquibase-service/src/main/resources/db/changelog/db.rdb_modern.changelog-16.1.yaml @@ -1231,4 +1231,44 @@ databaseChangeLog: changes: - sqlFile: path: 048-sp_morbidity_report_datamart_postprocessing-001.sql + splitStatements: false + - changeSet: + id: 230 + author: liquibase + runOnChange: true + changes: + - sqlFile: + path: 081-create_d_addl_risk_group-001.sql + splitStatements: false + - changeSet: + id: 235 + author: liquibase + runOnChange: true + changes: + - sqlFile: + path: 082-create_d_addl_risk-001.sql + splitStatements: false + - changeSet: + id: 240 + author: liquibase + runOnChange: true + changes: + - sqlFile: + path: 083-create_nrt_addl_risk_group_key-001.sql + splitStatements: false + - changeSet: + id: 245 + author: liquibase + runOnChange: true + changes: + - sqlFile: + path: 084-create_nrt_addl_risk_key-001.sql + splitStatements: false + - changeSet: + id: 250 + author: liquibase + runOnChange: true + changes: + - sqlFile: + path: 146-sp_nrt_d_addl_risk_postprocessing-001.sql splitStatements: false \ No newline at end of file diff --git a/liquibase-service/src/main/resources/db/rdb_modern/routines/146-sp_nrt_d_addl_risk_postprocessing-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/routines/146-sp_nrt_d_addl_risk_postprocessing-001.sql new file mode 100644 index 00000000..1e6413ee --- /dev/null +++ b/liquibase-service/src/main/resources/db/rdb_modern/routines/146-sp_nrt_d_addl_risk_postprocessing-001.sql @@ -0,0 +1,455 @@ +CREATE OR ALTER PROCEDURE dbo.sp_nrt_d_addl_risk_postprocessing +@phc_uids nvarchar(max), +@debug bit = 'false' +AS +BEGIN + BEGIN TRY + /* Logging */ + + declare @RowCount_no bigint; + declare @proc_step_no float = 0; + declare @proc_step_name varchar(200) = ''; + declare @batch_id bigint; + declare @dataflow_name varchar(200) = 'ADDL_RISK POST-Processing'; + declare @package_name varchar(200) = 'RDB_MODERN.sp_nrt_addl_risk_postprocessing'; + + set @batch_id = cast((format(getdate(),'yyMMddHHmmss')) as bigint); + + SELECT @ROWCOUNT_NO = 0; + + INSERT INTO [DBO].[JOB_FLOW_LOG] + (BATCH_ID, [DATAFLOW_NAME], [PACKAGE_NAME], [STATUS_TYPE], [STEP_NUMBER], [STEP_NAME], [ROW_COUNT], [Msg_Description1]) + VALUES (@BATCH_ID, @dataflow_name, @package_name, 'START', @PROC_STEP_NO, @PROC_STEP_NAME, @ROWCOUNT_NO, LEFT (@phc_uids, 199)); + +-------------------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #S_ADDL_RISK_TRANSLATED'; + + IF OBJECT_ID('#S_ADDL_RISK_TRANSLATED', 'U') IS NOT NULL + drop table #S_ADDL_RISK_TRANSLATED; + + SELECT + CAST(TB.ACT_UID AS BIGINT) AS TB_PAM_UID, + TB.SEQ_NBR, + TB.DATAMART_COLUMN_NM, + TB.NBS_CASE_ANSWER_UID, + TB.ANSWER_TXT, + TB.CODE_SET_GROUP_ID, + TB.LAST_CHG_TIME, + METADATA.CODE_SET_NM, + CVG.CODE, + CVG.CODE_SHORT_DESC_TXT AS CODE_SHORT_DESC_TXT + INTO #S_ADDL_RISK_TRANSLATED + FROM DBO.NRT_PAGE_CASE_ANSWER TB with (nolock) + left join dbo.NRT_INVESTIGATION inv with(nolock) + on TB.act_uid = inv.public_health_case_uid + LEFT JOIN DBO.nrt_srte_Codeset_Group_Metadata METADATA with (nolock) + ON METADATA.CODE_SET_GROUP_ID = TB.CODE_SET_GROUP_ID + LEFT JOIN DBO.nrt_srte_CODE_VALUE_GENERAL CVG with (nolock) + ON CVG.CODE_SET_NM = METADATA.CODE_SET_NM + AND CVG.CODE = TB.ANSWER_TXT + INNER JOIN ( + SELECT value FROM STRING_SPLIT(@phc_uids, ',') + ) nu ON TB.ACT_UID = nu.value + WHERE TB.DATAMART_COLUMN_NM <> 'n/a' + and isnull(tb.batch_id, 1) = isnull(inv.batch_id, 1) + AND QUESTION_IDENTIFIER = 'TUB167'; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #S_ADDL_RISK_TRANSLATED; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +--------------------------------------------------------------------------------------------------------------------- + + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #S_ADDL_RISK'; + + IF OBJECT_ID('#S_ADDL_RISK', 'U') IS NOT NULL + drop table #S_ADDL_RISK; + + + SELECT + *, + CASE + WHEN CODE_SET_GROUP_ID IS NULL OR CODE_SET_GROUP_ID = '' + THEN ANSWER_TXT + WHEN CODE_SET_GROUP_ID<>'' THEN CODE_SHORT_DESC_TXT + ELSE ANSWER_TXT + END AS VALUE + INTO #S_ADDL_RISK + FROM #S_ADDL_RISK_TRANSLATED with (nolock); + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #S_ADDL_RISK; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; +------------------------------------------------------------------------------------------- + + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Insert keys to nrt_addl_risk_group_key '; + + INSERT INTO DBO.NRT_ADDL_RISK_GROUP_KEY(TB_PAM_UID) + SELECT ADDL_RISK.TB_PAM_UID FROM (SELECT DISTINCT TB_PAM_UID FROM #S_ADDL_RISK) ADDL_RISK + LEFT JOIN DBO.NRT_ADDL_RISK_GROUP_KEY ADDL_RISK_GROUP_KEY with (nolock) + ON ADDL_RISK_GROUP_KEY.TB_PAM_UID = ADDL_RISK.TB_PAM_UID + where ADDL_RISK_GROUP_KEY.TB_PAM_UID is null; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Insert keys to dbo.nrt_addl_risk_key'; + + INSERT INTO DBO.NRT_ADDL_RISK_KEY(TB_PAM_UID, NBS_CASE_ANSWER_UID) + SELECT ADDL_RISK.TB_PAM_UID, ADDL_RISK.NBS_CASE_ANSWER_UID FROM (SELECT DISTINCT TB_PAM_UID, NBS_CASE_ANSWER_UID FROM #S_ADDL_RISK) ADDL_RISK + LEFT JOIN DBO.NRT_ADDL_RISK_KEY ADDL_RISK_KEY with (nolock) + ON ADDL_RISK_KEY.TB_PAM_UID = ADDL_RISK.TB_PAM_UID + AND ADDL_RISK_KEY.NBS_CASE_ANSWER_UID = ADDL_RISK.NBS_CASE_ANSWER_UID + where ADDL_RISK_KEY.TB_PAM_UID is null; + + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #D_TB_PAM_TEMP'; + + IF OBJECT_ID('#D_TB_PAM_TEMP', 'U') IS NOT NULL + drop table #D_TB_PAM_TEMP; + + + SELECT DISTINCT D_TB_PAM.TB_PAM_UID + INTO #D_TB_PAM_TEMP + FROM (SELECT DISTINCT TB_PAM_UID FROM DBO.D_TB_PAM WHERE TB_PAM_UID IN (SELECT VALUE FROM STRING_SPLIT(@phc_uids, ','))) D_TB_PAM + LEFT JOIN #S_ADDL_RISK ADDL_RISK with (nolock) + ON ADDL_RISK.TB_PAM_UID = D_TB_PAM.TB_PAM_UID; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #D_TB_PAM_TEMP; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #L_ADDL_RISK_GROUP'; + + IF OBJECT_ID('#L_ADDL_RISK_GROUP', 'U') IS NOT NULL + drop table #L_ADDL_RISK_GROUP; + + SELECT D_TB_PAM.TB_PAM_UID, NRT_GROUP_KEY.TB_PAM_UID AS D_ADDL_RISK_UID , NRT_GROUP_KEY.D_ADDL_RISK_GROUP_KEY + INTO #L_ADDL_RISK_GROUP + FROM #D_TB_PAM_TEMP D_TB_PAM with (nolock) + LEFT OUTER JOIN DBO.NRT_ADDL_RISK_GROUP_KEY NRT_GROUP_KEY with (nolock) + ON NRT_GROUP_KEY.TB_PAM_UID=D_TB_PAM.TB_PAM_UID; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #L_ADDL_RISK_GROUP; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #L_ADDL_RISK'; + + IF OBJECT_ID('#L_ADDL_RISK', 'U') IS NOT NULL + drop table #L_ADDL_RISK; + + SELECT LARG.TB_PAM_UID, + NRT_ADDL_RISK_KEY.NBS_CASE_ANSWER_UID, + CASE WHEN LARG.D_ADDL_RISK_GROUP_KEY IS NULL THEN 1 ELSE LARG.D_ADDL_RISK_GROUP_KEY END AS D_ADDL_RISK_GROUP_KEY, + CASE WHEN NRT_ADDL_RISK_KEY.D_ADDL_RISK_KEY IS NULL THEN 1 ELSE NRT_ADDL_RISK_KEY.D_ADDL_RISK_KEY END AS D_ADDL_RISK_KEY + INTO #L_ADDL_RISK + FROM #L_ADDL_RISK_GROUP LARG with (nolock) + LEFT OUTER JOIN DBO.NRT_ADDL_RISK_KEY NRT_ADDL_RISK_KEY with (nolock) + ON NRT_ADDL_RISK_KEY.TB_PAM_UID=LARG.TB_PAM_UID; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #L_ADDL_RISK; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'GENERATING #TEMP_D_ADDL_RISK'; + + IF OBJECT_ID('#TEMP_D_ADDL_RISK', 'U') IS NOT NULL + drop table #TEMP_D_ADDL_RISK; + + SELECT LAR.TB_PAM_UID, + LAR.D_ADDL_RISK_KEY, + SAR.SEQ_NBR, + LAR.D_ADDL_RISK_GROUP_KEY, + SAR.LAST_CHG_TIME, + SAR.VALUE + INTO #TEMP_D_ADDL_RISK + FROM #L_ADDL_RISK LAR with (nolock) + LEFT OUTER JOIN #S_ADDL_RISK SAR with (nolock) + ON SAR.TB_PAM_UID=LAR.TB_PAM_UID + AND SAR.NBS_CASE_ANSWER_UID= LAR.NBS_CASE_ANSWER_UID; + + if + @debug = 'true' + select @Proc_Step_Name as step, * + from #TEMP_D_ADDL_RISK; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Insert records to D_ADDL_RISK_GROUP'; + + INSERT INTO DBO.D_ADDL_RISK_GROUP + ([D_ADDL_RISK_GROUP_KEY]) + SELECT + DISTINCT + T.D_ADDL_RISK_GROUP_KEY + FROM #TEMP_D_ADDL_RISK T with (nolock) + LEFT JOIN DBO.D_ADDL_RISK_GROUP DSG with (nolock) + ON DSG.D_ADDL_RISK_GROUP_KEY= T.D_ADDL_RISK_GROUP_KEY + WHERE DSG.D_ADDL_RISK_GROUP_KEY IS NULL; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Update D_ADDL_RISK'; + + UPDATE DBO.D_ADDL_RISK + SET + TB_PAM_UID = T.TB_PAM_UID, + SEQ_NBR = T.SEQ_NBR, + LAST_CHG_TIME = T.LAST_CHG_TIME, + VALUE = T.VALUE + FROM #TEMP_D_ADDL_RISK T with (nolock) + INNER JOIN DBO.D_ADDL_RISK D_ADDL_RISK with (nolock) + ON D_ADDL_RISK.TB_PAM_UID= T.TB_PAM_UID + and D_ADDL_RISK.D_ADDL_RISK_KEY = T.D_ADDL_RISK_KEY + WHERE D_ADDL_RISK.D_ADDL_RISK_KEY IS NOT NULL; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; + +------------------------------------------------------------------------------------------- + + BEGIN TRANSACTION + + SET + @PROC_STEP_NO = @PROC_STEP_NO + 1; + SET + @PROC_STEP_NAME = 'Insert records to D_ADDL_RISK'; + + INSERT INTO DBO.D_ADDL_RISK + ([TB_PAM_UID] + ,[D_ADDL_RISK_KEY] + ,[SEQ_NBR] + ,[D_ADDL_RISK_GROUP_KEY] + ,[LAST_CHG_TIME] + ,[VALUE]) + SELECT + T.TB_PAM_UID, + T.D_ADDL_RISK_KEY, + T.SEQ_NBR, + T.D_ADDL_RISK_GROUP_KEY, + T.LAST_CHG_TIME, + T.VALUE + FROM #TEMP_D_ADDL_RISK T with (nolock) + LEFT JOIN DBO.D_ADDL_RISK D_ADDL_RISK with (nolock) + ON D_ADDL_RISK.TB_PAM_UID= T.TB_PAM_UID + and D_ADDL_RISK.D_ADDL_RISK_KEY = T.D_ADDL_RISK_KEY + WHERE D_ADDL_RISK.TB_PAM_UID IS NULL; + + SELECT @RowCount_no = @@ROWCOUNT; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + + COMMIT TRANSACTION; +------------------------------------------------------------------------------------------- + + SET @Proc_Step_no = 999; + + SET @Proc_Step_Name = 'SP_COMPLETE'; + + INSERT INTO [dbo].[job_flow_log] + (batch_id, [Dataflow_Name], [package_Name], [Status_Type], [step_number], [step_name], [row_count]) + VALUES (@batch_id, @dataflow_name, @package_name, 'COMPLETE', @Proc_Step_no, @Proc_Step_Name, + @RowCount_no); + +------------------------------------------------------------------------------------------- + END TRY + + BEGIN CATCH + + IF @@TRANCOUNT > 0 + BEGIN + ROLLBACK TRANSACTION; + END; + + DECLARE @FullErrorMessage VARCHAR(8000) = + 'Error Number: ' + CAST(ERROR_NUMBER() AS VARCHAR(10)) + CHAR(13) + CHAR(10) + -- Carriage return and line feed for new lines + 'Error Severity: ' + CAST(ERROR_SEVERITY() AS VARCHAR(10)) + CHAR(13) + CHAR(10) + + 'Error State: ' + CAST(ERROR_STATE() AS VARCHAR(10)) + CHAR(13) + CHAR(10) + + 'Error Line: ' + CAST(ERROR_LINE() AS VARCHAR(10)) + CHAR(13) + CHAR(10) + + 'Error Message: ' + ERROR_MESSAGE(); + + + INSERT INTO dbo.[job_flow_log] ( + batch_id + ,[Dataflow_Name] + ,[package_Name] + ,[Status_Type] + ,[step_number] + ,[step_name] + ,[Error_Description] + ,[row_count] + ) + VALUES ( + @batch_id + ,@dataflow_name + ,@package_name + ,'ERROR' + ,@Proc_Step_no + , @Proc_Step_name + , @FullErrorMessage + ,0 + ); + + return -1 ; + + END CATCH + +END; + +---------------------------------------------------END OF PROCEDURE--------------------------------------------------------------------- diff --git a/liquibase-service/src/main/resources/db/rdb_modern/tables/081-create_d_addl_risk_group-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/tables/081-create_d_addl_risk_group-001.sql new file mode 100644 index 00000000..ae9679ee --- /dev/null +++ b/liquibase-service/src/main/resources/db/rdb_modern/tables/081-create_d_addl_risk_group-001.sql @@ -0,0 +1,15 @@ +--CNDE-2345 +IF NOT EXISTS (SELECT 1 + FROM sysobjects + WHERE name = 'D_ADDL_RISK_GROUP' + and xtype = 'U') + +BEGIN + CREATE TABLE DBO.D_ADDL_RISK_GROUP ( + D_ADDL_RISK_GROUP_KEY BIGINT NOT NULL , + PRIMARY KEY + ( + D_ADDL_RISK_GROUP_KEY + ) + ); +END; diff --git a/liquibase-service/src/main/resources/db/rdb_modern/tables/082-create_d_addl_risk-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/tables/082-create_d_addl_risk-001.sql new file mode 100644 index 00000000..d209a0d3 --- /dev/null +++ b/liquibase-service/src/main/resources/db/rdb_modern/tables/082-create_d_addl_risk-001.sql @@ -0,0 +1,21 @@ +--CNDE-2345 Foreign key constraints will be added after the completion of TB Datamart migration.*/ +IF NOT EXISTS (SELECT 1 + FROM sysobjects + WHERE name = 'D_ADDL_RISK' + and xtype = 'U') + +BEGIN + CREATE TABLE DBO.D_ADDL_RISK ( + TB_PAM_UID BIGINT NOT NULL , + D_ADDL_RISK_KEY BIGINT NOT NULL , + SEQ_NBR INT NULL , + D_ADDL_RISK_GROUP_KEY BIGINT NOT NULL , + LAST_CHG_TIME DATETIME NULL , + VALUE VARCHAR (250) NULL , + PRIMARY KEY + ( + D_ADDL_RISK_KEY, + TB_PAM_UID + ) + ); +END; \ No newline at end of file diff --git a/liquibase-service/src/main/resources/db/rdb_modern/tables/083-create_nrt_addl_risk_group_key-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/tables/083-create_nrt_addl_risk_group_key-001.sql new file mode 100644 index 00000000..54423f17 --- /dev/null +++ b/liquibase-service/src/main/resources/db/rdb_modern/tables/083-create_nrt_addl_risk_group_key-001.sql @@ -0,0 +1,15 @@ +IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_addl_risk_group_key' and xtype = 'U') + BEGIN + CREATE TABLE dbo.nrt_addl_risk_group_key ( + D_ADDL_RISK_GROUP_KEY bigint IDENTITY (2,1) NOT NULL, + TB_PAM_UID bigint NOT NULL + + ); + + declare @max bigint; + select @max=max(D_ADDL_RISK_GROUP_KEY)+1 from dbo.d_addl_risk_group ; + select @max; + if @max IS NULL --check when max is returned as null + SET @max = 2; -- default to 2 + DBCC CHECKIDENT ('dbo.nrt_addl_risk_group_key', RESEED, @max); + END diff --git a/liquibase-service/src/main/resources/db/rdb_modern/tables/084-create_nrt_addl_risk_key-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/tables/084-create_nrt_addl_risk_key-001.sql new file mode 100644 index 00000000..df32f78c --- /dev/null +++ b/liquibase-service/src/main/resources/db/rdb_modern/tables/084-create_nrt_addl_risk_key-001.sql @@ -0,0 +1,16 @@ +IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'nrt_addl_risk_key' and xtype = 'U') + BEGIN + CREATE TABLE dbo.nrt_addl_risk_key ( + D_ADDL_RISK_KEY bigint IDENTITY (2,1) NOT NULL, + TB_PAM_UID bigint NOT NULL, + NBS_Case_Answer_UID bigint NOT NULL + + ); + + declare @max bigint; + select @max=max(D_ADDL_RISK_KEY)+1 from dbo.d_addl_risk ; + select @max; + if @max IS NULL --check when max is returned as null + SET @max = 2; -- default to 2 + DBCC CHECKIDENT ('dbo.nrt_addl_risk_key', RESEED, @max); + END diff --git a/post-processing-service/src/main/java/gov/cdc/etldatapipeline/postprocessingservice/repository/InvestigationRepository.java b/post-processing-service/src/main/java/gov/cdc/etldatapipeline/postprocessingservice/repository/InvestigationRepository.java index ac008a97..d26244be 100644 --- a/post-processing-service/src/main/java/gov/cdc/etldatapipeline/postprocessingservice/repository/InvestigationRepository.java +++ b/post-processing-service/src/main/java/gov/cdc/etldatapipeline/postprocessingservice/repository/InvestigationRepository.java @@ -65,6 +65,9 @@ public interface InvestigationRepository extends JpaRepository processInvestigation(String keyTopic, Entity entity, processTopic(keyTopic, CASE_COUNT, ids, investigationRepository::executeStoredProcForCaseCount); - if(diseaseSiteEnable){ - processTopic(keyTopic, D_DISEASE_SITE, ids, investigationRepository::executeStoredProcForDDiseaseSite); - } + processTopic(keyTopic, D_DISEASE_SITE, ids, investigationRepository::executeStoredProcForDDiseaseSite); + processTopic(keyTopic, D_ADDL_RISK, ids, investigationRepository::executeStoredProcForDAddlRisk); return dmData; } diff --git a/post-processing-service/src/main/resources/application.yaml b/post-processing-service/src/main/resources/application.yaml index c6522633..890c095c 100644 --- a/post-processing-service/src/main/resources/application.yaml +++ b/post-processing-service/src/main/resources/application.yaml @@ -39,7 +39,6 @@ spring: javax.persistence.query.timeout: -1 featureFlag: event-metric-enable: ${FF_EVENT_METRIC_ENABLE:false} - disease-site-enable: ${FF_D_DISEASE_SITE_ENABLE:false} service: fixed-delay: cached-ids: ${FIXED_DELAY_ID:20000} diff --git a/post-processing-service/src/test/java/gov/cdc/etldatapipeline/postprocessingservice/service/PostProcessingServiceTest.java b/post-processing-service/src/test/java/gov/cdc/etldatapipeline/postprocessingservice/service/PostProcessingServiceTest.java index 47e1748e..4ff19792 100644 --- a/post-processing-service/src/test/java/gov/cdc/etldatapipeline/postprocessingservice/service/PostProcessingServiceTest.java +++ b/post-processing-service/src/test/java/gov/cdc/etldatapipeline/postprocessingservice/service/PostProcessingServiceTest.java @@ -137,11 +137,8 @@ void testPostProcessOrganizationMessage() { void testPostProcessInvestigationMessage() { String topic = "dummy_investigation"; String key = "{\"payload\":{\"public_health_case_uid\":123}}"; - boolean diseaseSiteEnable = true; // DISEASE SITE ENABLED - postProcessingServiceMock.setDiseaseSiteEnable(diseaseSiteEnable); - postProcessingServiceMock.postProcessMessage(topic, key, key); postProcessingServiceMock.processCachedIds(); @@ -149,15 +146,15 @@ void testPostProcessInvestigationMessage() { verify(investigationRepositoryMock).executeStoredProcForPublicHealthCaseIds(expectedPublicHealthCaseIdsString); verify(investigationRepositoryMock).executeStoredProcForFPageCase(expectedPublicHealthCaseIdsString); - if(diseaseSiteEnable) - verify(investigationRepositoryMock).executeStoredProcForDDiseaseSite(expectedPublicHealthCaseIdsString); + verify(investigationRepositoryMock).executeStoredProcForDDiseaseSite(expectedPublicHealthCaseIdsString); + verify(investigationRepositoryMock).executeStoredProcForDAddlRisk(expectedPublicHealthCaseIdsString); verify(investigationRepositoryMock).executeStoredProcForCaseCount(expectedPublicHealthCaseIdsString); verify(investigationRepositoryMock, never()).executeStoredProcForPageBuilder(anyLong(), anyString()); List logs = listAppender.list; - assertEquals(10, logs.size()); + assertEquals(12, logs.size()); assertTrue(logs.get(2).getFormattedMessage().contains(INVESTIGATION.getStoredProcedure())); assertTrue(logs.get(5).getMessage().contains(PostProcessingService.SP_EXECUTION_COMPLETED)); } @@ -219,7 +216,7 @@ void testPostProcessPageBuilder() { expectedRdbTableNames); List logs = listAppender.list; - assertEquals(10, logs.size()); + assertEquals(14, logs.size()); assertTrue(logs.get(7).getMessage().contains(PostProcessingService.SP_EXECUTION_COMPLETED)); } @@ -500,14 +497,16 @@ void testPostProcessCacheIdsPriority() { assertTrue(topicLogList.get(5).contains(invTopic)); assertTrue(topicLogList.get(6).contains(invTopic)); assertTrue(topicLogList.get(7).contains(invTopic)); - assertTrue(topicLogList.get(8).contains(ntfTopic)); - assertTrue(topicLogList.get(9).contains(treatmentTopic)); - assertTrue(topicLogList.get(10).contains(intTopic)); - assertTrue(topicLogList.get(11).contains(intTopic)); - assertTrue(topicLogList.get(12).contains(cmTopic)); - assertTrue(topicLogList.get(13).contains(cmTopic)); - assertTrue(topicLogList.get(14).contains(ldfTopic)); - assertTrue(topicLogList.get(15).contains(obsTopic)); + assertTrue(topicLogList.get(8).contains(invTopic)); + assertTrue(topicLogList.get(9).contains(invTopic)); + assertTrue(topicLogList.get(10).contains(ntfTopic)); + assertTrue(topicLogList.get(11).contains(treatmentTopic)); + assertTrue(topicLogList.get(12).contains(intTopic)); + assertTrue(topicLogList.get(13).contains(intTopic)); + assertTrue(topicLogList.get(14).contains(cmTopic)); + assertTrue(topicLogList.get(15).contains(cmTopic)); + assertTrue(topicLogList.get(16).contains(ldfTopic)); + assertTrue(topicLogList.get(17).contains(obsTopic)); } @Test