From 2c4b29836404075d2b97a76be2d5eba9512f2fd0 Mon Sep 17 00:00:00 2001 From: Ravindran Seshadri <109151953+rseshadri99@users.noreply.github.com> Date: Sat, 8 Mar 2025 21:35:19 -0500 Subject: [PATCH 1/6] Add the dyn datamart procedure for provider data post processing Add the dyn datamart procedure for provider data post processing --- ...p_dyn_dm_provider_data_post_processing.sql | 618 ++++++++++++++++++ ...n_dm_provider_data_post_processing-001.sql | 618 ++++++++++++++++++ 2 files changed, 1236 insertions(+) create mode 100644 db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql create mode 100644 liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql diff --git a/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql b/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql new file mode 100644 index 00000000..7637eafe --- /dev/null +++ b/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql @@ -0,0 +1,618 @@ + + + +CREATE OR REPLACE PROCEDURE [dbo].sp_dyn_dm_provider_data_post_processing + + @batch_id BIGINT, + @DATAMART_NAME VARCHAR(100), @prv_id_list nvarchar(max) + AS +BEGIN + BEGIN TRY + + + +--DECLARE @batch_id BIGINT = 999; DECLARE @DATAMART_NAME VARCHAR(100) = 'CONG_SYPHILIS'; + + + + + DECLARE @RowCount_no INT = 0 ; + DECLARE @Proc_Step_no FLOAT = 0 ; + DECLARE @Proc_Step_Name VARCHAR(200) = '' ; + DECLARE @batch_start_time datetime = null ; + DECLARE @batch_end_time datetime = null ; + DECLARE @nbs_page_form_cd varchar(200)='' + + + SET @Proc_Step_no = 1; + SET @Proc_Step_Name = 'SP_Start'; + + + + + BEGIN TRANSACTION; + + INSERT INTO [dbo].[job_flow_log] ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] ) + VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_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 FACT_CASE'; + + + + +--DECLARE @batch_id BIGINT = 999; DECLARE @DATAMART_NAME VARCHAR(100) = 'CONG_SYPHILIS'; + + + + declare @countstd int = 0; + + + select @COUNTSTD = count(*) + from dbo.v_nrt_nbs_d_case_mgmt_rdb_table_metadata + ; + + + declare @FACT_CASE varchar(40) = ''; + + + if @countstd > 1 + begin + set @FACT_CASE = 'F_STD_PAGE_CASE'; + end + else + begin + set @FACT_CASE = 'F_PAGE_CASE'; + end + ; + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_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 tmp_DynDm_Provider_Metadata'; + + +--CREATE TABLE PROVIDER_METADATA AS + + IF OBJECT_ID('#tmp_DynDm_Provider_Metadata', 'U') IS NOT NULL + drop table #tmp_DynDm_Provider_Metadata; + + +/* +SELECT DISTINCT RDB_COLUMN_NM, user_defined_column_nm, part_type_cd , +cast( null as varchar(2000)) as [Key], +cast( null as varchar(2000)) as Detail, +cast( null as varchar(2000)) as QEC, +cast( null as varchar(2000)) as [UID] +into #tmp_DynDm_Provider_Metadata +FROM NBS_ODSE..NBS_RDB_METADATA +INNER JOIN NBS_ODSE..NBS_UI_METADATA ON NBS_RDB_METADATA.NBS_UI_METADATA_UID =NBS_UI_METADATA.NBS_UI_METADATA_UID +WHERE INVESTIGATION_FORM_CD = @nbs_page_form_cd +AND NBS_RDB_METADATA.USER_DEFINED_COLUMN_NM <> '' +and NBS_RDB_METADATA.USER_DEFINED_COLUMN_NM IS NOT NULL +AND PART_TYPE_CD IS NOT NULL +AND RDB_TABLE_NM ='D_PROVIDER' +AND DATA_TYPE='PART' +; +*/ + +select DISTINCT RDB_COLUMN_NM, user_defined_column_nm, part_type_cd , + [Key],Detail, QEC, [UID] + into #tmp_DynDm_Provider_Metadata +from dbo.v_nrt_d_provider_rdb_table_metadata WHERE INVESTIGATION_FORM_CD = @nbs_page_form_cd + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_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 tmp_DynDm_PROVIDER'; + + + IF OBJECT_ID('#tmp_DynDm_PROVIDER', 'U') IS NOT NULL + drop table #tmp_DynDm_PROVIDER; + + +select distinct investigation_key, +cast( null as [varchar](50)) [PROVIDER_LOCAL_ID], +cast( null as bigint) [PROVIDER_UID] + +into #tmp_DynDm_PROVIDER + FROM #tmp_DynDm_SUMM_DATAMART + -- pass the prv_Id_List param +; + + + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + +/* BEGIN TRANSACTION; -- move it to provider metadata view + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_Provider_Metadata'; + + + +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='SUPRVSR_OF_CASE_ASSGNMENT_KEY' where part_type_cd= 'CASupervisorOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='CLOSED_BY_KEY' where part_type_cd= 'ClosureInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='DISPOSITIONED_BY_KEY' where part_type_cd= 'DispoFldFupInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INVSTGTR_FLD_FOLLOW_UP_KEY' where part_type_cd= 'FldFupInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='PROVIDER_FLD_FOLLOW_UP_KEY' where part_type_cd= 'FldFupProvOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='SUPRVSR_OF_FLD_FOLLOW_UP_KEY' where part_type_cd= 'FldFupSupervisorOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INIT_ASGNED_FLD_FOLLOW_UP_KEY' where part_type_cd= 'InitFldFupInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INIT_FOLLOW_UP_INVSTGTR_KEY' where part_type_cd= 'InitFupInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INIT_ASGNED_INTERVIEWER_KEY' where part_type_cd= 'InitInterviewerOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INTERVIEWER_ASSIGNED_KEY' where part_type_cd= 'InterviewerOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INVESTIGATOR_KEY' where part_type_cd= 'InvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='DELIVERING_MD_KEY' where part_type_cd= 'PerAsProviderOfDelivery' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='MOTHER_OB_GYN_KEY' where part_type_cd= 'PerAsProviderOfOBGYN' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='PEDIATRICIAN_KEY' where part_type_cd= 'PerAsProvideroOfPediatrics' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='PERSON_AS_REPORTER_KEY' where part_type_cd= 'PerAsReporterOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='PHYSICIAN_KEY' where part_type_cd= 'PhysicianOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='SURVEILLANCE_INVESTIGATOR_KEY' where part_type_cd= 'SurvInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='FACILITY_FLD_FOLLOW_UP_KEY' where part_type_cd= 'FldFupFacilityOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='HOSPITAL_KEY' where part_type_cd= 'HospOfADT' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='ORDERING_FACILITY_KEY' where part_type_cd= 'OrgAsClinicOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='DELIVERING_HOSP_KEY' where part_type_cd= 'OrgAsHospitalOfDelivery' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='ORG_AS_REPORTER_KEY' where part_type_cd= 'OrgAsReporterOfPHC' ; + + + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + */ + + /* -- move it to view provider metadata + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING UPDATE 2 tmp_DynDm_Provider_Metadata'; + + + +update #tmp_DynDm_Provider_Metadata +set + [KEY] = substring(USER_DEFINED_COLUMN_NM,1,CHARINDEX('_UID',USER_DEFINED_COLUMN_NM))+'KEY' , + DETAIL = substring(USER_DEFINED_COLUMN_NM,1,CHARINDEX('_UID',USER_DEFINED_COLUMN_NM))+'DETAIL' , + QEC = substring(USER_DEFINED_COLUMN_NM,1,CHARINDEX('_UID',USER_DEFINED_COLUMN_NM))+'QEC' , + [UID] = USER_DEFINED_COLUMN_NM + ; + + + +-- select * from #tmp_DynDm_Provider_Metadata; + + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + */ + + + declare @USER_DEFINED_COLUMN_NM varchar(max) ,@PART_TYPE_CD varchar(max) ,@DETAIL varchar(max) ,@QEC varchar(max) ,@UID varchar(max); + + + + declare @SQL varchar(max) + + +--declare @PART_TYPE_CD varchar(max) = null , @SQL varchar(max); + + +DECLARE db_cursor_org CURSOR LOCAL FOR + select PART_TYPE_CD , [key],DETAIL,QEC ,[UID] from #tmp_DynDm_Provider_Metadata; + +OPEN db_cursor_org +FETCH NEXT FROM db_cursor_org INTO @PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID + +WHILE @@FETCH_STATUS = 0 +BEGIN + + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING tmp_DynDm_ProvPart_Table_temp'; + + + IF OBJECT_ID('dbo.tmp_DynDm_ProvPart_Table_temp', 'U') IS NOT NULL + drop table dbo.tmp_DynDm_ProvPart_Table_temp; + + + CREATE TABLE dbo.tmp_DynDm_ProvPart_Table_temp( + [PROVIDER_KEY] [bigint] NULL, + [PROVIDER_QUICK_CODE] [varchar](50) NULL, + [PROVIDER_LOCAL_ID] [varchar](50) NULL, + [PROVIDER_UID] [bigint] NULL, + [PROVIDER_FIRST_NAME] [varchar](50) NULL, + [PROVIDER_MIDDLE_NAME] [varchar](50) NULL, + [PROVIDER_LAST_NAME] [varchar](50) NULL, + [PROVIDER_NAME_SUFFIX] [varchar](50) NULL, + [PROVIDER_NAME_DEGREE] [varchar](50) NULL, + [PROVIDER_STREET_ADDRESS_1] [varchar](50) NULL, + [PROVIDER_STREET_ADDRESS_2] [varchar](50) NULL, + [PROVIDER_CITY] [varchar](50) NULL, + [PROVIDER_STATE] [varchar](50) NULL, + [PROVIDER_ZIP] [varchar](50) NULL, + [PROVIDER_COUNTY] [varchar](50) NULL, + [PROVIDER_PHONE_WORK] [varchar](50) NULL, + [PROVIDER_PHONE_EXT_WORK] [varchar](50) NULL, + [PROVIDER_EMAIL_WORK] [varchar](50) NULL, + [PART_TYPE_CD] [bigint] NULL, + [PART_TYPE_CD_NM] [varchar](200) NOT NULL, + [CITY_STATE_ZIP] [varchar](4000) NULL, + [PROVIDER_NAME] [varchar](5000) NULL, + [DETAIL] varchar(2000), + [INVESTIGATION_KEY] [bigint] NOT NULL + ); + + + SET @SQL = ' insert into [dbo].tmp_DynDm_ProvPart_Table_temp SELECT d_p.PROVIDER_KEY, ' + + ' d_p.PROVIDER_QUICK_CODE, ' + + ' d_p.PROVIDER_LOCAL_ID, ' + + ' d_p.PROVIDER_UID, ' + + ' d_p.PROVIDER_FIRST_NAME, ' + + ' d_p.PROVIDER_MIDDLE_NAME, ' + + ' d_p.PROVIDER_LAST_NAME, ' + + ' d_p.PROVIDER_NAME_SUFFIX, ' + + ' d_p.PROVIDER_NAME_DEGREE, ' + + ' d_p.PROVIDER_STREET_ADDRESS_1, ' + + ' d_p.PROVIDER_STREET_ADDRESS_2, ' + + ' d_p.PROVIDER_CITY, ' +' d_p.PROVIDER_STATE, ' + ' d_p.PROVIDER_ZIP, ' + + ' d_p.PROVIDER_COUNTY, ' + + ' d_p.PROVIDER_PHONE_WORK, ' + + ' d_p.PROVIDER_PHONE_EXT_WORK, ' + + ' PROVIDER_EMAIL_WORK, ' + + @PART_TYPE_CD +', ' + + ''''+ @PART_TYPE_CD +''', '+ + ' coalesce( ltrim(rtrim(PROVIDER_CITY))+'', '','''')+coalesce( ltrim(rtrim(PROVIDER_STATE))+'' '','''')+coalesce( ltrim(rtrim(PROVIDER_ZIP)),'''') ' + ','+ + ' null ,'+ + ' null ,'+ + ' s_d.INVESTIGATION_KEY AS INVESTIGATION_KEY ' + + ' FROM #tmp_DynDm_SUMM_DATAMART s_d '+ + ' INNER JOIN dbo.'+@FACT_CASE+ ' ON s_d.INVESTIGATION_KEY = '+@FACT_CASE+ '.INVESTIGATION_KEY '+ + ' LEFT JOIN dbo.D_PROVIDER d_p ON '+@FACT_CASE+'.'+@PART_TYPE_CD+' = d_p.PROVIDER_KEY '+ + ' where d_p.PROVIDER_UID IN (SELECT value FROM STRING_SPLIT(' + @prv_id_list +','+ ','+'))' + + '; ' + + -- select 'INSERT',@PART_TYPE_CD,@DETAIL , @SQL; + + + EXEC(@SQL); + + + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_ProvPart_Table_temp'; + + + + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(coalesce(PROVIDER_FIRST_NAME,'')) ) ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME)) + ' ' + LTRIM(RTRIM(PROVIDER_MIDDLE_NAME)) WHERE LEN(LTRIM(RTRIM(PROVIDER_MIDDLE_NAME )))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME)) + ' ' + LTRIM(RTRIM(PROVIDER_LAST_NAME)) WHERE LEN(LTRIM(RTRIM(PROVIDER_LAST_NAME )))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME)) + ', ' + LTRIM(RTRIM(PROVIDER_NAME_SUFFIX)) WHERE LEN(LTRIM(RTRIM(PROVIDER_NAME_SUFFIX )))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME)) + ', ' + LTRIM(RTRIM(PROVIDER_NAME_DEGREE)) WHERE LEN(LTRIM(RTRIM(PROVIDER_NAME_DEGREE )))>0 ; + + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = null where LTRIM( RTRIM(PROVIDER_NAME)) = ''; + + + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL ='' + RTRIM(PROVIDER_LOCAL_ID) WHERE LEN(LTRIM(RTRIM(PROVIDER_LOCAL_ID)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' + PROVIDER_NAME WHERE LEN(LTRIM(RTRIM(PROVIDER_NAME)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL = LTRIM(RTRIM(DETAIL)) + '
' + LTRIM(RTRIM(PROVIDER_STREET_ADDRESS_1)) WHERE LEN(LTRIM(RTRIM(PROVIDER_STREET_ADDRESS_1)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL = LTRIM(RTRIM(DETAIL)) + '
' + LTRIM(RTRIM(PROVIDER_STREET_ADDRESS_2)) WHERE LEN(LTRIM(RTRIM(PROVIDER_STREET_ADDRESS_2)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' + LTRIM( RTRIM(CITY_STATE_ZIP)) WHERE LEN(LTRIM(RTRIM(CITY_STATE_ZIP)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' + LTRIM(RTRIM(PROVIDER_COUNTY)) WHERE LEN(LTRIM(RTRIM(PROVIDER_COUNTY)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' + LTRIM( RTRIM(PROVIDER_PHONE_WORK)) WHERE LEN(LTRIM(RTRIM(PROVIDER_PHONE_WORK)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + ', ext. ' + LTRIM( RTRIM(PROVIDER_PHONE_EXT_WORK)) WHERE LEN(LTRIM(RTRIM(PROVIDER_PHONE_WORK)))>0 and LEN(LTRIM(RTRIM(PROVIDER_PHONE_EXT_WORK)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
ext. ' + LTRIM( RTRIM(PROVIDER_PHONE_EXT_WORK)) WHERE LEN(LTRIM(RTRIM(PROVIDER_PHONE_WORK)))=0 and LEN(LTRIM(RTRIM(PROVIDER_PHONE_EXT_WORK)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' WHERE LEN(LTRIM(RTRIM(DETAIL )))>0 ; + + + + + 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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING ALTER tmp_DynDm_ProvPart_Table_temp'; + + + -- select 'tmp_DynDm_ProvPart_Table_temp', * from dbo.tmp_DynDm_ProvPart_Table_temp; + + + SET @SQL = 'alter table dbo.tmp_DynDm_ProvPart_Table_temp add ' + @DETAIL + ' [varchar](2000) , ' + @USER_DEFINED_COLUMN_NM+ ' bigint , ' + @QEC+ ' [varchar](50) , ' + @UID+ ' bigint ; ' + + -- select 'ALTER', @PART_TYPE_CD, @SQL; + + + EXEC(@SQL); + + + + SET @SQL = 'alter table #tmp_DynDm_PROVIDER add ' + @DETAIL + ' [varchar](2000) , ' + @USER_DEFINED_COLUMN_NM+ ' bigint , ' + @QEC+ ' [varchar](50) , ' + @UID+ ' bigint ; ' + + + EXEC(@SQL); + + + + + + 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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_PROVIDER'; + + + + + --@USER_DEFINED_COLUMN_NM=ORGANIZATION_KEY; + --@QEC =ORGANIZATION_QUICK_CODE; + --@UID= ORGANIZATION_UID; + + SET @SQL = 'update tDO SET ' + + ' PROVIDER_LOCAL_ID = orgtemp.PROVIDER_LOCAL_ID ,' + + ' PROVIDER_UID = orgtemp.PROVIDER_UID ,' + + @DETAIL + ' = DETAIL , ' + + @USER_DEFINED_COLUMN_NM+ ' = PROVIDER_KEY , ' + + @QEC+ ' = PROVIDER_QUICK_CODE , ' + + @UID+ ' = orgtemp.PROVIDER_UID ' + + ' FROM #tmp_DynDm_PROVIDER tDO ' + + ' INNER JOIN dbo.tmp_DynDm_ProvPart_Table_temp orgtemp ON tDO.investigation_key = orgtemp.investigation_key ' + + ' ; ' + + --select 'UPDATE', @PART_TYPE_CD, @SQL; + + + --select 'tmp_DynDm_PROVIDER', * from #tmp_DynDm_PROVIDER; + + EXEC(@SQL); + + + + 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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + + + + FETCH NEXT FROM db_cursor_org INTO @PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID + +END + +CLOSE db_cursor_org +DEALLOCATE db_cursor_org +; + + + + + + + +/* +DATA PROVPART_TABLE; +SET PROVPART_TABLE; + LENGTH CITY_STATE_ZIP $2000; + LENGTH DETAIL $2000; + LENGTH PROVIDER_NAME $2000; + + + IF PROVIDER_KEY =1 THEN PROVIDER_KEY=.; + @USER_DEFINED_COLUMN_NM=PROVIDER_KEY; + @QEC =PROVIDER_QUICK_CODE; + @UID=PROVIDER_UID; + IF LENGTHN(TRIM(PROVIDER_CITY))>0 THEN CITY_STATE_ZIP =PROPCASE(TRIM(PROVIDER_CITY)); + IF LENGTHN(TRIM(PROVIDER_STATE))>0 THEN CITY_STATE_ZIP = LTRIM( RTRIM(CITY_STATE_ZIP) || ', ' ||v PROPCASE(TRIM(PROVIDER_STATE)) ; + IF LENGTHN(TRIM(PROVIDER_ZIP))>0 THEN CITY_STATE_ZIP = LTRIM( RTRIM(CITY_STATE_ZIP) || ' ' || PROPZASE(TRIM(PROVIDER_ZIP)) ; + + PROVIDER_NAME=PROPCASE(TRIM(PROVIDER_FIRST_NAME)); + + + IF LENGTHN(TRIM(PROVIDER_NAME))>0 AND LENGTHN(TRIM(PROVIDER_MIDDLE_NAME ))>0 THEN PROVIDER_NAME =TRIM(PROVIDER_NAME) ||' '|| PROPCASE(TRIM(PROVIDER_MIDDLE_NAME)); + IF LENGTHN(TRIM(PROVIDER_NAME))=0 AND LENGTHN(TRIM(PROVIDER_MIDDLE_NAME ))>0 THEN PROVIDER_NAME =PROPCASE(TRIM(PROVIDER_MIDDLE_NAME)); + IF LENGTHN(TRIM(PROVIDER_NAME))>0 AND LENGTHN(TRIM(PROVIDER_LAST_NAME ))>0 THEN PROVIDER_NAME =TRIM(PROVIDER_NAME) ||' '|| PROPCASE(TRIM(PROVIDER_LAST_NAME)); + IF LENGTHN(TRIM(PROVIDER_NAME))=0 AND LENGTHN(TRIM(PROVIDER_LAST_NAME ))>0 THEN PROVIDER_NAME = PROPCASE(TRIM(PROVIDER_LAST_NAME)); + IF LENGTHN(TRIM(PROVIDER_NAME))>0 AND LENGTHN(TRIM(PROVIDER_NAME_SUFFIX ))>0 THEN PROVIDER_NAME =TRIM(PROVIDER_NAME) ||', '|| PROPCASE(TRIM(PROVIDER_NAME_SUFFIX)); + IF LENGTHN(TRIM(PROVIDER_NAME))=0 AND LENGTHN(TRIM(PROVIDER_NAME_SUFFIX ))>0 THEN PROVIDER_NAME = PROPCASE(TRIM(PROVIDER_NAME_SUFFIX)); + IF LENGTHN(TRIM(PROVIDER_NAME))>0 AND LENGTHN(TRIM(PROVIDER_NAME_DEGREE ))>0 THEN PROVIDER_NAME =TRIM(PROVIDER_NAME) ||', '|| LTRIM( RTRIM(PROVIDER_NAME_DEGREE); + IF LENGTHN(TRIM(PROVIDER_NAME))=0 AND LENGTHN(TRIM(PROVIDER_NAME_DEGREE ))>0 THEN PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME_DEGREE); + + + If LENGTHN(TRIM(PROVIDER_LOCAL_ID))>0 THEN DETAIL ='' ||TRIM(PROVIDER_LOCAL_ID); + If LENGTHN(TRIM(PROVIDER_NAME))>0 THEN DETAIL =TRIM(DETAIL ) ||'
' || PROVIDER_NAME; + IF LENGTHN(TRIM(PROVIDER_STREET_ADDRESS_1))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL ) ||'
' ||PROPCASE(TRIM(PROVIDER_STREET_ADDRESS_1)); + IF LENGTHN(TRIM(PROVIDER_STREET_ADDRESS_2))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL ) || '
' || PROPCASE(TRIM(PROVIDER_STREET_ADDRESS_2)) ; + IF LENGTHN(TRIM(CITY_STATE_ZIP))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| '
' || LTRIM( RTRIM(CITY_STATE_ZIP) ; + IF LENGTHN(TRIM(PROVIDER_COUNTY))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| '
' || PROPCASE(TRIM(PROVIDER_COUNTY)) ; + IF LENGTHN(TRIM(PROVIDER_PHONE_WORK))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| '
' || LTRIM( RTRIM(PROVIDER_PHONE_WORK) ; + IF LENGTHN(TRIM(PROVIDER_PHONE_WORK))>0 and LENGTHN(TRIM(PROVIDER_PHONE_EXT_WORK))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| ', ext. ' || LTRIM( RTRIM(PROVIDER_PHONE_EXT_WORK) ; + IF LENGTHN(TRIM(PROVIDER_PHONE_WORK))=0 and LENGTHN(TRIM(PROVIDER_PHONE_EXT_WORK))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| '
ext. ' || LTRIM( RTRIM(PROVIDER_PHONE_EXT_WORK) ; + IF LENGTHN(TRIM(DETAIL ))>0 then DETAIL = LTRIM( RTRIM(DETAIL )|| '
'; + + + DROP PROVIDER_NAME PROVIDER_FIRST_NAME PROVIDER_MIDDLE_NAME PROVIDER_LAST_NAME PROVIDER_NAME_SUFFIX PROVIDER_NAME_DEGREE PROVIDER_EMAIL_WORK + PROVIDER_STREET_ADDRESS_1 PROVIDER_STREET_ADDRESS_2 PROVIDER_COUNTY PROVIDER_PHONE_WORK PROVIDER_KEY + PROVIDER_PHONE_EXT_WORK CITY_STATE_ZIP PROVIDER_CITY PROVIDER_ZIP PROVIDER_STATE PROVIDER_QUICK_CODE @PART_TYPE_CD; + +RUN; + + PROC SORT DATA=PROVPART_TABLE NODUPKEY; BY INVESTIGATION_KEY;RUN; + +DATA PROVIDER; +MERGE PROVPART_TABLE PROVIDER; +BY INVESTIGATION_KEY; +RUN; + +--%MEND POPULATE_PROVIDER; + +*/ + +/* + ALTER TABLE dbo.tmp_DynDm_ProvPart_Table_temp + DROP COLUMN PROVIDER_NAME , PROVIDER_FIRST_NAME , PROVIDER_MIDDLE_NAME , PROVIDER_LAST_NAME , PROVIDER_NAME_SUFFIX , PROVIDER_NAME_DEGREE , PROVIDER_EMAIL_WORK , + PROVIDER_STREET_ADDRESS_1 , PROVIDER_STREET_ADDRESS_2 , PROVIDER_COUNTY , PROVIDER_PHONE_WORK , PROVIDER_KEY , + PROVIDER_PHONE_EXT_WORK , CITY_STATE_ZIP , PROVIDER_CITY , PROVIDER_ZIP , PROVIDER_STATE , PROVIDER_QUICK_CODE ; + + + alter table dbo.tmp_DynDm_ProvPart_Table_temp drop column PART_TYPE_CD , PART_TYPE_CD_NM ; + */ + + --IF OBJECT_ID('#tmp_DynDm_PROVPART_table', 'U') IS NOT NULL + -- drop table #tmp_DynDm_PROVPART_table; + + + +--select distinct * +--into #tmp_DynDm_PROVPART_table +--from dbo.tmp_DynDm_ProvPart_Table_temp; + + +--select RPT_PRV_DETAIL,* from #tmp_DynDm_PROVIDER where lower(RPT_PRV_DETAIL) like lower('%middle%middle%'); + + + + + + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'SP COMPLETE'; + + + + + 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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name , @ROWCOUNT_NO ); + + + + + COMMIT TRANSACTION; + + + END TRY + BEGIN CATCH + IF @@TRANCOUNT > 0 + BEGIN + ROLLBACK TRANSACTION; + END; + DECLARE @ErrorNumber int= ERROR_NUMBER(); + DECLARE @ErrorLine int= ERROR_LINE(); + DECLARE @ErrorMessage nvarchar(4000)= ERROR_MESSAGE(); + DECLARE @ErrorSeverity int= ERROR_SEVERITY(); + DECLARE @ErrorState int= ERROR_STATE(); + + select @ErrorMessage; + + 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, 'DYNAMIC_DATAMART', 'dbo.DynDm_ProvData_sp', 'ERROR', @Proc_Step_no, 'ERROR - '+@Proc_Step_name, 'Step -'+CAST(@Proc_Step_no AS varchar(3))+' -'+CAST(@ErrorMessage AS varchar(500)), 0 ); + RETURN -1; + END CATCH; +END; + diff --git a/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql new file mode 100644 index 00000000..7637eafe --- /dev/null +++ b/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql @@ -0,0 +1,618 @@ + + + +CREATE OR REPLACE PROCEDURE [dbo].sp_dyn_dm_provider_data_post_processing + + @batch_id BIGINT, + @DATAMART_NAME VARCHAR(100), @prv_id_list nvarchar(max) + AS +BEGIN + BEGIN TRY + + + +--DECLARE @batch_id BIGINT = 999; DECLARE @DATAMART_NAME VARCHAR(100) = 'CONG_SYPHILIS'; + + + + + DECLARE @RowCount_no INT = 0 ; + DECLARE @Proc_Step_no FLOAT = 0 ; + DECLARE @Proc_Step_Name VARCHAR(200) = '' ; + DECLARE @batch_start_time datetime = null ; + DECLARE @batch_end_time datetime = null ; + DECLARE @nbs_page_form_cd varchar(200)='' + + + SET @Proc_Step_no = 1; + SET @Proc_Step_Name = 'SP_Start'; + + + + + BEGIN TRANSACTION; + + INSERT INTO [dbo].[job_flow_log] ( batch_id ,[Dataflow_Name] ,[package_Name] ,[Status_Type] ,[step_number] ,[step_name] ,[row_count] ) + VALUES ( @batch_id ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_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 FACT_CASE'; + + + + +--DECLARE @batch_id BIGINT = 999; DECLARE @DATAMART_NAME VARCHAR(100) = 'CONG_SYPHILIS'; + + + + declare @countstd int = 0; + + + select @COUNTSTD = count(*) + from dbo.v_nrt_nbs_d_case_mgmt_rdb_table_metadata + ; + + + declare @FACT_CASE varchar(40) = ''; + + + if @countstd > 1 + begin + set @FACT_CASE = 'F_STD_PAGE_CASE'; + end + else + begin + set @FACT_CASE = 'F_PAGE_CASE'; + end + ; + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_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 tmp_DynDm_Provider_Metadata'; + + +--CREATE TABLE PROVIDER_METADATA AS + + IF OBJECT_ID('#tmp_DynDm_Provider_Metadata', 'U') IS NOT NULL + drop table #tmp_DynDm_Provider_Metadata; + + +/* +SELECT DISTINCT RDB_COLUMN_NM, user_defined_column_nm, part_type_cd , +cast( null as varchar(2000)) as [Key], +cast( null as varchar(2000)) as Detail, +cast( null as varchar(2000)) as QEC, +cast( null as varchar(2000)) as [UID] +into #tmp_DynDm_Provider_Metadata +FROM NBS_ODSE..NBS_RDB_METADATA +INNER JOIN NBS_ODSE..NBS_UI_METADATA ON NBS_RDB_METADATA.NBS_UI_METADATA_UID =NBS_UI_METADATA.NBS_UI_METADATA_UID +WHERE INVESTIGATION_FORM_CD = @nbs_page_form_cd +AND NBS_RDB_METADATA.USER_DEFINED_COLUMN_NM <> '' +and NBS_RDB_METADATA.USER_DEFINED_COLUMN_NM IS NOT NULL +AND PART_TYPE_CD IS NOT NULL +AND RDB_TABLE_NM ='D_PROVIDER' +AND DATA_TYPE='PART' +; +*/ + +select DISTINCT RDB_COLUMN_NM, user_defined_column_nm, part_type_cd , + [Key],Detail, QEC, [UID] + into #tmp_DynDm_Provider_Metadata +from dbo.v_nrt_d_provider_rdb_table_metadata WHERE INVESTIGATION_FORM_CD = @nbs_page_form_cd + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_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 tmp_DynDm_PROVIDER'; + + + IF OBJECT_ID('#tmp_DynDm_PROVIDER', 'U') IS NOT NULL + drop table #tmp_DynDm_PROVIDER; + + +select distinct investigation_key, +cast( null as [varchar](50)) [PROVIDER_LOCAL_ID], +cast( null as bigint) [PROVIDER_UID] + +into #tmp_DynDm_PROVIDER + FROM #tmp_DynDm_SUMM_DATAMART + -- pass the prv_Id_List param +; + + + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + +/* BEGIN TRANSACTION; -- move it to provider metadata view + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_Provider_Metadata'; + + + +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='SUPRVSR_OF_CASE_ASSGNMENT_KEY' where part_type_cd= 'CASupervisorOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='CLOSED_BY_KEY' where part_type_cd= 'ClosureInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='DISPOSITIONED_BY_KEY' where part_type_cd= 'DispoFldFupInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INVSTGTR_FLD_FOLLOW_UP_KEY' where part_type_cd= 'FldFupInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='PROVIDER_FLD_FOLLOW_UP_KEY' where part_type_cd= 'FldFupProvOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='SUPRVSR_OF_FLD_FOLLOW_UP_KEY' where part_type_cd= 'FldFupSupervisorOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INIT_ASGNED_FLD_FOLLOW_UP_KEY' where part_type_cd= 'InitFldFupInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INIT_FOLLOW_UP_INVSTGTR_KEY' where part_type_cd= 'InitFupInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INIT_ASGNED_INTERVIEWER_KEY' where part_type_cd= 'InitInterviewerOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INTERVIEWER_ASSIGNED_KEY' where part_type_cd= 'InterviewerOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='INVESTIGATOR_KEY' where part_type_cd= 'InvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='DELIVERING_MD_KEY' where part_type_cd= 'PerAsProviderOfDelivery' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='MOTHER_OB_GYN_KEY' where part_type_cd= 'PerAsProviderOfOBGYN' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='PEDIATRICIAN_KEY' where part_type_cd= 'PerAsProvideroOfPediatrics' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='PERSON_AS_REPORTER_KEY' where part_type_cd= 'PerAsReporterOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='PHYSICIAN_KEY' where part_type_cd= 'PhysicianOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='SURVEILLANCE_INVESTIGATOR_KEY' where part_type_cd= 'SurvInvestgrOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='FACILITY_FLD_FOLLOW_UP_KEY' where part_type_cd= 'FldFupFacilityOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='HOSPITAL_KEY' where part_type_cd= 'HospOfADT' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='ORDERING_FACILITY_KEY' where part_type_cd= 'OrgAsClinicOfPHC' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='DELIVERING_HOSP_KEY' where part_type_cd= 'OrgAsHospitalOfDelivery' ; +update #tmp_DynDm_Provider_Metadata SET PART_TYPE_CD='ORG_AS_REPORTER_KEY' where part_type_cd= 'OrgAsReporterOfPHC' ; + + + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + */ + + /* -- move it to view provider metadata + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING UPDATE 2 tmp_DynDm_Provider_Metadata'; + + + +update #tmp_DynDm_Provider_Metadata +set + [KEY] = substring(USER_DEFINED_COLUMN_NM,1,CHARINDEX('_UID',USER_DEFINED_COLUMN_NM))+'KEY' , + DETAIL = substring(USER_DEFINED_COLUMN_NM,1,CHARINDEX('_UID',USER_DEFINED_COLUMN_NM))+'DETAIL' , + QEC = substring(USER_DEFINED_COLUMN_NM,1,CHARINDEX('_UID',USER_DEFINED_COLUMN_NM))+'QEC' , + [UID] = USER_DEFINED_COLUMN_NM + ; + + + +-- select * from #tmp_DynDm_Provider_Metadata; + + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + */ + + + declare @USER_DEFINED_COLUMN_NM varchar(max) ,@PART_TYPE_CD varchar(max) ,@DETAIL varchar(max) ,@QEC varchar(max) ,@UID varchar(max); + + + + declare @SQL varchar(max) + + +--declare @PART_TYPE_CD varchar(max) = null , @SQL varchar(max); + + +DECLARE db_cursor_org CURSOR LOCAL FOR + select PART_TYPE_CD , [key],DETAIL,QEC ,[UID] from #tmp_DynDm_Provider_Metadata; + +OPEN db_cursor_org +FETCH NEXT FROM db_cursor_org INTO @PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID + +WHILE @@FETCH_STATUS = 0 +BEGIN + + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING tmp_DynDm_ProvPart_Table_temp'; + + + IF OBJECT_ID('dbo.tmp_DynDm_ProvPart_Table_temp', 'U') IS NOT NULL + drop table dbo.tmp_DynDm_ProvPart_Table_temp; + + + CREATE TABLE dbo.tmp_DynDm_ProvPart_Table_temp( + [PROVIDER_KEY] [bigint] NULL, + [PROVIDER_QUICK_CODE] [varchar](50) NULL, + [PROVIDER_LOCAL_ID] [varchar](50) NULL, + [PROVIDER_UID] [bigint] NULL, + [PROVIDER_FIRST_NAME] [varchar](50) NULL, + [PROVIDER_MIDDLE_NAME] [varchar](50) NULL, + [PROVIDER_LAST_NAME] [varchar](50) NULL, + [PROVIDER_NAME_SUFFIX] [varchar](50) NULL, + [PROVIDER_NAME_DEGREE] [varchar](50) NULL, + [PROVIDER_STREET_ADDRESS_1] [varchar](50) NULL, + [PROVIDER_STREET_ADDRESS_2] [varchar](50) NULL, + [PROVIDER_CITY] [varchar](50) NULL, + [PROVIDER_STATE] [varchar](50) NULL, + [PROVIDER_ZIP] [varchar](50) NULL, + [PROVIDER_COUNTY] [varchar](50) NULL, + [PROVIDER_PHONE_WORK] [varchar](50) NULL, + [PROVIDER_PHONE_EXT_WORK] [varchar](50) NULL, + [PROVIDER_EMAIL_WORK] [varchar](50) NULL, + [PART_TYPE_CD] [bigint] NULL, + [PART_TYPE_CD_NM] [varchar](200) NOT NULL, + [CITY_STATE_ZIP] [varchar](4000) NULL, + [PROVIDER_NAME] [varchar](5000) NULL, + [DETAIL] varchar(2000), + [INVESTIGATION_KEY] [bigint] NOT NULL + ); + + + SET @SQL = ' insert into [dbo].tmp_DynDm_ProvPart_Table_temp SELECT d_p.PROVIDER_KEY, ' + + ' d_p.PROVIDER_QUICK_CODE, ' + + ' d_p.PROVIDER_LOCAL_ID, ' + + ' d_p.PROVIDER_UID, ' + + ' d_p.PROVIDER_FIRST_NAME, ' + + ' d_p.PROVIDER_MIDDLE_NAME, ' + + ' d_p.PROVIDER_LAST_NAME, ' + + ' d_p.PROVIDER_NAME_SUFFIX, ' + + ' d_p.PROVIDER_NAME_DEGREE, ' + + ' d_p.PROVIDER_STREET_ADDRESS_1, ' + + ' d_p.PROVIDER_STREET_ADDRESS_2, ' + + ' d_p.PROVIDER_CITY, ' +' d_p.PROVIDER_STATE, ' + ' d_p.PROVIDER_ZIP, ' + + ' d_p.PROVIDER_COUNTY, ' + + ' d_p.PROVIDER_PHONE_WORK, ' + + ' d_p.PROVIDER_PHONE_EXT_WORK, ' + + ' PROVIDER_EMAIL_WORK, ' + + @PART_TYPE_CD +', ' + + ''''+ @PART_TYPE_CD +''', '+ + ' coalesce( ltrim(rtrim(PROVIDER_CITY))+'', '','''')+coalesce( ltrim(rtrim(PROVIDER_STATE))+'' '','''')+coalesce( ltrim(rtrim(PROVIDER_ZIP)),'''') ' + ','+ + ' null ,'+ + ' null ,'+ + ' s_d.INVESTIGATION_KEY AS INVESTIGATION_KEY ' + + ' FROM #tmp_DynDm_SUMM_DATAMART s_d '+ + ' INNER JOIN dbo.'+@FACT_CASE+ ' ON s_d.INVESTIGATION_KEY = '+@FACT_CASE+ '.INVESTIGATION_KEY '+ + ' LEFT JOIN dbo.D_PROVIDER d_p ON '+@FACT_CASE+'.'+@PART_TYPE_CD+' = d_p.PROVIDER_KEY '+ + ' where d_p.PROVIDER_UID IN (SELECT value FROM STRING_SPLIT(' + @prv_id_list +','+ ','+'))' + + '; ' + + -- select 'INSERT',@PART_TYPE_CD,@DETAIL , @SQL; + + + EXEC(@SQL); + + + + +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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_ProvPart_Table_temp'; + + + + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(coalesce(PROVIDER_FIRST_NAME,'')) ) ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME)) + ' ' + LTRIM(RTRIM(PROVIDER_MIDDLE_NAME)) WHERE LEN(LTRIM(RTRIM(PROVIDER_MIDDLE_NAME )))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME)) + ' ' + LTRIM(RTRIM(PROVIDER_LAST_NAME)) WHERE LEN(LTRIM(RTRIM(PROVIDER_LAST_NAME )))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME)) + ', ' + LTRIM(RTRIM(PROVIDER_NAME_SUFFIX)) WHERE LEN(LTRIM(RTRIM(PROVIDER_NAME_SUFFIX )))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME)) + ', ' + LTRIM(RTRIM(PROVIDER_NAME_DEGREE)) WHERE LEN(LTRIM(RTRIM(PROVIDER_NAME_DEGREE )))>0 ; + + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET PROVIDER_NAME = null where LTRIM( RTRIM(PROVIDER_NAME)) = ''; + + + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL ='' + RTRIM(PROVIDER_LOCAL_ID) WHERE LEN(LTRIM(RTRIM(PROVIDER_LOCAL_ID)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' + PROVIDER_NAME WHERE LEN(LTRIM(RTRIM(PROVIDER_NAME)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL = LTRIM(RTRIM(DETAIL)) + '
' + LTRIM(RTRIM(PROVIDER_STREET_ADDRESS_1)) WHERE LEN(LTRIM(RTRIM(PROVIDER_STREET_ADDRESS_1)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL = LTRIM(RTRIM(DETAIL)) + '
' + LTRIM(RTRIM(PROVIDER_STREET_ADDRESS_2)) WHERE LEN(LTRIM(RTRIM(PROVIDER_STREET_ADDRESS_2)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' + LTRIM( RTRIM(CITY_STATE_ZIP)) WHERE LEN(LTRIM(RTRIM(CITY_STATE_ZIP)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' + LTRIM(RTRIM(PROVIDER_COUNTY)) WHERE LEN(LTRIM(RTRIM(PROVIDER_COUNTY)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' + LTRIM( RTRIM(PROVIDER_PHONE_WORK)) WHERE LEN(LTRIM(RTRIM(PROVIDER_PHONE_WORK)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + ', ext. ' + LTRIM( RTRIM(PROVIDER_PHONE_EXT_WORK)) WHERE LEN(LTRIM(RTRIM(PROVIDER_PHONE_WORK)))>0 and LEN(LTRIM(RTRIM(PROVIDER_PHONE_EXT_WORK)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
ext. ' + LTRIM( RTRIM(PROVIDER_PHONE_EXT_WORK)) WHERE LEN(LTRIM(RTRIM(PROVIDER_PHONE_WORK)))=0 and LEN(LTRIM(RTRIM(PROVIDER_PHONE_EXT_WORK)))>0 ; + UPDATE dbo.tmp_DynDm_ProvPart_Table_temp SET DETAIL =LTRIM(RTRIM(DETAIL)) + '
' WHERE LEN(LTRIM(RTRIM(DETAIL )))>0 ; + + + + + 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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING ALTER tmp_DynDm_ProvPart_Table_temp'; + + + -- select 'tmp_DynDm_ProvPart_Table_temp', * from dbo.tmp_DynDm_ProvPart_Table_temp; + + + SET @SQL = 'alter table dbo.tmp_DynDm_ProvPart_Table_temp add ' + @DETAIL + ' [varchar](2000) , ' + @USER_DEFINED_COLUMN_NM+ ' bigint , ' + @QEC+ ' [varchar](50) , ' + @UID+ ' bigint ; ' + + -- select 'ALTER', @PART_TYPE_CD, @SQL; + + + EXEC(@SQL); + + + + SET @SQL = 'alter table #tmp_DynDm_PROVIDER add ' + @DETAIL + ' [varchar](2000) , ' + @USER_DEFINED_COLUMN_NM+ ' bigint , ' + @QEC+ ' [varchar](50) , ' + @UID+ ' bigint ; ' + + + EXEC(@SQL); + + + + + + 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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'GENERATING UPDATE tmp_DynDm_PROVIDER'; + + + + + --@USER_DEFINED_COLUMN_NM=ORGANIZATION_KEY; + --@QEC =ORGANIZATION_QUICK_CODE; + --@UID= ORGANIZATION_UID; + + SET @SQL = 'update tDO SET ' + + ' PROVIDER_LOCAL_ID = orgtemp.PROVIDER_LOCAL_ID ,' + + ' PROVIDER_UID = orgtemp.PROVIDER_UID ,' + + @DETAIL + ' = DETAIL , ' + + @USER_DEFINED_COLUMN_NM+ ' = PROVIDER_KEY , ' + + @QEC+ ' = PROVIDER_QUICK_CODE , ' + + @UID+ ' = orgtemp.PROVIDER_UID ' + + ' FROM #tmp_DynDm_PROVIDER tDO ' + + ' INNER JOIN dbo.tmp_DynDm_ProvPart_Table_temp orgtemp ON tDO.investigation_key = orgtemp.investigation_key ' + + ' ; ' + + --select 'UPDATE', @PART_TYPE_CD, @SQL; + + + --select 'tmp_DynDm_PROVIDER', * from #tmp_DynDm_PROVIDER; + + EXEC(@SQL); + + + + 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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name +'-'+ @PART_TYPE_CD , @ROWCOUNT_NO ); + + + + COMMIT TRANSACTION; + + + + + FETCH NEXT FROM db_cursor_org INTO @PART_TYPE_CD ,@USER_DEFINED_COLUMN_NM,@DETAIL ,@QEC ,@UID + +END + +CLOSE db_cursor_org +DEALLOCATE db_cursor_org +; + + + + + + + +/* +DATA PROVPART_TABLE; +SET PROVPART_TABLE; + LENGTH CITY_STATE_ZIP $2000; + LENGTH DETAIL $2000; + LENGTH PROVIDER_NAME $2000; + + + IF PROVIDER_KEY =1 THEN PROVIDER_KEY=.; + @USER_DEFINED_COLUMN_NM=PROVIDER_KEY; + @QEC =PROVIDER_QUICK_CODE; + @UID=PROVIDER_UID; + IF LENGTHN(TRIM(PROVIDER_CITY))>0 THEN CITY_STATE_ZIP =PROPCASE(TRIM(PROVIDER_CITY)); + IF LENGTHN(TRIM(PROVIDER_STATE))>0 THEN CITY_STATE_ZIP = LTRIM( RTRIM(CITY_STATE_ZIP) || ', ' ||v PROPCASE(TRIM(PROVIDER_STATE)) ; + IF LENGTHN(TRIM(PROVIDER_ZIP))>0 THEN CITY_STATE_ZIP = LTRIM( RTRIM(CITY_STATE_ZIP) || ' ' || PROPZASE(TRIM(PROVIDER_ZIP)) ; + + PROVIDER_NAME=PROPCASE(TRIM(PROVIDER_FIRST_NAME)); + + + IF LENGTHN(TRIM(PROVIDER_NAME))>0 AND LENGTHN(TRIM(PROVIDER_MIDDLE_NAME ))>0 THEN PROVIDER_NAME =TRIM(PROVIDER_NAME) ||' '|| PROPCASE(TRIM(PROVIDER_MIDDLE_NAME)); + IF LENGTHN(TRIM(PROVIDER_NAME))=0 AND LENGTHN(TRIM(PROVIDER_MIDDLE_NAME ))>0 THEN PROVIDER_NAME =PROPCASE(TRIM(PROVIDER_MIDDLE_NAME)); + IF LENGTHN(TRIM(PROVIDER_NAME))>0 AND LENGTHN(TRIM(PROVIDER_LAST_NAME ))>0 THEN PROVIDER_NAME =TRIM(PROVIDER_NAME) ||' '|| PROPCASE(TRIM(PROVIDER_LAST_NAME)); + IF LENGTHN(TRIM(PROVIDER_NAME))=0 AND LENGTHN(TRIM(PROVIDER_LAST_NAME ))>0 THEN PROVIDER_NAME = PROPCASE(TRIM(PROVIDER_LAST_NAME)); + IF LENGTHN(TRIM(PROVIDER_NAME))>0 AND LENGTHN(TRIM(PROVIDER_NAME_SUFFIX ))>0 THEN PROVIDER_NAME =TRIM(PROVIDER_NAME) ||', '|| PROPCASE(TRIM(PROVIDER_NAME_SUFFIX)); + IF LENGTHN(TRIM(PROVIDER_NAME))=0 AND LENGTHN(TRIM(PROVIDER_NAME_SUFFIX ))>0 THEN PROVIDER_NAME = PROPCASE(TRIM(PROVIDER_NAME_SUFFIX)); + IF LENGTHN(TRIM(PROVIDER_NAME))>0 AND LENGTHN(TRIM(PROVIDER_NAME_DEGREE ))>0 THEN PROVIDER_NAME =TRIM(PROVIDER_NAME) ||', '|| LTRIM( RTRIM(PROVIDER_NAME_DEGREE); + IF LENGTHN(TRIM(PROVIDER_NAME))=0 AND LENGTHN(TRIM(PROVIDER_NAME_DEGREE ))>0 THEN PROVIDER_NAME = LTRIM( RTRIM(PROVIDER_NAME_DEGREE); + + + If LENGTHN(TRIM(PROVIDER_LOCAL_ID))>0 THEN DETAIL ='' ||TRIM(PROVIDER_LOCAL_ID); + If LENGTHN(TRIM(PROVIDER_NAME))>0 THEN DETAIL =TRIM(DETAIL ) ||'
' || PROVIDER_NAME; + IF LENGTHN(TRIM(PROVIDER_STREET_ADDRESS_1))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL ) ||'
' ||PROPCASE(TRIM(PROVIDER_STREET_ADDRESS_1)); + IF LENGTHN(TRIM(PROVIDER_STREET_ADDRESS_2))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL ) || '
' || PROPCASE(TRIM(PROVIDER_STREET_ADDRESS_2)) ; + IF LENGTHN(TRIM(CITY_STATE_ZIP))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| '
' || LTRIM( RTRIM(CITY_STATE_ZIP) ; + IF LENGTHN(TRIM(PROVIDER_COUNTY))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| '
' || PROPCASE(TRIM(PROVIDER_COUNTY)) ; + IF LENGTHN(TRIM(PROVIDER_PHONE_WORK))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| '
' || LTRIM( RTRIM(PROVIDER_PHONE_WORK) ; + IF LENGTHN(TRIM(PROVIDER_PHONE_WORK))>0 and LENGTHN(TRIM(PROVIDER_PHONE_EXT_WORK))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| ', ext. ' || LTRIM( RTRIM(PROVIDER_PHONE_EXT_WORK) ; + IF LENGTHN(TRIM(PROVIDER_PHONE_WORK))=0 and LENGTHN(TRIM(PROVIDER_PHONE_EXT_WORK))>0 THEN DETAIL = LTRIM( RTRIM(DETAIL )|| '
ext. ' || LTRIM( RTRIM(PROVIDER_PHONE_EXT_WORK) ; + IF LENGTHN(TRIM(DETAIL ))>0 then DETAIL = LTRIM( RTRIM(DETAIL )|| '
'; + + + DROP PROVIDER_NAME PROVIDER_FIRST_NAME PROVIDER_MIDDLE_NAME PROVIDER_LAST_NAME PROVIDER_NAME_SUFFIX PROVIDER_NAME_DEGREE PROVIDER_EMAIL_WORK + PROVIDER_STREET_ADDRESS_1 PROVIDER_STREET_ADDRESS_2 PROVIDER_COUNTY PROVIDER_PHONE_WORK PROVIDER_KEY + PROVIDER_PHONE_EXT_WORK CITY_STATE_ZIP PROVIDER_CITY PROVIDER_ZIP PROVIDER_STATE PROVIDER_QUICK_CODE @PART_TYPE_CD; + +RUN; + + PROC SORT DATA=PROVPART_TABLE NODUPKEY; BY INVESTIGATION_KEY;RUN; + +DATA PROVIDER; +MERGE PROVPART_TABLE PROVIDER; +BY INVESTIGATION_KEY; +RUN; + +--%MEND POPULATE_PROVIDER; + +*/ + +/* + ALTER TABLE dbo.tmp_DynDm_ProvPart_Table_temp + DROP COLUMN PROVIDER_NAME , PROVIDER_FIRST_NAME , PROVIDER_MIDDLE_NAME , PROVIDER_LAST_NAME , PROVIDER_NAME_SUFFIX , PROVIDER_NAME_DEGREE , PROVIDER_EMAIL_WORK , + PROVIDER_STREET_ADDRESS_1 , PROVIDER_STREET_ADDRESS_2 , PROVIDER_COUNTY , PROVIDER_PHONE_WORK , PROVIDER_KEY , + PROVIDER_PHONE_EXT_WORK , CITY_STATE_ZIP , PROVIDER_CITY , PROVIDER_ZIP , PROVIDER_STATE , PROVIDER_QUICK_CODE ; + + + alter table dbo.tmp_DynDm_ProvPart_Table_temp drop column PART_TYPE_CD , PART_TYPE_CD_NM ; + */ + + --IF OBJECT_ID('#tmp_DynDm_PROVPART_table', 'U') IS NOT NULL + -- drop table #tmp_DynDm_PROVPART_table; + + + +--select distinct * +--into #tmp_DynDm_PROVPART_table +--from dbo.tmp_DynDm_ProvPart_Table_temp; + + +--select RPT_PRV_DETAIL,* from #tmp_DynDm_PROVIDER where lower(RPT_PRV_DETAIL) like lower('%middle%middle%'); + + + + + + + + BEGIN TRANSACTION; + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'SP COMPLETE'; + + + + + 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 ,'DYNAMIC_DATAMART' ,'dbo.DynDm_ProvData_sp '+@DATAMART_NAME ,'START' ,@Proc_Step_no , @Proc_Step_Name , @ROWCOUNT_NO ); + + + + + COMMIT TRANSACTION; + + + END TRY + BEGIN CATCH + IF @@TRANCOUNT > 0 + BEGIN + ROLLBACK TRANSACTION; + END; + DECLARE @ErrorNumber int= ERROR_NUMBER(); + DECLARE @ErrorLine int= ERROR_LINE(); + DECLARE @ErrorMessage nvarchar(4000)= ERROR_MESSAGE(); + DECLARE @ErrorSeverity int= ERROR_SEVERITY(); + DECLARE @ErrorState int= ERROR_STATE(); + + select @ErrorMessage; + + 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, 'DYNAMIC_DATAMART', 'dbo.DynDm_ProvData_sp', 'ERROR', @Proc_Step_no, 'ERROR - '+@Proc_Step_name, 'Step -'+CAST(@Proc_Step_no AS varchar(3))+' -'+CAST(@ErrorMessage AS varchar(500)), 0 ); + RETURN -1; + END CATCH; +END; + From 312fae57b87f4a5094653975d4b4f4e630df8de0 Mon Sep 17 00:00:00 2001 From: Ravindran Seshadri <109151953+rseshadri99@users.noreply.github.com> Date: Sat, 8 Mar 2025 22:19:09 -0500 Subject: [PATCH 2/6] add liquibase config for 120-sp_dyn_dm_provider_data_post_processing-001.sql add liquibase config for 120-sp_dyn_dm_provider_data_post_processing-001.sql --- .../db/changelog/db.rdb_modern.changelog-16.1.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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 736174ee..df72833a 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 @@ -1054,4 +1054,12 @@ databaseChangeLog: changes: - sqlFile: path: 060-create-summary-report-case-001.sql - splitStatements: false \ No newline at end of file + splitStatements: false + - changeSet: + id: 149 + author: liquibase + runOnChange: true + changes: + - sqlFile: + path: 120-sp_dyn_dm_provider_data_post_processing-001.sql + splitStatements: false From 7a81cca3ab29d45494ed98a22037c09918cf125e Mon Sep 17 00:00:00 2001 From: Ravindran Seshadri <109151953+rseshadri99@users.noreply.github.com> Date: Sat, 8 Mar 2025 22:21:53 -0500 Subject: [PATCH 3/6] add alter to proc sp_dyn_dm_provider_data_post_processing add alter to proc sp_dyn_dm_provider_data_post_processing --- .../routines/120-sp_dyn_dm_provider_data_post_processing.sql | 2 +- .../120-sp_dyn_dm_provider_data_post_processing-001.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql b/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql index 7637eafe..66def413 100644 --- a/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql +++ b/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql @@ -1,7 +1,7 @@ -CREATE OR REPLACE PROCEDURE [dbo].sp_dyn_dm_provider_data_post_processing +CREATE OR alter PROCEDURE [dbo].sp_dyn_dm_provider_data_post_processing @batch_id BIGINT, @DATAMART_NAME VARCHAR(100), @prv_id_list nvarchar(max) diff --git a/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql index 7637eafe..66def413 100644 --- a/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql +++ b/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql @@ -1,7 +1,7 @@ -CREATE OR REPLACE PROCEDURE [dbo].sp_dyn_dm_provider_data_post_processing +CREATE OR alter PROCEDURE [dbo].sp_dyn_dm_provider_data_post_processing @batch_id BIGINT, @DATAMART_NAME VARCHAR(100), @prv_id_list nvarchar(max) From 231c25c7a2b594c4b5304d56e81c6315fb0a8b6f Mon Sep 17 00:00:00 2001 From: Ravindran Seshadri <109151953+rseshadri99@users.noreply.github.com> Date: Sat, 8 Mar 2025 23:46:16 -0500 Subject: [PATCH 4/6] Update db.rdb_modern.changelog-16.1.yaml update liquibase change log --- .../resources/db/changelog/db.rdb_modern.changelog-16.1.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 df72833a..106cf55a 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 @@ -1056,7 +1056,7 @@ databaseChangeLog: path: 060-create-summary-report-case-001.sql splitStatements: false - changeSet: - id: 149 + id: 156 author: liquibase runOnChange: true changes: From 61fb3fe515e59f3704bde1860ef2a41e20f0c3dc Mon Sep 17 00:00:00 2001 From: Ravindran Seshadri <109151953+rseshadri99@users.noreply.github.com> Date: Sun, 9 Mar 2025 01:03:17 -0500 Subject: [PATCH 5/6] Update db.rdb_modern.changelog-16.1.yaml liquibase change log update --- .../resources/db/changelog/db.rdb_modern.changelog-16.1.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 106cf55a..64d578c8 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 @@ -1056,7 +1056,7 @@ databaseChangeLog: path: 060-create-summary-report-case-001.sql splitStatements: false - changeSet: - id: 156 + id: 162 author: liquibase runOnChange: true changes: From 9eceaacf447bd18ffb01df2a17350a3a4fd94e47 Mon Sep 17 00:00:00 2001 From: Ravindran Seshadri <109151953+rseshadri99@users.noreply.github.com> Date: Mon, 10 Mar 2025 23:47:01 -0400 Subject: [PATCH 6/6] Proc name change Proc name change --- ...ssing.sql => 120-sp_dyn_dm_provider_data_postprocessing.sql} | 2 +- .../resources/db/changelog/db.rdb_modern.changelog-16.1.yaml | 2 +- ...1.sql => 120-sp_dyn_dm_provider_data_postprocessing-001.sql} | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename db/upgrade/rdb_modern/routines/{120-sp_dyn_dm_provider_data_post_processing.sql => 120-sp_dyn_dm_provider_data_postprocessing.sql} (99%) rename liquibase-service/src/main/resources/db/rdb_modern/routines/{120-sp_dyn_dm_provider_data_post_processing-001.sql => 120-sp_dyn_dm_provider_data_postprocessing-001.sql} (99%) diff --git a/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql b/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_postprocessing.sql similarity index 99% rename from db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql rename to db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_postprocessing.sql index 66def413..367361b3 100644 --- a/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing.sql +++ b/db/upgrade/rdb_modern/routines/120-sp_dyn_dm_provider_data_postprocessing.sql @@ -1,7 +1,7 @@ -CREATE OR alter PROCEDURE [dbo].sp_dyn_dm_provider_data_post_processing +CREATE OR alter PROCEDURE [dbo].sp_dyn_dm_provider_data_postprocessing @batch_id BIGINT, @DATAMART_NAME VARCHAR(100), @prv_id_list nvarchar(max) 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 64d578c8..65a1611f 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 @@ -1061,5 +1061,5 @@ databaseChangeLog: runOnChange: true changes: - sqlFile: - path: 120-sp_dyn_dm_provider_data_post_processing-001.sql + path: 120-sp_dyn_dm_provider_data_postprocessing-001.sql splitStatements: false diff --git a/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql b/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_postprocessing-001.sql similarity index 99% rename from liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql rename to liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_postprocessing-001.sql index 66def413..367361b3 100644 --- a/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_post_processing-001.sql +++ b/liquibase-service/src/main/resources/db/rdb_modern/routines/120-sp_dyn_dm_provider_data_postprocessing-001.sql @@ -1,7 +1,7 @@ -CREATE OR alter PROCEDURE [dbo].sp_dyn_dm_provider_data_post_processing +CREATE OR alter PROCEDURE [dbo].sp_dyn_dm_provider_data_postprocessing @batch_id BIGINT, @DATAMART_NAME VARCHAR(100), @prv_id_list nvarchar(max)