diff --git a/liquibase-service/src/main/resources/db/005-rdb_modern/routines/026-sp_std_hiv_datamart_postprocessing-001.sql b/liquibase-service/src/main/resources/db/005-rdb_modern/routines/026-sp_std_hiv_datamart_postprocessing-001.sql index c86461c40..872d6f1a7 100644 --- a/liquibase-service/src/main/resources/db/005-rdb_modern/routines/026-sp_std_hiv_datamart_postprocessing-001.sql +++ b/liquibase-service/src/main/resources/db/005-rdb_modern/routines/026-sp_std_hiv_datamart_postprocessing-001.sql @@ -291,7 +291,7 @@ BEGIN ,[FL_FUP_INIT_ASSGN_DT] = CM.FL_FUP_INIT_ASSGN_DT ,[FL_FUP_INTERNET_OUTCOME_CD] = CM.FL_FUP_INTERNET_OUTCOME_CD ,[FL_FUP_INVESTIGATOR_ASSGN_DT] = CM.FL_FUP_INVESTIGATOR_ASSGN_DT - ,[FL_FUP_NOTIFICATION_PLAN] = CM.FL_FUP_NOTIFICATION_PLAN_CD + ,[FL_FUP_NOTIFICATION_PLAN] = CM.FLD_FOLL_UP_NOTIFICATION_PLAN ,[FL_FUP_OOJ_OUTCOME] = CM.FL_FUP_OOJ_OUTCOME ,[FL_FUP_PROV_DIAGNOSIS_CD] = SUBSTRING(CM.FL_FUP_PROV_DIAGNOSIS, 1, 3) ,[FL_FUP_PROV_EXM_REASON] = CM.FL_FUP_PROV_EXM_REASON @@ -949,7 +949,7 @@ BEGIN ,CM.FL_FUP_INIT_ASSGN_DT ,CM.FL_FUP_INTERNET_OUTCOME_CD ,CM.FL_FUP_INVESTIGATOR_ASSGN_DT - ,CM.FL_FUP_NOTIFICATION_PLAN_CD + ,CM.FLD_FOLL_UP_NOTIFICATION_PLAN ,CM.FL_FUP_OOJ_OUTCOME ,SUBSTRING(CM.FL_FUP_PROV_DIAGNOSIS, 1, 3) ,CM.FL_FUP_PROV_EXM_REASON diff --git a/liquibase-service/src/main/resources/db/005-rdb_modern/routines/056-sp_investigation_event-001.sql b/liquibase-service/src/main/resources/db/005-rdb_modern/routines/056-sp_investigation_event-001.sql index 17ba9e8d7..d7532444c 100644 --- a/liquibase-service/src/main/resources/db/005-rdb_modern/routines/056-sp_investigation_event-001.sql +++ b/liquibase-service/src/main/resources/db/005-rdb_modern/routines/056-sp_investigation_event-001.sql @@ -646,11 +646,19 @@ BEGIN from fn_get_value_by_cvg(fld_foll_up_prov_exm_reason, 'PRVDR_EXAM_REASON')) as fl_fup_prov_exm_reason, fld_foll_up_prov_diagnosis, LEFT(fld_foll_up_prov_diagnosis, 3) as fl_fup_prov_diagnosis, - fld_foll_up_notification_plan, (select * - from fn_get_value_by_cvg(fld_foll_up_notification_plan, - 'NOTIFICATION_PLAN')) as fl_fup_notification_plan_cd, - fld_foll_up_expected_in, + from fn_get_value_by_cvg(fld_foll_up_notification_plan, + case + when exists (select 1 + from nbs_srte.dbo.condition_code cc + where cc.condition_cd = phc.cd + and cc.prog_area_cd = 'HIV') + then 'NOTIFICATION_ACTUAL_METHOD_HIV' + else 'NOTIFICATION_PLAN' + end + )) as fld_foll_up_notification_plan, + fld_foll_up_notification_plan as fl_fup_notification_plan_cd, + (select * from fn_get_value_by_cvg(fld_foll_up_expected_in, 'YN')) as fl_fup_expected_in_ind, fld_foll_up_expected_date as fl_fup_expected_dt, fld_foll_up_exam_date as fl_fup_exam_dt, @@ -661,7 +669,16 @@ BEGIN fld_foll_up_dispo_date as fl_fup_dispo_dt, act_ref_type_cd, (select * - from fn_get_value_by_cvg(act_ref_type_cd, 'NOTIFICATION_ACTUAL_METHOD_STD')) as fl_fup_actual_ref_type, + from fn_get_value_by_cvg(act_ref_type_cd, + case + when exists (select 1 + from nbs_srte.dbo.condition_code cc + where cc.condition_cd = phc.cd + and cc.prog_area_cd = 'HIV') + then 'NOTIFICATION_ACTUAL_METHOD_HIV' + else 'NOTIFICATION_ACTUAL_METHOD_STD' + end + )) as fl_fup_actual_ref_type, -- this returns something like "3 - Dual" case_review_status, case_review_status_date, fld_foll_up_internet_outcome as fl_fup_internet_outcome_cd, diff --git a/liquibase-service/src/main/resources/db/005-rdb_modern/routines/245-sp_dyn_dm_createdm_postprocessing-001.sql b/liquibase-service/src/main/resources/db/005-rdb_modern/routines/245-sp_dyn_dm_createdm_postprocessing-001.sql index 636bb5fc3..c82b66d54 100644 --- a/liquibase-service/src/main/resources/db/005-rdb_modern/routines/245-sp_dyn_dm_createdm_postprocessing-001.sql +++ b/liquibase-service/src/main/resources/db/005-rdb_modern/routines/245-sp_dyn_dm_createdm_postprocessing-001.sql @@ -284,6 +284,69 @@ LEFT JOIN dbo.tmp_DynDm_REPEAT_BLOCK_NUMERIC_ALL_' + @datamart_suffix + ' with COMMIT TRANSACTION; + BEGIN TRANSACTION + + SET @Proc_Step_no = @Proc_Step_no + 1; + SET @Proc_Step_Name = 'MODIFY MISMATCHED COLUMN TYPES IN ' + @tgt_table_nm; + + -- For columns that exist in both target and source but with different types, + -- SQL Server does not allow ALTER COLUMN between incompatible types (e.g. float -> date). + -- Instead, drop the column from the target and re-add it with the correct type. + -- The UPDATE step that follows will repopulate the values from the incoming data. + set @temp_sql = ' + WITH type_mismatch_cte AS ( + SELECT + src.COLUMN_NAME, + src.DATA_TYPE AS src_data_type, + src.CHARACTER_MAXIMUM_LENGTH AS src_char_max_len, + src.NUMERIC_PRECISION AS src_num_prec, + src.NUMERIC_SCALE AS src_num_scale + FROM INFORMATION_SCHEMA.COLUMNS src + INNER JOIN INFORMATION_SCHEMA.COLUMNS tgt + ON src.COLUMN_NAME = tgt.COLUMN_NAME + AND src.TABLE_SCHEMA = tgt.TABLE_SCHEMA + WHERE src.TABLE_NAME = ''' + @tmp_DynDm_INCOMING_DATA + ''' + AND tgt.TABLE_NAME = ''' + @tgt_table_nm + ''' + AND src.TABLE_SCHEMA = ''dbo'' + AND tgt.TABLE_SCHEMA = ''dbo'' + AND src.DATA_TYPE <> tgt.DATA_TYPE + ) + SELECT @altercolsOUT = STRING_AGG( + CAST( + ''ALTER TABLE dbo.' + @tgt_table_nm + ' DROP COLUMN '' + QUOTENAME(COLUMN_NAME) + '';'' + + ''ALTER TABLE dbo.' + @tgt_table_nm + ' ADD '' + QUOTENAME(COLUMN_NAME) + '' '' + src_data_type + + CASE + WHEN src_data_type IN (''decimal'', ''numeric'') + THEN ''('' + CAST(src_num_prec AS NVARCHAR) + '','' + CAST(src_num_scale AS NVARCHAR) + '')'' + WHEN src_data_type = ''varchar'' + THEN ''('' + CASE WHEN src_char_max_len = -1 THEN ''MAX'' ELSE CAST(src_char_max_len AS NVARCHAR) END + '')'' + ELSE '''' + END + '' NULL'' + AS NVARCHAR(MAX) + ), + '';'') + FROM type_mismatch_cte'; + + DECLARE @altercols_type NVARCHAR(MAX); + + if @debug = 'true' + select @Proc_Step_Name, @temp_sql; + + exec sp_executesql @temp_sql, N'@altercolsOUT NVARCHAR(MAX) OUTPUT', @altercolsOUT = @altercols_type OUTPUT; + + IF (@altercols_type IS NOT NULL) + BEGIN + if @debug = 'true' + select @Proc_Step_Name, @altercols_type; + + exec sp_executesql @altercols_type; + 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, @dataflow_name, @package_name, 'START', @Proc_Step_no, @Proc_Step_Name, @ROWCOUNT_NO); + + COMMIT TRANSACTION; IF OBJECT_ID('dbo.tmp_DynDm_Inactive_Investigations_'+@datamart_suffix, 'U') IS NOT NULL BEGIN diff --git a/liquibase-service/src/main/resources/db/005-rdb_modern/tables/020-create_nrt_investigation_case_management-001.sql b/liquibase-service/src/main/resources/db/005-rdb_modern/tables/020-create_nrt_investigation_case_management-001.sql index e9785859d..0fe8cd41e 100644 --- a/liquibase-service/src/main/resources/db/005-rdb_modern/tables/020-create_nrt_investigation_case_management-001.sql +++ b/liquibase-service/src/main/resources/db/005-rdb_modern/tables/020-create_nrt_investigation_case_management-001.sql @@ -21,7 +21,7 @@ CREATE TABLE dbo.nrt_investigation_case_management cc_closed_dt datetime NULL, epi_link_id varchar(20) NULL, field_foll_up_ooj_outcome varchar(20) NULL, - fl_fup_actual_ref_type varchar(15) NULL, + fl_fup_actual_ref_type varchar(100) NULL, fl_fup_dispo_dt datetime NULL, fl_fup_disposition_cd varchar(20) NULL, fl_fup_disposition_desc varchar(44) NULL, @@ -33,7 +33,7 @@ CREATE TABLE dbo.nrt_investigation_case_management fl_fup_internet_outcome varchar(41) NULL, fl_fup_internet_outcome_cd varchar(10) NULL, fl_fup_investigator_assgn_dt datetime NULL, - fl_fup_notification_plan_cd varchar(15) NULL, + fl_fup_notification_plan_cd varchar(100) NULL, fl_fup_ooj_outcome varchar(44) NULL, fl_fup_prov_diagnosis varchar(3) NULL, fl_fup_prov_exm_reason varchar(43) NULL, diff --git a/liquibase-service/src/main/resources/db/005-rdb_modern/tables/023-create_std_hiv_datamart-001.sql b/liquibase-service/src/main/resources/db/005-rdb_modern/tables/023-create_std_hiv_datamart-001.sql index 239d9d02e..e79587c4b 100644 --- a/liquibase-service/src/main/resources/db/005-rdb_modern/tables/023-create_std_hiv_datamart-001.sql +++ b/liquibase-service/src/main/resources/db/005-rdb_modern/tables/023-create_std_hiv_datamart-001.sql @@ -37,7 +37,7 @@ IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'STD_HIV_DATAMART' and xtyp [EPI_LINK_ID] [varchar](20) NULL, [FACILITY_FLD_FOLLOW_UP_KEY] [bigint] NULL, [FIELD_RECORD_NUMBER] [varchar](20) NULL, - [FL_FUP_ACTUAL_REF_TYPE] [varchar](15) NULL, + [FL_FUP_ACTUAL_REF_TYPE] [varchar](100) NULL, [FL_FUP_DISPO_DT] [datetime] NULL, [FL_FUP_DISPOSITION] [varchar](44) NULL, [FL_FUP_EXAM_DT] [datetime] NULL, @@ -46,7 +46,7 @@ IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'STD_HIV_DATAMART' and xtyp [FL_FUP_INIT_ASSGN_DT] [datetime] NULL, [FL_FUP_INTERNET_OUTCOME_CD] [varchar](10) NULL, [FL_FUP_INVESTIGATOR_ASSGN_DT] [datetime] NULL, - [FL_FUP_NOTIFICATION_PLAN] [varchar](15) NULL, + [FL_FUP_NOTIFICATION_PLAN] [varchar](100) NULL, [FL_FUP_OOJ_OUTCOME] [varchar](44) NULL, [FL_FUP_PROV_DIAGNOSIS_CD] [varchar](3) NULL, [FL_FUP_PROV_EXM_REASON] [varchar](43) NULL, diff --git a/liquibase-service/src/main/resources/db/005-rdb_modern/tables/261-alter_std_hiv_case_management_widths-001.sql b/liquibase-service/src/main/resources/db/005-rdb_modern/tables/261-alter_std_hiv_case_management_widths-001.sql new file mode 100644 index 000000000..6d2585999 --- /dev/null +++ b/liquibase-service/src/main/resources/db/005-rdb_modern/tables/261-alter_std_hiv_case_management_widths-001.sql @@ -0,0 +1,97 @@ +IF EXISTS ( + SELECT 1 + FROM sys.columns + WHERE object_id = OBJECT_ID(N'[dbo].[nrt_investigation_case_management]') + AND name = 'fl_fup_actual_ref_type' + AND system_type_id = 167 + AND collation_name IS NOT NULL + AND max_length <> 100 +) +BEGIN + ALTER TABLE [dbo].[nrt_investigation_case_management] + ALTER COLUMN [fl_fup_actual_ref_type] varchar(100) NULL; +END; + +IF EXISTS ( + SELECT 1 + FROM sys.columns + WHERE object_id = OBJECT_ID(N'[dbo].[nrt_investigation_case_management]') + AND name = 'fl_fup_notification_plan_cd' + AND system_type_id = 167 + AND collation_name IS NOT NULL + AND max_length <> 100 +) +BEGIN + ALTER TABLE [dbo].[nrt_investigation_case_management] + ALTER COLUMN [fl_fup_notification_plan_cd] varchar(100) NULL; +END; + +IF EXISTS ( + SELECT 1 + FROM sys.columns + WHERE object_id = OBJECT_ID(N'[dbo].[D_CASE_MANAGEMENT]') + AND name = 'FL_FUP_ACTUAL_REF_TYPE' + AND system_type_id = 167 + AND collation_name IS NOT NULL + AND max_length <> 100 +) +BEGIN + ALTER TABLE [dbo].[D_CASE_MANAGEMENT] + ALTER COLUMN [FL_FUP_ACTUAL_REF_TYPE] varchar(100) NULL; +END; + +IF EXISTS ( + SELECT 1 + FROM sys.columns + WHERE object_id = OBJECT_ID(N'[dbo].[D_CASE_MANAGEMENT]') + AND name = 'FL_FUP_NOTIFICATION_PLAN_CD' + AND system_type_id = 167 + AND collation_name IS NOT NULL + AND max_length <> 100 +) +BEGIN + ALTER TABLE [dbo].[D_CASE_MANAGEMENT] + ALTER COLUMN [FL_FUP_NOTIFICATION_PLAN_CD] varchar(100) NULL; +END; + +IF EXISTS ( + SELECT 1 + FROM sys.columns + WHERE object_id = OBJECT_ID(N'[dbo].[STD_HIV_DATAMART]') + AND name = 'FL_FUP_ACTUAL_REF_TYPE' + AND system_type_id = 167 + AND collation_name IS NOT NULL + AND max_length <> 100 +) +BEGIN + ALTER TABLE [dbo].[STD_HIV_DATAMART] + ALTER COLUMN [FL_FUP_ACTUAL_REF_TYPE] varchar(100) NULL; +END; + +IF EXISTS ( + SELECT 1 + FROM sys.columns + WHERE object_id = OBJECT_ID(N'[dbo].[STD_HIV_DATAMART]') + AND name = 'FL_FUP_NOTIFICATION_PLAN' + AND system_type_id = 167 + AND collation_name IS NOT NULL + AND max_length <> 100 +) +BEGIN + ALTER TABLE [dbo].[STD_HIV_DATAMART] + ALTER COLUMN [FL_FUP_NOTIFICATION_PLAN] varchar(100) NULL; +END; + +IF EXISTS ( + SELECT 1 + FROM sys.columns + WHERE object_id = OBJECT_ID(N'[dbo].[DM_INV_HIV]') + AND name = 'FL_FUP_ACTUAL_REF_TY' + AND system_type_id = 167 + AND collation_name IS NOT NULL + AND max_length <> 25 +) +BEGIN + ALTER TABLE [dbo].[DM_INV_HIV] + ALTER COLUMN [FL_FUP_ACTUAL_REF_TY] varchar(25) NULL; +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 43662e7b6..c0318c471 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 @@ -3225,3 +3225,11 @@ databaseChangeLog: path: 260-create_labtest-001.sql splitStatements: true endDelimiter: GO + - changeSet: + id: app-619-std-hiv-widths + author: liquibase + runOnChange: true + changes: + - sqlFile: + path: 261-alter_std_hiv_case_management_widths-001.sql + splitStatements: false diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/README.md b/reporting-pipeline-service/src/test/resources/testData/functional/README.md index 59863986b..c19ebda59 100644 --- a/reporting-pipeline-service/src/test/resources/testData/functional/README.md +++ b/reporting-pipeline-service/src/test/resources/testData/functional/README.md @@ -20,6 +20,7 @@ When adding a new functional test, pick the next available range, and add your t | stdContactTracing | 1000007000 | 1000007028 | | elrEColi | 1000008000 | 1000008049 | | stdContactTracingPartTwo | 1000009000 | 1000009028 | +| hivNotificationPlan | 1000010000 | 1000010004 | ## Helper tools diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/010-CreatePatient/expected.json b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/010-CreatePatient/expected.json new file mode 100644 index 000000000..e181d6ec4 --- /dev/null +++ b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/010-CreatePatient/expected.json @@ -0,0 +1,24 @@ +{ + "0": [ + { + "PATIENT_ADDED_BY": "Kent, Ariella", + "PATIENT_ADD_TIME": "2026-06-05T16:09:55.113", + "PATIENT_CITY": "Atlanta", + "PATIENT_COUNTRY": "United States", + "PATIENT_DOB": "1978-08-16T00:00:00.000", + "PATIENT_ENTRY_METHOD": "N", + "PATIENT_FIRST_NAME": "Nil", + "PATIENT_LAST_CHANGE_TIME": "2026-06-05T16:09:55.113", + "PATIENT_LAST_NAME": "Prevost", + "PATIENT_LAST_UPDATED_BY": "Kent, Ariella", + "PATIENT_LOCAL_ID": "PSN1000010000GA01", + "PATIENT_MPR_UID": 1000010000, + "PATIENT_RECORD_STATUS": "ACTIVE", + "PATIENT_STATE": "Georgia", + "PATIENT_STATE_CODE": "13", + "PATIENT_STREET_ADDRESS_1": "91181 Steensland", + "PATIENT_UID": 1000010000, + "PATIENT_ZIP": "30368" + } + ] +} diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/010-CreatePatient/query.sql b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/010-CreatePatient/query.sql new file mode 100644 index 000000000..ec437af38 --- /dev/null +++ b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/010-CreatePatient/query.sql @@ -0,0 +1,90 @@ + + +-- dbo.D_PATIENT | operations: insert +-- Query: 0 +-- Step: 1 +-- WHERE clause narrowed to known lookup key: PATIENT_LOCAL_ID +SELECT + [PATIENT_ADDED_BY], + [PATIENT_ADDL_GENDER_INFO], + [PATIENT_ADD_TIME], + [PATIENT_AGE_REPORTED], + [PATIENT_AGE_REPORTED_UNIT], + [PATIENT_ALIAS_NICKNAME], + [PATIENT_BIRTH_COUNTRY], + [PATIENT_BIRTH_SEX], + [PATIENT_CENSUS_TRACT], + [PATIENT_CITY], + [PATIENT_COUNTRY], + [PATIENT_COUNTY], + [PATIENT_COUNTY_CODE], + [PATIENT_CURRENT_SEX], + [PATIENT_CURR_SEX_UNK_RSN], + [PATIENT_DECEASED_DATE], + [PATIENT_DECEASED_INDICATOR], + [PATIENT_DOB], + [PATIENT_EMAIL], + [PATIENT_ENTRY_METHOD], + [PATIENT_ETHNICITY], + [PATIENT_FIRST_NAME], + [PATIENT_GENERAL_COMMENTS], + [PATIENT_LAST_CHANGE_TIME], + [PATIENT_LAST_NAME], + [PATIENT_LAST_UPDATED_BY], + [PATIENT_LOCAL_ID], + [PATIENT_MARITAL_STATUS], + [PATIENT_MIDDLE_NAME], + [PATIENT_MPR_UID], + [PATIENT_NAME_SUFFIX], + [PATIENT_NUMBER], + [PATIENT_NUMBER_AUTH], + [PATIENT_PHONE_CELL], + [PATIENT_PHONE_EXT_HOME], + [PATIENT_PHONE_EXT_WORK], + [PATIENT_PHONE_HOME], + [PATIENT_PHONE_WORK], + [PATIENT_PREFERRED_GENDER], + [PATIENT_PRIMARY_LANGUAGE], + [PATIENT_PRIMARY_OCCUPATION], + [PATIENT_RACE_ALL], + [PATIENT_RACE_AMER_IND_1], + [PATIENT_RACE_AMER_IND_2], + [PATIENT_RACE_AMER_IND_3], + [PATIENT_RACE_AMER_IND_ALL], + [PATIENT_RACE_AMER_IND_GT3_IND], + [PATIENT_RACE_ASIAN_1], + [PATIENT_RACE_ASIAN_2], + [PATIENT_RACE_ASIAN_3], + [PATIENT_RACE_ASIAN_ALL], + [PATIENT_RACE_ASIAN_GT3_IND], + [PATIENT_RACE_BLACK_1], + [PATIENT_RACE_BLACK_2], + [PATIENT_RACE_BLACK_3], + [PATIENT_RACE_BLACK_ALL], + [PATIENT_RACE_BLACK_GT3_IND], + [PATIENT_RACE_CALCULATED], + [PATIENT_RACE_CALC_DETAILS], + [PATIENT_RACE_NAT_HI_1], + [PATIENT_RACE_NAT_HI_2], + [PATIENT_RACE_NAT_HI_3], + [PATIENT_RACE_NAT_HI_ALL], + [PATIENT_RACE_NAT_HI_GT3_IND], + [PATIENT_RACE_WHITE_1], + [PATIENT_RACE_WHITE_2], + [PATIENT_RACE_WHITE_3], + [PATIENT_RACE_WHITE_ALL], + [PATIENT_RACE_WHITE_GT3_IND], + [PATIENT_RECORD_STATUS], + [PATIENT_SPEAKS_ENGLISH], + [PATIENT_SSN], + [PATIENT_STATE], + [PATIENT_STATE_CODE], + [PATIENT_STREET_ADDRESS_1], + [PATIENT_STREET_ADDRESS_2], + [PATIENT_UID], + [PATIENT_UNK_ETHNIC_RSN], + [PATIENT_WITHIN_CITY_LIMITS], + [PATIENT_ZIP] +FROM [RDB_MODERN].[dbo].[D_PATIENT] +WHERE [PATIENT_LOCAL_ID] = N'PSN1000010000GA01' +; diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/010-CreatePatient/setup.sql b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/010-CreatePatient/setup.sql new file mode 100644 index 000000000..35f3c2038 --- /dev/null +++ b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/010-CreatePatient/setup.sql @@ -0,0 +1,50 @@ +USE [NBS_ODSE]; +DECLARE @superuser_id bigint = 10009282; +DECLARE @elruser_id bigint = 10000015; + +-- Adjust the UID declarations below manually so they remain unique across other tests. +DECLARE @dbo_Entity_entity_uid bigint = 1000010000; +DECLARE @dbo_Postal_locator_postal_locator_uid bigint = 1000010001; +DECLARE @dbo_Entity_entity_uid_2 bigint = 1000010002; +DECLARE @dbo_Postal_locator_postal_locator_uid_2 bigint = 1000010003; +DECLARE @dbo_Act_act_uid bigint = 1000010004; +DECLARE @dbo_Person_local_id nvarchar(40) = N'PSN' + CONVERT(nvarchar(20), ABS(CONVERT(bigint, @dbo_Entity_entity_uid))) + N'GA01'; +DECLARE @dbo_Public_health_case_local_id nvarchar(40) = N'CAS' + CONVERT(nvarchar(20), ABS(CONVERT(bigint, @dbo_Act_act_uid))) + N'GA01'; +DECLARE @dbo_case_management_case_management_uid bigint; +DECLARE @dbo_case_management_case_management_uid_output TABLE ([value] bigint); +DECLARE @dbo_message_log_message_log_uid bigint; +DECLARE @dbo_message_log_message_log_uid_output TABLE ([value] bigint); +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid bigint; +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_output TABLE ([value] bigint); +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_2 bigint; +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_2_output TABLE ([value] bigint); +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_3 bigint; +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_3_output TABLE ([value] bigint); +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid bigint; +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_output TABLE ([value] bigint); +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_2 bigint; +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_2_output TABLE ([value] bigint); +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_3 bigint; +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_3_output TABLE ([value] bigint); +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_4 bigint; +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_4_output TABLE ([value] bigint); + +-- STEP 1: Created patient +-- dbo.Entity +-- step: 1 +INSERT INTO [dbo].[Entity] ([entity_uid], [class_cd]) VALUES (@dbo_Entity_entity_uid, N'PSN'); +-- dbo.Person +-- step: 1 +INSERT INTO [dbo].[Person] ([person_uid], [add_time], [add_user_id], [birth_time], [birth_time_calc], [cd], [last_chg_time], [last_chg_user_id], [local_id], [record_status_cd], [record_status_time], [status_cd], [status_time], [first_nm], [last_nm], [version_ctrl_nbr], [as_of_date_admin], [as_of_date_general], [as_of_date_sex], [electronic_ind], [person_parent_uid], [edx_ind]) VALUES (@dbo_Entity_entity_uid, N'2026-06-05T16:09:55.113', @superuser_id, N'1978-08-16T00:00:00', N'1978-08-16T00:00:00', N'PAT', N'2026-06-05T16:09:55.113', @superuser_id, @dbo_Person_local_id, N'ACTIVE', N'2026-06-05T16:09:55.113', N'A', N'2026-06-05T16:09:55.113', N'Nil', N'Prevost', 1, N'2026-06-05T00:00:00', N'2026-06-05T00:00:00', N'2026-06-05T00:00:00', N'N', @dbo_Entity_entity_uid, N'Y'); +-- dbo.Person_name +-- step: 1 +INSERT INTO [dbo].[Person_name] ([person_uid], [person_name_seq], [add_reason_cd], [add_time], [first_nm], [first_nm_sndx], [last_nm], [last_nm_sndx], [nm_use_cd], [record_status_cd], [record_status_time], [status_cd], [status_time], [as_of_date]) VALUES (@dbo_Entity_entity_uid, 1, N'Add', N'2026-06-05T16:09:55.100', N'Nil', N'N400', N'Prevost', N'P612', N'L', N'ACTIVE', N'2026-06-05T16:09:55.100', N'A', N'2026-06-05T16:09:55.100', N'2026-06-05T00:00:00'); +-- dbo.Entity_id +-- step: 1 +INSERT INTO [dbo].[Entity_id] ([entity_uid], [entity_id_seq], [add_time], [assigning_authority_cd], [assigning_authority_desc_txt], [last_chg_time], [record_status_cd], [record_status_time], [root_extension_txt], [status_cd], [status_time], [type_cd], [type_desc_txt], [as_of_date], [assigning_authority_id_type]) VALUES (@dbo_Entity_entity_uid, 1, N'2026-06-05T16:09:55.100', N'GA', N'GA', N'2026-06-05T16:09:55.100', N'ACTIVE', N'2026-06-05T16:09:55.100', N'f2b09561-f7ca-40bd-9db6-ffca5d8c2e15', N'A', N'2026-06-05T16:09:55.100', N'DL', N'Driver''s license number', N'2026-06-05T00:00:00', N'L'); +-- dbo.Postal_locator +-- step: 1 +INSERT INTO [dbo].[Postal_locator] ([postal_locator_uid], [add_time], [city_desc_txt], [cntry_cd], [record_status_cd], [record_status_time], [state_cd], [street_addr1], [street_addr2], [zip_cd]) VALUES (@dbo_Postal_locator_postal_locator_uid, N'2026-06-05T16:09:55.100', N'Atlanta', N'840', N'ACTIVE', N'2026-06-05T16:09:55.100', N'13', N'91181 Steensland', N'', N'30368'); +-- dbo.Entity_locator_participation +-- step: 1 +INSERT INTO [dbo].[Entity_locator_participation] ([entity_uid], [locator_uid], [cd], [class_cd], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [status_cd], [status_time], [use_cd], [version_ctrl_nbr], [as_of_date]) VALUES (@dbo_Entity_entity_uid, @dbo_Postal_locator_postal_locator_uid, N'H', N'PST', N'2026-06-05T16:09:55.113', @superuser_id, N'ACTIVE', N'2026-06-05T16:09:55.113', N'A', N'2026-06-05T16:09:55.113', N'H', 1, N'2026-06-05T00:00:00'); diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/020-AddInvestigation/expected.json b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/020-AddInvestigation/expected.json new file mode 100644 index 000000000..e73da7ad9 --- /dev/null +++ b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/020-AddInvestigation/expected.json @@ -0,0 +1,239 @@ +{ + "0": [ + { + "ADT_HSPTL_KEY": 1, + "CASE_COUNT": 1, + "DIAGNOSIS_DT_KEY": 1, + "GEOCODING_LOCATION_KEY": 1, + "INVESTIGATION_COUNT": 1, + "INV_RPT_DT_KEY": 1, + "INV_START_DT_KEY": 13302 + } + ], + "1": [ + { + "AGE_REPORTED": 47, + "AGE_REPORTED_UNIT": "Years", + "DISEASE": "HIV", + "DISEASE_CD": "900", + "EVENT_DATE": "2026-06-01T00:00:00.000", + "EVENT_DATE_TYPE": "Investigation Start Date", + "INVESTIGATION_LOCAL_ID": "CAS1000010004GA01", + "INVESTIGATION_START_DATE": "2026-06-01T00:00:00.000", + "JURISDICTION_NAME": "Dekalb County", + "PATIENT_CITY": "Atlanta", + "PATIENT_DOB": "1978-08-16T00:00:00.000", + "PATIENT_FIRST_NM": "Nil", + "PATIENT_LAST_NM": "Prevost", + "PATIENT_LOCAL_ID": "PSN1000010000GA01", + "PATIENT_STATE": "Georgia", + "PATIENT_STREET_ADDRESS_1": "91181 Steensland", + "PATIENT_ZIP": "30368", + "PHC_ADD_TIME": "2026-06-05T16:12:30.327", + "PHC_LAST_CHG_TIME": "2026-06-05T16:12:30.327", + "PROGRAM_AREA_DESCRIPTION": "HIV", + "PROGRAM_JURISDICTION_OID": 1300500016 + } + ], + "2": [ + {} + ], + "3": [ + { + "ACT_REF_TYPE_CD": "7", + "ADD_USER_ID": 10009282.0, + "CASE_OID": 1300500016.0, + "EPI_LINK_ID": "1310000126", + "FLD_FOLL_UP_NOTIFICATION_PLAN": "6 - Refused", + "FL_FUP_ACTUAL_REF_TYPE": "7 - Partner Not Notified", + "FL_FUP_FIELD_RECORD_NUM": "1310000126", + "FL_FUP_INIT_ASSGN_DT": "2026-06-05", + "FL_FUP_INVESTIGATOR_ASSGN_DT": "2026-06-05", + "FL_FUP_NOTIFICATION_PLAN_CD": "6", + "INITIATING_AGNCY": "Georgia", + "INIT_FOLL_UP_NOTIFIABLE": "88-Other", + "INIT_FUP_INITIAL_FOLL_UP": "Field Follow-up", + "INIT_FUP_INITIAL_FOLL_UP_CD": "FF", + "INIT_FUP_NOTIFIABLE_CD": "88" + } + ], + "4": [ + { + "ADM_IMM_NTNL_NTFBL_CNDTN": "No", + "ADM_REFERRAL_BASIS_OOJ": "C1- Cohort" + } + ], + "5": [ + { + "CTT_RPT_RELATIONSHIP_TO_OP": "Emergency contact" + } + ], + "6": [ + { + "PATIENT_ADDED_BY": "Kent, Ariella", + "PATIENT_ADD_TIME": "2026-06-05T16:09:55.113", + "PATIENT_CITY": "Atlanta", + "PATIENT_COUNTRY": "United States", + "PATIENT_DOB": "1978-08-16T00:00:00.000", + "PATIENT_ENTRY_METHOD": "N", + "PATIENT_FIRST_NAME": "Nil", + "PATIENT_LAST_CHANGE_TIME": "2026-06-05T16:12:30.253", + "PATIENT_LAST_NAME": "Prevost", + "PATIENT_LAST_UPDATED_BY": "Kent, Ariella", + "PATIENT_LOCAL_ID": "PSN1000010000GA01", + "PATIENT_MPR_UID": 1000010000, + "PATIENT_RECORD_STATUS": "ACTIVE", + "PATIENT_STATE": "Georgia", + "PATIENT_STATE_CODE": "13", + "PATIENT_STREET_ADDRESS_1": "91181 Steensland", + "PATIENT_UID": 1000010000, + "PATIENT_ZIP": "30368" + }, + { + "PATIENT_ADDED_BY": "Kent, Ariella", + "PATIENT_ADD_TIME": "2026-06-05T16:12:30.270", + "PATIENT_AGE_REPORTED": 47, + "PATIENT_AGE_REPORTED_UNIT": "Years", + "PATIENT_CITY": "Atlanta", + "PATIENT_COUNTRY": "United States", + "PATIENT_DOB": "1978-08-16T00:00:00.000", + "PATIENT_ENTRY_METHOD": "N", + "PATIENT_FIRST_NAME": "Nil", + "PATIENT_LAST_CHANGE_TIME": "2026-06-05T16:12:30.270", + "PATIENT_LAST_NAME": "Prevost", + "PATIENT_LAST_UPDATED_BY": "Kent, Ariella", + "PATIENT_LOCAL_ID": "PSN1000010000GA01", + "PATIENT_MPR_UID": 1000010000, + "PATIENT_RECORD_STATUS": "ACTIVE", + "PATIENT_STATE": "Georgia", + "PATIENT_STATE_CODE": "13", + "PATIENT_STREET_ADDRESS_1": "91181 Steensland", + "PATIENT_UID": 1000010002, + "PATIENT_ZIP": "30368" + } + ], + "7": [ + { + "skip_this": 1 + } + ], + "8": [ + { + "D_INV_HIV_KEY": 1 + } + ], + "9": [ + { + "AGE_REPORTED": 47, + "AGE_REPORTED_UNIT": "Years", + "CURR_PROCESS_STATE": "Field Follow-up", + "DISEASE": "HIV", + "DISEASE_CD": "900", + "INVESTIGATION_CREATED_BY": "Kent, Ariella", + "INVESTIGATION_CREATE_DATE": "2026-06-05T16:12:30.327", + "INVESTIGATION_LAST_UPDTD_BY": "Kent, Ariella", + "INVESTIGATION_LAST_UPDTD_DATE": "2026-06-05T16:12:30.327", + "INVESTIGATION_LOCAL_ID": "CAS1000010004GA01", + "INVESTIGATION_STATUS": "Open", + "INV_START_DT": "2026-06-01T00:00:00.000", + "JURISDICTION_NM": "Dekalb County", + "MMWR_WEEK": 22, + "MMWR_YEAR": 2026, + "PATIENT_CITY": "Atlanta", + "PATIENT_DOB": "1978-08-16T00:00:00.000", + "PATIENT_FIRST_NAME": "Nil", + "PATIENT_LAST_NAME": "Prevost", + "PATIENT_LOCAL_ID": "PSN1000010000GA01", + "PATIENT_STATE": "Georgia", + "PATIENT_STREET_ADDRESS_1": "91181 Steensland", + "PATIENT_ZIP": "30368", + "PROGRAM_AREA": "HIV", + "PROGRAM_JURISDICTION_OID": 1300500016 + } + ], + "10": [ + { + "ADD_TIME": "2026-06-05T16:12:30.327", + "CASE_OID": 1300500016, + "CASE_RPT_MMWR_WK": 22, + "CASE_RPT_MMWR_YR": 2026, + "CASE_TYPE": "I", + "CASE_UID": 1000010004, + "COINFECTION_ID": "COIN1001XX01", + "CURR_PROCESS_STATE": "Field Follow-up", + "INVESTIGATION_ADDED_BY": "Kent, Ariella", + "INVESTIGATION_LAST_UPDATED_BY": "Kent, Ariella", + "INVESTIGATION_STATUS": "Open", + "INV_LOCAL_ID": "CAS1000010004GA01", + "INV_SHARE_IND": "T", + "INV_START_DT": "2026-06-01T00:00:00.000", + "JURISDICTION_CD": "130005", + "JURISDICTION_NM": "Dekalb County", + "LAST_CHG_TIME": "2026-06-05T16:12:30.327", + "PROGRAM_AREA_DESCRIPTION": "HIV", + "RECORD_STATUS_CD": "ACTIVE", + "REFERRAL_BASIS": "C1- Cohort" + } + ], + "11": [ + { + "ADM_REFERRAL_BASIS_OOJ": "C1- Cohort", + "CALC_5_YEAR_AGE_GROUP": "10", + "CASE_RPT_MMWR_WK": 22, + "CASE_RPT_MMWR_YR": 2026, + "COINFECTION_ID": "COIN1001XX01", + "CONDITION_CD": "900", + "CONDITION_KEY": 221, + "CURR_PROCESS_STATE": "Field Follow-up", + "EPI_LINK_ID": "1310000126", + "FACILITY_FLD_FOLLOW_UP_KEY": 1, + "FIELD_RECORD_NUMBER": "1310000126", + "FL_FUP_ACTUAL_REF_TYPE": "7 - Partner Not Notified", + "FL_FUP_INIT_ASSGN_DT": "2026-06-05T00:00:00.000", + "FL_FUP_INVESTIGATOR_ASSGN_DT": "2026-06-05T00:00:00.000", + "FL_FUP_NOTIFICATION_PLAN": "6 - Refused", + "HOSPITAL_KEY": 1, + "INITIATING_AGNCY": "Georgia", + "INIT_FUP_INITIAL_FOLL_UP": "Field Follow-up", + "INIT_FUP_INITIAL_FOLL_UP_CD": "FF", + "INIT_FUP_NOTIFIABLE": "88", + "INVESTIGATION_STATUS": "Open", + "INVESTIGATOR_CLOSED_KEY": 1, + "INVESTIGATOR_CURRENT_KEY": 2, + "INVESTIGATOR_CURRENT_QC": "1", + "INVESTIGATOR_DISP_FL_FUP_KEY": 1, + "INVESTIGATOR_FL_FUP_KEY": 2, + "INVESTIGATOR_FL_FUP_QC": "1", + "INVESTIGATOR_INITIAL_KEY": 1, + "INVESTIGATOR_INIT_FL_FUP_KEY": 2, + "INVESTIGATOR_INIT_FL_FUP_QC": "1", + "INVESTIGATOR_INIT_INTRVW_KEY": 1, + "INVESTIGATOR_INTERVIEW_KEY": 1, + "INVESTIGATOR_SUPER_CASE_KEY": 1, + "INVESTIGATOR_SUPER_FL_FUP_KEY": 1, + "INVESTIGATOR_SURV_KEY": 1, + "INV_LOCAL_ID": "CAS1000010004GA01", + "INV_START_DT": "2026-06-01T00:00:00.000", + "JURISDICTION_CD": "130005", + "JURISDICTION_NM": "Dekalb County", + "ORDERING_FACILITY_KEY": 1, + "PATIENT_AGE_REPORTED": " 47 Years", + "PATIENT_CITY": "Atlanta", + "PATIENT_COUNTRY": "United States", + "PATIENT_DOB": "1978-08-16T00:00:00.000", + "PATIENT_LOCAL_ID": "PSN1000010000GA01", + "PATIENT_NAME": "Prevost, Nil", + "PATIENT_STATE": "Georgia", + "PATIENT_STREET_ADDRESS_1": "91181 Steensland", + "PATIENT_ZIP": "30368", + "PHYSICIAN_FL_FUP_KEY": 1, + "PHYSICIAN_KEY": 1, + "PROGRAM_AREA_CD": "HIV", + "PROGRAM_JURISDICTION_OID": 1300500016, + "REFERRAL_BASIS": "C1- Cohort", + "REPORTING_ORG_KEY": 1, + "REPORTING_PROV_KEY": 1, + "RPT_RELATIONSHIP_TO_OP": "Emergency contact" + } + ] +} diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/020-AddInvestigation/query.sql b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/020-AddInvestigation/query.sql new file mode 100644 index 000000000..1ab244137 --- /dev/null +++ b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/020-AddInvestigation/query.sql @@ -0,0 +1,689 @@ + + +-- dbo.CASE_COUNT | operations: insert +-- Query: 0 +-- Step: 2 +SELECT + [ADT_HSPTL_KEY], + [CASE_COUNT], + [DIAGNOSIS_DT_KEY], + [GEOCODING_LOCATION_KEY], + [INVESTIGATION_COUNT], + [INV_RPT_DT_KEY], + [INV_START_DT_KEY] +FROM [RDB_MODERN].[dbo].[CASE_COUNT] +WHERE [INVESTIGATION_KEY] = (select INVESTIGATION_KEY from [RDB_MODERN].[dbo].INVESTIGATION where INV_LOCAL_ID='CAS1000010004GA01') +; + +-- dbo.CASE_LAB_DATAMART | operations: insert +-- Query: 1 +-- Step: 2 +SELECT + [AGE_REPORTED], + [AGE_REPORTED_UNIT], + [CASE_STATUS], + [DISEASE], + [DISEASE_CD], + [EARLIEST_SPECIMEN_COLLECT_DATE], + [EVENT_DATE], + [EVENT_DATE_TYPE], + [GENERAL_COMMENTS], + [INVESTIGATION_LOCAL_ID], + [INVESTIGATION_START_DATE], + [JURISDICTION_NAME], + [LABORATORY_INFORMATION], + [PATIENT_CITY], + [PATIENT_COUNTY], + [PATIENT_CURRENT_SEX], + [PATIENT_DOB], + [PATIENT_FIRST_NM], + [PATIENT_HOME_PHONE], + [PATIENT_LAST_NM], + [PATIENT_LOCAL_ID], + [PATIENT_MIDDLE_NM], + [PATIENT_STATE], + [PATIENT_STREET_ADDRESS_1], + [PATIENT_STREET_ADDRESS_2], + [PATIENT_ZIP], + [PHC_ADD_TIME], + [PHC_LAST_CHG_TIME], + [PHYSICIAN_NAME], + [PHYSICIAN_PHONE], + [PROGRAM_AREA_DESCRIPTION], + [PROGRAM_JURISDICTION_OID], + [RACE], + [REPORTING_SOURCE] +FROM [RDB_MODERN].[dbo].[CASE_LAB_DATAMART] +WHERE [INVESTIGATION_LOCAL_ID] = N'CAS1000010004GA01' + AND [PATIENT_LOCAL_ID] = N'PSN1000010000GA01' +; + +-- dbo.CONFIRMATION_METHOD_GROUP | operations: insert +-- Query: 2 +-- Step: 2 +SELECT + [CONFIRMATION_DT] +FROM [RDB_MODERN].[dbo].[CONFIRMATION_METHOD_GROUP] +WHERE [INVESTIGATION_KEY] = (select INVESTIGATION_KEY from [RDB_MODERN].[dbo].INVESTIGATION where INV_LOCAL_ID='CAS1000010004GA01') +; + +-- dbo.D_CASE_MANAGEMENT | operations: insert +-- Query: 3 +-- Step: 2 +SELECT + [ACT_REF_TYPE_CD], + [ADD_USER_ID], + [ADI_900_STATUS_CD], + [ADI_COMPLEXION], + [ADI_EHARS_ID], + [ADI_HAIR], + [ADI_HEIGHT], + [ADI_HEIGHT_LEGACY_CASE], + [ADI_OTHER_IDENTIFYING_INFO], + [ADI_SIZE_BUILD], + [CASE_OID], + [CASE_REVIEW_STATUS], + [CASE_REVIEW_STATUS_DATE], + [CA_INIT_INTVWR_ASSGN_DT], + [CA_INTERVIEWER_ASSIGN_DT], + [CA_PATIENT_INTV_STATUS], + [CC_CLOSED_DT], + [EPI_LINK_ID], + [FIELD_FOLL_UP_OOJ_OUTCOME], + [FLD_FOLL_UP_EXPECTED_IN], + [FLD_FOLL_UP_NOTIFICATION_PLAN], + [FLD_FOLL_UP_PROV_DIAGNOSIS], + [FLD_FOLL_UP_PROV_EXM_REASON], + [FL_FUP_ACTUAL_REF_TYPE], + [FL_FUP_DISPOSITION_CD], + [FL_FUP_DISPOSITION_DESC], + [FL_FUP_DISPO_DT], + [FL_FUP_EXAM_DT], + [FL_FUP_EXPECTED_DT], + [FL_FUP_EXPECTED_IN_IND], + [FL_FUP_FIELD_RECORD_NUM], + [FL_FUP_INIT_ASSGN_DT], + [FL_FUP_INTERNET_OUTCOME], + [FL_FUP_INTERNET_OUTCOME_CD], + [FL_FUP_INVESTIGATOR_ASSGN_DT], + [FL_FUP_NOTIFICATION_PLAN_CD], + [FL_FUP_OOJ_OUTCOME], + [FL_FUP_PROV_DIAGNOSIS], + [FL_FUP_PROV_EXM_REASON], + [INITIATING_AGNCY], + [INIT_FOLL_UP_NOTIFIABLE], + [INIT_FUP_CLINIC_CODE], + [INIT_FUP_CLOSED_DT], + [INIT_FUP_INITIAL_FOLL_UP], + [INIT_FUP_INITIAL_FOLL_UP_CD], + [INIT_FUP_INTERNET_FOLL_UP_CD], + [INIT_FUP_NOTIFIABLE_CD], + [INTERNET_FOLL_UP], + [OOJ_AGENCY], + [OOJ_DUE_DATE], + [OOJ_INITG_AGNCY_OUTC_DUE_DATE], + [OOJ_INITG_AGNCY_OUTC_SNT_DATE], + [OOJ_INITG_AGNCY_RECD_DATE], + [OOJ_NUMBER], + [PAT_INTV_STATUS_CD], + [STATUS_900], + [SURV_CLOSED_DT], + [SURV_INVESTIGATOR_ASSGN_DT], + [SURV_PATIENT_FOLL_UP], + [SURV_PATIENT_FOLL_UP_CD], + [SURV_PROVIDER_CONTACT], + [SURV_PROVIDER_CONTACT_CD], + [SURV_PROVIDER_DIAGNOSIS], + [SURV_PROVIDER_EXAM_REASON], + [SURV_PROV_EXM_REASON] +FROM [RDB_MODERN].[dbo].[D_CASE_MANAGEMENT] +WHERE [INVESTIGATION_KEY]=(select INVESTIGATION_KEY from [RDB_MODERN].[dbo].INVESTIGATION where INV_LOCAL_ID='CAS1000010004GA01') +; + +-- dbo.D_INV_ADMINISTRATIVE | operations: insert +-- Query: 4 +-- Step: 2 +SELECT + dia.[ADM_IMM_NTNL_NTFBL_CNDTN] + ,dia.[ADM_REFERRAL_BASIS_OOJ] +FROM [RDB_MODERN].[dbo].[D_INV_ADMINISTRATIVE] dia +JOIN RDB_MODERN.dbo.F_STD_PAGE_CASE f + ON f.D_INV_ADMINISTRATIVE_KEY = dia.D_INV_ADMINISTRATIVE_KEY +JOIN RDB_MODERN.dbo.INVESTIGATION i + ON i.INVESTIGATION_KEY = f.INVESTIGATION_KEY +WHERE i.INV_LOCAL_ID = 'CAS1000010004GA01'; +; + +-- dbo.D_INV_CONTACT | operations: insert +-- Query: 5 +-- Step: 2 +-- Logical comparison marked this identity as not comparison-safe. +SELECT + dic.[CTT_RPT_RELATIONSHIP_TO_OP] +FROM [RDB_MODERN].[dbo].[D_INV_CONTACT] dic +JOIN RDB_MODERN.dbo.F_STD_PAGE_CASE f + ON f.D_INV_ADMINISTRATIVE_KEY = dic.D_INV_CONTACT_KEY +JOIN RDB_MODERN.dbo.INVESTIGATION i + ON i.INVESTIGATION_KEY = f.INVESTIGATION_KEY +WHERE i.INV_LOCAL_ID = 'CAS1000010004GA01'; +; + +-- dbo.D_PATIENT | operations: delete, insert +-- Query: 6 +-- Steps: 1, 2 +-- WHERE clause narrowed to known lookup key: PATIENT_LOCAL_ID +SELECT + [PATIENT_ADDED_BY], + [PATIENT_ADDL_GENDER_INFO], + [PATIENT_ADD_TIME], + [PATIENT_AGE_REPORTED], + [PATIENT_AGE_REPORTED_UNIT], + [PATIENT_ALIAS_NICKNAME], + [PATIENT_BIRTH_COUNTRY], + [PATIENT_BIRTH_SEX], + [PATIENT_CENSUS_TRACT], + [PATIENT_CITY], + [PATIENT_COUNTRY], + [PATIENT_COUNTY], + [PATIENT_COUNTY_CODE], + [PATIENT_CURRENT_SEX], + [PATIENT_CURR_SEX_UNK_RSN], + [PATIENT_DECEASED_DATE], + [PATIENT_DECEASED_INDICATOR], + [PATIENT_DOB], + [PATIENT_EMAIL], + [PATIENT_ENTRY_METHOD], + [PATIENT_ETHNICITY], + [PATIENT_FIRST_NAME], + [PATIENT_GENERAL_COMMENTS], + [PATIENT_LAST_CHANGE_TIME], + [PATIENT_LAST_NAME], + [PATIENT_LAST_UPDATED_BY], + [PATIENT_LOCAL_ID], + [PATIENT_MARITAL_STATUS], + [PATIENT_MIDDLE_NAME], + [PATIENT_MPR_UID], + [PATIENT_NAME_SUFFIX], + [PATIENT_NUMBER], + [PATIENT_NUMBER_AUTH], + [PATIENT_PHONE_CELL], + [PATIENT_PHONE_EXT_HOME], + [PATIENT_PHONE_EXT_WORK], + [PATIENT_PHONE_HOME], + [PATIENT_PHONE_WORK], + [PATIENT_PREFERRED_GENDER], + [PATIENT_PRIMARY_LANGUAGE], + [PATIENT_PRIMARY_OCCUPATION], + [PATIENT_RACE_ALL], + [PATIENT_RACE_AMER_IND_1], + [PATIENT_RACE_AMER_IND_2], + [PATIENT_RACE_AMER_IND_3], + [PATIENT_RACE_AMER_IND_ALL], + [PATIENT_RACE_AMER_IND_GT3_IND], + [PATIENT_RACE_ASIAN_1], + [PATIENT_RACE_ASIAN_2], + [PATIENT_RACE_ASIAN_3], + [PATIENT_RACE_ASIAN_ALL], + [PATIENT_RACE_ASIAN_GT3_IND], + [PATIENT_RACE_BLACK_1], + [PATIENT_RACE_BLACK_2], + [PATIENT_RACE_BLACK_3], + [PATIENT_RACE_BLACK_ALL], + [PATIENT_RACE_BLACK_GT3_IND], + [PATIENT_RACE_CALCULATED], + [PATIENT_RACE_CALC_DETAILS], + [PATIENT_RACE_NAT_HI_1], + [PATIENT_RACE_NAT_HI_2], + [PATIENT_RACE_NAT_HI_3], + [PATIENT_RACE_NAT_HI_ALL], + [PATIENT_RACE_NAT_HI_GT3_IND], + [PATIENT_RACE_WHITE_1], + [PATIENT_RACE_WHITE_2], + [PATIENT_RACE_WHITE_3], + [PATIENT_RACE_WHITE_ALL], + [PATIENT_RACE_WHITE_GT3_IND], + [PATIENT_RECORD_STATUS], + [PATIENT_SPEAKS_ENGLISH], + [PATIENT_SSN], + [PATIENT_STATE], + [PATIENT_STATE_CODE], + [PATIENT_STREET_ADDRESS_1], + [PATIENT_STREET_ADDRESS_2], + [PATIENT_UID], + [PATIENT_UNK_ETHNIC_RSN], + [PATIENT_WITHIN_CITY_LIMITS], + [PATIENT_ZIP] +FROM [RDB_MODERN].[dbo].[D_PATIENT] +WHERE [PATIENT_LOCAL_ID] = N'PSN1000010000GA01' +; + +-- dbo.F_STD_PAGE_CASE | operations: insert +-- Query: 7 +-- Step: 2 +-- This table was all _KEY values, so I'm skipping it. +SELECT 1 as skip_this; + +-- dbo.INV_HIV | operations: insert +-- Query: 8 +-- Step: 2 +SELECT + [D_INV_HIV_KEY], + [HIV_900_RESULT], + [HIV_900_TEST_IND], + [HIV_900_TEST_REFERRAL_DT], + [HIV_AV_THERAPY_EVER_IND], + [HIV_AV_THERAPY_LAST_12MO_IND], + [HIV_CA_900_OTH_RSN_NOT_LO], + [HIV_CA_900_REASON_NOT_LOC], + [HIV_ENROLL_PRTNR_SRVCS_IND], + [HIV_KEEP_900_CARE_APPT_IND], + [HIV_LAST_900_TEST_DT], + [HIV_POST_TEST_900_COUNSELING], + [HIV_PREVIOUS_900_TEST_IND], + [HIV_REFER_FOR_900_CARE_IND], + [HIV_REFER_FOR_900_TEST], + [HIV_RST_PROVIDED_900_RSLT_IND], + [HIV_SELF_REPORTED_RSLT_900], + [HIV_STATE_CASE_ID] +FROM [RDB_MODERN].[dbo].[INV_HIV] +WHERE [INVESTIGATION_KEY]=(select INVESTIGATION_KEY from [RDB_MODERN].[dbo].INVESTIGATION where INV_LOCAL_ID='CAS1000010004GA01') +; + +-- dbo.INV_SUMM_DATAMART | operations: insert +-- Query: 9 +-- Step: 2 +SELECT + [AGE_REPORTED], + [AGE_REPORTED_UNIT], + [CASE_STATUS], + [CONFIRMATION_DT], + [CONFIRMATION_METHOD], + [CURR_PROCESS_STATE], + [DIAGNOSIS_DATE], + [DISEASE], + [DISEASE_CD], + [EARLIEST_RPT_TO_CNTY_DT], + [EARLIEST_RPT_TO_STATE_DT], + [EARLIEST_SPECIMEN_COLLECT_DATE], + [EVENT_DATE], + [EVENT_DATE_TYPE], + [FIRST_POSITIVE_CULTURE_DT], + [HSPTL_ADMISSION_DT], + [ILLNESS_ONSET_DATE], + [INIT_NND_NOT_DT], + [INVESTIGATION_CREATED_BY], + [INVESTIGATION_CREATE_DATE], + [INVESTIGATION_LAST_UPDTD_BY], + [INVESTIGATION_LAST_UPDTD_DATE], + [INVESTIGATION_LOCAL_ID], + [INVESTIGATION_STATUS], + [INV_RPT_DT], + [INV_START_DT], + [JURISDICTION_NM], + [LABORATORY_INFORMATION], + [MMWR_WEEK], + [MMWR_YEAR], + [NOTIFICATION_CREATE_DATE], + [NOTIFICATION_LAST_UPDATED_DATE], + [NOTIFICATION_LAST_UPDATED_USER], + [NOTIFICATION_LOCAL_ID], + [NOTIFICATION_SENT_DATE], + [NOTIFICATION_STATUS], + [NOTIFICATION_SUBMITTER], + [PATIENT_CITY], + [PATIENT_COUNTY], + [PATIENT_COUNTY_CODE], + [PATIENT_CURRENT_SEX], + [PATIENT_DOB], + [PATIENT_ETHNICITY], + [PATIENT_FIRST_NAME], + [PATIENT_LAST_NAME], + [PATIENT_LOCAL_ID], + [PATIENT_STATE], + [PATIENT_STREET_ADDRESS_1], + [PATIENT_STREET_ADDRESS_2], + [PATIENT_ZIP], + [PHYSICIAN_FIRST_NAME], + [PHYSICIAN_LAST_NAME], + [PROGRAM_AREA], + [PROGRAM_JURISDICTION_OID], + [RACE_CALCULATED], + [RACE_CALC_DETAILS] +FROM [RDB_MODERN].[dbo].[INV_SUMM_DATAMART] +WHERE [INVESTIGATION_LOCAL_ID] = N'CAS1000010004GA01' + AND [PATIENT_LOCAL_ID] = N'PSN1000010000GA01' +; + +-- dbo.INVESTIGATION | operations: insert +-- Query: 10 +-- Step: 2 +SELECT + [ADD_TIME], + [CASE_OID], + [CASE_RPT_MMWR_WK], + [CASE_RPT_MMWR_YR], + [CASE_TYPE], + [CASE_UID], + [CITY_COUNTY_CASE_NBR], + [COINFECTION_ID], + [CONTACT_INFECTIOUS_FROM_DATE], + [CONTACT_INFECTIOUS_TO_DATE], + [CONTACT_INV_COMMENTS], + [CONTACT_INV_PRIORITY], + [CONTACT_INV_STATUS], + [CURR_PROCESS_STATE], + [DAYCARE_ASSOCIATION_IND], + [DETECTION_METHOD_DESC_TXT], + [DIAGNOSIS_DT], + [DIE_FRM_THIS_ILLNESS_IND], + [DISEASE_IMPORTED_IND], + [EARLIEST_RPT_TO_CDC_DT], + [EARLIEST_RPT_TO_CNTY_DT], + [EARLIEST_RPT_TO_PHD_DT], + [EARLIEST_RPT_TO_STATE_DT], + [FOOD_HANDLR_IND], + [HSPTLIZD_IND], + [HSPTL_ADMISSION_DT], + [HSPTL_DISCHARGE_DT], + [HSPTL_DURATION_DAYS], + [ILLNESS_DURATION], + [ILLNESS_DURATION_UNIT], + [ILLNESS_END_DT], + [ILLNESS_ONSET_DT], + [IMPORT_FRM_CITY], + [IMPORT_FRM_CITY_CD], + [IMPORT_FRM_CNTRY], + [IMPORT_FRM_CNTRY_CD], + [IMPORT_FRM_CNTY], + [IMPORT_FRM_CNTY_CD], + [IMPORT_FRM_STATE], + [IMPORT_FRM_STATE_CD], + [INVESTIGATION_ADDED_BY], + [INVESTIGATION_DEATH_DATE], + [INVESTIGATION_LAST_UPDATED_BY], + [INVESTIGATION_STATUS], + [INV_ASSIGNED_DT], + [INV_CASE_STATUS], + [INV_CLOSE_DT], + [INV_COMMENTS], + [INV_LOCAL_ID], + [INV_PRIORITY_CD], + [INV_RPT_DT], + [INV_SHARE_IND], + [INV_START_DT], + [INV_STATE_CASE_ID], + [JURISDICTION_CD], + [JURISDICTION_NM], + [LAST_CHG_TIME], + [LEGACY_CASE_ID], + [OUTBREAK_IND], + [OUTBREAK_NAME], + [OUTBREAK_NAME_DESC], + [PATIENT_AGE_AT_ONSET], + [PATIENT_AGE_AT_ONSET_UNIT], + [PATIENT_PREGNANT_IND], + [PROGRAM_AREA_DESCRIPTION], + [RECORD_STATUS_CD], + [REFERRAL_BASIS], + [RPT_SRC_CD], + [RPT_SRC_CD_DESC], + [TRANSMISSION_MODE] +FROM [RDB_MODERN].[dbo].[INVESTIGATION] +WHERE [INV_LOCAL_ID] = N'CAS1000010004GA01' +; + +-- dbo.STD_HIV_DATAMART | operations: insert +-- Query: 11 +-- Step: 2 +SELECT + [ADI_900_STATUS], + [ADI_900_STATUS_CD], + [ADM_REFERRAL_BASIS_OOJ], + [ADM_RPTNG_CNTY], + [CALC_5_YEAR_AGE_GROUP], + [CASE_RPT_MMWR_WK], + [CASE_RPT_MMWR_YR], + [CA_INIT_INTVWR_ASSGN_DT], + [CA_INTERVIEWER_ASSIGN_DT], + [CA_PATIENT_INTV_STATUS], + [CC_CLOSED_DT], + [CLN_CARE_STATUS_CLOSE_DT], + [CLN_CONDITION_RESISTANT_TO], + [CLN_DT_INIT_HLTH_EXM], + [CLN_NEUROSYPHILLIS_IND], + [CLN_PRE_EXP_PROPHY_IND], + [CLN_PRE_EXP_PROPHY_REFER], + [CLN_SURV_PROVIDER_DIAG_CD], + [CMP_CONJUNCTIVITIS_IND], + [CMP_PID_IND], + [COINFECTION_ID], + [CONDITION_CD], + [CONDITION_KEY], + [CONFIRMATION_DT], + [CURR_PROCESS_STATE], + [DETECTION_METHOD_DESC_TXT], + [DIAGNOSIS], + [DIAGNOSIS_CD], + [DIE_FRM_THIS_ILLNESS_IND], + [DISEASE_IMPORTED_IND], + [DISSEMINATED_IND], + [EPI_CNTRY_USUAL_RESID], + [EPI_LINK_ID], + [FACILITY_FLD_FOLLOW_UP_KEY], + [FIELD_RECORD_NUMBER], + [FL_FUP_ACTUAL_REF_TYPE], + [FL_FUP_DISPOSITION], + [FL_FUP_DISPO_DT], + [FL_FUP_EXAM_DT], + [FL_FUP_EXPECTED_DT], + [FL_FUP_EXPECTED_IN_IND_CD], + [FL_FUP_INIT_ASSGN_DT], + [FL_FUP_INTERNET_OUTCOME_CD], + [FL_FUP_INVESTIGATOR_ASSGN_DT], + [FL_FUP_NOTIFICATION_PLAN], + [FL_FUP_OOJ_OUTCOME], + [FL_FUP_PROV_DIAGNOSIS_CD], + [FL_FUP_PROV_EXM_REASON], + [HIV_900_RESULT], + [HIV_900_TEST_IND], + [HIV_900_TEST_REFERRAL_DT], + [HIV_AV_THERAPY_EVER_IND], + [HIV_AV_THERAPY_LAST_12MO_IND], + [HIV_CA_900_OTH_RSN_NOT_LO], + [HIV_CA_900_REASON_NOT_LOC], + [HIV_ENROLL_PRTNR_SRVCS_IND], + [HIV_KEEP_900_CARE_APPT_IND], + [HIV_LAST_900_TEST_DT], + [HIV_POST_TEST_900_COUNSELING], + [HIV_PREVIOUS_900_TEST_IND], + [HIV_REFER_FOR_900_CARE_IND], + [HIV_REFER_FOR_900_TEST], + [HIV_RST_PROVIDED_900_RSLT_IND], + [HIV_SELF_REPORTED_RSLT_900], + [HIV_STATE_CASE_ID], + [HOSPITAL_KEY], + [HSPTLIZD_IND], + [INITIATING_AGNCY], + [INIT_FUP_CLINIC_CODE], + [INIT_FUP_CLOSED_DT], + [INIT_FUP_INITIAL_FOLL_UP], + [INIT_FUP_INITIAL_FOLL_UP_CD], + [INIT_FUP_INTERNET_FOLL_UP], + [INIT_FUP_INTERNET_FOLL_UP_CD], + [INIT_FUP_NOTIFIABLE], + [INVESTIGATION_DEATH_DATE], + [INVESTIGATION_STATUS], + [INVESTIGATOR_CLOSED_KEY], + [INVESTIGATOR_CLOSED_QC], + [INVESTIGATOR_CURRENT_KEY], + [INVESTIGATOR_CURRENT_QC], + [INVESTIGATOR_DISP_FL_FUP_KEY], + [INVESTIGATOR_DISP_FL_FUP_QC], + [INVESTIGATOR_FL_FUP_KEY], + [INVESTIGATOR_FL_FUP_QC], + [INVESTIGATOR_INITIAL_KEY], + [INVESTIGATOR_INITIAL_QC], + [INVESTIGATOR_INIT_FL_FUP_KEY], + [INVESTIGATOR_INIT_FL_FUP_QC], + [INVESTIGATOR_INIT_INTRVW_KEY], + [INVESTIGATOR_INIT_INTRVW_QC], + [INVESTIGATOR_INTERVIEW_KEY], + [INVESTIGATOR_INTERVIEW_QC], + [INVESTIGATOR_SUPER_CASE_KEY], + [INVESTIGATOR_SUPER_CASE_QC], + [INVESTIGATOR_SUPER_FL_FUP_KEY], + [INVESTIGATOR_SUPER_FL_FUP_QC], + [INVESTIGATOR_SURV_KEY], + [INVESTIGATOR_SURV_QC], + [INV_ASSIGNED_DT], + [INV_CASE_STATUS], + [INV_CLOSE_DT], + [INV_LOCAL_ID], + [INV_RPT_DT], + [INV_START_DT], + [IPO_CURRENTLY_IN_INSTITUTION], + [IPO_LIVING_WITH], + [IPO_NAME_OF_INSTITUTITION], + [IPO_TIME_AT_ADDRESS_NUM], + [IPO_TIME_AT_ADDRESS_UNIT], + [IPO_TIME_IN_COUNTRY_NUM], + [IPO_TIME_IN_COUNTRY_UNIT], + [IPO_TIME_IN_STATE_NUM], + [IPO_TIME_IN_STATE_UNIT], + [IPO_TYPE_OF_INSTITUTITION], + [IPO_TYPE_OF_RESIDENCE], + [IX_DATE_OI], + [JURISDICTION_CD], + [JURISDICTION_NM], + [LAB_HIV_SPECIMEN_COLL_DT], + [LAB_NONTREP_SYPH_RSLT_QNT], + [LAB_NONTREP_SYPH_RSLT_QUA], + [LAB_NONTREP_SYPH_TEST_TYP], + [LAB_SYPHILIS_TST_PS_IND], + [LAB_SYPHILIS_TST_RSLT_PS], + [LAB_TESTS_PERFORMED], + [LAB_TREP_SYPH_RESULT_QUAL], + [LAB_TREP_SYPH_TEST_TYPE], + [MDH_PREV_STD_HIST], + [OOJ_AGENCY_SENT_TO], + [OOJ_DUE_DATE_SENT_TO], + [OOJ_FR_NUMBER_SENT_TO], + [OOJ_INITG_AGNCY_OUTC_DUE_DATE], + [OOJ_INITG_AGNCY_OUTC_SNT_DATE], + [OOJ_INITG_AGNCY_RECD_DATE], + [ORDERING_FACILITY_KEY], + [OUTBREAK_IND], + [OUTBREAK_NAME], + [PATIENT_ADDL_GENDER_INFO], + [PATIENT_AGE_AT_ONSET], + [PATIENT_AGE_AT_ONSET_UNIT], + [PATIENT_AGE_REPORTED], + [PATIENT_ALIAS], + [PATIENT_BIRTH_COUNTRY], + [PATIENT_BIRTH_SEX], + [PATIENT_CENSUS_TRACT], + [PATIENT_CITY], + [PATIENT_COUNTRY], + [PATIENT_COUNTY], + [PATIENT_CURRENT_SEX], + [PATIENT_CURR_SEX_UNK_RSN], + [PATIENT_DECEASED_DATE], + [PATIENT_DECEASED_INDICATOR], + [PATIENT_DOB], + [PATIENT_EMAIL], + [PATIENT_ETHNICITY], + [PATIENT_LOCAL_ID], + [PATIENT_MARITAL_STATUS], + [PATIENT_NAME], + [PATIENT_PHONE_CELL], + [PATIENT_PHONE_HOME], + [PATIENT_PHONE_WORK], + [PATIENT_PREFERRED_GENDER], + [PATIENT_PREGNANT_IND], + [PATIENT_RACE], + [PATIENT_SEX], + [PATIENT_STATE], + [PATIENT_STREET_ADDRESS_1], + [PATIENT_STREET_ADDRESS_2], + [PATIENT_UNK_ETHNIC_RSN], + [PATIENT_ZIP], + [PBI_IN_PRENATAL_CARE_IND], + [PBI_PATIENT_PREGNANT_WKS], + [PBI_PREG_AT_EXAM_IND], + [PBI_PREG_AT_EXAM_WKS], + [PBI_PREG_AT_IX_IND], + [PBI_PREG_AT_IX_WKS], + [PBI_PREG_IN_LAST_12MO_IND], + [PBI_PREG_OUTCOME], + [PHYSICIAN_FL_FUP_KEY], + [PHYSICIAN_KEY], + [PROGRAM_AREA_CD], + [PROGRAM_JURISDICTION_OID], + [PROVIDER_REASON_VISIT_DT], + [REFERRAL_BASIS], + [REPORTING_ORG_KEY], + [REPORTING_PROV_KEY], + [RPT_ELICIT_INTERNET_INFO], + [RPT_FIRST_NDLSHARE_EXP_DT], + [RPT_FIRST_SEX_EXP_DT], + [RPT_LAST_NDLSHARE_EXP_DT], + [RPT_LAST_SEX_EXP_DT], + [RPT_MET_OP_INTERNET], + [RPT_NDLSHARE_EXP_FREQ], + [RPT_RELATIONSHIP_TO_OP], + [RPT_SEX_EXP_FREQ], + [RPT_SPOUSE_OF_OP], + [RPT_SRC_CD_DESC], + [RSK_BEEN_INCARCERATD_12MO_IND], + [RSK_COCAINE_USE_12MO_IND], + [RSK_CRACK_USE_12MO_IND], + [RSK_ED_MEDS_USE_12MO_IND], + [RSK_HEROIN_USE_12MO_IND], + [RSK_INJ_DRUG_USE_12MO_IND], + [RSK_METH_USE_12MO_IND], + [RSK_NITR_POP_USE_12MO_IND], + [RSK_NO_DRUG_USE_12MO_IND], + [RSK_OTHER_DRUG_SPEC], + [RSK_OTHER_DRUG_USE_12MO_IND], + [RSK_RISK_FACTORS_ASSESS_IND], + [RSK_SEX_EXCH_DRGS_MNY_12MO_IND], + [RSK_SEX_INTOXCTED_HGH_12MO_IND], + [RSK_SEX_WOUT_CONDOM_12MO_IND], + [RSK_SEX_W_ANON_PTRNR_12MO_IND], + [RSK_SEX_W_FEMALE_12MO_IND], + [RSK_SEX_W_KNOWN_IDU_12MO_IND], + [RSK_SEX_W_KNWN_MSM_12M_FML_IND], + [RSK_SEX_W_MALE_12MO_IND], + [RSK_SEX_W_TRANSGNDR_12MO_IND], + [RSK_SHARED_INJ_EQUIP_12MO_IND], + [RSK_TARGET_POPULATIONS], + [SOC_FEMALE_PRTNRS_12MO_IND], + [SOC_FEMALE_PRTNRS_12MO_TTL], + [SOC_MALE_PRTNRS_12MO_IND], + [SOC_MALE_PRTNRS_12MO_TOTAL], + [SOC_PLACES_TO_HAVE_SEX], + [SOC_PLACES_TO_MEET_PARTNER], + [SOC_PRTNRS_PRD_FML_IND], + [SOC_PRTNRS_PRD_FML_TTL], + [SOC_PRTNRS_PRD_MALE_IND], + [SOC_PRTNRS_PRD_MALE_TTL], + [SOC_PRTNRS_PRD_TRNSGNDR_IND], + [SOC_SX_PRTNRS_INTNT_12MO_IND], + [SOC_TRANSGNDR_PRTNRS_12MO_IND], + [SOC_TRANSGNDR_PRTNRS_12MO_TTL], + [SOURCE_SPREAD], + [STD_PRTNRS_PRD_TRNSGNDR_TTL], + [SURV_CLOSED_DT], + [SURV_INVESTIGATOR_ASSGN_DT], + [SURV_PATIENT_FOLL_UP], + [SURV_PROVIDER_CONTACT], + [SURV_PROVIDER_EXAM_REASON], + [SYM_LATE_CLINICAL_MANIFES], + [SYM_NEUROLOGIC_SIGN_SYM], + [SYM_OCULAR_MANIFESTATIONS], + [SYM_OTIC_MANIFESTATION], + [TRT_TREATMENT_DATE] +FROM [RDB_MODERN].[dbo].[STD_HIV_DATAMART] +WHERE [INV_LOCAL_ID] = N'CAS1000010004GA01' + AND [PATIENT_LOCAL_ID] = N'PSN1000010000GA01' +; diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/020-AddInvestigation/setup.sql b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/020-AddInvestigation/setup.sql new file mode 100644 index 000000000..705075aba --- /dev/null +++ b/reporting-pipeline-service/src/test/resources/testData/functional/hivNotificationActualReferral/020-AddInvestigation/setup.sql @@ -0,0 +1,112 @@ +USE [NBS_ODSE]; +DECLARE @superuser_id bigint = 10009282; +DECLARE @elruser_id bigint = 10000015; + +-- Adjust the UID declarations below manually so they remain unique across other tests. +DECLARE @dbo_Entity_entity_uid bigint = 1000010000; +DECLARE @dbo_Postal_locator_postal_locator_uid bigint = 1000010001; +DECLARE @dbo_Entity_entity_uid_2 bigint = 1000010002; +DECLARE @dbo_Postal_locator_postal_locator_uid_2 bigint = 1000010003; +DECLARE @dbo_Act_act_uid bigint = 1000010004; +DECLARE @dbo_Person_local_id nvarchar(40) = N'PSN' + CONVERT(nvarchar(20), ABS(CONVERT(bigint, @dbo_Entity_entity_uid))) + N'GA01'; +DECLARE @dbo_Public_health_case_local_id nvarchar(40) = N'CAS' + CONVERT(nvarchar(20), ABS(CONVERT(bigint, @dbo_Act_act_uid))) + N'GA01'; +DECLARE @dbo_case_management_case_management_uid bigint; +DECLARE @dbo_case_management_case_management_uid_output TABLE ([value] bigint); +DECLARE @dbo_message_log_message_log_uid bigint; +DECLARE @dbo_message_log_message_log_uid_output TABLE ([value] bigint); +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid bigint; +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_output TABLE ([value] bigint); +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_2 bigint; +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_2_output TABLE ([value] bigint); +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_3 bigint; +DECLARE @dbo_NBS_case_answer_nbs_case_answer_uid_3_output TABLE ([value] bigint); +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid bigint; +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_output TABLE ([value] bigint); +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_2 bigint; +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_2_output TABLE ([value] bigint); +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_3 bigint; +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_3_output TABLE ([value] bigint); +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_4 bigint; +DECLARE @dbo_NBS_act_entity_nbs_act_entity_uid_4_output TABLE ([value] bigint); + +-- STEP 2: HIV Investigation +-- dbo.Entity +-- step: 2 +INSERT INTO [dbo].[Entity] ([entity_uid], [class_cd]) VALUES (@dbo_Entity_entity_uid_2, N'PSN'); +-- dbo.Person +-- step: 2 +INSERT INTO [dbo].[Person] ([person_uid], [add_time], [add_user_id], [age_reported], [age_reported_unit_cd], [birth_time], [birth_time_calc], [cd], [last_chg_time], [last_chg_user_id], [local_id], [record_status_cd], [record_status_time], [status_cd], [status_time], [first_nm], [last_nm], [version_ctrl_nbr], [as_of_date_admin], [as_of_date_sex], [electronic_ind], [person_parent_uid]) VALUES (@dbo_Entity_entity_uid_2, N'2026-06-05T16:12:30.270', @superuser_id, N'47', N'Y', N'1978-08-16T00:00:00', N'1978-08-16T00:00:00', N'PAT', N'2026-06-05T16:12:30.270', @superuser_id, @dbo_Person_local_id, N'ACTIVE', N'2026-06-05T16:12:30.270', N'A', N'2026-06-05T16:12:30.270', N'Nil', N'Prevost', 1, N'2026-06-05T00:00:00', N'2026-06-05T00:00:00', N'N', @dbo_Entity_entity_uid); +-- dbo.Person_name +-- step: 2 +INSERT INTO [dbo].[Person_name] ([person_uid], [person_name_seq], [add_time], [add_user_id], [first_nm], [first_nm_sndx], [last_chg_time], [last_chg_user_id], [last_nm], [last_nm_sndx], [nm_use_cd], [record_status_cd], [record_status_time], [status_cd], [status_time], [as_of_date]) VALUES (@dbo_Entity_entity_uid_2, 1, N'2026-06-05T16:12:30.110', @superuser_id, N'Nil', N'N400', N'2026-06-05T16:12:30.110', @superuser_id, N'Prevost', N'P612', N'L', N'ACTIVE', N'2026-06-05T16:12:30.110', N'A', N'2026-06-05T16:12:30.110', N'2026-06-05T00:00:00'); +-- dbo.Entity_id +-- step: 2 +INSERT INTO [dbo].[Entity_id] ([entity_uid], [entity_id_seq], [add_time], [assigning_authority_cd], [assigning_authority_desc_txt], [last_chg_time], [record_status_cd], [record_status_time], [root_extension_txt], [status_cd], [status_time], [type_cd], [type_desc_txt], [as_of_date], [assigning_authority_id_type]) VALUES (@dbo_Entity_entity_uid_2, 1, N'2026-06-05T16:12:30.153', N'GA', N'GA', N'2026-06-05T16:12:30.153', N'ACTIVE', N'2026-06-05T16:12:30.153', N'f2b09561-f7ca-40bd-9db6-ffca5d8c2e15', N'A', N'2026-06-05T16:12:30.153', N'DL', N'Driver''s license number', N'2026-06-05T00:00:00', N'L'); +-- dbo.Postal_locator +-- step: 2 +INSERT INTO [dbo].[Postal_locator] ([postal_locator_uid], [add_time], [add_user_id], [city_desc_txt], [cntry_cd], [record_status_cd], [record_status_time], [state_cd], [street_addr1], [zip_cd]) VALUES (@dbo_Postal_locator_postal_locator_uid_2, N'2026-06-05T16:12:30.110', @superuser_id, N'Atlanta', N'840', N'ACTIVE', N'2026-06-05T16:12:30.110', N'13', N'91181 Steensland', N'30368'); +-- dbo.Entity_locator_participation +-- step: 2 +INSERT INTO [dbo].[Entity_locator_participation] ([entity_uid], [locator_uid], [cd], [class_cd], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [status_cd], [status_time], [use_cd], [version_ctrl_nbr], [as_of_date]) VALUES (@dbo_Entity_entity_uid_2, @dbo_Postal_locator_postal_locator_uid_2, N'H', N'PST', N'2026-06-05T16:12:30.270', @superuser_id, N'ACTIVE', N'2026-06-05T16:12:30.270', N'A', N'2026-06-05T16:12:30.270', N'H', 1, N'2026-06-05T00:00:00'); +-- dbo.Act +-- step: 2 +INSERT INTO [dbo].[Act] ([act_uid], [class_cd], [mood_cd]) VALUES (@dbo_Act_act_uid, N'CASE', N'EVN'); +-- dbo.Public_health_case +-- step: 2 +INSERT INTO [dbo].[Public_health_case] ([public_health_case_uid], [activity_from_time], [add_time], [add_user_id], [case_class_cd], [case_type_cd], [cd], [cd_desc_txt], [detection_method_cd], [disease_imported_cd], [effective_duration_amt], [effective_duration_unit_cd], [group_case_cnt], [investigation_status_cd], [jurisdiction_cd], [last_chg_time], [last_chg_user_id], [local_id], [mmwr_week], [mmwr_year], [outbreak_ind], [outbreak_name], [outcome_cd], [prog_area_cd], [record_status_cd], [record_status_time], [rpt_source_cd], [status_cd], [transmission_mode_cd], [transmission_mode_desc_txt], [txt], [program_jurisdiction_oid], [shared_ind], [version_ctrl_nbr], [hospitalized_ind_cd], [pregnant_ind_cd], [day_care_ind_cd], [food_handler_ind_cd], [imported_country_cd], [imported_state_cd], [imported_city_desc_txt], [imported_county_cd], [priority_cd], [contact_inv_txt], [contact_inv_status_cd], [referral_basis_cd], [curr_process_state_cd], [coinfection_id]) VALUES (@dbo_Act_act_uid, N'2026-06-01T00:00:00', N'2026-06-05T16:12:30.327', @superuser_id, N'', N'I', N'900', N'HIV', N'', N'', N'', N'', 1, N'O', N'130005', N'2026-06-05T16:12:30.327', @superuser_id, @dbo_Public_health_case_local_id, N'22', N'2026', N'', N'', N'', N'HIV', N'OPEN', N'2026-06-05T16:12:30.327', N'', N'A', N'', N'', N'', 1300500016, N'T', 1, N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'C1', N'FF', N'COIN1001XX01'); +-- dbo.case_management +-- step: 2 +INSERT INTO [dbo].[case_management] ([public_health_case_uid], [epi_link_id], [field_record_number], [fld_foll_up_notification_plan], [init_foll_up], [init_foll_up_notifiable], [act_ref_type_cd], [initiating_agncy], [foll_up_assigned_date], [init_foll_up_assigned_date]) OUTPUT INSERTED.[case_management_uid] INTO @dbo_case_management_case_management_uid_output ([value]) VALUES (@dbo_Act_act_uid, N'1310000126', N'1310000126', N'6', N'FF', N'88', N'7', N'13', N'2026-06-05T00:00:00', N'2026-06-05T00:00:00'); +SELECT TOP 1 @dbo_case_management_case_management_uid = [value] FROM @dbo_case_management_case_management_uid_output; +-- dbo.Act_id +-- step: 2 +INSERT INTO [dbo].[Act_id] ([act_uid], [act_id_seq], [root_extension_txt], [status_cd], [status_time], [type_cd]) VALUES (@dbo_Act_act_uid, 1, N'', N'A', N'2026-06-05T16:12:30.353', N'STATE'); +-- step: 2 +INSERT INTO [dbo].[Act_id] ([act_uid], [act_id_seq], [root_extension_txt], [status_cd], [status_time], [type_cd]) VALUES (@dbo_Act_act_uid, 2, N'', N'A', N'2026-06-05T16:12:30.357', N'CITY'); +-- step: 2 +INSERT INTO [dbo].[Act_id] ([act_uid], [act_id_seq], [root_extension_txt], [status_cd], [status_time], [type_cd]) VALUES (@dbo_Act_act_uid, 3, N'', N'A', N'2026-06-05T16:12:30.360', N'LEGACY'); +-- dbo.message_log +-- step: 2 +INSERT INTO [dbo].[message_log] ([message_txt], [condition_cd], [person_uid], [assigned_to_uid], [event_uid], [event_type_cd], [message_status_cd], [record_status_cd], [record_status_time], [add_time], [add_user_id], [last_chg_time], [last_chg_user_id]) OUTPUT INSERTED.[message_log_uid] INTO @dbo_message_log_message_log_uid_output ([value]) VALUES (N'New assignment', N'900', @dbo_Entity_entity_uid_2, 10003004, 10009292, N'Investigation', N'N', N'ACTIVE', N'2026-06-05T16:12:30.103', N'2026-06-05T16:12:30.103', @superuser_id, N'2026-06-05T16:12:30.103', @superuser_id); +SELECT TOP 1 @dbo_message_log_message_log_uid = [value] FROM @dbo_message_log_message_log_uid_output; +-- dbo.Participation +-- step: 2 +INSERT INTO [dbo].[Participation] ([subject_entity_uid], [act_uid], [type_cd], [act_class_cd], [add_time], [add_user_id], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [status_cd], [status_time], [subject_class_cd], [type_desc_txt]) VALUES (@dbo_Entity_entity_uid_2, @dbo_Act_act_uid, N'SubjOfPHC', N'CASE', N'2026-06-05T16:12:30.153', @superuser_id, N'2026-06-05T16:12:30.153', @superuser_id, N'ACTIVE', N'2026-06-05T16:12:30.153', N'A', N'2026-06-05T16:12:30.153', N'PSN', N'Subject Of Public Health Case'); +-- step: 2 +INSERT INTO [dbo].[Participation] ([subject_entity_uid], [act_uid], [type_cd], [act_class_cd], [add_time], [add_user_id], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [status_cd], [status_time], [subject_class_cd]) VALUES (10003004, @dbo_Act_act_uid, N'FldFupInvestgrOfPHC', N'CASE', N'2026-06-05T16:12:30.153', @superuser_id, N'2026-06-05T16:12:30.153', @superuser_id, N'ACTIVE', N'2026-06-05T16:12:30.153', N'A', N'2026-06-05T16:12:30.153', N'PSN'); +-- step: 2 +INSERT INTO [dbo].[Participation] ([subject_entity_uid], [act_uid], [type_cd], [act_class_cd], [add_time], [add_user_id], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [status_cd], [status_time], [subject_class_cd]) VALUES (10003004, @dbo_Act_act_uid, N'InitFldFupInvestgrOfPHC', N'CASE', N'2026-06-05T16:12:30.153', @superuser_id, N'2026-06-05T16:12:30.153', @superuser_id, N'ACTIVE', N'2026-06-05T16:12:30.153', N'A', N'2026-06-05T16:12:30.153', N'PSN'); +-- step: 2 +INSERT INTO [dbo].[Participation] ([subject_entity_uid], [act_uid], [type_cd], [act_class_cd], [add_time], [add_user_id], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [status_cd], [status_time], [subject_class_cd], [type_desc_txt]) VALUES (10003004, @dbo_Act_act_uid, N'InvestgrOfPHC', N'CASE', N'2026-06-05T16:12:30.153', @superuser_id, N'2026-06-05T16:12:30.153', @superuser_id, N'ACTIVE', N'2026-06-05T16:12:30.153', N'A', N'2026-06-05T16:12:30.153', N'PSN', N'PHC Investigator'); +-- dbo.NBS_case_answer +-- step: 2 +INSERT INTO [dbo].[NBS_case_answer] ([act_uid], [add_time], [add_user_id], [answer_txt], [nbs_question_uid], [nbs_question_version_ctrl_nbr], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [seq_nbr]) OUTPUT INSERTED.[nbs_case_answer_uid] INTO @dbo_NBS_case_answer_nbs_case_answer_uid_output ([value]) VALUES (@dbo_Act_act_uid, N'2026-06-05T16:12:30.327', @superuser_id, N'EMC', 10001188, 3, N'2026-06-05T16:12:30.327', @superuser_id, N'OPEN', N'2026-06-05T16:12:30.327', 0); +SELECT TOP 1 @dbo_NBS_case_answer_nbs_case_answer_uid = [value] FROM @dbo_NBS_case_answer_nbs_case_answer_uid_output; +-- step: 2 +INSERT INTO [dbo].[NBS_case_answer] ([act_uid], [add_time], [add_user_id], [answer_txt], [nbs_question_uid], [nbs_question_version_ctrl_nbr], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [seq_nbr]) OUTPUT INSERTED.[nbs_case_answer_uid] INTO @dbo_NBS_case_answer_nbs_case_answer_uid_2_output ([value]) VALUES (@dbo_Act_act_uid, N'2026-06-05T16:12:30.327', @superuser_id, N'N', 10001013, 3, N'2026-06-05T16:12:30.327', @superuser_id, N'OPEN', N'2026-06-05T16:12:30.327', 0); +SELECT TOP 1 @dbo_NBS_case_answer_nbs_case_answer_uid_2 = [value] FROM @dbo_NBS_case_answer_nbs_case_answer_uid_2_output; +-- step: 2 +INSERT INTO [dbo].[NBS_case_answer] ([act_uid], [add_time], [add_user_id], [answer_txt], [nbs_question_uid], [nbs_question_version_ctrl_nbr], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [seq_nbr]) OUTPUT INSERTED.[nbs_case_answer_uid] INTO @dbo_NBS_case_answer_nbs_case_answer_uid_3_output ([value]) VALUES (@dbo_Act_act_uid, N'2026-06-05T16:12:30.327', @superuser_id, N'C1', 10001177, 3, N'2026-06-05T16:12:30.327', @superuser_id, N'OPEN', N'2026-06-05T16:12:30.327', 0); +SELECT TOP 1 @dbo_NBS_case_answer_nbs_case_answer_uid_3 = [value] FROM @dbo_NBS_case_answer_nbs_case_answer_uid_3_output; +-- dbo.NBS_act_entity +-- step: 2 +INSERT INTO [dbo].[NBS_act_entity] ([act_uid], [add_time], [add_user_id], [entity_uid], [entity_version_ctrl_nbr], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [type_cd]) OUTPUT INSERTED.[nbs_act_entity_uid] INTO @dbo_NBS_act_entity_nbs_act_entity_uid_output ([value]) VALUES (@dbo_Act_act_uid, N'2026-06-05T16:12:30.327', @superuser_id, @dbo_Entity_entity_uid_2, 1, N'2026-06-05T16:12:30.327', @superuser_id, N'OPEN', N'2026-06-05T16:12:30.327', N'SubjOfPHC'); +SELECT TOP 1 @dbo_NBS_act_entity_nbs_act_entity_uid = [value] FROM @dbo_NBS_act_entity_nbs_act_entity_uid_output; +-- step: 2 +INSERT INTO [dbo].[NBS_act_entity] ([act_uid], [add_time], [add_user_id], [entity_uid], [entity_version_ctrl_nbr], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [type_cd]) OUTPUT INSERTED.[nbs_act_entity_uid] INTO @dbo_NBS_act_entity_nbs_act_entity_uid_2_output ([value]) VALUES (@dbo_Act_act_uid, N'2026-06-05T16:12:30.327', @superuser_id, 10003004, 1, N'2026-06-05T16:12:30.327', @superuser_id, N'OPEN', N'2026-06-05T16:12:30.327', N'FldFupInvestgrOfPHC'); +SELECT TOP 1 @dbo_NBS_act_entity_nbs_act_entity_uid_2 = [value] FROM @dbo_NBS_act_entity_nbs_act_entity_uid_2_output; +-- step: 2 +INSERT INTO [dbo].[NBS_act_entity] ([act_uid], [add_time], [add_user_id], [entity_uid], [entity_version_ctrl_nbr], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [type_cd]) OUTPUT INSERTED.[nbs_act_entity_uid] INTO @dbo_NBS_act_entity_nbs_act_entity_uid_3_output ([value]) VALUES (@dbo_Act_act_uid, N'2026-06-05T16:12:30.327', @superuser_id, 10003004, 1, N'2026-06-05T16:12:30.327', @superuser_id, N'OPEN', N'2026-06-05T16:12:30.327', N'InitFldFupInvestgrOfPHC'); +SELECT TOP 1 @dbo_NBS_act_entity_nbs_act_entity_uid_3 = [value] FROM @dbo_NBS_act_entity_nbs_act_entity_uid_3_output; +-- step: 2 +INSERT INTO [dbo].[NBS_act_entity] ([act_uid], [add_time], [add_user_id], [entity_uid], [entity_version_ctrl_nbr], [last_chg_time], [last_chg_user_id], [record_status_cd], [record_status_time], [type_cd]) OUTPUT INSERTED.[nbs_act_entity_uid] INTO @dbo_NBS_act_entity_nbs_act_entity_uid_4_output ([value]) VALUES (@dbo_Act_act_uid, N'2026-06-05T16:12:30.327', @superuser_id, 10003004, 1, N'2026-06-05T16:12:30.327', @superuser_id, N'OPEN', N'2026-06-05T16:12:30.327', N'InvestgrOfPHC'); +SELECT TOP 1 @dbo_NBS_act_entity_nbs_act_entity_uid_4 = [value] FROM @dbo_NBS_act_entity_nbs_act_entity_uid_4_output; +-- dbo.Person +-- step: 2 +UPDATE [dbo].[Person] SET [last_chg_time] = N'2026-06-05T16:12:30.253', [record_status_time] = N'2026-06-05T16:12:30.253', [status_time] = N'2026-06-05T16:12:30.253', [version_ctrl_nbr] = ISNULL([version_ctrl_nbr], 0) + 1 WHERE [person_uid] = @dbo_Entity_entity_uid; +-- dbo.Entity_locator_participation +-- step: 2 +UPDATE [dbo].[Entity_locator_participation] SET [last_chg_time] = N'2026-06-05T16:12:30.253', [record_status_time] = N'2026-06-05T16:12:30.253', [status_time] = N'2026-06-05T16:12:30.253' WHERE [entity_uid] = @dbo_Entity_entity_uid AND [locator_uid] = @dbo_Postal_locator_postal_locator_uid; +-- dbo.PublicHealthCaseFact +-- step: 2 +INSERT INTO [dbo].[PublicHealthCaseFact] ([public_health_case_uid], [age_reported_unit_cd], [age_reported], [birth_time], [birth_time_calc], [case_class_cd], [case_type_cd], [city_desc_txt], [cntry_cd], [ELP_class_cd], [event_date], [event_type], [group_case_cnt], [investigation_status_cd], [investigatorName], [investigatorPhone], [jurisdiction_cd], [mart_record_creation_time], [mmwr_week], [mmwr_year], [PAR_type_cd], [postal_locator_uid], [person_cd], [person_uid], [PHC_add_time], [PHC_code], [PHC_code_desc], [PHC_code_short_desc], [prog_area_cd], [PST_record_status_time], [PST_record_status_cd], [record_status_cd], [shared_ind], [state], [state_cd], [status_cd], [street_addr1], [ELP_use_cd], [zip_cd], [patientName], [jurisdiction], [investigationstartdate], [program_jurisdiction_oid], [report_date], [person_parent_uid], [person_local_id], [sub_addr_as_of_date], [LOCAL_ID], [age_reported_unit_desc_txt], [cntry_desc_txt], [investigation_status_desc_txt], [prog_area_desc_txt], [LASTUPDATE]) VALUES (@dbo_Act_act_uid, N'Y', 47, N'1978-08-16T00:00:00', N'1978-08-16T00:00:00', N'', N'I', N'Atlanta', N'840', N'PST', N'2026-06-05T16:12:30.327', N'P', 1.0, N'O', N'Xerogeanes, John', N'404-778-3350', N'130005', N'2026-06-05T16:12:33.820', 22, 2026, N'SubjOfPHC', @dbo_Postal_locator_postal_locator_uid_2, N'PAT', @dbo_Entity_entity_uid_2, N'2026-06-05T16:12:30.327', N'900', N'HIV', N'HIV', N'HIV', N'2026-06-05T16:12:30.110', N'ACTIVE', N'OPEN', N'T', N'Georgia', N'13', N'A', N'91181 Steensland', N'H', N'30368', N'Prevost, Nil', N'Dekalb County', N'2026-06-01T00:00:00', 1300500016, N'2026-06-05T16:12:30.327', 10009288, @dbo_Person_local_id, N'2026-06-05T00:00:00', @dbo_Public_health_case_local_id, N'Years', N'UNITED STATES', N'Open', N'HIV', N'2026-06-05T16:12:30.327'); diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracing/050-AssignInvestigatorForFieldFollowUp/expected.json b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracing/050-AssignInvestigatorForFieldFollowUp/expected.json index cf63f6ce2..f6324f558 100644 --- a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracing/050-AssignInvestigatorForFieldFollowUp/expected.json +++ b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracing/050-AssignInvestigatorForFieldFollowUp/expected.json @@ -61,14 +61,14 @@ "CA_INTERVIEWER_ASSIGN_DT": "2026-04-25", "CA_PATIENT_INTV_STATUS": "A - Awaiting", "EPI_LINK_ID": "1310000026", - "FLD_FOLL_UP_NOTIFICATION_PLAN": "3", + "FLD_FOLL_UP_NOTIFICATION_PLAN": "3 - Dual", "FL_FUP_DISPOSITION_CD": "C", "FL_FUP_DISPOSITION_DESC": "C - Infected, Brought to Treatment", "FL_FUP_DISPO_DT": "2026-04-25", "FL_FUP_FIELD_RECORD_NUM": "1310000026", "FL_FUP_INIT_ASSGN_DT": "2026-04-25", "FL_FUP_INVESTIGATOR_ASSGN_DT": "2026-04-25", - "FL_FUP_NOTIFICATION_PLAN_CD": "3 - Dual", + "FL_FUP_NOTIFICATION_PLAN_CD": "3", "INIT_FOLL_UP_NOTIFIABLE": "6-Yes, Notifiable", "INIT_FUP_INITIAL_FOLL_UP": "Surveillance Follow-up", "INIT_FUP_INITIAL_FOLL_UP_CD": "SF", diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracing/060-PatientInterview/expected.json b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracing/060-PatientInterview/expected.json index 9547eb229..cfc521ef5 100644 --- a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracing/060-PatientInterview/expected.json +++ b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracing/060-PatientInterview/expected.json @@ -61,14 +61,14 @@ "CA_INTERVIEWER_ASSIGN_DT": "2026-04-25", "CA_PATIENT_INTV_STATUS": "I - Interviewed", "EPI_LINK_ID": "1310000026", - "FLD_FOLL_UP_NOTIFICATION_PLAN": "3", + "FLD_FOLL_UP_NOTIFICATION_PLAN": "3 - Dual", "FL_FUP_DISPOSITION_CD": "C", "FL_FUP_DISPOSITION_DESC": "C - Infected, Brought to Treatment", "FL_FUP_DISPO_DT": "2026-04-25", "FL_FUP_FIELD_RECORD_NUM": "1310000026", "FL_FUP_INIT_ASSGN_DT": "2026-04-25", "FL_FUP_INVESTIGATOR_ASSGN_DT": "2026-04-25", - "FL_FUP_NOTIFICATION_PLAN_CD": "3 - Dual", + "FL_FUP_NOTIFICATION_PLAN_CD": "3", "INIT_FOLL_UP_NOTIFIABLE": "6-Yes, Notifiable", "INIT_FUP_INITIAL_FOLL_UP": "Surveillance Follow-up", "INIT_FUP_INITIAL_FOLL_UP_CD": "SF", diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/010-PartOneSetup/expected.json b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/010-PartOneSetup/expected.json index d27590c51..070604b34 100644 --- a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/010-PartOneSetup/expected.json +++ b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/010-PartOneSetup/expected.json @@ -61,14 +61,14 @@ "CA_INTERVIEWER_ASSIGN_DT": "2026-04-25", "CA_PATIENT_INTV_STATUS": "I - Interviewed", "EPI_LINK_ID": "1310000026", - "FLD_FOLL_UP_NOTIFICATION_PLAN": "3", + "FLD_FOLL_UP_NOTIFICATION_PLAN": "3 - Dual", "FL_FUP_DISPOSITION_CD": "C", "FL_FUP_DISPOSITION_DESC": "C - Infected, Brought to Treatment", "FL_FUP_DISPO_DT": "2026-04-25", "FL_FUP_FIELD_RECORD_NUM": "1310000026", "FL_FUP_INIT_ASSGN_DT": "2026-04-25", "FL_FUP_INVESTIGATOR_ASSGN_DT": "2026-04-25", - "FL_FUP_NOTIFICATION_PLAN_CD": "3 - Dual", + "FL_FUP_NOTIFICATION_PLAN_CD": "3", "INIT_FOLL_UP_NOTIFIABLE": "6-Yes, Notifiable", "INIT_FUP_INITIAL_FOLL_UP": "Surveillance Follow-up", "INIT_FUP_INITIAL_FOLL_UP_CD": "SF", diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/090-CloseInvestigationSyphilis/expected.json b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/090-CloseInvestigationSyphilis/expected.json index 7a60fc5f2..fc710e97b 100644 --- a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/090-CloseInvestigationSyphilis/expected.json +++ b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/090-CloseInvestigationSyphilis/expected.json @@ -93,14 +93,14 @@ "CA_PATIENT_INTV_STATUS": "I - Interviewed", "CC_CLOSED_DT": "2026-04-27", "EPI_LINK_ID": "1310000026", - "FLD_FOLL_UP_NOTIFICATION_PLAN": "3", + "FLD_FOLL_UP_NOTIFICATION_PLAN": "3 - Dual", "FL_FUP_DISPOSITION_CD": "C", "FL_FUP_DISPOSITION_DESC": "C - Infected, Brought to Treatment", "FL_FUP_DISPO_DT": "2026-04-25", "FL_FUP_FIELD_RECORD_NUM": "1310000026", "FL_FUP_INIT_ASSGN_DT": "2026-04-25", "FL_FUP_INVESTIGATOR_ASSGN_DT": "2026-04-25", - "FL_FUP_NOTIFICATION_PLAN_CD": "3 - Dual", + "FL_FUP_NOTIFICATION_PLAN_CD": "3", "INIT_FOLL_UP_NOTIFIABLE": "6-Yes, Notifiable", "INIT_FUP_INITIAL_FOLL_UP": "Surveillance Follow-up", "INIT_FUP_INITIAL_FOLL_UP_CD": "SF", diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/100-SupervisorRejectsCloseInvestigation/expected.json b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/100-SupervisorRejectsCloseInvestigation/expected.json index b7690fcf3..3b5f0dc6d 100644 --- a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/100-SupervisorRejectsCloseInvestigation/expected.json +++ b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/100-SupervisorRejectsCloseInvestigation/expected.json @@ -92,14 +92,14 @@ "CA_INTERVIEWER_ASSIGN_DT": "2026-04-25", "CA_PATIENT_INTV_STATUS": "I - Interviewed", "EPI_LINK_ID": "1310000026", - "FLD_FOLL_UP_NOTIFICATION_PLAN": "3", + "FLD_FOLL_UP_NOTIFICATION_PLAN": "3 - Dual", "FL_FUP_DISPOSITION_CD": "C", "FL_FUP_DISPOSITION_DESC": "C - Infected, Brought to Treatment", "FL_FUP_DISPO_DT": "2026-04-25", "FL_FUP_FIELD_RECORD_NUM": "1310000026", "FL_FUP_INIT_ASSGN_DT": "2026-04-25", "FL_FUP_INVESTIGATOR_ASSGN_DT": "2026-04-25", - "FL_FUP_NOTIFICATION_PLAN_CD": "3 - Dual", + "FL_FUP_NOTIFICATION_PLAN_CD": "3", "INIT_FOLL_UP_NOTIFIABLE": "6-Yes, Notifiable", "INIT_FUP_INITIAL_FOLL_UP": "Surveillance Follow-up", "INIT_FUP_INITIAL_FOLL_UP_CD": "SF", diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/110-UpdateInvestigationAndCreateNotificationSyphilis/expected.json b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/110-UpdateInvestigationAndCreateNotificationSyphilis/expected.json index 55a65c8c7..57c222acc 100644 --- a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/110-UpdateInvestigationAndCreateNotificationSyphilis/expected.json +++ b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/110-UpdateInvestigationAndCreateNotificationSyphilis/expected.json @@ -93,14 +93,14 @@ "CA_PATIENT_INTV_STATUS": "I - Interviewed", "CC_CLOSED_DT": "2026-04-27", "EPI_LINK_ID": "1310000026", - "FLD_FOLL_UP_NOTIFICATION_PLAN": "3", + "FLD_FOLL_UP_NOTIFICATION_PLAN": "3 - Dual", "FL_FUP_DISPOSITION_CD": "C", "FL_FUP_DISPOSITION_DESC": "C - Infected, Brought to Treatment", "FL_FUP_DISPO_DT": "2026-04-25", "FL_FUP_FIELD_RECORD_NUM": "1310000026", "FL_FUP_INIT_ASSGN_DT": "2026-04-25", "FL_FUP_INVESTIGATOR_ASSGN_DT": "2026-04-25", - "FL_FUP_NOTIFICATION_PLAN_CD": "3 - Dual", + "FL_FUP_NOTIFICATION_PLAN_CD": "3", "INIT_FOLL_UP_NOTIFIABLE": "6-Yes, Notifiable", "INIT_FUP_INITIAL_FOLL_UP": "Surveillance Follow-up", "INIT_FUP_INITIAL_FOLL_UP_CD": "SF", diff --git a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/120-SupervisorApprove/expected.json b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/120-SupervisorApprove/expected.json index 8b71a87e4..e8e6c34ac 100644 --- a/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/120-SupervisorApprove/expected.json +++ b/reporting-pipeline-service/src/test/resources/testData/functional/stdContactTracingPartTwo/120-SupervisorApprove/expected.json @@ -93,14 +93,14 @@ "CA_PATIENT_INTV_STATUS": "I - Interviewed", "CC_CLOSED_DT": "2026-04-27", "EPI_LINK_ID": "1310000026", - "FLD_FOLL_UP_NOTIFICATION_PLAN": "3", + "FLD_FOLL_UP_NOTIFICATION_PLAN": "3 - Dual", "FL_FUP_DISPOSITION_CD": "C", "FL_FUP_DISPOSITION_DESC": "C - Infected, Brought to Treatment", "FL_FUP_DISPO_DT": "2026-04-25", "FL_FUP_FIELD_RECORD_NUM": "1310000026", "FL_FUP_INIT_ASSGN_DT": "2026-04-25", "FL_FUP_INVESTIGATOR_ASSGN_DT": "2026-04-25", - "FL_FUP_NOTIFICATION_PLAN_CD": "3 - Dual", + "FL_FUP_NOTIFICATION_PLAN_CD": "3", "INIT_FOLL_UP_NOTIFIABLE": "6-Yes, Notifiable", "INIT_FUP_INITIAL_FOLL_UP": "Surveillance Follow-up", "INIT_FUP_INITIAL_FOLL_UP_CD": "SF", diff --git a/testing-tools/local-db-tracing/tracing_constants.py b/testing-tools/local-db-tracing/tracing_constants.py index 009a3a6bd..50377d089 100644 --- a/testing-tools/local-db-tracing/tracing_constants.py +++ b/testing-tools/local-db-tracing/tracing_constants.py @@ -33,6 +33,15 @@ } }) +# CDC is not turned on for tables matching these prefixes. +# Each entry is (schema_name, table_name_prefix) and is normalized to lowercase. +EXCLUDED_TRACE_TABLE_PREFIXES: frozenset[tuple[str, str]] = frozenset({ + (schema_name.lower(), table_name_prefix.lower()) + for schema_name, table_name_prefix in { + ("dbo", "tmp_DynDM"), + } +}) + # CDC is on for these tables, but they are excluded from setup.sql because # they are populated as side-effects of replaying other entities. # Keys are normalized to lowercase to support case-insensitive matching. diff --git a/testing-tools/local-db-tracing/tracing_paths.py b/testing-tools/local-db-tracing/tracing_paths.py index 6b28aead3..4ef1d9cc5 100644 --- a/testing-tools/local-db-tracing/tracing_paths.py +++ b/testing-tools/local-db-tracing/tracing_paths.py @@ -3,7 +3,7 @@ import re from pathlib import Path -from tracing_constants import DEFAULT_STATE_FILE_DIR, EXCLUDED_ARTIFACT_TABLE_PREFIXES, EXCLUDED_ARTIFACT_TABLES, EXCLUDED_TRACE_TABLES, LEGACY_STATE_FILE, REPLAY_METADATA_CACHE_PREFIX +from tracing_constants import DEFAULT_STATE_FILE_DIR, EXCLUDED_ARTIFACT_TABLE_PREFIXES, EXCLUDED_ARTIFACT_TABLES, EXCLUDED_TRACE_TABLE_PREFIXES, EXCLUDED_TRACE_TABLES, LEGACY_STATE_FILE, REPLAY_METADATA_CACHE_PREFIX def output_name_component(value: str) -> str: @@ -49,7 +49,13 @@ def resolve_state_files(state_file: str | None, database: str) -> tuple[Path, Pa def is_excluded_trace_table(schema_name: str, table_name: str) -> bool: """Keep known high-noise internal tables out of CDC enablement and capture output.""" - return (schema_name.lower(), table_name.lower()) in EXCLUDED_TRACE_TABLES + key = (schema_name.lower(), table_name.lower()) + if key in EXCLUDED_TRACE_TABLES: + return True + return any( + key[0] == schema and key[1].startswith(prefix) + for schema, prefix in EXCLUDED_TRACE_TABLE_PREFIXES + ) def is_excluded_artifact_table(schema_name: str, table_name: str) -> bool: