diff --git a/ecs/jskult-batch-daily/src/batch/laundering/create_mst_inst.py b/ecs/jskult-batch-daily/src/batch/laundering/create_mst_inst.py deleted file mode 100644 index 6b499a71..00000000 --- a/ecs/jskult-batch-daily/src/batch/laundering/create_mst_inst.py +++ /dev/null @@ -1,16 +0,0 @@ -from src.batch.common.batch_context import BatchContext -from src.logging.get_logger import get_logger - -batch_context = BatchContext.get_instance() -logger = get_logger('メルク施設マスタ作成') - - -def exec(): - """メルク施設マスタ作成""" - - # 営業日ではないかつ、アルトマーク取込が行われていない場合は処理をスキップする - if batch_context.is_not_business_day is True and batch_context.is_ultmarc_imported is not True: - logger.info('営業日ではない、かつ、アルトマーク取込が行われていないため、メルク施設マスタ作成処理をスキップします。') - return - - pass diff --git a/ecs/jskult-batch-daily/src/batch/laundering/mst_inst_laundering.py b/ecs/jskult-batch-daily/src/batch/laundering/mst_inst_laundering.py new file mode 100644 index 00000000..bbaa5fd0 --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/laundering/mst_inst_laundering.py @@ -0,0 +1,262 @@ +from src.batch.batch_functions import logging_sql +from src.batch.common.batch_context import BatchContext +from src.db.database import Database +from src.error.exceptions import BatchOperationException +from src.logging.get_logger import get_logger +from src.time.elapsed_time import ElapsedTime + +batch_context = BatchContext.get_instance() +logger = get_logger('メルク施設マスタ作成') + + +def exec(): + """メルク施設マスタ作成""" + + # 営業日ではないかつ、アルトマーク取込が行われていない場合は処理をスキップする + if batch_context.is_not_business_day is True and batch_context.is_ultmarc_imported is not True: + logger.info('営業日ではない、かつ、アルトマーク取込が行われていないため、メルク施設マスタ作成処理をスキップします。') + return + + db = Database.get_instance() + try: + db.connect() + logger.debug('メルク施設マスタ作成処理開始') + # mst_instをTruncate + _truncate_mst_inst(db) + # fcl_mst_vから、mst_instへInsert + _insert_mst_inst_from_fcl_mst_v(db) + # com_instから、mst_instへInsert + _insert_mst_inst_from_com_inst(db) + logger.debug('メルク施設マスタ作成処理終了') + except Exception as e: + raise BatchOperationException(e) + finally: + db.disconnect() + + +def _truncate_mst_inst(db: Database): + try: + db.execute("TRUNCATE TABLE src05.mst_inst") + except Exception as e: + logger.debug("メルク施設マスタの全件削除に失敗") + raise e + + logger.debug("メルク施設マスタの全件削除に成功") + return + + +def _insert_mst_inst_from_fcl_mst_v(db: Database): + # fcl_mst_vから、mst_instへInsert + try: + elapsed_time = ElapsedTime() + sql = """ + INSERT INTO + src05.mst_inst ( + inst_cd, + inst_clas_cd, + inst_name_form, + inst_name, + pref_cd, + city_cd, + pref_name, + city_name, + address, + postal_cd, + tel_num, + delete_date, + v_inst_cd, + create_date, + update_date + ) + SELECT + fmv1.v_inst_cd, + CASE + WHEN fmv1.fcl_type IN ('A1', 'A0') THEN '3' + WHEN fmv1.fcl_type BETWEEN '20' AND '29' THEN '2' + END AS inst_clas_cd, + fmv1.fcl_name, + fmv1.fcl_abb_name, + fmv1.prft_cd, + RIGHT(fmv1.admin_kbn, 3), + mp.prefc_name, + LEFT(mc.city_name, 40), + CASE + WHEN fmv1.fcl_type IN ('A1', 'A0') THEN LEFT(fmv1.fmt_addr, 200) + WHEN fmv1.fcl_type BETWEEN '20' AND '29' THEN CONCAT(fmv1.prft_name,fmv1.city_name,fmv1.addr_line_1) + END AS address, + fmv1.postal_cd, + fmv1.tel_num, + LEFT(fmv1.closed_dt, 10), + fmv1.v_inst_cd, + fmv1.ins_dt, + fmv1.upd_dt + FROM + src05.fcl_mst_v AS fmv1 + INNER JOIN ( + SELECT + v_inst_cd, + MAX(sub_num) AS sno + FROM + src05.fcl_mst_v + GROUP BY + v_inst_cd + ) fmv2 + ON fmv1.v_inst_cd = fmv2.v_inst_cd + AND fmv1.sub_num = fmv2.sno + LEFT OUTER JOIN src05.mst_prefc AS mp + ON fmv1.prft_cd = mp.prefc_cd + LEFT OUTER JOIN src05.mst_city AS mc + ON LEFT(fmv1.admin_kbn, 2) = mc.prefc_cd + AND RIGHT(fmv1.admin_kbn, 3) = mc.city_cd + WHERE + ((fmv1.fcl_type IN ('A1', 'A0')) OR fmv1.fcl_type BETWEEN '20' AND '29') + AND fmv1.rec_sts_kbn != '9' + """ + res = db.execute(sql) + logging_sql(logger, sql) + logger.info(f'V施設マスタからメルク施設マスタに登録成功, {res.rowcount} 行更新 ({elapsed_time.of})') + except Exception as e: + logger.debug("V施設マスタからメルク施設マスタに登録失敗") + raise e + + return + + +def _insert_mst_inst_from_com_inst(db: Database): + # オプティマイザのderived_mergeフラグをoffにする + try: + sql = """ + SET SESSION optimizer_switch = 'derived_merge=off' + """ + db.execute(sql) + logger.debug("オプティマイザのderived_mergeフラグ = Off") + except Exception as e: + logger.debug("オプティマイザのderived_mergeフラグの値変更に失敗") + raise e + + # com_instから、mst_instへInsert + try: + elapsed_time = ElapsedTime() + sql = """ + INSERT INTO + src05.mst_inst ( + inst_cd, + inst_clas_cd, + inst_name_form, + inst_name, + pref_cd, + city_cd, + pref_name, + city_name, + address, + postal_cd, + tel_num, + bed_num, + manage_cd, + manage_name, + delete_date, + inst_div_cd, + inst_div_name, + v_inst_cd, + creater, + create_date, + updater, + update_date + ) + SELECT + ci.dcf_dsf_inst_cd, + '1', + ci.form_inst_name_kanji, + ci.inst_name_kanji, + ci.prefc_cd, + ci.city_cd, + mp.prefc_name, + LEFT(mc.city_name, 40), + ci.inst_addr, + ci.postal_number, + ci.inst_phone_number, + ci.bed_num, + ci.manage_cd, + LEFT(cm.manage_name, 40), + ci.abolish_ymd, + ci.inst_div_cd, + LEFT(cid.inst_div_name, 40), + mcmv.hco_vid_v, + ci.create_user, + ci.regist_date, + ci.update_user, + ci.update_date + FROM + src05.com_inst AS ci + LEFT OUTER JOIN src05.mst_prefc AS mp + ON ci.prefc_cd = mp.prefc_cd + LEFT OUTER JOIN src05.mst_city AS mc + ON ci.prefc_cd = mc.prefc_cd + AND ci.city_cd = mc.city_cd + LEFT OUTER JOIN src05.com_manage AS cm + ON ci.manage_cd = cm.manage_cd + LEFT OUTER JOIN src05.com_inst_div AS cid + ON ci.inst_div_cd = cid.inst_div_cd + LEFT OUTER JOIN ( -- MDBコード変換表を使用してV施設コードを取得するためのテーブル結合 + SELECT + mcmv4.* + FROM ( + SELECT + mcmv1.* + FROM + src05.mdb_cnv_mst_v AS mcmv1 + INNER JOIN ( + SELECT + mcmv2.hco_vid_v, + MAX(mcmv2.sub_num) AS sno -- MDBコード変換データの枝番MAX + FROM + src05.mdb_cnv_mst_v mcmv2 + WHERE + mcmv2.rec_sts_kbn != '9' -- 状態区分9(削除)以外 and 適用開始≦日付テーブル.処理日 + AND src05.get_syor_date() >= mcmv2.start_date + GROUP BY + mcmv2.hco_vid_v + ) AS mcmv3 + ON mcmv1.hco_vid_v = mcmv3.hco_vid_v + AND mcmv1.sub_num = mcmv3.sno + ) AS mcmv4 + INNER JOIN ( + SELECT + MIN(mcmv8.hco_vid_v) AS hvv, -- 1つのMDBコードに対し、複数のV施設コードが割り当てられている場合、最小のV施設コードを選択する + mcmv8.mdb_cd + FROM ( + SELECT + mcmv5.* + FROM + src05.mdb_cnv_mst_v AS mcmv5 + INNER JOIN ( + SELECT + mcmv6.hco_vid_v, + MAX(mcmv6.sub_num) AS sno -- MDBコード変換データの枝番MAX + FROM + src05.mdb_cnv_mst_v AS mcmv6 + WHERE + mcmv6.rec_sts_kbn != '9' -- 状態区分9(削除)以外 and 適用開始≦日付テーブル.処理日 + AND src05.get_syor_date() >= mcmv6.start_date + GROUP BY + mcmv6.hco_vid_v + ) AS mcmv7 + ON mcmv5.hco_vid_v = mcmv7.hco_vid_v + AND mcmv5.sub_num = mcmv7.sno + ) AS mcmv8 + GROUP BY + mcmv8.mdb_cd + ) AS mcmv9 + ON mcmv4.mdb_cd = mcmv9.mdb_cd + AND mcmv4.hco_vid_v = mcmv9.hvv + ) AS mcmv + ON ci.dcf_dsf_inst_cd = mcmv.mdb_cd + """ + res = db.execute(sql) + logging_sql(logger, sql) + logger.info(f'COM施設からメルク施設マスタに登録成功, {res.rowcount} 行更新 ({elapsed_time.of})') + except Exception as e: + logger.debug("COM施設からメルク施設マスタに登録失敗") + raise e + + return diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_cop_hp_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_cop_hp_mapper.py new file mode 100644 index 00000000..b1746e00 --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_cop_hp_mapper.py @@ -0,0 +1,108 @@ +from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ + UltmarcTableMapper +from src.batch.ultmarc.utmp_tables.tables.com_cop_hp import ComCopHp + + +class ComCopHpMapper(UltmarcTableMapper): + """レイアウト区分112: COM_臨床研修病院 登録処理""" + + # レコード存在確認SQL + RECORD_EXISTS_QUERY = """\ + SELECT + COUNT(*) AS count_num + FROM + src05.com_cop_hp + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + cophp_cd = :cophp_code + AND + openyear = :open_year + """ + # データ登録用SQL + INSERT_QUERY = """\ + INSERT INTO src05.com_cop_hp + ( + dcf_dsf_inst_cd, + cophp_cd, + openyear, + sortkey, + regist_ymd, + sys_regist_date, + regist_prgm_id, + sys_update_date, + update_prgm_id + ) + VALUES ( + :dcfdsf_inst_code, + :cophp_code, + :open_year, + :sort_key, + :execute_date_str_ymd, + :execute_datetime, + :program_name, + :execute_datetime, + :program_name + ) + """ + # データ変更用SQL + UPDATE_QUERY = """\ + UPDATE + src05.com_cop_hp + SET + sortkey = :sort_key, + update_ymd = :execute_date_str_ymd, + sys_update_date = :execute_datetime, + update_prgm_id = :program_name + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + cophp_cd = :cophp_code + AND + openyear = :open_year + """ + + # 削除『修正区分がB(修正)かつ追加削除区分が1(退職)』の場合、物理削除 + PHYSICAL_DELETE_QUERY = """\ + DELETE FROM + src05.com_cop_hp + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + cophp_cd = :cophp_code + AND + openyear = :open_year + """ + record: ComCopHp + + def __init__(self, record: list[str], db) -> None: + super().__init__(record, db, ComCopHp) + program_name = __name__.split('.')[-1] # 当モジュール名(現行から変わっている) + # モジュール名をクエリパラメータに設定 + self.query_parameter['program_name'] = program_name + # 読み込んだレコード値もクエリパラメータに追加 + self.query_parameter = {**self.query_parameter, **self.record.to_sql_parameter()} + + def make_query(self): + # 削除『修正区分がB(修正)かつ追加削除区分が1(退職)』の場合、物理削除 + if self.record.maint_flag == 'B' and self.record.adddel_div == '1': + self.queries.append(self.PHYSICAL_DELETE_QUERY) + return + + # 追加、更新の場合 + self.queries.append(self.__make_upsert_query()) + return + + def __make_upsert_query(self): + # レコードの存在確認 + record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) + # 存在しない場合はInsert + if record_count[0]['count_num'] == 0: + return self.INSERT_QUERY + + # 存在する場合ではUpdate + # 更新する値が空の場合は、更新処理を行わない + if self.record.sort_key == '': + return None + else: + return self.UPDATE_QUERY diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_inst_att_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_inst_att_mapper.py new file mode 100644 index 00000000..f1b52afd --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_inst_att_mapper.py @@ -0,0 +1,1186 @@ +from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ + UltmarcTableMapper +from src.batch.ultmarc.utmp_tables.tables.com_inst_att import ComInstAtt + + +class ComInstAttMapper(UltmarcTableMapper): + """レイアウト区分111: COM_施設属性 登録処理""" + + # レコード存在確認SQL + RECORD_EXISTS_QUERY = """\ + SELECT + COUNT(*) AS count_num + FROM + src05.com_inst_att + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + """ + # データ登録用SQL + INSERT_QUERY = """\ + INSERT INTO src05.com_inst_att + ( + dcf_dsf_inst_cd, + dpc_flag, + dpc_specday, + dpc_cancelday, + predpc_flag, + predpc_specday, + predpc_cancelday, + cancer_flag, + cancer_specday, + cancer_cancelday, + funchpflag, + funchpokdate, + funchpcandate, + areasuphpflag, + areasuphpintrate, + areasuphpokdate, + areasuphpcandate, + acuthpaddflag, + acuthpaddokdate, + acuthpaddcandate, + genadmisiionflag, + genadmisiionfokdate, + genadmisiionfcandate, + assistanceflag, + assistanceokdate, + assistancecandate, + diagnosistreatment_flag, + diagnosistreatment_specday, + diagnosistreatment_cancelday, + safety_flag, + safety_specday, + safety_cancelday, + highrisk_flag, + highrisk_specday, + highrisk_cancelday, + infantandholiday_flag, + infantandholiday_specday, + infantandholiday_cancelday, + ophpflag, + ophpokdate, + ophpcandate, + critical_flag, + critical_code01, + critical_code02, + critical_code03, + critical_code04, + critical_code05, + critical_code06, + critical_code07, + critical_code08, + critical_code09, + critical_code10, + critical_code11, + critical_code12, + critical_code13, + critical_code14, + critical_code15, + critical_code16, + critical_code17, + critical_code18, + critical_code19, + critical_code20, + drgmgthpflag, + drgmgthpokdate, + drgmgthpcandate, + imagediagnosis_flag, + imagediagnosis_specifiedday, + imagediagnosis_cancelday, + chemotherapy_flag, + chemotherapy_specday, + chemotherapy_cancelday, + rehabilitation_flag, + rehabilitation_code01, + rehabilitation_code02, + rehabilitation_code03, + rehabilitation_code04, + rehabilitation_code05, + rehabilitation_code06, + rehabilitation_code07, + rehabilitation_code08, + rehabilitation_code09, + rehabilitation_code10, + anesthetizingmanage_flag, + anesthetizingmanage_specday, + anesthetizingmanage_cancelday, + homerecuperation_flag, + homerecuperation_specday, + homerecuperation_cancelday, + synthesiswhenstaying_flag, + synthesiswhenstaying_specday, + synthesiswhenstaying_cancelday, + homelateflag, + homelateokday, + homelatecanday, + caremixkind, + fullmoveflag, + resthpflag, + resthpcarekind, + resthpbednum, + resthpokdate, + resthpcandate, + resthpcarenrskind, + resthpcarebednum, + resthpcareokdate, + resthpcarecandate, + resthpsbednum, + nrmhpflag, + nrmhpcarekind, + nrmhpbedtotalnum, + menthpflag, + menthpcarekind, + menthpbednum, + tubhpflag, + tubhpcarekind, + tubhpbednum, + infhpflag, + infhpflag1, + infhpflag2, + infhpbedflag, + infhpbednum, + hospiceflag, + hospicebednum, + hospiceokdate, + hospicecandate, + hpfuncestflag, + hpfuncestkind, + hpfuncestokdate, + hpfuncestcandate, + clolyhpkind, + clolyhpokdate, + clolyhpcandate, + clhpkind, + clhpokdate, + clhpcandate, + cldephpkind, + cldephpokdate, + cldephpcandate, + disasthpflag, + d1emerhpflag, + d2emerhpflag, + d3emerhpflag, + emergencyclinic, + trialcoreflag, + trialcore_div, + trialcoreokdate, + trialcorecandate, + dementiaflag, + dementiaokdate, + dementiacandate, + sphealth_exploration, + sphealth_guidance, + hiadhpflag, + hiadhpcode1, + hiadhpkind1, + hiadhpcode2, + hiadhpkind2, + hiadhpcode3, + hiadhpkind3, + hiadhpcode4, + hiadhpkind4, + hiadhpcode5, + hiadhpkind5, + hiadhpcode6, + hiadhpkind6, + hiadhpcode7, + hiadhpkind7, + hiadhpcode8, + hiadhpkind8, + hiadhpcode9, + hiadhpkind9, + hiadhpcode10, + hiadhpkind10, + hiadhpcode11, + hiadhpkind11, + hiadhpcode12, + hiadhpkind12, + hiadhpcode13, + hiadhpkind13, + hiadhpcode14, + hiadhpkind14, + hiadhpcode15, + hiadhpkind15, + hiadhpcode16, + hiadhpkind16, + hiadhpcode17, + hiadhpkind17, + hiadhpcode18, + hiadhpkind18, + hiadhpcode19, + hiadhpkind19, + hiadhpcode20, + hiadhpkind20, + hiadhpcode21, + hiadhpkind21, + hiadhpcode22, + hiadhpkind22, + hiadhpcode23, + hiadhpkind23, + hiadhpcode24, + hiadhpkind24, + hiadhpcode25, + hiadhpkind25, + hiadhpcode26, + hiadhpkind26, + hiadhpcode27, + hiadhpkind27, + hiadhpcode28, + hiadhpkind28, + hiadhpcode29, + hiadhpkind29, + hiadhpcode30, + hiadhpkind30, + hiadhpcode31, + hiadhpkind31, + hiadhpcode32, + hiadhpkind32, + hiadhpcode33, + hiadhpkind33, + hiadhpcode34, + hiadhpkind34, + hiadhpcode35, + hiadhpkind35, + hiadhpcode36, + hiadhpkind36, + hiadhpcode37, + hiadhpkind37, + hiadhpcode38, + hiadhpkind38, + hiadhpcode39, + hiadhpkind39, + hiadhpcode40, + hiadhpkind40, + hitechhpflag, + hitechhpkind1, + hitechhpkind2, + hitechhpkind3, + hitechhpkind4, + hitechhpkind5, + hitechhpkind6, + hitechhpkind7, + hitechhpkind8, + hitechhpkind9, + hitechhpkind10, + hitechhpkind11, + hitechhpkind12, + hitechhpkind13, + hitechhpkind14, + hitechhpkind15, + hitechhpkind16, + hitechhpkind17, + hitechhpkind18, + hitechhpkind19, + hitechhpkind20, + policymedical_flag, + policymedical_code01, + policymedical_content01, + policymedical_code02, + policymedical_content02, + policymedical_code03, + policymedical_content03, + policymedical_code04, + policymedical_content04, + policymedical_code05, + policymedical_content05, + policymedical_code06, + policymedical_content06, + policymedical_code07, + policymedical_content07, + policymedical_code08, + policymedical_content08, + policymedical_code09, + policymedical_content09, + policymedical_code10, + policymedical_content10, + policymedical_code11, + policymedical_content11, + policymedical_code12, + policymedical_content12, + policymedical_code13, + policymedical_content13, + policymedical_code14, + policymedical_content14, + policymedical_code15, + policymedical_content15, + policymedical_code16, + policymedical_content16, + policymedical_code17, + policymedical_content17, + policymedical_code18, + policymedical_content18, + policymedical_code19, + policymedical_content19, + policymedical_code20, + policymedical_content20, + visitcarestflag, + visitcarestation_id, + visitcarestation_code, + visitcarestation_yobi, + opendate, + regist_ymd, + update_ymd, + sys_regist_date, + regist_prgm_id, + sys_update_date, + update_prgm_id + ) + VALUES ( + :dcfdsf_inst_code, + :dpc_flag, + :dpc_spec_day, + :dpc_cancel_day, + :predpc_flag, + :predpc_spec_day, + :predpc_cancel_day, + :cancer_flag, + :cancer_spec_day, + :cancer_cancel_day, + :funchp_flag, + :funchp_ok_date, + :funchp_can_date, + :areasuphp_flag, + :areasuphp_intrate, + :areasuphp_ok_date, + :areasuphp_can_date, + :acuthp_add_flag, + :acuthp_add_ok_date, + :acuthp_add_can_date, + :genadmisiion_flag, + :genadmisiion_ok_date, + :genadmisiion_can_date, + :assistance_flag, + :assistance_ok_date, + :assistance_can_date, + :diagnosis_treatment_flag, + :diagnosis_treatment_spec_day, + :diagnosis_treatment_cancel_day, + :safety_flag, + :safety_spec_day, + :safety_cancel_day, + :highrisk_flag, + :highrisk_spec_day, + :highrisk_cancel_day, + :infant_and_holiday_flag, + :infant_and_holiday_spec_day, + :infant_and_holiday_cancel_day, + :ophp_flag, + :ophpok_date, + :ophpcan_date, + :critical_flag, + :critical_code01, + :critical_code02, + :critical_code03, + :critical_code04, + :critical_code05, + :critical_code06, + :critical_code07, + :critical_code08, + :critical_code09, + :critical_code10, + :critical_code11, + :critical_code12, + :critical_code13, + :critical_code14, + :critical_code15, + :critical_code16, + :critical_code17, + :critical_code18, + :critical_code19, + :critical_code20, + :drgmgthp_flag, + :drgmgthp_ok_date, + :drgmgthp_can_date, + :image_diagnosis_flag, + :image_diagnosis_specified_day, + :image_diagnosis_cancel_day, + :chemotherapy_flag, + :chemotherapy_spec_day, + :chemotherapy_cancel_day, + :rehabilitation_flag, + :rehabilitation_code01, + :rehabilitation_code02, + :rehabilitation_code03, + :rehabilitation_code04, + :rehabilitation_code05, + :rehabilitation_code06, + :rehabilitation_code07, + :rehabilitation_code08, + :rehabilitation_code09, + :rehabilitation_code10, + :anesthetizing_manage_flag, + :anesthetizing_manage_spec_day, + :anesthetizing_manage_can_day, + :home_recuperation_flag, + :home_recuperation_spec_day, + :home_recuperation_cancel_day, + :synthesis_when_staying_flag, + :synthesis_when_staying_spec_day, + :synthesis_when_staying_can_day, + :home_late_flag, + :home_late_ok_day, + :home_late_can_day, + :caremix_kind, + :fullmove_flag, + :resthp_flag, + :resthp_care_kind, + :resthp_bed_num, + :resthp_ok_date, + :resthp_can_date, + :resthp_care_nrs_kind, + :resthp_care_bed_num, + :resthp_care_ok_date, + :resthp_care_can_date, + :resthp_sbed_num, + :nrmhp_flag, + :nrmhp_care_kind, + :nrmhp_bed_total_num, + :menthp_flag, + :menthp_care_kind, + :menthp_bed_num, + :tubhp_flag, + :tubhp_care_kind, + :tubhp_bed_num, + :infhp_flag, + :infhp_flag1, + :infhp_flag2, + :infhp_bed_flag, + :infhp_bed_num, + :hospice_flag, + :hospice_bed_num, + :hospice_ok_date, + :hospice_can_date, + :hpfunce_st_flag, + :hpfunce_st_kind, + :hpfunce_st_ok_date, + :hpfunce_st_can_date, + :clolyhp_kind, + :clolyhp_ok_date, + :clolyhp_can_date, + :clhp_kind, + :clhp_ok_date, + :clhp_can_date, + :cldephp_kind, + :cldephp_ok_date, + :cldephp_can_date, + :disasthp_flag, + :d1emerhp_flag, + :d2emerhp_flag, + :d3emerhp_flag, + :emergency_clinic, + :trial_core_flag, + :trial_core_div, + :trial_core_ok_date, + :trial_core_can_date, + :dementia_flag, + :dementia_okd_ate, + :dementia_can_date, + :sphealth_exploration, + :sphealth_guidance, + :hiadhp_flag, + :hiadhpcode1, + :hiadhpkind1, + :hiadhpcode2, + :hiadhpkind2, + :hiadhpcode3, + :hiadhpkind3, + :hiadhpcode4, + :hiadhpkind4, + :hiadhpcode5, + :hiadhpkind5, + :hiadhpcode6, + :hiadhpkind6, + :hiadhpcode7, + :hiadhpkind7, + :hiadhpcode8, + :hiadhpkind8, + :hiadhpcode9, + :hiadhpkind9, + :hiadhpcode10, + :hiadhpkind10, + :hiadhpcode11, + :hiadhpkind11, + :hiadhpcode12, + :hiadhpkind12, + :hiadhpcode13, + :hiadhpkind13, + :hiadhpcode14, + :hiadhpkind14, + :hiadhpcode15, + :hiadhpkind15, + :hiadhpcode16, + :hiadhpkind16, + :hiadhpcode17, + :hiadhpkind17, + :hiadhpcode18, + :hiadhpkind18, + :hiadhpcode19, + :hiadhpkind19, + :hiadhpcode20, + :hiadhpkind20, + :hiadhpcode21, + :hiadhpkind21, + :hiadhpcode22, + :hiadhpkind22, + :hiadhpcode23, + :hiadhpkind23, + :hiadhpcode24, + :hiadhpkind24, + :hiadhpcode25, + :hiadhpkind25, + :hiadhpcode26, + :hiadhpkind26, + :hiadhpcode27, + :hiadhpkind27, + :hiadhpcode28, + :hiadhpkind28, + :hiadhpcode29, + :hiadhpkind29, + :hiadhpcode30, + :hiadhpkind30, + :hiadhpcode31, + :hiadhpkind31, + :hiadhpcode32, + :hiadhpkind32, + :hiadhpcode33, + :hiadhpkind33, + :hiadhpcode34, + :hiadhpkind34, + :hiadhpcode35, + :hiadhpkind35, + :hiadhpcode36, + :hiadhpkind36, + :hiadhpcode37, + :hiadhpkind37, + :hiadhpcode38, + :hiadhpkind38, + :hiadhpcode39, + :hiadhpkind39, + :hiadhpcode40, + :hiadhpkind40, + :hitechhp_flag, + :hitechhpkind1, + :hitechhpkind2, + :hitechhpkind3, + :hitechhpkind4, + :hitechhpkind5, + :hitechhpkind6, + :hitechhpkind7, + :hitechhpkind8, + :hitechhpkind9, + :hitechhpkind10, + :hitechhpkind11, + :hitechhpkind12, + :hitechhpkind13, + :hitechhpkind14, + :hitechhpkind15, + :hitechhpkind16, + :hitechhpkind17, + :hitechhpkind18, + :hitechhpkind19, + :hitechhpkind20, + :policy_medical_flag, + :policymedical_code01, + :policymedical_content01, + :policymedical_code02, + :policymedical_content02, + :policymedical_code03, + :policymedical_content03, + :policymedical_code04, + :policymedical_content04, + :policymedical_code05, + :policymedical_content05, + :policymedical_code06, + :policymedical_content06, + :policymedical_code07, + :policymedical_content07, + :policymedical_code08, + :policymedical_content08, + :policymedical_code09, + :policymedical_content09, + :policymedical_code10, + :policymedical_content10, + :policymedical_code11, + :policymedical_content11, + :policymedical_code12, + :policymedical_content12, + :policymedical_code13, + :policymedical_content13, + :policymedical_code14, + :policymedical_content14, + :policymedical_code15, + :policymedical_content15, + :policymedical_code16, + :policymedical_content16, + :policymedical_code17, + :policymedical_content17, + :policymedical_code18, + :policymedical_content18, + :policymedical_code19, + :policymedical_content19, + :policymedical_code20, + :policymedical_content20, + :visitcarest_flag, + :visitcarestation_id, + :visitcarestation_code, + :visitcarestation_yobi, + :open_date, + :execute_date_str_ymd, + :execute_date_str_ymd, + :execute_datetime, + :program_name, + :execute_datetime, + :program_name + ) + """ + + UPDATE_QUERY = """\ + UPDATE + src05.com_inst_att + SET + {update_columns} + update_ymd = :execute_date_str_ymd, + sys_update_date = :execute_datetime, + update_prgm_id = :program_name + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + """ + + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + PHYSICAL_DELETE_QUERY = """\ + DELETE FROM + src05.com_inst_att + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + """ + + record: ComInstAtt + + def __init__(self, record: list[str], db) -> None: + super().__init__(record, db, ComInstAtt) + program_name = __name__.split('.')[-1] # 当モジュール名(現行から変わっている) + # モジュール名をクエリパラメータに設定 + self.query_parameter['program_name'] = program_name + # 読み込んだレコード値もクエリパラメータに追加 + self.query_parameter = {**self.query_parameter, **self.record.to_sql_parameter()} + + def make_query(self): + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + if self.record.maint_flag == 'B' and self.record.adddel_div == '1': + self.queries.append(self.PHYSICAL_DELETE_QUERY) + return + + # 追加、更新の場合 + self.__make_upsert_query() + return + + def __make_upsert_query(self): + # レコードの存在確認 + record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) + # 存在しない場合はInsert + if record_count[0]['count_num'] == 0: + self.queries.append(self.INSERT_QUERY) + return + + # 存在する場合はUpdate + self.queries.append(self.__make_update_query()) + return + + def __make_update_query(self): + set_clauses = [] + # DPC対象病院 + if len(self.record.dpc_flag) > 0: + set_clauses.append('dpc_flag = :dpc_flag') + set_clauses.append('dpc_specday = :dpc_spec_day') + set_clauses.append('dpc_cancelday = :dpc_cancel_day') + if self.record.dpc_flag == '@': + self.query_parameter['dpc_flag'] = None + self.query_parameter['dpc_spec_day'] = None + self.query_parameter['dpc_cancel_day'] = None + + # DPC準備病院 + if len(self.record.predpc_flag) > 0: + set_clauses.append('predpc_flag = :predpc_flag') + set_clauses.append('predpc_specday = :predpc_spec_day') + set_clauses.append('predpc_cancelday = :predpc_cancel_day') + if self.record.predpc_flag == '@': + self.query_parameter['predpc_flag'] = None + self.query_parameter['predpc_spec_day'] = None + self.query_parameter['predpc_cancel_day'] = None + + # がん診療連携拠点病院 + if len(self.record.cancer_flag) > 0: + set_clauses.append('cancer_flag = :cancer_flag') + set_clauses.append('cancer_specday = :cancer_spec_day') + set_clauses.append('cancer_cancelday = :cancer_cancel_day') + if self.record.cancer_flag == '@': + self.query_parameter['cancer_flag'] = None + self.query_parameter['cancer_spec_day'] = None + self.query_parameter['cancer_cancel_day'] = None + + # 特定機能病院 + if len(self.record.funchp_flag) > 0: + set_clauses.append('funchpflag = :funchp_flag') + set_clauses.append('funchpokdate = :funchp_ok_date') + set_clauses.append('funchpcandate = :funchp_can_date') + if self.record.funchp_flag == '@': + self.query_parameter['funchp_flag'] = None + self.query_parameter['funchp_ok_date'] = None + self.query_parameter['funchp_can_date'] = None + + # 地域医療支援病院 + if len(self.record.areasuphp_flag) > 0: + set_clauses.append('areasuphpflag = :areasuphp_flag') + set_clauses.append('areasuphpintrate = :areasuphp_intrate') + set_clauses.append('areasuphpokdate = :areasuphp_ok_date') + set_clauses.append('areasuphpcandate = :areasuphp_can_date') + if self.record.areasuphp_flag == '@': + self.query_parameter['areasuphp_flag'] = None + self.query_parameter['areasuphp_intrate'] = None + self.query_parameter['areasuphp_ok_date'] = None + self.query_parameter['areasuphp_can_date'] = None + + # 超急性期脳卒中加算 + if len(self.record.acuthp_add_flag) > 0: + set_clauses.append('acuthpaddflag = :acuthp_add_flag') + set_clauses.append('acuthpaddokdate = :acuthp_add_ok_date') + set_clauses.append('acuthpaddcandate = :acuthp_add_can_date') + if self.record.acuthp_add_flag == '@': + self.query_parameter['acuthp_add_flag'] = None + self.query_parameter['acuthp_add_ok_date'] = None + self.query_parameter['acuthp_add_can_date'] = None + + # 総合入院体制加算 + if len(self.record.genadmisiion_flag) > 0: + set_clauses.append('genadmisiionflag = :genadmisiion_flag') + set_clauses.append('genadmisiionfokdate = :genadmisiion_ok_date') + set_clauses.append('genadmisiionfcandate = :genadmisiion_can_date') + if self.record.genadmisiion_flag == '@': + self.query_parameter['genadmisiion_flag'] = None + self.query_parameter['genadmisiion_ok_date'] = None + self.query_parameter['genadmisiion_can_date'] = None + + # 医師事務作業補助体制加算 + if len(self.record.assistance_flag) > 0: + set_clauses.append('assistanceflag = :assistance_flag') + set_clauses.append('assistanceokdate = :assistance_ok_date') + set_clauses.append('assistancecandate = :assistance_can_date') + if self.record.assistance_flag == '@': + self.query_parameter['assistance_flag'] = None + self.query_parameter['assistance_ok_date'] = None + self.query_parameter['assistance_can_date'] = None + + # 診療録管理体制加算 + if len(self.record.diagnosis_treatment_flag) > 0: + set_clauses.append('diagnosistreatment_flag = :diagnosis_treatment_flag') + set_clauses.append('diagnosistreatment_specday = :diagnosis_treatment_spec_day') + set_clauses.append('diagnosistreatment_cancelday = :diagnosis_treatment_cancel_day') + if self.record.diagnosis_treatment_flag == '@': + self.query_parameter['diagnosis_treatment_flag'] = None + self.query_parameter['diagnosis_treatment_spec_day'] = None + self.query_parameter['diagnosis_treatment_cancel_day'] = None + + # 医療安全対策加算 + if len(self.record.safety_flag) > 0: + set_clauses.append('safety_flag = :safety_flag') + set_clauses.append('safety_specday = :safety_spec_day') + set_clauses.append('safety_cancelday = :safety_cancel_day') + if self.record.safety_flag == '@': + self.query_parameter['safety_flag'] = None + self.query_parameter['safety_spec_day'] = None + self.query_parameter['safety_cancel_day'] = None + + # 褥瘡ハイリスク患者ケア加算 + if len(self.record.highrisk_flag) > 0: + set_clauses.append('highrisk_flag = :highrisk_flag') + set_clauses.append('highrisk_specday = :highrisk_spec_day') + set_clauses.append('highrisk_cancelday = :highrisk_cancel_day') + if self.record.highrisk_flag == '@': + self.query_parameter['highrisk_flag'] = None + self.query_parameter['highrisk_spec_day'] = None + self.query_parameter['highrisk_cancel_day'] = None + + # 地域連携小児夜間・休日診療料 + if len(self.record.infant_and_holiday_flag) > 0: + set_clauses.append('infantandholiday_flag = :infant_and_holiday_flag') + set_clauses.append('infantandholiday_specday = :infant_and_holiday_spec_day') + set_clauses.append('infantandholiday_cancelday = :infant_and_holiday_cancel_day') + if self.record.infant_and_holiday_flag == '@': + self.query_parameter['infant_and_holiday_flag'] = None + self.query_parameter['infant_and_holiday_spec_day'] = None + self.query_parameter['infant_and_holiday_cancel_day'] = None + + # 開放型病院 + if len(self.record.ophp_flag) > 0: + set_clauses.append('ophpflag = :ophp_flag') + set_clauses.append('ophpokdate = :ophpok_date') + set_clauses.append('ophpcandate = :ophpcan_date') + if self.record.ophp_flag == '@': + self.query_parameter['ophp_flag'] = None + self.query_parameter['ophpok_date'] = None + self.query_parameter['ophpcan_date'] = None + + # 地域連携クリティカルパス + if len(self.record.critical_flag) > 0: + set_clauses.append('critical_flag = :critical_flag') + # 項目クリア判断 + is_aggregate_item_clear = self.record.critical_flag == '@' + if is_aggregate_item_clear: + self.query_parameter['critical_flag'] = None + # 20個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) + for i in range(1, 21): + num = str(i).zfill(2) # 2桁で0埋め + setting_item_name = f'critical_code{num}' + set_clauses.append(f'{setting_item_name} = :{setting_item_name}') + if is_aggregate_item_clear: + self.query_parameter[setting_item_name] = None + + # 薬剤管理指導料 + if len(self.record.drgmgthp_flag) > 0: + set_clauses.append('drgmgthpflag = :drgmgthp_flag') + set_clauses.append('drgmgthpokdate = :drgmgthp_ok_date') + set_clauses.append('drgmgthpcandate = :drgmgthp_can_date') + if self.record.drgmgthp_flag == '@': + self.query_parameter['drgmgthp_flag'] = None + self.query_parameter['drgmgthp_ok_date'] = None + self.query_parameter['drgmgthp_can_date'] = None + + # 画像診断管理加算 + if len(self.record.image_diagnosis_flag) > 0: + set_clauses.append('imagediagnosis_flag = :image_diagnosis_flag') + set_clauses.append('imagediagnosis_specifiedday = :image_diagnosis_specified_day') + set_clauses.append('imagediagnosis_cancelday = :image_diagnosis_cancel_day') + if self.record.image_diagnosis_flag == '@': + self.query_parameter['image_diagnosis_flag'] = None + self.query_parameter['image_diagnosis_specified_day'] = None + self.query_parameter['image_diagnosis_cancel_day'] = None + + # 外来化学療法加算 + if len(self.record.chemotherapy_flag) > 0: + set_clauses.append('chemotherapy_flag = :chemotherapy_flag') + set_clauses.append('chemotherapy_specday = :chemotherapy_spec_day') + set_clauses.append('chemotherapy_cancelday = :chemotherapy_cancel_day') + if self.record.chemotherapy_flag == '@': + self.query_parameter['chemotherapy_flag'] = None + self.query_parameter['chemotherapy_spec_day'] = None + self.query_parameter['chemotherapy_cancel_day'] = None + + # 疾患別リハビリテーション料 + if len(self.record.rehabilitation_flag) > 0: + set_clauses.append('rehabilitation_flag = :rehabilitation_flag') + # 項目クリア判断 + is_aggregate_item_clear = self.record.rehabilitation_flag == '@' + if is_aggregate_item_clear: + self.query_parameter['rehabilitation_flag'] = None + # 10個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) + for i in range(1, 11): + num = str(i).zfill(2) # 2桁で0埋め + setting_item_name = f'rehabilitation_code{num}' + set_clauses.append(f'{setting_item_name} = :{setting_item_name}') + if is_aggregate_item_clear: + self.query_parameter[setting_item_name] = None + + # 麻酔管理料 + if len(self.record.anesthetizing_manage_flag) > 0: + set_clauses.append('anesthetizingmanage_flag = :anesthetizing_manage_flag') + set_clauses.append('anesthetizingmanage_specday = :anesthetizing_manage_spec_day') + set_clauses.append('anesthetizingmanage_cancelday = :anesthetizing_manage_can_day') + if self.record.anesthetizing_manage_flag == '@': + self.query_parameter['anesthetizing_manage_flag'] = None + self.query_parameter['anesthetizing_manage_spec_day'] = None + self.query_parameter['anesthetizing_manage_can_day'] = None + + # 在宅療養支援病院・診療所 + if len(self.record.home_recuperation_flag) > 0: + set_clauses.append('homerecuperation_flag = :home_recuperation_flag') + set_clauses.append('homerecuperation_specday = :home_recuperation_spec_day') + set_clauses.append('homerecuperation_cancelday = :home_recuperation_cancel_day') + if self.record.home_recuperation_flag == '@': + self.query_parameter['home_recuperation_flag'] = None + self.query_parameter['home_recuperation_spec_day'] = None + self.query_parameter['home_recuperation_cancel_day'] = None + + # 在宅時医学総合管理料 + if len(self.record.synthesis_when_staying_flag) > 0: + set_clauses.append('synthesiswhenstaying_flag = :synthesis_when_staying_flag') + set_clauses.append('synthesiswhenstaying_specday = :synthesis_when_staying_spec_day') + set_clauses.append('synthesiswhenstaying_cancelday = :synthesis_when_staying_can_day') + if self.record.synthesis_when_staying_flag == '@': + self.query_parameter['synthesis_when_staying_flag'] = None + self.query_parameter['synthesis_when_staying_spec_day'] = None + self.query_parameter['synthesis_when_staying_can_day'] = None + + # 在宅末期医療総合診療料 + if len(self.record.home_late_flag) > 0: + set_clauses.append('homelateflag = :home_late_flag') + set_clauses.append('homelateokday = :home_late_ok_day') + set_clauses.append('homelatecanday = :home_late_can_day') + if self.record.home_late_flag == '@': + self.query_parameter['home_late_flag'] = None + self.query_parameter['home_late_ok_day'] = None + self.query_parameter['home_late_can_day'] = None + + # ケアミックス区分 + if len(self.record.caremix_kind) > 0: + set_clauses.append('caremixkind = :caremix_kind') + if self.record.caremix_kind == '@': + self.query_parameter['caremix_kind'] = None + + # 完全型・移行型区分 + if len(self.record.fullmove_flag) > 0: + set_clauses.append('fullmoveflag = :fullmove_flag') + if self.record.fullmove_flag == '@': + self.query_parameter['fullmove_flag'] = None + + # 療養型病床群 + if sum(len(item) for item in self.record.resthp_items) > 0: + set_clauses.append('resthpflag = :resthp_flag') + set_clauses.append('resthpcarekind = :resthp_care_kind') + set_clauses.append('resthpbednum = :resthp_bed_num') + set_clauses.append('resthpokdate = :resthp_ok_date') + set_clauses.append('resthpcandate = :resthp_can_date') + set_clauses.append('resthpcarenrskind = :resthp_care_nrs_kind') + set_clauses.append('resthpcarebednum = :resthp_care_bed_num') + set_clauses.append('resthpcareokdate = :resthp_care_ok_date') + set_clauses.append('resthpcarecandate = :resthp_care_can_date') + set_clauses.append('resthpsbednum = :resthp_sbed_num') + if self.record.resthp_flag == '@': + self.query_parameter['resthp_flag'] = None + self.query_parameter['resthp_care_kind'] = None + self.query_parameter['resthp_bed_num'] = None + self.query_parameter['resthp_ok_date'] = None + self.query_parameter['resthp_can_date'] = None + self.query_parameter['resthp_care_nrs_kind'] = None + self.query_parameter['resthp_care_bed_num'] = None + self.query_parameter['resthp_care_ok_date'] = None + self.query_parameter['resthp_care_can_date'] = None + self.query_parameter['resthp_sbed_num'] = None + + # 一般病棟 + if len(self.record.nrmhp_flag) > 0: + set_clauses.append('nrmhpflag = :nrmhp_flag') + set_clauses.append('nrmhpcarekind = :nrmhp_care_kind') + set_clauses.append('nrmhpbedtotalnum = :nrmhp_bed_total_num') + if self.record.nrmhp_flag == '@': + self.query_parameter['nrmhp_flag'] = None + self.query_parameter['nrmhp_care_kind'] = None + self.query_parameter['nrmhp_bed_total_num'] = None + + # 精神病棟 + if len(self.record.menthp_flag) > 0: + set_clauses.append('menthpflag = :menthp_flag') + set_clauses.append('menthpcarekind = :menthp_care_kind') + set_clauses.append('menthpbednum = :menthp_bed_num') + if self.record.menthp_flag == '@': + self.query_parameter['menthp_flag'] = None + self.query_parameter['menthp_care_kind'] = None + self.query_parameter['menthp_bed_num'] = None + + # 結核病棟 + if len(self.record.tubhp_flag) > 0: + set_clauses.append('tubhpflag = :tubhp_flag') + set_clauses.append('tubhpcarekind = :tubhp_care_kind') + set_clauses.append('tubhpbednum = :tubhp_bed_num') + if self.record.tubhp_flag == '@': + self.query_parameter['tubhp_flag'] = None + self.query_parameter['tubhp_care_kind'] = None + self.query_parameter['tubhp_bed_num'] = None + + # 感染症指定医療機関 + if len(self.record.infhp_flag) > 0: + set_clauses.append('infhpflag = :infhp_flag') + set_clauses.append('infhpflag1 = :infhp_flag1') + set_clauses.append('infhpflag2 = :infhp_flag2') + if self.record.infhp_flag == '@': + self.query_parameter['infhp_flag'] = None + self.query_parameter['infhp_flag1'] = None + self.query_parameter['infhp_flag2'] = None + + # 感染症病床 + if len(self.record.infhp_bed_flag) > 0: + set_clauses.append('infhpbedflag = :infhp_bed_flag') + set_clauses.append('infhpbednum = :infhp_bed_num') + if self.record.infhp_bed_flag == '@': + self.query_parameter['infhp_bed_flag'] = None + self.query_parameter['infhp_bed_num'] = None + + # 緩和ケア病棟設置病院 + if len(self.record.hospice_flag) > 0: + set_clauses.append('hospiceflag = :hospice_flag') + set_clauses.append('hospicebednum = :hospice_bed_num') + set_clauses.append('hospiceokdate = :hospice_ok_date') + set_clauses.append('hospicecandate = :hospice_can_date') + if self.record.hospice_flag == '@': + self.query_parameter['hospice_flag'] = None + self.query_parameter['hospice_bed_num'] = None + self.query_parameter['hospice_ok_date'] = None + self.query_parameter['hospice_can_date'] = None + + # 医療機能評価 + if len(self.record.hpfunce_st_flag) > 0: + set_clauses.append('hpfuncestflag = :hpfunce_st_flag') + set_clauses.append('hpfuncestkind = :hpfunce_st_kind') + set_clauses.append('hpfuncestokdate = :hpfunce_st_ok_date') + set_clauses.append('hpfuncestcandate = :hpfunce_st_can_date') + if self.record.hpfunce_st_flag == '@': + self.query_parameter['hpfunce_st_flag'] = None + self.query_parameter['hpfunce_st_kind'] = None + self.query_parameter['hpfunce_st_ok_date'] = None + self.query_parameter['hpfunce_st_can_date'] = None + + # 臨床研修指定病院 + if sum(len(item) for item in self.record.cl_items) > 0: + set_clauses.append('clolyhpkind = :clolyhp_kind') + set_clauses.append('clolyhpokdate = :clolyhp_ok_date') + set_clauses.append('clolyhpcandate = :clolyhp_can_date') + set_clauses.append('clhpkind = :clhp_kind') + set_clauses.append('clhpokdate = :clhp_ok_date') + set_clauses.append('clhpcandate = :clhp_can_date') + set_clauses.append('cldephpkind = :cldephp_kind') + set_clauses.append('cldephpokdate = :cldephp_ok_date') + set_clauses.append('cldephpcandate = :cldephp_can_date') + if self.record.clolyhp_kind == '@': + self.query_parameter['clolyhp_kind'] = None + self.query_parameter['clolyhp_ok_date'] = None + self.query_parameter['clolyhp_can_date'] = None + self.query_parameter['clhp_kind'] = None + self.query_parameter['clhp_ok_date'] = None + self.query_parameter['clhp_can_date'] = None + self.query_parameter['cldephp_kind'] = None + self.query_parameter['cldephp_ok_date'] = None + self.query_parameter['cldephp_can_date'] = None + + # 災害拠点病院 + if len(self.record.disasthp_flag) > 0: + set_clauses.append('disasthpflag = :disasthp_flag') + if self.record.disasthp_flag == '@': + self.query_parameter['disasthp_flag'] = None + + # 救急医療 + if len(self.record.d1emerhp_flag) > 0: + set_clauses.append('d1emerhpflag = :d1emerhp_flag') + set_clauses.append('d2emerhpflag = :d2emerhp_flag') + set_clauses.append('d3emerhpflag = :d3emerhp_flag') + if self.record.d1emerhp_flag == '@': + self.query_parameter['d1emerhp_flag'] = None + self.query_parameter['d2emerhp_flag'] = None + self.query_parameter['d3emerhp_flag'] = None + + # 救急告示診療所 + if len(self.record.emergency_clinic) > 0: + set_clauses.append('emergencyclinic = :emergency_clinic') + if self.record.emergency_clinic == '@': + self.query_parameter['emergency_clinic'] = None + + # 治験中核病院 + if len(self.record.trial_core_flag) > 0: + set_clauses.append('trialcoreflag = :trial_core_flag') + set_clauses.append('trialcore_div = :trial_core_div') + set_clauses.append('trialcoreokdate = :trial_core_ok_date') + set_clauses.append('trialcorecandate = :trial_core_can_date') + if self.record.trial_core_flag == '@': + self.query_parameter['trial_core_flag'] = None + self.query_parameter['trial_core_div'] = None + self.query_parameter['trial_core_ok_date'] = None + self.query_parameter['trial_core_can_date'] = None + + # 認知症疾患医療センター + if len(self.record.dementia_flag) > 0: + set_clauses.append('dementiaflag = :dementia_flag') + set_clauses.append('dementiaokdate = :dementia_okd_ate') + set_clauses.append('dementiacandate = :dementia_can_date') + if self.record.dementia_flag == '@': + self.query_parameter['dementia_flag'] = None + self.query_parameter['dementia_okd_ate'] = None + self.query_parameter['dementia_can_date'] = None + + # 特定健康診査実施機関 + if len(self.record.sphealth_exploration) > 0: + set_clauses.append('sphealth_exploration = :sphealth_exploration') + if self.record.sphealth_exploration == '@': + self.query_parameter['sphealth_exploration'] = None + + # 特定保健指導実施機関 + if len(self.record.sphealth_guidance) > 0: + set_clauses.append('sphealth_guidance = :sphealth_guidance') + if self.record.sphealth_guidance == '@': + self.query_parameter['sphealth_guidance'] = None + + # 先進医療実施医療機関 + if len(self.record.hiadhp_flag) > 0: + set_clauses.append('hiadhpflag = :hiadhp_flag') + # 項目クリア判断 + is_aggregate_item_clear = self.record.hiadhp_flag == '@' + if is_aggregate_item_clear: + self.query_parameter['hiadhp_flag'] = None + # 40個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) + for i in range(1, 41): + setting_item_name_code = f'hiadhpcode{i}' + setting_item_name_kind = f'hiadhpkind{i}' + set_clauses.append(f'{setting_item_name_code} = :{setting_item_name_code}') + set_clauses.append(f'{setting_item_name_kind} = :{setting_item_name_kind}') + if is_aggregate_item_clear: + self.query_parameter[setting_item_name_code] = None + self.query_parameter[setting_item_name_kind] = None + + # 先端医療実施医療機関 + if len(self.record.hitechhp_flag) > 0: + set_clauses.append('hitechhpflag = :hitechhp_flag') + # 項目クリア判断 + is_aggregate_item_clear = self.record.hitechhp_flag == '@' + if is_aggregate_item_clear: + self.query_parameter['hitechhp_flag'] = None + # 20個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) + for i in range(1, 21): + setting_item_name = f'hitechhpkind{i}' + set_clauses.append(f'{setting_item_name} = :{setting_item_name}') + if is_aggregate_item_clear: + self.query_parameter[setting_item_name] = None + + # 政策医療 + if len(self.record.policy_medical_flag) > 0: + set_clauses.append('policymedical_flag = :policy_medical_flag') + # 項目クリア判断 + is_aggregate_item_clear = self.record.policy_medical_flag == '@' + if is_aggregate_item_clear: + self.query_parameter['policy_medical_flag'] = None + # 20個分の項目設定(rangeの第2引数の数字はループに含まれないため、+1を指定する) + for i in range(1, 21): + num = str(i).zfill(2) # 2桁で0埋め + setting_item_name_code = f'policymedical_code{num}' + setting_item_name_content = f'policymedical_content{num}' + set_clauses.append(f'{setting_item_name_code} = :{setting_item_name_code}') + set_clauses.append(f'{setting_item_name_content} = :{setting_item_name_content}') + if is_aggregate_item_clear: + self.query_parameter[setting_item_name_code] = None + self.query_parameter[setting_item_name_content] = None + + # 訪問看護ステーション + if len(self.record.visitcarest_flag) > 0: + set_clauses.append('visitcarestflag = :visitcarest_flag') + set_clauses.append('visitcarestation_id = :visitcarestation_id') + set_clauses.append('visitcarestation_code = :visitcarestation_code') + set_clauses.append('visitcarestation_yobi = :visitcarestation_yobi') + if self.record.visitcarest_flag == '@': + self.query_parameter['visitcarest_flag'] = None + self.query_parameter['visitcarestation_id'] = None + self.query_parameter['visitcarestation_code'] = None + self.query_parameter['visitcarestation_yobi'] = None + + # 開設年月 + if len(self.record.open_date) > 0: + set_clauses.append('opendate = :open_date') + if self.record.open_date == '@': + self.query_parameter['open_date'] = None + + update_columns = ','.join(set_clauses) + # 何も更新項目が無い場合はNoneとする(更新処理は行わない) + if len(update_columns) == 0: + return None + else: + # 末尾にカンマを付けてSET句を完成させる + update_columns += ',' + update_query = self.UPDATE_QUERY.format( + update_columns=update_columns + ) + return update_query diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_base_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_base_mapper.py new file mode 100644 index 00000000..7605fc30 --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_base_mapper.py @@ -0,0 +1,455 @@ +from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ + UltmarcTableMapper +from src.batch.ultmarc.utmp_tables.tables.com_prefc_med_base import ComPrefcMedBase + + +class ComPrefcMedBaseMapper(UltmarcTableMapper): + """レイアウト区分132: COM_都道府県医療機能情報(基本)""" + + # レコード存在確認SQL + RECORD_EXISTS_QUERY = """\ + SELECT + COUNT(*) AS count_num + FROM + src05.com_prefc_med_base + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + """ + # データ登録用SQL + INSERT_QUERY = """\ + INSERT INTO src05.com_prefc_med_base + ( + dcf_dsf_inst_cd, + info_date, + home_page, + hppre_flg, + expre_flg, + trial_flg, + trial_contcount, + trialwhet_from, + trialwhet_to, + equipment_flg, + cos_disease_flg, + cos_surgery, + specialclinic_flg, + establishment_flg, + critical_flg, + cop_system, + sys_exists_flg, + sys_inspection, + sys_prescription, + sys_reserv, + icduse_flg, + echart_flg, + fulltime_flg, + fulltime_count, + ge_patient_avg, + mt_patient_avg, + mc_patient_avg, + ca_patient_avg, + pys_patient_avg, + tub_patient_avg, + inf_patient_avg, + patient_avg_sum, + patient_avg_from, + patient_avg_to, + cl_patient_avg, + cl_patient_avg_from, + cl_patient_avg_to, + hm_patient_avg, + hm_patient_avg_from, + hm_patient_avg_to, + ge_patient_ex, + mt_patient_ex, + mc_patient_ex, + ca_patient_ex, + pys_patient_ex, + tub_patient_ex, + inf_patient_ex, + patient_ex_sum, + patient_ex_from, + patient_ex_to, + cl_patient_ex, + cl_patient_ex_from, + cl_patient_ex_to, + hm_patient_ex, + hm_patient_ex_from, + hm_patient_ex_to, + ge_stay_avg, + mt_stay_avg, + mc_stay_avg, + ca_stay_avg, + pys_stay_avg, + tub_stay_avg, + inf_stay_avg, + stay_avg_sum, + stay_avg_from, + stay_avg_to, + regist_ymd, + sys_regist_date, + regist_prgm_id, + sys_update_date, + update_prgm_id + ) + VALUES ( + :dcfdsf_inst_code, + :info_date, + :home_page, + :hppre_flg, + :expre_flg, + :trial_flg, + :trial_cont_count, + :trial_whet_from, + :trial_whet_to, + :equipment_flg, + :cos_disease_flg, + :cos_surgery, + :specialclinic_flg, + :establishment_flg, + :critical_flg, + :cop_system, + :sys_exists_flg, + :sys_inspection, + :sys_prescription, + :sys_reserv, + :icduse_flg, + :echart_flg, + :fulltime_flg, + :fulltime_count, + :ge_patient_avg, + :mt_patient_avg, + :mc_patient_avg, + :ca_patient_avg, + :pys_patient_avg, + :tub_patient_avg, + :inf_patient_avg, + :patient_avg_sum, + :patient_avg_from, + :patient_avg_to, + :cl_patient_avg, + :cl_patient_avg_from, + :cl_patient_avg_to, + :hm_patient_avg, + :hm_patient_avg_from, + :hm_patient_avg_to, + :ge_patient_ex, + :mt_patient_ex, + :mc_patient_ex, + :ca_patient_ex, + :pys_patient_ex, + :tub_patient_ex, + :inf_patient_ex, + :patient_ex_sum, + :patient_ex_from, + :patient_ex_to, + :cl_patient_ex, + :cl_patient_ex_from, + :cl_patient_ex_to, + :hm_patient_ex, + :hm_patient_ex_from, + :hm_patient_ex_to, + :ge_stay_avg, + :mt_stay_avg, + :mc_stay_avg, + :ca_stay_avg, + :pys_stay_avg, + :tub_stay_avg, + :inf_stay_avg, + :stay_avg_sum, + :stay_avg_from, + :stay_avg_to, + :execute_date_str_ymd, + :execute_datetime, + :program_name, + :execute_datetime, + :program_name + ) + """ + + # データ変更用SQL + UPDATE_QUERY = """\ + UPDATE + src05.com_prefc_med_base + SET + {update_columns} + update_ymd = :execute_date_str_ymd, + sys_update_date = :execute_datetime, + update_prgm_id = :program_name + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + """ + + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + PHYSICAL_DELETE_QUERY = """\ + DELETE FROM + src05.com_prefc_med_base + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + """ + + record: ComPrefcMedBase + + def __init__(self, record: list[str], db) -> None: + super().__init__(record, db, ComPrefcMedBase) + program_name = __name__.split('.')[-1] # 当モジュール名(現行から変わっている) + # モジュール名をクエリパラメータに設定 + self.query_parameter['program_name'] = program_name + # 読み込んだレコード値もクエリパラメータに追加 + self.query_parameter = {**self.query_parameter, **self.record.to_sql_parameter()} + + def make_query(self): + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + if self.record.maint_flag == 'B' and self.record.adddel_div == '1': + self.queries.append(self.PHYSICAL_DELETE_QUERY) + return + + # 追加、更新の場合 + self.queries.append(self.__make_upsert_query()) + return + + def __make_upsert_query(self): + # レコードの存在確認 + record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) + # 存在しない場合はInsert + if record_count[0]['count_num'] == 0: + return self.INSERT_QUERY + + # 存在する場合ではUpdate + return self.__make_update_query() + + def __make_update_query(self): + set_clauses = [] # 設定項目 + + # 情報年月日 + if len(self.record.info_date) > 0: + set_clauses.append('info_date = :info_date') + if self.record.info_date == '@': + self.query_parameter['info_date'] = None + + # 案内用ホームページアドレス + if len(self.record.home_page) > 0: + set_clauses.append('home_page = :home_page') + if self.record.home_page == '@': + self.query_parameter['home_page'] = None + + # 院内処方フラグ + if len(self.record.hppre_flg) > 0: + set_clauses.append('hppre_flg = :hppre_flg') + if self.record.hppre_flg == '@': + self.query_parameter['hppre_flg'] = None + + # 院外処方フラグ + if len(self.record.expre_flg) > 0: + set_clauses.append('expre_flg = :expre_flg') + if self.record.expre_flg == '@': + self.query_parameter['expre_flg'] = None + + # 治験の実施 + if len(self.record.trial_flg) > 0: + set_clauses.append('trial_flg = :trial_flg') + set_clauses.append('trial_contcount = :trial_cont_count') + set_clauses.append('trialwhet_from = :trial_whet_from') + set_clauses.append('trialwhet_to = :trial_whet_to') + if self.record.trial_flg == '@': + self.query_parameter['trial_flg'] = None + self.query_parameter['trial_cont_count'] = None + self.query_parameter['trial_whet_from'] = None + self.query_parameter['trial_whet_to'] = None + + # 保有する施設設備フラグ + if len(self.record.equipment_flg) > 0: + set_clauses.append('equipment_flg = :equipment_flg') + if self.record.equipment_flg == '@': + self.query_parameter['equipment_flg'] = None + + # 対応することができる疾患・治療の内容フラグ + if len(self.record.cos_disease_flg) > 0: + set_clauses.append('cos_disease_flg = :cos_disease_flg') + if self.record.cos_disease_flg == '@': + self.query_parameter['cos_disease_flg'] = None + + # 対応することができる短期滞在手術フラグ + if len(self.record.cos_surgery) > 0: + set_clauses.append('cos_surgery = :cos_surgery') + if self.record.cos_surgery == '@': + self.query_parameter['cos_surgery'] = None + + # 専門外来フラグ + if len(self.record.specialclinic_flg) > 0: + set_clauses.append('specialclinic_flg = :specialclinic_flg') + if self.record.specialclinic_flg == '@': + self.query_parameter['specialclinic_flg'] = None + + # 地域医療連携体制_窓口設置フラグ + if len(self.record.establishment_flg) > 0: + set_clauses.append('establishment_flg = :establishment_flg') + if self.record.establishment_flg == '@': + self.query_parameter['establishment_flg'] = None + + # 地域医療連携体制_地域連携パスフラグ + if len(self.record.critical_flg) > 0: + set_clauses.append('critical_flg = :critical_flg') + if self.record.critical_flg == '@': + self.query_parameter['critical_flg'] = None + + # 入院診療計画策定時における院内の連携体制 + if len(self.record.cop_system) > 0: + set_clauses.append('cop_system = :cop_system') + if self.record.cop_system == '@': + self.query_parameter['cop_system'] = None + + # オーダリングシステム + if len(self.record.sys_exists_flg) > 0: + set_clauses.append('sys_exists_flg = :sys_exists_flg') + set_clauses.append('sys_inspection = :sys_inspection') + set_clauses.append('sys_prescription = :sys_prescription') + set_clauses.append('sys_reserv = :sys_reserv') + if self.record.sys_exists_flg == '@': + self.query_parameter['sys_exists_flg'] = None + self.query_parameter['sys_inspection'] = None + self.query_parameter['sys_prescription'] = None + self.query_parameter['sys_reserv'] = None + + # ICDコード利用フラグ + if len(self.record.icduse_flg) > 0: + set_clauses.append('icduse_flg = :icduse_flg') + if self.record.icduse_flg == '@': + self.query_parameter['icduse_flg'] = None + + # 電子カルテフラク + if len(self.record.echart_flg) > 0: + set_clauses.append('echart_flg = :echart_flg') + if self.record.echart_flg == '@': + self.query_parameter['echart_flg'] = None + + # 専任従事者 + if len(self.record.fulltime_flg) > 0: + set_clauses.append('fulltime_flg = :fulltime_flg') + set_clauses.append('fulltime_count = :fulltime_count') + if self.record.fulltime_flg == '@': + self.query_parameter['fulltime_flg'] = None + self.query_parameter['fulltime_count'] = None + + # 病床患者数平均 + if len(self.record.ge_patient_avg) > 0: + set_clauses.append('ge_patient_avg = :ge_patient_avg') + set_clauses.append('mt_patient_avg = :mt_patient_avg') + set_clauses.append('mc_patient_avg = :mc_patient_avg') + set_clauses.append('ca_patient_avg = :ca_patient_avg') + set_clauses.append('pys_patient_avg = :pys_patient_avg') + set_clauses.append('tub_patient_avg = :inf_patient_avg') + set_clauses.append('inf_patient_avg = :tub_patient_avg') + set_clauses.append('patient_avg_sum = :patient_avg_sum') + set_clauses.append('patient_avg_from = :patient_avg_from') + set_clauses.append('patient_avg_to = :patient_avg_to') + if self.record.ge_patient_avg == '@': + self.query_parameter['ge_patient_avg'] = None + self.query_parameter['mt_patient_avg'] = None + self.query_parameter['mc_patient_avg'] = None + self.query_parameter['ca_patient_avg'] = None + self.query_parameter['pys_patient_avg'] = None + self.query_parameter['inf_patient_avg'] = None + self.query_parameter['tub_patient_avg'] = None + self.query_parameter['patient_avg_sum'] = None + self.query_parameter['patient_avg_from'] = None + self.query_parameter['patient_avg_to'] = None + + # 患者数平均 + if len(self.record.cl_patient_avg) > 0: + set_clauses.append('cl_patient_avg = :cl_patient_avg') + set_clauses.append('cl_patient_avg_from = :cl_patient_avg_from') + set_clauses.append('cl_patient_avg_to = :cl_patient_avg_to') + if self.record.cl_patient_avg == '@': + self.query_parameter['cl_patient_avg'] = None + self.query_parameter['cl_patient_avg_from'] = None + self.query_parameter['cl_patient_avg_to'] = None + + # 患者数平均 + if len(self.record.hm_patient_avg) > 0: + set_clauses.append('hm_patient_avg = :hm_patient_avg') + set_clauses.append('hm_patient_avg_from = :hm_patient_avg_from') + set_clauses.append('hm_patient_avg_to = :hm_patient_avg_to') + if self.record.hm_patient_avg == '@': + self.query_parameter['hm_patient_avg'] = None + self.query_parameter['hm_patient_avg_from'] = None + self.query_parameter['hm_patient_avg_to'] = None + + # 患者数延数 + if len(self.record.ge_patient_ex) > 0: + set_clauses.append('ge_patient_ex = :ge_patient_ex') + set_clauses.append('mt_patient_ex = :mt_patient_ex') + set_clauses.append('mc_patient_ex = :mc_patient_ex') + set_clauses.append('ca_patient_ex = :ca_patient_ex') + set_clauses.append('pys_patient_ex = :pys_patient_ex') + set_clauses.append('tub_patient_ex = :tub_patient_ex') + set_clauses.append('inf_patient_ex = :inf_patient_ex') + set_clauses.append('patient_ex_sum = :patient_ex_sum') + set_clauses.append('patient_ex_from = :patient_ex_from') + set_clauses.append('patient_ex_to = :patient_ex_to') + if self.record.ge_patient_ex == '@': + self.query_parameter['ge_patient_ex'] = None + self.query_parameter['mt_patient_ex'] = None + self.query_parameter['mc_patient_ex'] = None + self.query_parameter['ca_patient_ex'] = None + self.query_parameter['pys_patient_ex'] = None + self.query_parameter['tub_patient_ex'] = None + self.query_parameter['inf_patient_ex'] = None + self.query_parameter['patient_ex_sum'] = None + self.query_parameter['patient_ex_from'] = None + self.query_parameter['patient_ex_to'] = None + + # 患者数延数 + if len(self.record.cl_patient_ex) > 0: + set_clauses.append('cl_patient_ex = :cl_patient_ex') + set_clauses.append('cl_patient_ex_from = :cl_patient_ex_from') + set_clauses.append('cl_patient_ex_to = :cl_patient_ex_to') + if self.record.cl_patient_ex == '@': + self.query_parameter['cl_patient_ex'] = None + self.query_parameter['cl_patient_ex_from'] = None + self.query_parameter['cl_patient_ex_to'] = None + + # 患者数延数 + if len(self.record.hm_patient_ex) > 0: + set_clauses.append('hm_patient_ex = :hm_patient_ex') + set_clauses.append('hm_patient_ex_from = :hm_patient_ex_from') + set_clauses.append('hm_patient_ex_to = :hm_patient_ex_to') + if self.record.hm_patient_ex == '@': + self.query_parameter['hm_patient_ex'] = None + self.query_parameter['hm_patient_ex_from'] = None + self.query_parameter['hm_patient_ex_to'] = None + + # 平均在院日数 + if len(self.record.ge_stay_avg) > 0: + set_clauses.append('ge_stay_avg = :ge_stay_avg') + set_clauses.append('mt_stay_avg = :mt_stay_avg') + set_clauses.append('mc_stay_avg = :mc_stay_avg') + set_clauses.append('ca_stay_avg = :ca_stay_avg') + set_clauses.append('pys_stay_avg = :pys_stay_avg') + set_clauses.append('tub_stay_avg = :tub_stay_avg') + set_clauses.append('inf_stay_avg = :inf_stay_avg') + set_clauses.append('stay_avg_sum = :stay_avg_sum') + set_clauses.append('stay_avg_from = :stay_avg_from') + set_clauses.append('stay_avg_to = :stay_avg_to') + if self.record.ge_stay_avg == '@': + self.query_parameter['ge_stay_avg'] = None + self.query_parameter['mt_stay_avg'] = None + self.query_parameter['mc_stay_avg'] = None + self.query_parameter['ca_stay_avg'] = None + self.query_parameter['pys_stay_avg'] = None + self.query_parameter['tub_stay_avg'] = None + self.query_parameter['inf_stay_avg'] = None + self.query_parameter['stay_avg_sum'] = None + self.query_parameter['stay_avg_from'] = None + self.query_parameter['stay_avg_to'] = None + + update_columns = ','.join(set_clauses) + # 何も更新項目が無い場合はNoneとする(更新処理は行わない) + if len(update_columns) == 0: + return None + else: + # 末尾にカンマを付けてSET句を完成させる + update_columns += ',' + update_query = self.UPDATE_QUERY.format( + update_columns=update_columns + ) + return update_query diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_dis_treat_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_dis_treat_mapper.py new file mode 100644 index 00000000..26486dd3 --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_dis_treat_mapper.py @@ -0,0 +1,104 @@ +from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ + UltmarcTableMapper +from src.batch.ultmarc.utmp_tables.tables.com_prefc_med_dis_treat import ComPrefcMedDisTreat + + +class ComPrefcMedDisTreatMapper(UltmarcTableMapper): + """レイアウト区分133: COM_都道府県医療機能情報(疾患治療)""" + + # レコード存在確認SQL + RECORD_EXISTS_QUERY = """\ + SELECT + COUNT(*) AS count_num + FROM + src05.com_prefc_med_dis_treat + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + treatment_code = :treatment_code + """ + # データ登録用SQL + INSERT_QUERY = """\ + INSERT INTO src05.com_prefc_med_dis_treat + ( + dcf_dsf_inst_cd, + treatment_code, + pre_num, + regist_ymd, + sys_regist_date, + regist_prgm_id, + sys_update_date, + update_prgm_id + ) + VALUES ( + :dcfdsf_inst_code, + :treatment_code, + :pre_num, + :execute_date_str_ymd, + :execute_datetime, + :program_name, + :execute_datetime, + :program_name + ) + """ + + # データ変更用SQL + UPDATE_QUERY = """\ + UPDATE + src05.com_prefc_med_dis_treat + SET + pre_num = :pre_num, + update_ymd = :execute_date_str_ymd, + sys_update_date = :execute_datetime, + update_prgm_id = :program_name + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + treatment_code = :treatment_code + """ + + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + PHYSICAL_DELETE_QUERY = """\ + DELETE FROM + src05.com_prefc_med_dis_treat + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + treatment_code = :treatment_code + """ + + record: ComPrefcMedDisTreat + + def __init__(self, record: list[str], db) -> None: + super().__init__(record, db, ComPrefcMedDisTreat) + program_name = __name__.split('.')[-1] # 当モジュール名(現行から変わっている) + # モジュール名をクエリパラメータに設定 + self.query_parameter['program_name'] = program_name + # 読み込んだレコード値もクエリパラメータに追加 + self.query_parameter = {**self.query_parameter, **self.record.to_sql_parameter()} + + def make_query(self): + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + if self.record.maint_flag == 'B' and self.record.adddel_div == '1': + self.queries.append(self.PHYSICAL_DELETE_QUERY) + return + + # 追加、更新の場合 + self.queries.append(self.__make_upsert_query()) + return + + def __make_upsert_query(self): + # レコードの存在確認 + record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) + # 存在しない場合はInsert + if record_count[0]['count_num'] == 0: + return self.INSERT_QUERY + + # 存在する場合はUpdate + # 前年件数が空の場合は更新しない + if self.record.pre_num is not None: + if self.record.pre_num == '@': + self.query_parameter['pre_num'] = None + return self.UPDATE_QUERY + else: + return None diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_equpment_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_equpment_mapper.py new file mode 100644 index 00000000..dcfd8114 --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_equpment_mapper.py @@ -0,0 +1,104 @@ +from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ + UltmarcTableMapper +from src.batch.ultmarc.utmp_tables.tables.com_prefc_med_equpment import ComPrefcMedEqupment + + +class ComPrefcMedEqupmentMapper(UltmarcTableMapper): + """レイアウト区分132: COM_都道府県医療機能情報(施設設備)""" + + # レコード存在確認SQL + RECORD_EXISTS_QUERY = """\ + SELECT + COUNT(*) AS count_num + FROM + src05.com_prefc_med_equpment + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + equipment_code = :equipment_code + """ + # データ登録用SQL + INSERT_QUERY = """\ + INSERT INTO src05.com_prefc_med_equpment + ( + dcf_dsf_inst_cd, + equipment_code, + bednum, + regist_ymd, + sys_regist_date, + regist_prgm_id, + sys_update_date, + update_prgm_id + ) + VALUES ( + :dcfdsf_inst_code, + :equipment_code, + :bed_num, + :execute_date_str_ymd, + :execute_datetime, + :program_name, + :execute_datetime, + :program_name + ) + """ + + # データ変更用SQL + UPDATE_QUERY = """\ + UPDATE + src05.com_prefc_med_equpment + SET + bednum = :bed_num, + update_ymd = :execute_date_str_ymd, + sys_update_date = :execute_datetime, + update_prgm_id = :program_name + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + equipment_code = :equipment_code + """ + + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + PHYSICAL_DELETE_QUERY = """\ + DELETE FROM + src05.com_prefc_med_equpment + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + equipment_code = :equipment_code + """ + + record: ComPrefcMedEqupment + + def __init__(self, record: list[str], db) -> None: + super().__init__(record, db, ComPrefcMedEqupment) + program_name = __name__.split('.')[-1] # 当モジュール名(現行から変わっている) + # モジュール名をクエリパラメータに設定 + self.query_parameter['program_name'] = program_name + # 読み込んだレコード値もクエリパラメータに追加 + self.query_parameter = {**self.query_parameter, **self.record.to_sql_parameter()} + + def make_query(self): + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + if self.record.maint_flag == 'B' and self.record.adddel_div == '1': + self.queries.append(self.PHYSICAL_DELETE_QUERY) + return + + # 追加、更新の場合 + self.queries.append(self.__make_upsert_query()) + return + + def __make_upsert_query(self): + # レコードの存在確認 + record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) + # 存在しない場合はInsert + if record_count[0]['count_num'] == 0: + return self.INSERT_QUERY + + # 存在する場合はUpdate + # 病床数が空の場合は更新しない + if self.record.bed_num is not None: + if self.record.bed_num == '@': + self.query_parameter['bed_num'] = None + return self.UPDATE_QUERY + else: + return None diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_sojourn_ope_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_sojourn_ope_mapper.py new file mode 100644 index 00000000..f2c84587 --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_sojourn_ope_mapper.py @@ -0,0 +1,95 @@ +from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ + UltmarcTableMapper +from src.batch.ultmarc.utmp_tables.tables.com_prefc_med_sojourn_ope import ComPrefcMedSojournOpe + + +class ComPrefcMedSojournOpeMapper(UltmarcTableMapper): + """レイアウト区分135: COM_都道府県医療機能情報(短期滞在手術)""" + + # レコード存在確認SQL + RECORD_EXISTS_QUERY = """\ + SELECT + COUNT(*) AS count_num + FROM + src05.com_prefc_med_sojourn_ope + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + cos_surgery_code = :cos_surgery_code + """ + # データ登録用SQL + INSERT_QUERY = """\ + INSERT INTO src05.com_prefc_med_sojourn_ope + ( + dcf_dsf_inst_cd, + cos_surgery_code, + regist_ymd, + sys_regist_date, + regist_prgm_id, + sys_update_date, + update_prgm_id + ) + VALUES ( + :dcfdsf_inst_code, + :cos_surgery_code, + :execute_date_str_ymd, + :execute_datetime, + :program_name, + :execute_datetime, + :program_name + ) + """ + + # データ変更用SQL + UPDATE_QUERY = """\ + UPDATE + src05.com_prefc_med_sojourn_ope + SET + update_ymd = :execute_date_str_ymd, + sys_update_date = :execute_datetime, + update_prgm_id = :program_name + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + cos_surgery_code = :cos_surgery_code + """ + + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + PHYSICAL_DELETE_QUERY = """\ + DELETE FROM + src05.com_prefc_med_sojourn_ope + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + cos_surgery_code = :cos_surgery_code + """ + + record: ComPrefcMedSojournOpe + + def __init__(self, record: list[str], db) -> None: + super().__init__(record, db, ComPrefcMedSojournOpe) + program_name = __name__.split('.')[-1] # 当モジュール名(現行から変わっている) + # モジュール名をクエリパラメータに設定 + self.query_parameter['program_name'] = program_name + # 読み込んだレコード値もクエリパラメータに追加 + self.query_parameter = {**self.query_parameter, **self.record.to_sql_parameter()} + + def make_query(self): + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + if self.record.maint_flag == 'B' and self.record.adddel_div == '1': + self.queries.append(self.PHYSICAL_DELETE_QUERY) + return + + # 追加、更新の場合 + self.queries.append(self.__make_upsert_query()) + return + + def __make_upsert_query(self): + # レコードの存在確認 + record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) + # 存在しない場合はInsert + if record_count[0]['count_num'] == 0: + return self.INSERT_QUERY + + # 存在する場合はUpdate + return self.UPDATE_QUERY diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_sp_outpat_mapper.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_sp_outpat_mapper.py new file mode 100644 index 00000000..182616d5 --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/table_mapper/concrete/com_prefc_med_sp_outpat_mapper.py @@ -0,0 +1,125 @@ +from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \ + UltmarcTableMapper +from src.batch.ultmarc.utmp_tables.tables.com_prefc_med_sp_outpat import ComPrefcMedSpOutpat + + +class ComPrefcMedSpOutpatMapper(UltmarcTableMapper): + """レイアウト区分136: COM_都道府県医療機能情報(専門外来)""" + + # レコード存在確認SQL + RECORD_EXISTS_QUERY = """\ + SELECT + COUNT(*) AS count_num + FROM + src05.com_prefc_med_sp_outpat + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + specialclinic_name = :specialclinic_name + """ + # データ登録用SQL + INSERT_QUERY = """\ + INSERT INTO src05.com_prefc_med_sp_outpat + ( + dcf_dsf_inst_cd, + specialclinic_name, + sort_key, + sectsub_cd, + regist_ymd, + sys_regist_date, + regist_prgm_id, + sys_update_date, + update_prgm_id + ) + VALUES ( + :dcfdsf_inst_code, + :specialclinic_name, + :sort_key, + :sectsub_cd, + :execute_date_str_ymd, + :execute_datetime, + :program_name, + :execute_datetime, + :program_name + ) + """ + + # データ変更用SQL + UPDATE_QUERY = """\ + UPDATE + src05.com_prefc_med_sp_outpat + SET + {update_columns} + update_ymd = :execute_date_str_ymd, + sys_update_date = :execute_datetime, + update_prgm_id = :program_name + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + specialclinic_name = :specialclinic_name + """ + + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + PHYSICAL_DELETE_QUERY = """\ + DELETE FROM + src05.com_prefc_med_sp_outpat + WHERE + dcf_dsf_inst_cd = :dcfdsf_inst_code + AND + specialclinic_name = :specialclinic_name + """ + + record: ComPrefcMedSpOutpat + + def __init__(self, record: list[str], db) -> None: + super().__init__(record, db, ComPrefcMedSpOutpat) + program_name = __name__.split('.')[-1] # 当モジュール名(現行から変わっている) + # モジュール名をクエリパラメータに設定 + self.query_parameter['program_name'] = program_name + # 読み込んだレコード値もクエリパラメータに追加 + self.query_parameter = {**self.query_parameter, **self.record.to_sql_parameter()} + + def make_query(self): + # 『修正区分がB(修正)かつ専門医メンテナンス区分が1(退職)』の場合、物理削除 + if self.record.maint_flag == 'B' and self.record.adddel_div == '1': + self.queries.append(self.PHYSICAL_DELETE_QUERY) + return + + # 追加、更新の場合 + self.queries.append(self.__make_upsert_query()) + return + + def __make_upsert_query(self): + # レコードの存在確認 + record_count = self.db.execute_select(self.RECORD_EXISTS_QUERY, self.query_parameter) + # 存在しない場合はInsert + if record_count[0]['count_num'] == 0: + return self.INSERT_QUERY + + # 存在する場合ではUpdate + return self.__make_update_query() + + def __make_update_query(self): + set_clauses = [] # 設定項目 + + # ソートキー + if len(self.record.sort_key) > 0: + set_clauses.append('sort_key = :sort_key') + + # 分類補助コード + if len(self.record.sectsub_cd) > 0: + set_clauses.append('sectsub_cd = :sectsub_cd') + if self.record.sectsub_cd == '@': + self.query_parameter['sectsub_cd'] = None + + update_columns = ','.join(set_clauses) + # 何も更新項目が無い場合はNoneとする(更新処理は行わない) + if len(update_columns) == 0: + return None + else: + # 末尾にカンマを付けてSET句を完成させる + update_columns += ',' + update_query = self.UPDATE_QUERY.format( + update_columns=update_columns + ) + return update_query diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_cop_hp.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_cop_hp.py new file mode 100644 index 00000000..886b9dad --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_cop_hp.py @@ -0,0 +1,36 @@ +from src.batch.ultmarc.utmp_tables.tables.ultmarc_table import UltmarcTable + + +class ComCopHp(UltmarcTable): + """レイアウト区分112: COM_臨床研修病院""" + dcfhp_id: str # DCFコード(レコードID) + dcfhp_code: str # DCFコード(施設コード) + dcfhp_yobi: str # DCFコード(予備) + cophp_id: str # 協力型病院コード(ID) + cophp_code: str # 協力型病院コード(コード) + cophp_yobi: str # 協力型病院コード(予備) + open_year: str # 開始年度 + sort_key: str # ソートキー + adddel_div: str # 追加削除区分 + maint_flag: str # 修正区分 + + dcfdsf_inst_code: str # DCFDSF施設コード + cophp_code: str # 協力型病院コード + + def __init__(self, record: list[str]): + super().__init__(record) + self.dcfhp_id = record[1] + self.dcfhp_code = record[2] + self.dcfhp_yobi = record[3] + self.maint_flag = record[4] + self.cophp_id = record[5] + self.cophp_code = record[6] + self.cophp_yobi = record[7] + self.open_year = record[8] + self.adddel_div = record[9] + self.sort_key = record[12] + + # DCFDSF施設コード + self.dcfdsf_inst_code = ''.join([self.dcfhp_id, self.dcfhp_code, self.dcfhp_yobi]) + # 協力型病院コード + self.cophp_code = ''.join([self.cophp_id, self.cophp_code, self.cophp_yobi]) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_inst_att.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_inst_att.py new file mode 100644 index 00000000..695b247f --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_inst_att.py @@ -0,0 +1,703 @@ +from src.batch.ultmarc.utmp_tables.tables.ultmarc_table import UltmarcTable + + +class ComInstAtt(UltmarcTable): + """レイアウト区分111: COM_施設属性""" + dcfhp_id: str # DCFコード(レコードID) + dcfhp_code: str # DCFコード(施設コード) + dcfhp_yobi: str # DCFコード(予備)10/8asa + dpc_flag: str # DPC対象病院フラグ + dpc_spec_day: str # DPC対象病院指定年月日 + dpc_cancel_day: str # DPC対象病院取消年月日 + predpc_flag: str # DPC準備病院フラグ + predpc_spec_day: str # DPC準備病院承認年 + predpc_cancel_day: str # DPC準備病院取消年月日 + cancer_flag: str # がん診療連携拠点病院フラグ + cancer_spec_day: str # がん診療連携拠点病院指定年月日 + cancer_cancel_day: str # がん診療連携拠点病院取消年月日 + funchp_flag: str # 特定機能病院フラグ + funchp_ok_date: str # 特定機能病院承認年月日 + funchp_can_date: str # 特定機能病院取消年月日 + areasuphp_flag: str # 地域医療支援病院フラグ + areasuphp_intrate: str # 地域医療支援病院紹介率 + areasuphp_ok_date: str # 地域医療支援病院承認年月日 + areasuphp_can_date: str # 地域医療支援病院取消年月日 + acuthp_add_flag: str # 超急性期脳卒中加算フラグ + acuthp_add_ok_date: str # 超急性期脳卒中加算承認年月日 + acuthp_add_can_date: str # 超急性期脳卒中加算取消年月日 + genadmisiion_flag: str # 総合入院体制加算フラグ + genadmisiion_ok_date: str # 総合入院体制加算承認年月日 + genadmisiion_can_date: str # 総合入院体制加算取消年月日 + assistance_flag: str # 医師事務作業補助体制加算フラグ + assistance_ok_date: str # 医師事務作業補助体制加算承認年月日 + assistance_can_date: str # 医師事務作業補助体制加算取消年月日 + diagnosis_treatment_flag: str # 診療録管理体制加算フラグ + diagnosis_treatment_spec_day: str # 診療録管理体制加算承認年月日 + diagnosis_treatment_cancel_day: str # 診療録管理体制加算取消年月日 + safety_flag: str # 医療安全対策加算フラグ + safety_spec_day: str # 医療安全対策加算承認年月日 + safety_cancel_day: str # 医療安全対策加算取消年月日 + highrisk_flag: str # 褥瘡ハイリスク患者ケア加算フラグ + highrisk_spec_day: str # 褥瘡ハイリスク患者ケア加算承認年月日 + highrisk_cancel_day: str # 褥瘡ハイリスク患者ケア加算取消年月日 + infant_and_holiday_flag: str # 地域連携小児夜間・休日診療料フラグ + infant_and_holiday_spec_day: str # 地域連携小児夜間・休日診療料承認 + infant_and_holiday_cancel_day: str # 地域連携小児夜間・休日診療料取消 + ophp_flag: str # 開放型病院フラグ + ophpok_date: str # 開放型病院承認年月日 + ophpcan_date: str # 開放型病院取消年月日 + critical_flag: str # 地域連携クリティカルパスフラグ + critical_code01: str # 地域連携クリティカルパスコード1 + critical_code02: str # 地域連携クリティカルパスコード2 + critical_code03: str # 地域連携クリティカルパスコード3 + critical_code04: str # 地域連携クリティカルパスコード4 + critical_code05: str # 地域連携クリティカルパスコード5 + critical_code06: str # 地域連携クリティカルパスコード6 + critical_code07: str # 地域連携クリティカルパスコード7 + critical_code08: str # 地域連携クリティカルパスコード8 + critical_code09: str # 地域連携クリティカルパスコード9 + critical_code10: str # 地域連携クリティカルパスコード10 + critical_code11: str # 地域連携クリティカルパスコード11 + critical_code12: str # 地域連携クリティカルパスコード12 + critical_code13: str # 地域連携クリティカルパスコード13 + critical_code14: str # 地域連携クリティカルパスコード14 + critical_code15: str # 地域連携クリティカルパスコード15 + critical_code16: str # 地域連携クリティカルパスコード16 + critical_code17: str # 地域連携クリティカルパスコード17 + critical_code18: str # 地域連携クリティカルパスコード18 + critical_code19: str # 地域連携クリティカルパスコード19 + critical_code20: str # 地域連携クリティカルパスコード20 + drgmgthp_flag: str # 薬剤管理指導料フラグ + drgmgthp_ok_date: str # 薬剤管理指導料承認年月日 + drgmgthp_can_date: str # 薬剤管理指導料取消年月日 + image_diagnosis_flag: str # 画像診断管理加算フラグ + image_diagnosis_specified_day: str # 画像診断管理加算承認年月日 + image_diagnosis_cancel_day: str # 画像診断管理加算取消年月日 + chemotherapy_flag: str # 外来化学療法加算フラグ + chemotherapy_spec_day: str # 外来化学療法加算承認年月日 + chemotherapy_cancel_day: str # 外来化学療法加算取消年月日 + rehabilitation_flag: str # 疾患別リハビリテーション料フラグ + rehabilitation_code01: str # 疾患別リハビリテーション料コード1 + rehabilitation_code02: str # 疾患別リハビリテーション料コード2 + rehabilitation_code03: str # 疾患別リハビリテーション料コード3 + rehabilitation_code04: str # 疾患別リハビリテーション料コード4 + rehabilitation_code05: str # 疾患別リハビリテーション料コード5 + rehabilitation_code06: str # 疾患別リハビリテーション料コード6 + rehabilitation_code07: str # 疾患別リハビリテーション料コード7 + rehabilitation_code08: str # 疾患別リハビリテーション料コード8 + rehabilitation_code09: str # 疾患別リハビリテーション料コード9 + rehabilitation_code10: str # 疾患別リハビリテーション料コード10 + anesthetizing_manage_flag: str # 麻酔管理料フラグ + anesthetizing_manage_spec_day: str # 麻酔管理料承認年月日 + anesthetizing_manage_can_day: str # 麻酔管理料取消年月日 + home_recuperation_flag: str # 在宅療養支援病院・診療所フラグ + home_recuperation_spec_day: str # 在宅療養支援病院・診療所承認年月 + home_recuperation_cancel_day: str # 在宅療養支援病院・診療所取消年月 + synthesis_when_staying_flag: str # 在宅時医学総合管理料フラグ + synthesis_when_staying_spec_day: str # 在宅時医学総合管理料承認年月日 + synthesis_when_staying_can_day: str # 在宅時医学総合管理料取消年月日 + home_late_flag: str # 在宅末期医療総合診療料フラグ + home_late_ok_day: str # 在宅末期医療総合診療料承認年月日 + home_late_can_day: str # 在宅末期医療総合診療料取消年月日 + caremix_kind: str # ケアミックス区分 + fullmove_flag: str # 完全型・移行型区分 + resthp_flag: str # 療養型病床群フラグ + resthp_care_kind: str # 療養型病床群_医療型(看護種別) + resthp_bed_num: str # 療養型病床群_医療型(病床数) + resthp_ok_date: str # 療養型病床群_医療型(承認年月日) + resthp_can_date: str # 療養型病床群_医療型(取消年月日) + resthp_care_nrs_kind: str # 療養型病床群_介護型(看護種別) + resthp_care_bed_num: str # 療養型病床群_介護型(病床数) + resthp_care_ok_date: str # 療養型病床群_介護型(承認年月日) + resthp_care_can_date: str # 療養型病床群_介護型(取消年月日) + resthp_sbed_num: str # 療養型病床群_稼動数合計(病床数) + nrmhp_flag: str # 一般病棟フラグ + nrmhp_care_kind: str # 一般病棟看護種別 + nrmhp_bed_total_num: str # 一般病棟病床数 + menthp_flag: str # 精神病棟フラグ + menthp_care_kind: str # 精神病棟看護種別 + menthp_bed_num: str # 精神病棟病床数 + tubhp_flag: str # 結核病棟フラグ + tubhp_care_kind: str # 結核病棟看護種別 + tubhp_bed_num: str # 結核病棟病床数 + infhp_flag: str # 感染症特定 + infhp_flag1: str # 感染症1種 + infhp_flag2: str # 感染症2種 + infhp_bed_flag: str # 感染症病床フラグ + infhp_bed_num: str # 感染症病床病床数 + hospice_flag: str # 緩和ケア病棟設置病院フラグ + hospice_bed_num: str # 緩和ケア病棟設置病院病床数 + hospice_ok_date: str # 緩和ケア病棟設置病院承認年月日 + hospice_can_date: str # 緩和ケア病棟設置病院取消年月日 + hpfunce_st_flag: str # 医療機能評価フラグ + hpfunce_st_kind: str # 医療機能評価種別 + hpfunce_st_ok_date: str # 医療機能評価承認年月日 + hpfunce_st_can_date: str # 医療機能評価取消年月日 + clolyhp_kind: str # 臨床研修指定病院_基幹型病院1フラグ + clolyhp_ok_date: str # 臨床研修指定病院_基幹型病院1承認年月日 + clolyhp_can_date: str # 臨床研修指定病院_基幹型病院1取消年月日 + clhp_kind: str # 臨床研修指定病院_基幹型病院2(群指定)フラグ + clhp_ok_date: str # 臨床研修指定病院_基幹型病院2(群指定)承認 + clhp_can_date: str # 臨床研修指定病院_基幹型病院2(群指定)取消 + cldephp_kind: str # 臨床研修指定病院_協力型病院(群指定)フラグ + cldephp_ok_date: str # 臨床研修指定病院_協力型病院(群指定)承認年 + cldephp_can_date: str # 臨床研修指定病院_協力型病院(群指定)取消年 + disasthp_flag: str # 災害拠点病院 + d1emerhp_flag: str # 救急医療救急告示 + d2emerhp_flag: str # 救急医療2次救急 + d3emerhp_flag: str # 救急医療3次救急 + emergency_clinic: str # 救急告示診療所 + trial_core_flag: str # 治験中核病院フラグ + trial_core_div: str # 治験中核病院区分 + trial_core_ok_date: str # 治験中核病院承認年月日 + trial_core_can_date: str # 治験中核病院取消年月日 + dementia_flag: str # 認知症疾患医療センターフラグ + dementia_okd_ate: str # 認知症疾患医療センター承認年月日 + dementia_can_date: str # 認知症疾患医療センター取消年月日 + sphealth_exploration: str # 特定健康診査実施機 + sphealth_guidance: str # 特定保健指導実施機 + hiadhp_flag: str # 先端医療・高度医療技術実施医療機関フラグ + hiadhpcode1: str # 先端医療・高度医療技術実施医療機関1(コード) + hiadhpkind1: str # 先端医療・高度医療技術実施医療機関1(区分) + hiadhpcode2: str # 先端医療・高度医療技術実施医療機関2(コード) + hiadhpkind2: str # 先端医療・高度医療技術実施医療機関2(区分) + hiadhpcode3: str # 先端医療・高度医療技術実施医療機関3(コード) + hiadhpkind3: str # 先端医療・高度医療技術実施医療機関3(区分) + hiadhpcode4: str # 先端医療・高度医療技術実施医療機関4(コード) + hiadhpkind4: str # 先端医療・高度医療技術実施医療機関4(区分) + hiadhpcode5: str # 先端医療・高度医療技術実施医療機関5(コード) + hiadhpkind5: str # 先端医療・高度医療技術実施医療機関5(区分) + hiadhpcode6: str # 先端医療・高度医療技術実施医療機関6(コード) + hiadhpkind6: str # 先端医療・高度医療技術実施医療機関6(区分) + hiadhpcode7: str # 先端医療・高度医療技術実施医療機関7(コード) + hiadhpkind7: str # 先端医療・高度医療技術実施医療機関7(区分) + hiadhpcode8: str # 先端医療・高度医療技術実施医療機関8(コード) + hiadhpkind8: str # 先端医療・高度医療技術実施医療機関8(区分) + hiadhpcode9: str # 先端医療・高度医療技術実施医療機関9(コード) + hiadhpkind9: str # 先端医療・高度医療技術実施医療機関9(区分) + hiadhpcode10: str # 先端医療・高度医療技術実施医療機関10(コード) + hiadhpkind10: str # 先端医療・高度医療技術実施医療機関10(区分) + hiadhpcode11: str # 先端医療・高度医療技術実施医療機関11(コード) + hiadhpkind11: str # 先端医療・高度医療技術実施医療機関11(区分) + hiadhpcode12: str # 先端医療・高度医療技術実施医療機関12(コード) + hiadhpkind12: str # 先端医療・高度医療技術実施医療機関12(区分) + hiadhpcode13: str # 先端医療・高度医療技術実施医療機関13(コード) + hiadhpkind13: str # 先端医療・高度医療技術実施医療機関13(区分) + hiadhpcode14: str # 先端医療・高度医療技術実施医療機関14(コード) + hiadhpkind14: str # 先端医療・高度医療技術実施医療機関14(区分) + hiadhpcode15: str # 先端医療・高度医療技術実施医療機関15(コード) + hiadhpkind15: str # 先端医療・高度医療技術実施医療機関15(区分) + hiadhpcode16: str # 先端医療・高度医療技術実施医療機関16(コード) + hiadhpkind16: str # 先端医療・高度医療技術実施医療機関16(区分) + hiadhpcode17: str # 先端医療・高度医療技術実施医療機関17(コード) + hiadhpkind17: str # 先端医療・高度医療技術実施医療機関17(区分) + hiadhpcode18: str # 先端医療・高度医療技術実施医療機関18(コード) + hiadhpkind18: str # 先端医療・高度医療技術実施医療機関18(区分) + hiadhpcode19: str # 先端医療・高度医療技術実施医療機関19(コード) + hiadhpkind19: str # 先端医療・高度医療技術実施医療機関19(区分) + hiadhpcode20: str # 先端医療・高度医療技術実施医療機関20(コード) + hiadhpkind20: str # 先端医療・高度医療技術実施医療機関20(区分) + hiadhpcode21: str # 先端医療・高度医療技術実施医療機関21(コード) + hiadhpkind21: str # 先端医療・高度医療技術実施医療機関21(区分) + hiadhpcode22: str # 先端医療・高度医療技術実施医療機関22(コード) + hiadhpkind22: str # 先端医療・高度医療技術実施医療機関22(区分) + hiadhpcode23: str # 先端医療・高度医療技術実施医療機関23(コード) + hiadhpkind23: str # 先端医療・高度医療技術実施医療機関23(区分) + hiadhpcode24: str # 先端医療・高度医療技術実施医療機関24(コード) + hiadhpkind24: str # 先端医療・高度医療技術実施医療機関24(区分) + hiadhpcode25: str # 先端医療・高度医療技術実施医療機関25(コード) + hiadhpkind25: str # 先端医療・高度医療技術実施医療機関25(区分) + hiadhpcode26: str # 先端医療・高度医療技術実施医療機関26(コード) + hiadhpkind26: str # 先端医療・高度医療技術実施医療機関26(区分) + hiadhpcode27: str # 先端医療・高度医療技術実施医療機関27(コード) + hiadhpkind27: str # 先端医療・高度医療技術実施医療機関27(区分) + hiadhpcode28: str # 先端医療・高度医療技術実施医療機関28(コード) + hiadhpkind28: str # 先端医療・高度医療技術実施医療機関28(区分) + hiadhpcode29: str # 先端医療・高度医療技術実施医療機関29(コード) + hiadhpkind29: str # 先端医療・高度医療技術実施医療機関29(区分) + hiadhpcode30: str # 先端医療・高度医療技術実施医療機関30(コード) + hiadhpkind30: str # 先端医療・高度医療技術実施医療機関30(区分) + hiadhpcode31: str # 先端医療・高度医療技術実施医療機関31(コード) + hiadhpkind31: str # 先端医療・高度医療技術実施医療機関31(区分) + hiadhpcode32: str # 先端医療・高度医療技術実施医療機関32(コード) + hiadhpkind32: str # 先端医療・高度医療技術実施医療機関32(区分) + hiadhpcode33: str # 先端医療・高度医療技術実施医療機関33(コード) + hiadhpkind33: str # 先端医療・高度医療技術実施医療機関33(区分) + hiadhpcode34: str # 先端医療・高度医療技術実施医療機関34(コード) + hiadhpkind34: str # 先端医療・高度医療技術実施医療機関34(区分) + hiadhpcode35: str # 先端医療・高度医療技術実施医療機関35(コード) + hiadhpkind35: str # 先端医療・高度医療技術実施医療機関35(区分) + hiadhpcode36: str # 先端医療・高度医療技術実施医療機関36(コード) + hiadhpkind36: str # 先端医療・高度医療技術実施医療機関36(区分) + hiadhpcode37: str # 先端医療・高度医療技術実施医療機関37(コード) + hiadhpkind37: str # 先端医療・高度医療技術実施医療機関37(区分) + hiadhpcode38: str # 先端医療・高度医療技術実施医療機関38(コード) + hiadhpkind38: str # 先端医療・高度医療技術実施医療機関38(区分) + hiadhpcode39: str # 先端医療・高度医療技術実施医療機関39(コード) + hiadhpkind39: str # 先端医療・高度医療技術実施医療機関39(区分) + hiadhpcode40: str # 先端医療・高度医療技術実施医療機関40(コード) + hiadhpkind40: str # 先端医療・高度医療技術実施医療機関40(区分) + hitechhp_flag: str # 先端医療機器フラグ + hitechhpkind1: str # 先端医療機器1 + hitechhpkind2: str # 先端医療機器2 + hitechhpkind3: str # 先端医療機器3 + hitechhpkind4: str # 先端医療機器4 + hitechhpkind5: str # 先端医療機器5 + hitechhpkind6: str # 先端医療機器6 + hitechhpkind7: str # 先端医療機器7 + hitechhpkind8: str # 先端医療機器8 + hitechhpkind9: str # 先端医療機器9 + hitechhpkind10: str # 先端医療機器10 + hitechhpkind11: str # 先端医療機器11 + hitechhpkind12: str # 先端医療機器12 + hitechhpkind13: str # 先端医療機器13 + hitechhpkind14: str # 先端医療機器14 + hitechhpkind15: str # 先端医療機器15 + hitechhpkind16: str # 先端医療機器16 + hitechhpkind17: str # 先端医療機器17 + hitechhpkind18: str # 先端医療機器18 + hitechhpkind19: str # 先端医療機器19 + hitechhpkind20: str # 先端医療機器20 + policy_medical_flag: str # 政策医療フラグ + policymedical_code01: str # 政策医療1(コード) + policymedical_content01: str # 政策医療1(区分) + policymedical_code02: str # 政策医療2(コード) + policymedical_content02: str # 政策医療2(区分) + policymedical_code03: str # 政策医療3(コード) + policymedical_content03: str # 政策医療3(区分) + policymedical_code04: str # 政策医療4(コード) + policymedical_content04: str # 政策医療4(区分) + policymedical_code05: str # 政策医療5(コード) + policymedical_content05: str # 政策医療5(区分) + policymedical_code06: str # 政策医療6(コード) + policymedical_content06: str # 政策医療6(区分) + policymedical_code07: str # 政策医療7(コード) + policymedical_content07: str # 政策医療7(区分) + policymedical_code08: str # 政策医療8(コード) + policymedical_content08: str # 政策医療8(区分) + policymedical_code09: str # 政策医療9(コード) + policymedical_content09: str # 政策医療9(区分) + policymedical_code10: str # 政策医療10(コード) + policymedical_content10: str # 政策医療10(区分) + policymedical_code11: str # 政策医療11(コード) + policymedical_content11: str # 政策医療11(区分) + policymedical_code12: str # 政策医療12(コード) + policymedical_content12: str # 政策医療12(区分) + policymedical_code13: str # 政策医療13(コード) + policymedical_content13: str # 政策医療13(区分) + policymedical_code14: str # 政策医療14(コード) + policymedical_content14: str # 政策医療14(区分) + policymedical_code15: str # 政策医療15(コード) + policymedical_content15: str # 政策医療15(区分) + policymedical_code16: str # 政策医療16(コード) + policymedical_content16: str # 政策医療16(区分) + policymedical_code17: str # 政策医療17(コード) + policymedical_content17: str # 政策医療17(区分) + policymedical_code18: str # 政策医療18(コード) + policymedical_content18: str # 政策医療18(区分) + policymedical_code19: str # 政策医療19(コード) + policymedical_content19: str # 政策医療19(区分) + policymedical_code20: str # 政策医療20(コード) + policymedical_content20: str # 政策医療20(区分) + visitcarest_flag: str # 訪問看護ステーションフラグ + visitcarestation_id: str # 訪問看護ステーション_施設コード(レコードID) + visitcarestation_code: str # 訪問看護ステーション_施設コード(施設コード) + visitcarestation_yobi: str # 訪問看護ステーション_施設コード(予備) + open_date: str # 開設年月 + maint_flag: str # 修正区分 + adddel_div: str # 追加削除区分 + + dcfdsf_inst_code: str # DCFDSF施設コード + resthp_items: list # 療養型病床リスト + cl_items: list # 臨床研修指定病院リスト + + def __init__(self, record: list[str]): + super().__init__(record) + self.dcfhp_id = record[1].strip() + self.dcfhp_code = record[2].strip() + self.dcfhp_yobi = record[3].strip() + + self.maint_flag = record[4].strip() + self.adddel_div = record[5].strip() + + self.dpc_flag = record[8].strip() + self.dpc_spec_day = record[9].strip() + self.dpc_cancel_day = record[10].strip() + + self.predpc_flag = record[11].strip() + self.predpc_spec_day = record[12].strip() + self.predpc_cancel_day = record[13].strip() + + self.cancer_flag = record[14].strip() + self.cancer_spec_day = record[15].strip() + self.cancer_cancel_day = record[16].strip() + + self.funchp_flag = record[17].strip() + self.funchp_ok_date = record[18].strip() + self.funchp_can_date = record[19].strip() + + self.areasuphp_flag = record[20].strip() + self.areasuphp_intrate = record[21].strip() + self.areasuphp_ok_date = record[22].strip() + self.areasuphp_can_date = record[23].strip() + + self.acuthp_add_flag = record[24].strip() + self.acuthp_add_ok_date = record[25].strip() + self.acuthp_add_can_date = record[26].strip() + + self.genadmisiion_flag = record[27].strip() + self.genadmisiion_ok_date = record[28].strip() + self.genadmisiion_can_date = record[29].strip() + + self.assistance_flag = record[30].strip() + self.assistance_ok_date = record[31].strip() + self.assistance_can_date = record[32].strip() + + self.diagnosis_treatment_flag = record[33].strip() + self.diagnosis_treatment_spec_day = record[34].strip() + self.diagnosis_treatment_cancel_day = record[35].strip() + + self.safety_flag = record[36].strip() + self.safety_spec_day = record[37].strip() + self.safety_cancel_day = record[38].strip() + + self.highrisk_flag = record[39].strip() + self.highrisk_spec_day = record[40].strip() + self.highrisk_cancel_day = record[41].strip() + + self.infant_and_holiday_flag = record[42].strip() + self.infant_and_holiday_spec_day = record[43].strip() + self.infant_and_holiday_cancel_day = record[44].strip() + + self.ophp_flag = record[45].strip() + self.ophpok_date = record[46].strip() + self.ophpcan_date = record[47].strip() + self.critical_flag = record[48].strip() + + self.critical_code01 = record[49].strip() + self.critical_code02 = record[50].strip() + self.critical_code03 = record[51].strip() + self.critical_code04 = record[52].strip() + self.critical_code05 = record[53].strip() + self.critical_code06 = record[54].strip() + self.critical_code07 = record[55].strip() + self.critical_code08 = record[56].strip() + self.critical_code09 = record[57].strip() + self.critical_code10 = record[58].strip() + self.critical_code11 = record[59].strip() + self.critical_code12 = record[60].strip() + self.critical_code13 = record[61].strip() + self.critical_code14 = record[62].strip() + self.critical_code15 = record[63].strip() + self.critical_code16 = record[64].strip() + self.critical_code17 = record[65].strip() + self.critical_code18 = record[66].strip() + self.critical_code19 = record[67].strip() + self.critical_code20 = record[68].strip() + + self.drgmgthp_flag = record[69].strip() + self.drgmgthp_ok_date = record[70].strip() + self.drgmgthp_can_date = record[71].strip() + + self.image_diagnosis_flag = record[72].strip() + self.image_diagnosis_specified_day = record[73].strip() + self.image_diagnosis_cancel_day = record[74].strip() + + self.chemotherapy_flag = record[75].strip() + self.chemotherapy_spec_day = record[76].strip() + self.chemotherapy_cancel_day = record[77].strip() + + self.rehabilitation_flag = record[78].strip() + self.rehabilitation_code01 = record[79].strip() + self.rehabilitation_code02 = record[80].strip() + self.rehabilitation_code03 = record[81].strip() + self.rehabilitation_code04 = record[82].strip() + self.rehabilitation_code05 = record[83].strip() + self.rehabilitation_code06 = record[84].strip() + self.rehabilitation_code07 = record[85].strip() + self.rehabilitation_code08 = record[86].strip() + self.rehabilitation_code09 = record[87].strip() + self.rehabilitation_code10 = record[88].strip() + + self.anesthetizing_manage_flag = record[89].strip() + self.anesthetizing_manage_spec_day = record[90].strip() + self.anesthetizing_manage_can_day = record[91].strip() + + self.home_recuperation_flag = record[92].strip() + self.home_recuperation_spec_day = record[93].strip() + self.home_recuperation_cancel_day = record[94].strip() + + self.synthesis_when_staying_flag = record[95].strip() + self.synthesis_when_staying_spec_day = record[96].strip() + self.synthesis_when_staying_can_day = record[97].strip() + + self.home_late_flag = record[98].strip() + self.home_late_ok_day = record[99].strip() + self.home_late_can_day = record[100].strip() + + self.caremix_kind = record[101].strip() + self.fullmove_flag = record[102].strip() + + self.resthp_flag = record[103].strip() + self.resthp_care_kind = record[104].strip() + self.resthp_bed_num = record[105].strip() + self.resthp_ok_date = record[106].strip() + self.resthp_can_date = record[107].strip() + self.resthp_care_nrs_kind = record[108].strip() + self.resthp_care_bed_num = record[109].strip() + self.resthp_care_ok_date = record[110].strip() + self.resthp_care_can_date = record[111].strip() + self.resthp_sbed_num = record[112].strip() + + self.nrmhp_flag = record[113].strip() + self.nrmhp_care_kind = record[114].strip() + self.nrmhp_bed_total_num = record[115].strip() + + self.menthp_flag = record[116].strip() + self.menthp_care_kind = record[117].strip() + self.menthp_bed_num = record[118].strip() + + self.tubhp_flag = record[119].strip() + self.tubhp_care_kind = record[120].strip() + self.tubhp_bed_num = record[121].strip() + + self.infhp_flag = record[122].strip() + self.infhp_flag1 = record[123].strip() + self.infhp_flag2 = record[124].strip() + + self.infhp_bed_flag = record[125].strip() + self.infhp_bed_num = record[126].strip() + + self.hospice_flag = record[127].strip() + self.hospice_bed_num = record[128].strip() + self.hospice_ok_date = record[129].strip() + self.hospice_can_date = record[130].strip() + + self.hpfunce_st_flag = record[131].strip() + self.hpfunce_st_kind = record[132].strip() + self.hpfunce_st_ok_date = record[133].strip() + self.hpfunce_st_can_date = record[134].strip() + + self.clolyhp_kind = record[135].strip() + self.clolyhp_ok_date = record[136].strip() + self.clolyhp_can_date = record[137].strip() + self.clhp_kind = record[138].strip() + self.clhp_ok_date = record[139].strip() + self.clhp_can_date = record[140].strip() + self.cldephp_kind = record[141].strip() + self.cldephp_ok_date = record[142].strip() + self.cldephp_can_date = record[143].strip() + + self.disasthp_flag = record[144].strip() + + self.d1emerhp_flag = record[145].strip() + self.d2emerhp_flag = record[146].strip() + self.d3emerhp_flag = record[147].strip() + + self.emergency_clinic = record[148].strip() + + self.trial_core_flag = record[149].strip() + self.trial_core_div = record[150].strip() + self.trial_core_ok_date = record[151].strip() + self.trial_core_can_date = record[152].strip() + + self.dementia_flag = record[153].strip() + self.dementia_okd_ate = record[154].strip() + self.dementia_can_date = record[155].strip() + + self.sphealth_exploration = record[156].strip() + self.sphealth_guidance = record[157].strip() + + self.hiadhp_flag = record[158].strip() + self.hiadhpcode1 = record[159].strip() + self.hiadhpkind1 = record[160].strip() + self.hiadhpcode2 = record[161].strip() + self.hiadhpkind2 = record[162].strip() + self.hiadhpcode3 = record[163].strip() + self.hiadhpkind3 = record[164].strip() + self.hiadhpcode4 = record[165].strip() + self.hiadhpkind4 = record[166].strip() + self.hiadhpcode5 = record[167].strip() + self.hiadhpkind5 = record[168].strip() + self.hiadhpcode6 = record[169].strip() + self.hiadhpkind6 = record[170].strip() + self.hiadhpcode7 = record[171].strip() + self.hiadhpkind7 = record[172].strip() + self.hiadhpcode8 = record[173].strip() + self.hiadhpkind8 = record[174].strip() + self.hiadhpcode9 = record[175].strip() + self.hiadhpkind9 = record[176].strip() + self.hiadhpcode10 = record[177].strip() + self.hiadhpkind10 = record[178].strip() + self.hiadhpcode11 = record[179].strip() + self.hiadhpkind11 = record[180].strip() + self.hiadhpcode12 = record[181].strip() + self.hiadhpkind12 = record[182].strip() + self.hiadhpcode13 = record[183].strip() + self.hiadhpkind13 = record[184].strip() + self.hiadhpcode14 = record[185].strip() + self.hiadhpkind14 = record[186].strip() + self.hiadhpcode15 = record[187].strip() + self.hiadhpkind15 = record[188].strip() + self.hiadhpcode16 = record[189].strip() + self.hiadhpkind16 = record[190].strip() + self.hiadhpcode17 = record[191].strip() + self.hiadhpkind17 = record[192].strip() + self.hiadhpcode18 = record[193].strip() + self.hiadhpkind18 = record[194].strip() + self.hiadhpcode19 = record[195].strip() + self.hiadhpkind19 = record[196].strip() + self.hiadhpcode20 = record[197].strip() + self.hiadhpkind20 = record[198].strip() + self.hiadhpcode21 = record[199].strip() + self.hiadhpkind21 = record[200].strip() + self.hiadhpcode22 = record[201].strip() + self.hiadhpkind22 = record[202].strip() + self.hiadhpcode23 = record[203].strip() + self.hiadhpkind23 = record[204].strip() + self.hiadhpcode24 = record[205].strip() + self.hiadhpkind24 = record[206].strip() + self.hiadhpcode25 = record[207].strip() + self.hiadhpkind25 = record[208].strip() + self.hiadhpcode26 = record[209].strip() + self.hiadhpkind26 = record[210].strip() + self.hiadhpcode27 = record[211].strip() + self.hiadhpkind27 = record[212].strip() + self.hiadhpcode28 = record[213].strip() + self.hiadhpkind28 = record[214].strip() + self.hiadhpcode29 = record[215].strip() + self.hiadhpkind29 = record[216].strip() + self.hiadhpcode30 = record[217].strip() + self.hiadhpkind30 = record[218].strip() + self.hiadhpcode31 = record[219].strip() + self.hiadhpkind31 = record[220].strip() + self.hiadhpcode32 = record[221].strip() + self.hiadhpkind32 = record[222].strip() + self.hiadhpcode33 = record[223].strip() + self.hiadhpkind33 = record[224].strip() + self.hiadhpcode34 = record[225].strip() + self.hiadhpkind34 = record[226].strip() + self.hiadhpcode35 = record[227].strip() + self.hiadhpkind35 = record[228].strip() + self.hiadhpcode36 = record[229].strip() + self.hiadhpkind36 = record[230].strip() + self.hiadhpcode37 = record[231].strip() + self.hiadhpkind37 = record[232].strip() + self.hiadhpcode38 = record[233].strip() + self.hiadhpkind38 = record[234].strip() + self.hiadhpcode39 = record[235].strip() + self.hiadhpkind39 = record[236].strip() + self.hiadhpcode40 = record[237].strip() + self.hiadhpkind40 = record[238].strip() + + self.hitechhp_flag = record[239].strip() + self.hitechhpkind1 = record[240].strip() + self.hitechhpkind2 = record[241].strip() + self.hitechhpkind3 = record[242].strip() + self.hitechhpkind4 = record[243].strip() + self.hitechhpkind5 = record[244].strip() + self.hitechhpkind6 = record[245].strip() + self.hitechhpkind7 = record[246].strip() + self.hitechhpkind8 = record[247].strip() + self.hitechhpkind9 = record[248].strip() + self.hitechhpkind10 = record[249].strip() + self.hitechhpkind11 = record[250].strip() + self.hitechhpkind12 = record[251].strip() + self.hitechhpkind13 = record[252].strip() + self.hitechhpkind14 = record[253].strip() + self.hitechhpkind15 = record[254].strip() + self.hitechhpkind16 = record[255].strip() + self.hitechhpkind17 = record[256].strip() + self.hitechhpkind18 = record[257].strip() + self.hitechhpkind19 = record[258].strip() + self.hitechhpkind20 = record[259].strip() + + self.policy_medical_flag = record[260].strip() + self.policymedical_code01 = record[261].strip() + self.policymedical_content01 = record[262].strip() + self.policymedical_code02 = record[263].strip() + self.policymedical_content02 = record[264].strip() + self.policymedical_code03 = record[265].strip() + self.policymedical_content03 = record[266].strip() + self.policymedical_code04 = record[267].strip() + self.policymedical_content04 = record[268].strip() + self.policymedical_code05 = record[269].strip() + self.policymedical_content05 = record[270].strip() + self.policymedical_code06 = record[271].strip() + self.policymedical_content06 = record[272].strip() + self.policymedical_code07 = record[273].strip() + self.policymedical_content07 = record[274].strip() + self.policymedical_code08 = record[275].strip() + self.policymedical_content08 = record[276].strip() + self.policymedical_code09 = record[277].strip() + self.policymedical_content09 = record[278].strip() + self.policymedical_code10 = record[279].strip() + self.policymedical_content10 = record[280].strip() + self.policymedical_code11 = record[281].strip() + self.policymedical_content11 = record[282].strip() + self.policymedical_code12 = record[283].strip() + self.policymedical_content12 = record[284].strip() + self.policymedical_code13 = record[285].strip() + self.policymedical_content13 = record[286].strip() + self.policymedical_code14 = record[287].strip() + self.policymedical_content14 = record[288].strip() + self.policymedical_code15 = record[289].strip() + self.policymedical_content15 = record[290].strip() + self.policymedical_code16 = record[291].strip() + self.policymedical_content16 = record[292].strip() + self.policymedical_code17 = record[293].strip() + self.policymedical_content17 = record[294].strip() + self.policymedical_code18 = record[295].strip() + self.policymedical_content18 = record[296].strip() + self.policymedical_code19 = record[297].strip() + self.policymedical_content19 = record[298].strip() + self.policymedical_code20 = record[299].strip() + self.policymedical_content20 = record[300].strip() + + self.visitcarest_flag = record[301].strip() + self.visitcarestation_id = record[302].strip() + self.visitcarestation_code = record[303].strip() + self.visitcarestation_yobi = record[304].strip() + + self.open_date = record[305].strip() + + # DCFDSF施設コード + self.dcfdsf_inst_code = self.dcfhp_id + self.dcfhp_code + self.dcfhp_yobi + + # 療養型病床群 + self.resthp_items = [ + self.resthp_flag, + self.resthp_care_kind, + self.resthp_bed_num, + self.resthp_ok_date, + self.resthp_can_date, + self.resthp_care_nrs_kind, + self.resthp_care_bed_num, + self.resthp_care_ok_date, + self.resthp_care_can_date, + self.resthp_sbed_num + ] + + # 臨床研修指定病院リスト + self.cl_items = [ + self.clolyhp_kind, + self.clolyhp_ok_date, + self.clolyhp_can_date, + self.clhp_kind, + self.clhp_ok_date, + self.clhp_can_date, + self.cldephp_kind, + self.cldephp_ok_date, + self.cldephp_can_date + ] + + # smallint型のカラム値は、空文字で渡ってきた場合はNULLに変換する + self.areasuphp_intrate = self.areasuphp_intrate if len(self.areasuphp_intrate) > 0 else None + self.resthp_bed_num = self.resthp_bed_num if len(self.resthp_bed_num) > 0 else None + self.resthp_care_bed_num = self.resthp_care_bed_num if len(self.resthp_care_bed_num) > 0 else None + self.resthp_sbed_num = self.resthp_sbed_num if len(self.resthp_sbed_num) > 0 else None + self.nrmhp_bed_total_num = self.nrmhp_bed_total_num if len(self.nrmhp_bed_total_num) > 0 else None + self.menthp_bed_num = self.menthp_bed_num if len(self.menthp_bed_num) > 0 else None + self.tubhp_bed_num = self.tubhp_bed_num if len(self.tubhp_bed_num) > 0 else None + self.infhp_bed_num = self.infhp_bed_num if len(self.infhp_bed_num) > 0 else None + self.hospice_bed_num = self.hospice_bed_num if len(self.hospice_bed_num) > 0 else None diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_base.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_base.py new file mode 100644 index 00000000..fd9342ff --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_base.py @@ -0,0 +1,157 @@ +from src.batch.ultmarc.utmp_tables.tables.ultmarc_table import UltmarcTable + + +class ComPrefcMedBase(UltmarcTable): + """レイアウト区分132: COM_都道府県医療機能情報(基本)""" + dcfhp_id: str # DCFコード(レコードID) + dcfhp_code: str # DCFコード(施設コード) + dcfhp_yobi: str # DCFコード(予備) + maint_flag: str # 修正区分 + adddel_div: str # 予備/追加削除区分 + maint_date: str # メンテナンス年月日 + trn_date: str # 予備/転送年月日 + info_date: str # 情報年月日 + home_page: str # 案内用ホームページアドレス + hppre_flg: str # 院内処方フラグ + expre_flg: str # 院外処方フラグ + trial_flg: str # 治験の実施フラグ + trial_cont_count: str # 治験の実施_契約件数 + trial_whet_from: str # 治験の実施_期間自 + trial_whet_to: str # 治験の実施_期間至 + equipment_flg: str # 保有する施設設備フラグ + cos_disease_flg: str # 対応することができる疾患・治療の内容フラグ + cos_surgery: str # 対応することができる短期滞在手術フラグ + specialclinic_flg: str # 専門外来フラグ + establishment_flg: str # 地域医療連携体制_窓口設置フラグ + critical_flg: str # 地域医療連携体制_地域連携パスフラグ + cop_system: str # 入院診療計画策定時における院内の連携体制 + sys_exists_flg: str # オーダリングシステム_有無フラグ + sys_inspection: str # オーダリングシステム_検査 + sys_prescription: str # オーダリングシステム_処方 + sys_reserv: str # オーダリングシステム_予約 + icduse_flg: str # ICDコード利用フラグ + echart_flg: str # 電子カルテフラク + fulltime_flg: str # 専任従事者フラグ + fulltime_count: str # 専任従事者数 + ge_patient_avg: str # 病床患者数平均(一般) + mt_patient_avg: str # 病床患者数平均(療養) + mc_patient_avg: str # 病床患者数平均(療養(医療)) + ca_patient_avg: str # 病床患者数平均(療養(介護)) + pys_patient_avg: str # 病床患者数平均(精神) + tub_patient_avg: str # 病床患者数平均(結核) + inf_patient_avg: str # 病床患者数平均(感染症) + patient_avg_sum: str # 病床患者数平均(全体) + patient_avg_from: str # 病床患者数平均_期間自(病床種別) + patient_avg_to: str # 病床患者数平均_期間至(病床種別) + cl_patient_avg: str # 患者数平均(外来) + cl_patient_avg_from: str # 病床患者数平均_期間自(外来) + cl_patient_avg_to: str # 病床患者数平均_期間至(外来) + hm_patient_avg: str # 患者数平均(在宅) + hm_patient_avg_from: str # 病床患者数平均_期間自(在宅) + hm_patient_avg_to: str # 病床患者数平均_期間至(在宅) + ge_patient_ex: str # 患者数延数(一般) + mt_patient_ex: str # 患者数延数(療養) + mc_patient_ex: str # 病床患者数平均(療養(医療)) + ca_patient_ex: str # 病床患者数平均(療養(介護)) + pys_patient_ex: str # 患者数延数(精神) + tub_patient_ex: str # 患者数延数(結核) + inf_patient_ex: str # 患者数延数(感染症) + patient_ex_sum: str # 患者数延数(全体) + patient_ex_from: str # 患者数延数_期間自(病床種別) + patient_ex_to: str # 患者数延数_期間至(病床種別) + cl_patient_ex: str # 患者数延数(外来) + cl_patient_ex_from: str # 患者数延数_期間自(外来) + cl_patient_ex_to: str # 患者数延数_期間至(外来) + hm_patient_ex: str # 患者数延数(在宅) + hm_patient_ex_from: str # 患者数延数_期間自(在宅) + hm_patient_ex_to: str # 患者数延数_期間至(在宅) + ge_stay_avg: str # 平均在院日数(一般) + mt_stay_avg: str # 平均在院日数(療養) + mc_stay_avg: str # 平均在院日数(療養(医療)) + ca_stay_avg: str # 平均在院日数(療養(介護)) + pys_stay_avg: str # 平均在院日数(精神) + tub_stay_avg: str # 平均在院日数(結核) + inf_stay_avg: str # 平均在院日数(感染症) + stay_avg_sum: str # 平均在院日数(全体) + stay_avg_from: str # 平均在院日数_期間自 + stay_avg_to: str # 平均在院日数_期間至 + + dcfdsf_inst_code: str # DCFDSF施設コード + + def __init__(self, record: list[str]): + super().__init__(record) + self.dcfhp_id = record[1].strip() + self.dcfhp_code = record[2].strip() + self.dcfhp_yobi = record[3].strip() + self.maint_flag = record[4].strip() + self.adddel_div = record[5].strip() + self.maint_date = record[6].strip() + self.trn_date = record[7].strip() + self.info_date = record[8].strip() + self.home_page = record[9].strip() + self.hppre_flg = record[10].strip() + self.expre_flg = record[11].strip() + self.trial_flg = record[12].strip() + self.trial_cont_count = record[13].strip() + self.trial_whet_from = record[14].strip() + self.trial_whet_to = record[15].strip() + self.equipment_flg = record[16].strip() + self.cos_disease_flg = record[17].strip() + self.cos_surgery = record[18].strip() + self.specialclinic_flg = record[19].strip() + self.establishment_flg = record[20].strip() + self.critical_flg = record[21].strip() + self.cop_system = record[22].strip() + self.sys_exists_flg = record[23].strip() + self.sys_inspection = record[24].strip() + self.sys_prescription = record[25].strip() + self.sys_reserv = record[26].strip() + self.icduse_flg = record[27].strip() + self.echart_flg = record[28].strip() + self.fulltime_flg = record[29].strip() + self.fulltime_count = record[30].strip() + self.ge_patient_avg = record[31].strip() + self.mt_patient_avg = record[32].strip() + self.mc_patient_avg = record[33].strip() + self.ca_patient_avg = record[34].strip() + self.pys_patient_avg = record[35].strip() + self.tub_patient_avg = record[36].strip() + self.inf_patient_avg = record[37].strip() + self.patient_avg_sum = record[38].strip() + self.patient_avg_from = record[39].strip() + self.patient_avg_to = record[40].strip() + self.cl_patient_avg = record[41].strip() + self.cl_patient_avg_from = record[42].strip() + self.cl_patient_avg_to = record[43].strip() + self.hm_patient_avg = record[44].strip() + self.hm_patient_avg_from = record[45].strip() + self.hm_patient_avg_to = record[46].strip() + self.ge_patient_ex = record[47].strip() + self.mt_patient_ex = record[48].strip() + self.mc_patient_ex = record[49].strip() + self.ca_patient_ex = record[50].strip() + self.pys_patient_ex = record[51].strip() + self.tub_patient_ex = record[52].strip() + self.inf_patient_ex = record[53].strip() + self.patient_ex_sum = record[54].strip() + self.patient_ex_from = record[55].strip() + self.patient_ex_to = record[56].strip() + self.cl_patient_ex = record[57].strip() + self.cl_patient_ex_from = record[58].strip() + self.cl_patient_ex_to = record[59].strip() + self.hm_patient_ex = record[60].strip() + self.hm_patient_ex_from = record[61].strip() + self.hm_patient_ex_to = record[62].strip() + self.ge_stay_avg = record[63].strip() + self.mt_stay_avg = record[64].strip() + self.mc_stay_avg = record[65].strip() + self.ca_stay_avg = record[66].strip() + self.pys_stay_avg = record[67].strip() + self.tub_stay_avg = record[68].strip() + self.inf_stay_avg = record[69].strip() + self.stay_avg_sum = record[70].strip() + self.stay_avg_from = record[71].strip() + self.stay_avg_to = record[72].strip() + + # DCFDSF施設コード + self.dcfdsf_inst_code = ''.join([self.dcfhp_id, self.dcfhp_code, self.dcfhp_yobi]) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_dis_treat.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_dis_treat.py new file mode 100644 index 00000000..4e458fe0 --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_dis_treat.py @@ -0,0 +1,30 @@ +from src.batch.ultmarc.utmp_tables.tables.ultmarc_table import UltmarcTable + + +class ComPrefcMedDisTreat(UltmarcTable): + """レイアウト区分133: COM_都道府県医療機能情報(疾患治療)""" + dcfhp_id: str # DCFコード(レコードID) + dcfhp_code: str # DCFコード(施設コード) + dcfhp_yobi: str # DCFコード(予備) + treatment_code: str # 疾患治療コード + pre_num: str # 前年比 + adddel_div: str # 追加削除区分 + maint_flag: str # 修正区分 + + dcfdsf_inst_code: str # DCFDSF施設コード + + def __init__(self, record: list[str]): + super().__init__(record) + self.dcfhp_id = record[1] + self.dcfhp_code = record[2] + self.dcfhp_yobi = record[3].strip() + self.maint_flag = record[4] + self.treatment_code = record[5].strip() + self.adddel_div = record[6] + self.pre_num = record[9] + + # smallint型のカラム値は、空文字で渡ってきた場合はNULLに変換する + self.pre_num = self.pre_num if len(self.pre_num) > 0 else None + + # DCFDSF施設コード + self.dcfdsf_inst_code = ''.join([self.dcfhp_id, self.dcfhp_code, self.dcfhp_yobi]) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_equpment.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_equpment.py new file mode 100644 index 00000000..7b592b9d --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_equpment.py @@ -0,0 +1,30 @@ +from src.batch.ultmarc.utmp_tables.tables.ultmarc_table import UltmarcTable + + +class ComPrefcMedEqupment(UltmarcTable): + """レイアウト区分132: COM_都道府県医療機能情報(施設設備)""" + dcfhp_id: str # DCFコード(レコードID) + dcfhp_code: str # DCFコード(施設コード) + dcfhp_yobi: str # DCFコード(予備) + equipment_code: str # 施設設備コード + bed_num: str # 病床数 + adddel_div: str # 追加削除区分 + maint_flag: str # 修正区分 + + dcfdsf_inst_code: str # DCFDSF施設コード + + def __init__(self, record: list[str]): + super().__init__(record) + self.dcfhp_id = record[1] + self.dcfhp_code = record[2] + self.dcfhp_yobi = record[3].strip() + self.maint_flag = record[4] + self.equipment_code = record[5].strip() + self.adddel_div = record[6] + self.bed_num = record[9] + + # smallint型のカラム値は、空文字で渡ってきた場合はNULLに変換する + self.bed_num = self.bed_num if len(self.bed_num) > 0 else None + + # DCFDSF施設コード + self.dcfdsf_inst_code = ''.join([self.dcfhp_id, self.dcfhp_code, self.dcfhp_yobi]) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_sojourn_ope.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_sojourn_ope.py new file mode 100644 index 00000000..96b3ad0a --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_sojourn_ope.py @@ -0,0 +1,25 @@ +from src.batch.ultmarc.utmp_tables.tables.ultmarc_table import UltmarcTable + + +class ComPrefcMedSojournOpe(UltmarcTable): + """レイアウト区分132: COM_都道府県医療機能情報(短期滞在手術)""" + dcfhp_id: str # DCFコード(レコードID) + dcfhp_code: str # DCFコード(施設コード) + dcfhp_yobi: str # DCFコード(予備) + cos_surgery_code: str # 短期滞在手術コード + adddel_div: str # 追加削除区分 + maint_flag: str # 修正区分 + + dcfdsf_inst_code: str # DCFDSF施設コード + + def __init__(self, record: list[str]): + super().__init__(record) + self.dcfhp_id = record[1].strip() + self.dcfhp_code = record[2].strip() + self.dcfhp_yobi = record[3].strip() + self.maint_flag = record[4].strip() + self.cos_surgery_code = record[5].strip() + self.adddel_div = record[6].strip() + + # DCFDSF施設コード + self.dcfdsf_inst_code = ''.join([self.dcfhp_id, self.dcfhp_code, self.dcfhp_yobi]) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_sp_outpat.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_sp_outpat.py new file mode 100644 index 00000000..c26fc8e0 --- /dev/null +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/tables/com_prefc_med_sp_outpat.py @@ -0,0 +1,29 @@ +from src.batch.ultmarc.utmp_tables.tables.ultmarc_table import UltmarcTable + + +class ComPrefcMedSpOutpat(UltmarcTable): + """レイアウト区分136: COM_都道府県医療機能情報(専門外来)""" + dcfhp_id: str # DCFコード(レコードID) + dcfhp_code: str # DCFコード(施設コード) + dcfhp_yobi: str # DCFコード(予備) + specialclinic_name: str # 専門外来名 + sort_key: str # ソートキー + sectsub_cd: str # 分類補助コード + adddel_div: str # 追加削除区分 + maint_flag: str # 修正区分 + + dcfdsf_inst_code: str # DCFDSF施設コード + + def __init__(self, record: list[str]): + super().__init__(record) + self.dcfhp_id = record[1].strip() + self.dcfhp_code = record[2].strip() + self.dcfhp_yobi = record[3].strip() + self.maint_flag = record[4].strip() + self.specialclinic_name = record[5].strip() + self.adddel_div = record[6].strip() + self.sort_key = record[9].strip() + self.sectsub_cd = record[10].strip() + + # DCFDSF施設コード + self.dcfdsf_inst_code = ''.join([self.dcfhp_id, self.dcfhp_code, self.dcfhp_yobi]) diff --git a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/ultmarc_table_mapper_factory.py b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/ultmarc_table_mapper_factory.py index c6c8bc68..8f5771a2 100644 --- a/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/ultmarc_table_mapper_factory.py +++ b/ecs/jskult-batch-daily/src/batch/ultmarc/utmp_tables/ultmarc_table_mapper_factory.py @@ -30,6 +30,20 @@ from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_dr_mapper import \ ComDrMapper from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_dr_sosiety_mapper import \ ComDrSosietyMapper +from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_prefc_med_base_mapper import \ + ComPrefcMedBaseMapper +from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_prefc_med_equpment_mapper import \ + ComPrefcMedEqupmentMapper +from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_prefc_med_dis_treat_mapper import \ + ComPrefcMedDisTreatMapper +from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_prefc_med_sojourn_ope_mapper import \ + ComPrefcMedSojournOpeMapper +from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_prefc_med_sp_outpat_mapper import \ + ComPrefcMedSpOutpatMapper +from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_inst_att_mapper import \ + ComInstAttMapper +from src.batch.ultmarc.utmp_tables.table_mapper.concrete.com_cop_hp_mapper import \ + ComCopHpMapper from src.batch.ultmarc.utmp_tables.table_mapper.concrete.null_mapper import \ NullMapper @@ -39,9 +53,9 @@ COM_TABLE_LIST = { # COM_医師学会 "521": ComDrSosietyMapper, # COM_施設属性 - "111": NullMapper, + "111": ComInstAttMapper, # COM_臨床研修病院 - "112": NullMapper, + "112": ComCopHpMapper, # COM_医師 "501": ComDrMapper, # COM_施設 @@ -53,15 +67,15 @@ COM_TABLE_LIST = { # COM_専門分野 "511": ComSpFieldMapper, # COM_都道府県医療機能情報(基本) - "132": NullMapper, + "132": ComPrefcMedBaseMapper, # COM_都道府県医療機能情報(施設設備) - "133": NullMapper, + "133": ComPrefcMedEqupmentMapper, # COM_都道府県医療機能情報(疾患治療) - "134": NullMapper, + "134": ComPrefcMedDisTreatMapper, # COM_都道府県医療機能情報(短期滞在手術) - "135": NullMapper, + "135": ComPrefcMedSojournOpeMapper, # COM_都道府県医療機能情報(専門外来) - "136": NullMapper, + "136": ComPrefcMedSpOutpatMapper, # COM_診療科目 "001": NullMapper, # COM_病院種別 diff --git a/ecs/jskult-batch-daily/src/jobctrl_daily.py b/ecs/jskult-batch-daily/src/jobctrl_daily.py index cb1cf9e1..2614ab22 100644 --- a/ecs/jskult-batch-daily/src/jobctrl_daily.py +++ b/ecs/jskult-batch-daily/src/jobctrl_daily.py @@ -8,7 +8,7 @@ from src.batch.batch_functions import ( from src.batch.common.batch_context import BatchContext from src.batch.common.calendar_file import CalendarFile from src.batch.dcf_inst_merge import create_dcf_inst_merge -from src.batch.laundering import create_mst_inst +from src.batch.laundering mst_inst_laundering from src.batch.ultmarc import ultmarc_process from src.error.exceptions import BatchOperationException from src.logging.get_logger import get_logger @@ -92,7 +92,7 @@ def exec(): try: logger.info('メルク施設マスタ作成:起動') - create_mst_inst.exec() + mst_inst_laundering.exec() logger.info('メルク施設マスタ作成:終了') except BatchOperationException as e: logger.exception(f'メルク施設マスタ作成 エラー(異常終了){e}') diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/__init__.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/com_cop_hp_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/com_cop_hp_delete.csv new file mode 100644 index 00000000..bc912e04 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/com_cop_hp_delete.csv @@ -0,0 +1,3 @@ +"112","00","9901649","","B","00","1101813","","2013","1","20170328","20170401","" +"112","00","9904439","","B","00","1101135","","2013","1","20170328","20170401","" +"112","00","9904439","","B","00","1101717","","2013","1","20170328","20170401","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/com_cop_hp_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/com_cop_hp_insert.csv new file mode 100644 index 00000000..37706281 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/com_cop_hp_insert.csv @@ -0,0 +1,7 @@ +"112","00","9901649","","A","00","1101813","","2013","2","20141113","20141114","1" +"112","00","9901649","","A","00","1101813","","2014","2","20141113","20141114","1" +"112","00","9904439","","A","00","1101135","","2013","2","20141113","20141114","2" +"112","00","9904439","","A","00","1101135","","2014","2","20141113","20141114","2" +"112","00","9904439","","A","00","1101717","","2013","2","20141113","20141114","1" +"112","00","9904439","","A","00","1101717","","2014","2","20141113","20141114","1" +"112","99","9999999","99","A","11","1111111","11","2023","0","20141113","20141114","1" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/com_cop_hp_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/com_cop_hp_update.csv new file mode 100644 index 00000000..cecbf3a3 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/com_cop_hp_update.csv @@ -0,0 +1,4 @@ +"112","00","9901649","","B","00","1101813","","2013","3","20141113","20141114","1" +"112","00","9901649","","B","00","1101813","","2014","4","20141113","20141114","1" +"112","99","9999999","99","B","11","1111111","11","2014","4","20141113","20141114","123" +"112","99","9999999","00","B","11","1111111","11","2014","4","20141113","20141114","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/db_com_cop_hp_before_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/db_com_cop_hp_before_delete.csv new file mode 100644 index 00000000..536cd1c2 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/db_com_cop_hp_before_delete.csv @@ -0,0 +1,7 @@ +"dcf_dsf_inst_cd","cophp_cd","openyear","adddel_div","sortkey","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","001101813","2013","NULL","1","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/11 21:20:37","clsComCopHp" +"009901649","001101813","2014","NULL","1","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/11 21:20:37","clsComCopHp" +"009904439","001101135","2013","NULL","2","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101135","2014","NULL","2","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101717","2013","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101717","2014","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/db_com_cop_hp_before_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/db_com_cop_hp_before_update.csv new file mode 100644 index 00000000..42519300 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/db_com_cop_hp_before_update.csv @@ -0,0 +1,9 @@ +"dcf_dsf_inst_cd","cophp_cd","openyear","adddel_div","sortkey","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","001101813","2013","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009901649","001101813","2014","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101135","2013","NULL","2","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101135","2014","NULL","2","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101717","2013","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101717","2014","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"99999999999","11111111111","2014","NULL","0","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"99999999900","11111111111","2014","NULL","0","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/expect_com_cop_hp_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/expect_com_cop_hp_delete.csv new file mode 100644 index 00000000..efcda970 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/expect_com_cop_hp_delete.csv @@ -0,0 +1,4 @@ +"dcf_dsf_inst_cd","cophp_cd","openyear","adddel_div","sortkey","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","001101813","2014","NULL","1","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/11 21:20:37","clsComCopHp" +"009904439","001101135","2014","NULL","2","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101717","2014","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/expect_com_cop_hp_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/expect_com_cop_hp_insert.csv new file mode 100644 index 00000000..8864ba3f --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/expect_com_cop_hp_insert.csv @@ -0,0 +1,8 @@ +"dcf_dsf_inst_cd","cophp_cd","openyear","adddel_div","sortkey","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","001101813","2013","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2023/05/08 20:39:15","com_cop_hp_mapper","2023/05/08 20:39:15","com_cop_hp_mapper" +"009901649","001101813","2014","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2023/05/08 20:39:15","com_cop_hp_mapper","2023/05/08 20:39:15","com_cop_hp_mapper" +"009904439","001101135","2013","NULL","2","20171008","NULL","NULL","NULL","NULL","NULL","2023/05/08 20:39:15","com_cop_hp_mapper","2023/05/08 20:39:15","com_cop_hp_mapper" +"009904439","001101135","2014","NULL","2","20171008","NULL","NULL","NULL","NULL","NULL","2023/05/08 20:39:15","com_cop_hp_mapper","2023/05/08 20:39:15","com_cop_hp_mapper" +"009904439","001101717","2013","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2023/05/08 20:39:15","com_cop_hp_mapper","2023/05/08 20:39:15","com_cop_hp_mapper" +"009904439","001101717","2014","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2023/05/08 20:39:15","com_cop_hp_mapper","2023/05/08 20:39:15","com_cop_hp_mapper" +"99999999999","11111111111","2023","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2023/05/08 20:39:15","com_cop_hp_mapper","2023/05/08 20:39:15","com_cop_hp_mapper" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/expect_com_cop_hp_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/expect_com_cop_hp_update.csv new file mode 100644 index 00000000..0ab83cfa --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/expect_com_cop_hp_update.csv @@ -0,0 +1,9 @@ +"dcf_dsf_inst_cd","cophp_cd","openyear","adddel_div","sortkey","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","001101813","2013","NULL","1","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2023/05/10 07:49:28","com_cop_hp_mapper" +"009901649","001101813","2014","NULL","1","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2023/05/10 07:49:28","com_cop_hp_mapper" +"009904439","001101135","2013","NULL","2","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101135","2014","NULL","2","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101717","2013","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"009904439","001101717","2014","NULL","1","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" +"99999999999","11111111111","2014","NULL","123","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2023/05/10 07:57:12","com_cop_hp_mapper" +"99999999900","11111111111","2014","NULL","0","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComCopHp","2017/10/08 20:57:12","clsComCopHp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/test_com_cop_hp_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/test_com_cop_hp_mapper.py new file mode 100644 index 00000000..29b840e2 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_cop_hp/test_com_cop_hp_mapper.py @@ -0,0 +1,248 @@ +import os.path as path +from datetime import datetime + +import pytest + +from src.batch.common.batch_context import BatchContext +from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_cop_hp_mapper +from src.db.database import Database +from tests.testing_utility import (assert_table_results, + create_db_data_from_csv, + create_delete_sql_with_parameter, + create_insert_sql_with_parameter, + create_ultmarc_table_mapper_sut, + create_ultmarc_test_data_from_csv) + + +class TestComCopHpMapper: + """レイアウト区分112: COM_臨床研修病院""" + + db: Database + batch_context: BatchContext + test_file_path: str = path.dirname(__file__) + + @pytest.fixture(autouse=True, scope='function') + def pre_test(self, database: Database): + """テスト実行前後処理""" + self.batch_context = BatchContext.get_instance() + # setup + self.db = database + self.db.connect() + self.db.begin() + + # testing + yield + + # teardown + self.db.rollback() + self.db.disconnect() + + def test_insert_record(self): + """ + Cases: + COM_臨床研修病院テーブルにレコードを登録する + Arranges: + - CSVデータを用意し、読み込む + - 追加対象となるレコードを削除する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_cop_hp_insert.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_cop_hp', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_cop_hp_mapper.ComCopHpMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_cop_hp_mapper.ComCopHpMapper, f'{line_number}行目:マッパークラスが期通りか' + + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_cop_hp_insert.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_cophp_cd = [{'cophp_cd': columns['cophp_cd']} for columns in expect_data_list] + primary_keys_openyear = [{'openyear': columns['openyear']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_cop_hp + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + cophp_cd = :cophp_cd + AND + openyear = :openyear + """ + for param_dcf_pcf_dr_cd, param_cophp_cd, param_openyear in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_cophp_cd, primary_keys_openyear): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_pcf_dr_cd, **param_cophp_cd, **param_openyear}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['regist_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ['regist_ymd', 'sys_regist_date', 'sys_update_date']: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_update_record(self): + """ + Cases: + COM_臨床研修病院テーブルのレコードを更新する + Arranges: + - CSVデータを用意し、読み込む + - 更新対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_cop_hp_update.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_cop_hp', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_cop_hp_before_update.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_cop_hp', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_cop_hp_mapper.ComCopHpMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_cop_hp_mapper.ComCopHpMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_cop_hp_update.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_cophp_cd = [{'cophp_cd': columns['cophp_cd']} for columns in expect_data_list] + primary_keys_openyear = [{'openyear': columns['openyear']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_cop_hp + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + cophp_cd = :cophp_cd + AND + openyear = :openyear + """ + for param_dcf_pcf_dr_cd, param_cophp_cd, param_openyear in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_cophp_cd, primary_keys_openyear): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_pcf_dr_cd, **param_cophp_cd, **param_openyear}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_logical_delete(self): + """ + Cases: + COM_臨床研修病院テーブルのレコードを1件論理削除する + Arranges: + - CSVデータを用意し、読み込む + - 削除対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_cop_hp_delete.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_cop_hp', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_cop_hp_before_delete.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_cop_hp', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_cop_hp_mapper.ComCopHpMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_cop_hp_mapper.ComCopHpMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_cop_hp_delete.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_cophp_cd = [{'cophp_cd': columns['cophp_cd']} for columns in expect_data_list] + primary_keys_openyear = [{'openyear': columns['openyear']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_cop_hp + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + cophp_cd = :cophp_cd + AND + openyear = :openyear + """ + for param_dcf_pcf_dr_cd, param_cophp_cd, param_openyear in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_cophp_cd, primary_keys_openyear): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_pcf_dr_cd, **param_cophp_cd, **param_openyear}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'delete_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst/test_com_inst_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst/test_com_inst_mapper.py index 84fc58e8..4c4058d8 100644 --- a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst/test_com_inst_mapper.py +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst/test_com_inst_mapper.py @@ -28,13 +28,13 @@ class TestComInstMapper: # setup self.db = database self.db.connect() - # self.db.begin() + self.db.begin() # testing yield # teardown - # self.db.rollback() + self.db.rollback() self.db.disconnect() def test_insert_record(self): diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/__init__.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/com_inst_att_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/com_inst_att_delete.csv new file mode 100644 index 00000000..baf15d84 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/com_inst_att_delete.csv @@ -0,0 +1,6 @@ +"111","123","456789","99","B","1","NULL","NULL","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303" +"111","00","9900146","","B","1","20160905","20160910","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"111","00","9900615","","B","1","20160905","20160910","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"111","00","9901806","","B","1","20160905","20160910","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"111","00","9901918","","B","1","20160905","20160910","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"111","00","9904136","","B","1","20160905","20160910","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/com_inst_att_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/com_inst_att_insert.csv new file mode 100644 index 00000000..57045790 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/com_inst_att_insert.csv @@ -0,0 +1,20 @@ +"111","123","456789","99","A","0","NULL","NULL","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303" +"111","00","9900146","","A","2","20141113","20141114","1","20080701","","","","","1","20100401","","","","","1","","20011022","","1","20130501","","1","20130501","","1","20130501","","1","20130501","","1","20130501","","1","20130501","","","","20081130","1","20130501","","1","99","","","","","","","","","","","","","","","","","","","","1","20130501","","1","20140401","","1","20130501","","1","01","02","03","04","","","","","","","1","20130501","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","1","4","","","","","","","","","","","20040229","1","20031030","","1","20050914","","1","1","","1","","","","","","1","20090401","","","","1","217","5","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","31","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195604" +"111","00","9900194","","A","2","20141113","20141114","1","20060501","","","","","","","","","","","","","","20111231","","","","","","","1","20130801","","1","20140501","","1","20120401","","","","","","","","","","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20091101","","1","20131101","","1","01","02","03","","","","","","","","1","20080601","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","08","20130705","","","","","","","20110331","1","20040331","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198204" +"111","00","9900615","","A","2","20141113","20141114","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"111","00","9900631","","A","2","20141113","20141114","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20120401","","1","20060401","","1","19971001","","","1","1","3991","6","19990930","","","","","","6","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"111","00","9900700","","A","2","20141113","20141114","1","20100701","","","","","1","20100401","","","","","1","","20080514","","1","20080401","","","","","1","20140401","","1","20061101","","1","20080401","","1","20120601","","","","","1","20080601","","1","99","","","","","","","","","","","","","","","","","","","","1","20061101","","1","20061101","","1","20080401","","1","01","02","03","","","","","","","","1","20061101","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","1","4","","","","","","","","20061118","1","20030401","","","","","1","20031030","","1","1","1","1","","","","","","","","","","","1","169","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","31","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195310" +"111","00","9901649","","A","2","20141113","20141114","","","","1","2009","","","","","","","","","","","","","","","","","","1","20121201","","1","20080901","","","","20080331","","","","","","","1","20080701","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","","","","1","01","02","03","","","","","","","","1","19970701","","1","20130101","","1","20060401","","","","","1","9","1","I001","43","20061001","","","","","","43","1","B999","120","","","","","","","","","","","","","","","","1","12","20131101","","","","","","","","","","","","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198004" +"111","00","9901806","","A","2","20141113","20141114","1","20090401","","","","","1","20100401","","","","","1","","20130806","","1","20080401","","","","","1","20131101","","1","20000401","","1","20080401","","","","","","","","1","20130901","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20020401","","1","20110701","","1","01","02","03","","","","","","","","1","19960401","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","1","8","","","","20010731","1","13","20140502","","","","20040229","1","20031030","","1","20031030","","1","1","","1","","","","","","","","","1","1","1","202","1","198","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","31","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195011" +"111","00","9901820","","A","2","20141113","20141114","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","19981130","1","20030601","","","","","1","01","02","","","","","","","","","","","","1","20140301","","","","","","","","1","1","1","","","","","4101","116","20090501","","116","1","B999","40","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","196405" +"111","00","9901918","","A","2","20141113","20141114","","","","","","","","","","","","","1","84.6","20020218","","","","","","","","1","20130901","","1","20051001","","1","20120101","","","","","","","","1","19780401","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","","","20070531","","","","1","01","02","03","04","","","","","","","","","20070228","","","","","","","","","","1","1","1","I002","84","20120101","","","","","","84","1","B999","177","","","","","","","","","","","","","","","","1","11","20110506","","","","","","","","","","","","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","3404537","","196601" +"111","00","9902043","","A","2","20141113","20141114","1","20140401","","","","20140331","","","","","","","","","","","","","","","","","1","20130501","","1","20100401","","1","20100401","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20100601","","","","","1","20100401","","1","01","02","","","","","","","","","","","","","","","","","","","","","1","9","1","I002","48","20110401","","","","","","48","1","B999","224","1","M999","40","1","K999","4","","","1","1","4","","","","","","","","","","","","","","","1","20040331","","1","1","","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","201004" +"111","00","9902175","","A","2","20141113","20141114","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20111001","","1","20111001","","1","20111001","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20110331","","","","","1","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","199704" +"111","00","9902728","","A","2","20141113","20141114","1","20090401","","","","","","","","","","","","","","","","","","","","","1","20140401","","1","20140401","","1","20120801","","","","","1","20100401","","","","20040131","1","99","","","","","","","","","","","","","","","","","","","","1","20040214","","1","20100801","","1","20120401","","1","01","02","03","04","","","","","","","1","20030801","","","","","","","","","","","","","","","","","20040430","","","","20040430","","","","","","","","","","","","","","","","","","","","1","08","20121207","","","","","","","","1","20080919","","","1","1","","","","","","","","","","1","1","1","198","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","5303814","","198005" +"111","00","9903500","","A","2","20141113","20141114","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","2","9","1","I001","26","20061001","","","","","","26","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198912" +"111","00","9904136","","A","2","20141113","20141114","1","20080701","","","","","","","","","","","1","","20111125","","1","20110401","","1","20130501","","1","20120601","","1","20110401","","1","20110401","","","","","","","","1","20110401","","1","99","","","","","","","","","","","","","","","","","","","","1","20110401","","1","20110801","","1","20110401","","1","01","02","03","04","","","","","","","1","20110401","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","1","1","1","10","","","","","1","13","20140307","","","","","1","19990401","","1","20040331","","1","1","1","1","","","","","","","","","1","","1","228","5","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195208" +"111","00","9904439","","A","2","20141113","20141114","1","20060401","","","","","","","20100331","","","","1","97.9","20041105","","","","","","","","1","20130401","","1","20140401","","1","20100701","","","","","","","","1","20020201","","1","99","","","","","","","","","","","","","","","","","","","","1","20140401","","1","20140401","","","","","1","01","02","03","","","","","","","","1","20131101","","","","","","","","","","","1","1","1","I001","54","20120401","","","","","20040930","54","1","B999","450","","","","","","","","","","","","1","21","20130901","","1","13","20130906","","","","","1","20041001","","","","","1","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198812" +"111","00","9906696","","A","2","20141113","20141114","1","20060601","","","","","","","","","","","1","","20100401","","1","20080401","","","","","1","20140401","","1","20020401","","1","20080701","","","","","","","","1","20090401","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20040501","","","","20081130","1","01","02","03","04","","","","","","","1","19970901","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","13","20140404","","","","","1","20031030","","1","20031027","","","1","1","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","8106522","","199708" +"111","00","9908576","","A","2","20141113","20141114","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","1","20080401","","","","","","","","","","","","","","","","","","20070831","","","20070831","","","","2","9","1","I001","33","20130401","","","","","","33","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","200704" +"111","00","9910624","","A","2","20141113","20141114","1","20030401","","","","","1","20120401","","1","19940201","","","","","","1","20120401","","","","","","","","1","20121201","","1","20090701","","1","20061101","","","","","","","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20140401","","1","20140401","","1","01","02","03","04","","","","","","","1","20140401","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","08","20100402","","","","20060331","1","20041001","","1","20040331","","1","1","1","","","1","2","20070702","","","","","1","1","1","002","1","006","1","051","4","004","1","100","2","165","1","035","1","168","1","118","1","101","1","182","","202","1","214","5","149","","197","1","198","","177","1","183","1","213","5","217","5","212","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","31","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","192202" +"111","00","9929798","","A","2","20141113","20141114","1","20080701","","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20090301","","1","20100401","","","","20080531","","","","1","19971201","","","","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","1","20080401","","1","01","02","03","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","13","20140106","","","","","","","","1","20040331","","","1","1","","","","","","","","","","1","1","1","168","1","197","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195305" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/com_inst_att_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/com_inst_att_update.csv new file mode 100644 index 00000000..ad999396 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/com_inst_att_update.csv @@ -0,0 +1,5 @@ +"111","123","456789","99","A","0","NULL","NULL","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303" +"111","00","9900631","","B","","20141113","20141114","1","20171009","","1","2017","20171009","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","@","","","@","","","","","","","@","@","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","3","","","","","","","","","","","","","","","","","","","","1","1","2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","0","12","","20","" +"111","00","9901649","","B","","20141113","20141114","","","","1","2009","20171010","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","201710" +"111","00","9990146","","B","","20171113","20171114","@","","","@","","","@","","","@","","","@","","","","@","","","@","","","@","","","@","","","@","","","@","","","@","","","@","","","@","","","","","","","","","","","","","","","","","","","","","@","","","@","","","@","","","@","","","","","","","","","","","@","","","@","","","@","","","@","","","@","@","@","","","","","","","","","","@","","","@","","","@","","","@","","","@","","@","","","","@","","","","@","","","","","","","","","@","@","","","@","@","","","","@","","","@","@","@","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","@","","","","","","","","","","","","","","","","","","","","","@","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","@","","","","@" +"111","99","9999999","99","B","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/db_com_inst_att_before_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/db_com_inst_att_before_delete.csv new file mode 100644 index 00000000..ba1b07af --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/db_com_inst_att_before_delete.csv @@ -0,0 +1,23 @@ +"dcf_dsf_inst_cd","dpc_flag","dpc_specday","dpc_cancelday","predpc_flag","predpc_specday","predpc_cancelday","cancer_flag","cancer_specday","cancer_cancelday","funchpflag","funchpokdate","funchpcandate","areasuphpflag","areasuphpintrate","areasuphpokdate","areasuphpcandate","acuthpaddflag","acuthpaddokdate","acuthpaddcandate","genadmisiionflag","genadmisiionfokdate","genadmisiionfcandate","assistanceflag","assistanceokdate","assistancecandate","diagnosistreatment_flag","diagnosistreatment_specday","diagnosistreatment_cancelday","safety_flag","safety_specday","safety_cancelday","highrisk_flag","highrisk_specday","highrisk_cancelday","infantandholiday_flag","infantandholiday_specday","infantandholiday_cancelday","ophpflag","ophpokdate","ophpcandate","critical_flag","critical_code01","critical_code02","critical_code03","critical_code04","critical_code05","critical_code06","critical_code07","critical_code08","critical_code09","critical_code10","critical_code11","critical_code12","critical_code13","critical_code14","critical_code15","critical_code16","critical_code17","critical_code18","critical_code19","critical_code20","drgmgthpflag","drgmgthpokdate","drgmgthpcandate","imagediagnosis_flag","imagediagnosis_specifiedday","imagediagnosis_cancelday","chemotherapy_flag","chemotherapy_specday","chemotherapy_cancelday","rehabilitation_flag","rehabilitation_code01","rehabilitation_code02","rehabilitation_code03","rehabilitation_code04","rehabilitation_code05","rehabilitation_code06","rehabilitation_code07","rehabilitation_code08","rehabilitation_code09","rehabilitation_code10","anesthetizingmanage_flag","anesthetizingmanage_specday","anesthetizingmanage_cancelday","homerecuperation_flag","homerecuperation_specday","homerecuperation_cancelday","synthesiswhenstaying_flag","synthesiswhenstaying_specday","synthesiswhenstaying_cancelday","homelateflag","homelateokday","homelatecanday","caremixkind","fullmoveflag","resthpflag","resthpcarekind","resthpbednum","resthpokdate","resthpcandate","resthpcarenrskind","resthpcarebednum","resthpcareokdate","resthpcarecandate","resthpsbednum","nrmhpflag","nrmhpcarekind","nrmhpbedtotalnum","menthpflag","menthpcarekind","menthpbednum","tubhpflag","tubhpcarekind","tubhpbednum","infhpflag","infhpflag1","infhpflag2","infhpbedflag","infhpbednum","hospiceflag","hospicebednum","hospiceokdate","hospicecandate","hpfuncestflag","hpfuncestkind","hpfuncestokdate","hpfuncestcandate","clolyhpkind","clolyhpokdate","clolyhpcandate","clhpkind","clhpokdate","clhpcandate","cldephpkind","cldephpokdate","cldephpcandate","disasthpflag","d1emerhpflag","d2emerhpflag","d3emerhpflag","emergencyclinic","trialcoreflag","trialcore_div","trialcoreokdate","trialcorecandate","dementiaflag","dementiaokdate","dementiacandate","sphealth_exploration","sphealth_guidance","hiadhpflag","hiadhpcode1","hiadhpkind1","hiadhpcode2","hiadhpkind2","hiadhpcode3","hiadhpkind3","hiadhpcode4","hiadhpkind4","hiadhpcode5","hiadhpkind5","hiadhpcode6","hiadhpkind6","hiadhpcode7","hiadhpkind7","hiadhpcode8","hiadhpkind8","hiadhpcode9","hiadhpkind9","hiadhpcode10","hiadhpkind10","hiadhpcode11","hiadhpkind11","hiadhpcode12","hiadhpkind12","hiadhpcode13","hiadhpkind13","hiadhpcode14","hiadhpkind14","hiadhpcode15","hiadhpkind15","hiadhpcode16","hiadhpkind16","hiadhpcode17","hiadhpkind17","hiadhpcode18","hiadhpkind18","hiadhpcode19","hiadhpkind19","hiadhpcode20","hiadhpkind20","hiadhpcode21","hiadhpkind21","hiadhpcode22","hiadhpkind22","hiadhpcode23","hiadhpkind23","hiadhpcode24","hiadhpkind24","hiadhpcode25","hiadhpkind25","hiadhpcode26","hiadhpkind26","hiadhpcode27","hiadhpkind27","hiadhpcode28","hiadhpkind28","hiadhpcode29","hiadhpkind29","hiadhpcode30","hiadhpkind30","hiadhpcode31","hiadhpkind31","hiadhpcode32","hiadhpkind32","hiadhpcode33","hiadhpkind33","hiadhpcode34","hiadhpkind34","hiadhpcode35","hiadhpkind35","hiadhpcode36","hiadhpkind36","hiadhpcode37","hiadhpkind37","hiadhpcode38","hiadhpkind38","hiadhpcode39","hiadhpkind39","hiadhpcode40","hiadhpkind40","hitechhpflag","hitechhpkind1","hitechhpkind2","hitechhpkind3","hitechhpkind4","hitechhpkind5","hitechhpkind6","hitechhpkind7","hitechhpkind8","hitechhpkind9","hitechhpkind10","hitechhpkind11","hitechhpkind12","hitechhpkind13","hitechhpkind14","hitechhpkind15","hitechhpkind16","hitechhpkind17","hitechhpkind18","hitechhpkind19","hitechhpkind20","policymedical_flag","policymedical_code01","policymedical_content01","policymedical_code02","policymedical_content02","policymedical_code03","policymedical_content03","policymedical_code04","policymedical_content04","policymedical_code05","policymedical_content05","policymedical_code06","policymedical_content06","policymedical_code07","policymedical_content07","policymedical_code08","policymedical_content08","policymedical_code09","policymedical_content09","policymedical_code10","policymedical_content10","policymedical_code11","policymedical_content11","policymedical_code12","policymedical_content12","policymedical_code13","policymedical_content13","policymedical_code14","policymedical_content14","policymedical_code15","policymedical_content15","policymedical_code16","policymedical_content16","policymedical_code17","policymedical_content17","policymedical_code18","policymedical_content18","policymedical_code19","policymedical_content19","policymedical_code20","policymedical_content20","visitcarestflag","visitcarestation_id","visitcarestation_code","visitcarestation_yobi","opendate","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"12345678999","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303","20230509","20230509","NULL","NULL","NULL","NULL","2023/05/09 10:10:10","com_inst_att_mapper","2023/05/09 10:10:10","com_inst_att_mapper" +"99999999999","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303","20230509","20230509","NULL","NULL","NULL","NULL","2023/05/09 10:10:10","com_inst_att_mapper","2023/05/09 10:10:10","com_inst_att_mapper" +"009900146","1","20171009","20171009","2","2017","20171009","3","20171009","20171009","4","19940928","20171009","5","99.9","20171009","20171009","6","20120401","20171009","7","20171009","20171009","8","20171009","20171009","9","20121201","20171009","A","20090701","20171009","B","20061101","20171009","C","20171009","20171009","D","20171009","20171009","E","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","F","20100401","20171009","G","20140401","20171009","H","20140401","20171009","I","01","02","03","04","05","06","07","08","09","10","J","20140401","20171009","K","20171009","20171009","L","20171009","20171009","M","20171009","20171009","N","O","P","1234","9999","20171009","20171009","2234","8888","20171009","20171009","7777","Q","3234","6666","R","4234","5555","S","5234","4444","T","T","T","U","3333","V","2222","20171009","20171009","W","08","20100402","20171009","X","20171009","20060331","1","20041001","20171009","1","20040331","20171009","Y","Z","Z","Z","1","2","2","20070702","20171009","3","20171009","20171009","4","5","6","001","1","002","1","003","1","004","1","005","1","006","1","007","1","008","1","009","1","010","1","011","1","012","1","013","1","014","1","015","1","016","1","017","1","018","1","019","1","020","1","021","1","022","1","023","1","024","1","025","1","026","1","027","1","028","1","029","1","030","1","031","1","032","1","033","1","034","1","035","1","036","1","037","1","038","1","039","1","040","1","7","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","8","A1","1","A2","1","A3","1","A4","1","A5","1","A6","1","A7","1","A8","1","A9","1","B0","1","B1","1","B2","1","B3","1","B4","1","B5","1","B6","1","B7","1","B8","1","B9","1","C0","1","9","00","1234567","","192202","20171008","20171009","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/09 18:23:21","clsComInstAtt" +"009900194","1","20060501","","","","","","","","","","","","NULL","","20111231","","","","","","","1","20130801","","1","20140501","","1","20120401","","","","","","","","","","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20091101","","1","20131101","","1","01","02","03","","","","","","","","1","20080601","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","08","20130705","","","","","","","20110331","1","20040331","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198204","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009900615","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009900631","1","20171009","","1","2017","20171009","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NULL","NULL","NULL","NULL","NULL","NULL","1","19971001","","","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","3","","","","","","","","","","","","","","","","","","","","1","1","2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","0","12","","20","","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/11 20:39:02","clsComInstAtt" +"009900700","1","20100701","","","","","1","20100401","","","","","1","NULL","20080514","","1","20080401","","","","","1","20140401","","1","20061101","","1","20080401","","1","20120601","","","","","1","20080601","","1","99","","","","","","","","","","","","","","","","","","","","1","20061101","","1","20061101","","1","20080401","","1","01","02","03","","","","","","","","1","20061101","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","1","1","4","","NULL","","","","","","20061118","1","20030401","","","","","1","20031030","","1","1","1","1","","","","","","","","","","","1","169","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","31","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195310","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009901649","","","","1","2009","20171010","","","","","","","","NULL","","","","","","","","","1","20121201","","1","20080901","","","","20080331","","","","","","","1","20080701","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","","","","1","01","02","03","","","","","","","","1","19970701","","1","20130101","","1","20060401","","","","","1","9","1","I001","43","20061001","","","NULL","","","43","1","B999","120","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","12","20131101","","","","","","","","","","","","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","201710","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/11 20:39:02","clsComInstAtt" +"009901806","1","20090401","","","","","1","20100401","","","","","1","NULL","20130806","","1","20080401","","","","","1","20131101","","1","20000401","","1","20080401","","","","","","","","1","20130901","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20020401","","1","20110701","","1","01","02","03","","","","","","","","1","19960401","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","1","1","8","","NULL","","20010731","1","13","20140502","","","","20040229","1","20031030","","1","20031030","","1","1","","1","","","","","","","","","1","1","1","202","1","198","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","31","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195011","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009901820","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","19981130","1","20030601","","","","","1","01","02","","","","","","","","","","","","1","20140301","","","","","","","","1","1","1","","NULL","","","4101","116","20090501","","116","1","B999","40","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","1","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","196405","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009901918","","","","","","","","","","","","","1","84.6","20020218","","","","","","","","1","20130901","","1","20051001","","1","20120101","","","","","","","","1","19780401","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","","","20070531","","","","1","01","02","03","04","","","","","","","","","20070228","","","","","","","","","","1","1","1","I002","84","20120101","","","NULL","","","84","1","B999","177","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","11","20110506","","","","","","","","","","","","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","3404537","","196601","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009902043","1","20140401","","","","20140331","","","","","","","","NULL","","","","","","","","","1","20130501","","1","20100401","","1","20100401","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20100601","","","","","1","20100401","","1","01","02","","","","","","","","","","","","","","","","","","","","","1","9","1","I002","48","20110401","","","NULL","","","48","1","B999","224","1","M999","40","1","K999","4","","","1","1","4","","NULL","","","","","","","","","","","","","1","20040331","","1","1","","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","201004","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009902175","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20111001","","1","20111001","","1","20111001","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","20110331","","","","","1","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","199704","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009902728","1","20090401","","","","","","","","","","","","NULL","","","","","","","","","1","20140401","","1","20140401","","1","20120801","","","","","1","20100401","","","","20040131","1","99","","","","","","","","","","","","","","","","","","","","1","20040214","","1","20100801","","1","20120401","","1","01","02","03","04","","","","","","","1","20030801","","","","","","","","","","","","","","","NULL","","20040430","","NULL","","20040430","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","08","20121207","","","","","","","","1","20080919","","","1","1","","","","","","","","","","1","1","1","198","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","5303814","","198005","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009903500","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","2","9","1","I001","26","20061001","","","NULL","","","26","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198912","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009904136","1","20080701","","","","","","","","","","","1","NULL","20111125","","1","20110401","","1","20130501","","1","20120601","","1","20110401","","1","20110401","","","","","","","","1","20110401","","1","99","","","","","","","","","","","","","","","","","","","","1","20110401","","1","20110801","","1","20110401","","1","01","02","03","04","","","","","","","1","20110401","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","1","1","1","1","10","","NULL","","","1","13","20140307","","","","","1","19990401","","1","20040331","","1","1","1","1","","","","","","","","","1","","1","228","5","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195208","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009904439","1","20060401","","","","","","","20100331","","","","1","97.9","20041105","","","","","","","","1","20130401","","1","20140401","","1","20100701","","","","","","","","1","20020201","","1","99","","","","","","","","","","","","","","","","","","","","1","20140401","","1","20140401","","","","","1","01","02","03","","","","","","","","1","20131101","","","","","","","","","","","1","1","1","I001","54","20120401","","","NULL","","20040930","54","1","B999","450","","","NULL","","","NULL","","","","","NULL","1","21","20130901","","1","13","20130906","","","","","1","20041001","","","","","1","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198812","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009906696","1","20060601","","","","","","","","","","","1","NULL","20100401","","1","20080401","","","","","1","20140401","","1","20020401","","1","20080701","","","","","","","","1","20090401","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20040501","","","","20081130","1","01","02","03","04","","","","","","","1","19970901","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","13","20140404","","","","","1","20031030","","1","20031027","","","1","1","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","8106522","","199708","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009908576","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","1","20080401","","","","","","","","","","","","","","","","","","20070831","","","20070831","","","","2","9","1","I001","33","20130401","","","NULL","","","33","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","200704","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009910624","1","20030401","","","","","1","20120401","","1","19940201","","","NULL","","","1","20120401","","","","","","","","1","20121201","","1","20090701","","1","20061101","","","","","","","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20140401","","1","20140401","","1","01","02","03","04","","","","","","","1","20140401","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","08","20100402","","","","20060331","1","20041001","","1","20040331","","1","1","1","","","1","2","20070702","","","","","1","1","1","002","1","006","1","051","4","004","1","100","2","165","1","035","1","168","1","118","1","101","1","182","","202","1","214","5","149","","197","1","198","","177","1","183","1","213","5","217","5","212","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","31","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","192202","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009929798","1","20080701","","","","","","","","","","","","NULL","","","","","","","","","1","20100401","","1","20090301","","1","20100401","","","","20080531","","","","1","19971201","","","","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","1","20080401","","1","01","02","03","","","","","","","","","","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","13","20140106","","","","","","","","1","20040331","","","1","1","","","","","","","","","","1","1","1","168","1","197","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195305","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009990146","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20171009","20171011","NULL","NULL","NULL","NULL","2017/10/09 18:31:09","clsComInstAtt","2017/10/11 20:39:02","clsComInstAtt" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/db_com_inst_att_before_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/db_com_inst_att_before_update.csv new file mode 100644 index 00000000..b867c731 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/db_com_inst_att_before_update.csv @@ -0,0 +1,6 @@ +"dcf_dsf_inst_cd","dpc_flag","dpc_specday","dpc_cancelday","predpc_flag","predpc_specday","predpc_cancelday","cancer_flag","cancer_specday","cancer_cancelday","funchpflag","funchpokdate","funchpcandate","areasuphpflag","areasuphpintrate","areasuphpokdate","areasuphpcandate","acuthpaddflag","acuthpaddokdate","acuthpaddcandate","genadmisiionflag","genadmisiionfokdate","genadmisiionfcandate","assistanceflag","assistanceokdate","assistancecandate","diagnosistreatment_flag","diagnosistreatment_specday","diagnosistreatment_cancelday","safety_flag","safety_specday","safety_cancelday","highrisk_flag","highrisk_specday","highrisk_cancelday","infantandholiday_flag","infantandholiday_specday","infantandholiday_cancelday","ophpflag","ophpokdate","ophpcandate","critical_flag","critical_code01","critical_code02","critical_code03","critical_code04","critical_code05","critical_code06","critical_code07","critical_code08","critical_code09","critical_code10","critical_code11","critical_code12","critical_code13","critical_code14","critical_code15","critical_code16","critical_code17","critical_code18","critical_code19","critical_code20","drgmgthpflag","drgmgthpokdate","drgmgthpcandate","imagediagnosis_flag","imagediagnosis_specifiedday","imagediagnosis_cancelday","chemotherapy_flag","chemotherapy_specday","chemotherapy_cancelday","rehabilitation_flag","rehabilitation_code01","rehabilitation_code02","rehabilitation_code03","rehabilitation_code04","rehabilitation_code05","rehabilitation_code06","rehabilitation_code07","rehabilitation_code08","rehabilitation_code09","rehabilitation_code10","anesthetizingmanage_flag","anesthetizingmanage_specday","anesthetizingmanage_cancelday","homerecuperation_flag","homerecuperation_specday","homerecuperation_cancelday","synthesiswhenstaying_flag","synthesiswhenstaying_specday","synthesiswhenstaying_cancelday","homelateflag","homelateokday","homelatecanday","caremixkind","fullmoveflag","resthpflag","resthpcarekind","resthpbednum","resthpokdate","resthpcandate","resthpcarenrskind","resthpcarebednum","resthpcareokdate","resthpcarecandate","resthpsbednum","nrmhpflag","nrmhpcarekind","nrmhpbedtotalnum","menthpflag","menthpcarekind","menthpbednum","tubhpflag","tubhpcarekind","tubhpbednum","infhpflag","infhpflag1","infhpflag2","infhpbedflag","infhpbednum","hospiceflag","hospicebednum","hospiceokdate","hospicecandate","hpfuncestflag","hpfuncestkind","hpfuncestokdate","hpfuncestcandate","clolyhpkind","clolyhpokdate","clolyhpcandate","clhpkind","clhpokdate","clhpcandate","cldephpkind","cldephpokdate","cldephpcandate","disasthpflag","d1emerhpflag","d2emerhpflag","d3emerhpflag","emergencyclinic","trialcoreflag","trialcore_div","trialcoreokdate","trialcorecandate","dementiaflag","dementiaokdate","dementiacandate","sphealth_exploration","sphealth_guidance","hiadhpflag","hiadhpcode1","hiadhpkind1","hiadhpcode2","hiadhpkind2","hiadhpcode3","hiadhpkind3","hiadhpcode4","hiadhpkind4","hiadhpcode5","hiadhpkind5","hiadhpcode6","hiadhpkind6","hiadhpcode7","hiadhpkind7","hiadhpcode8","hiadhpkind8","hiadhpcode9","hiadhpkind9","hiadhpcode10","hiadhpkind10","hiadhpcode11","hiadhpkind11","hiadhpcode12","hiadhpkind12","hiadhpcode13","hiadhpkind13","hiadhpcode14","hiadhpkind14","hiadhpcode15","hiadhpkind15","hiadhpcode16","hiadhpkind16","hiadhpcode17","hiadhpkind17","hiadhpcode18","hiadhpkind18","hiadhpcode19","hiadhpkind19","hiadhpcode20","hiadhpkind20","hiadhpcode21","hiadhpkind21","hiadhpcode22","hiadhpkind22","hiadhpcode23","hiadhpkind23","hiadhpcode24","hiadhpkind24","hiadhpcode25","hiadhpkind25","hiadhpcode26","hiadhpkind26","hiadhpcode27","hiadhpkind27","hiadhpcode28","hiadhpkind28","hiadhpcode29","hiadhpkind29","hiadhpcode30","hiadhpkind30","hiadhpcode31","hiadhpkind31","hiadhpcode32","hiadhpkind32","hiadhpcode33","hiadhpkind33","hiadhpcode34","hiadhpkind34","hiadhpcode35","hiadhpkind35","hiadhpcode36","hiadhpkind36","hiadhpcode37","hiadhpkind37","hiadhpcode38","hiadhpkind38","hiadhpcode39","hiadhpkind39","hiadhpcode40","hiadhpkind40","hitechhpflag","hitechhpkind1","hitechhpkind2","hitechhpkind3","hitechhpkind4","hitechhpkind5","hitechhpkind6","hitechhpkind7","hitechhpkind8","hitechhpkind9","hitechhpkind10","hitechhpkind11","hitechhpkind12","hitechhpkind13","hitechhpkind14","hitechhpkind15","hitechhpkind16","hitechhpkind17","hitechhpkind18","hitechhpkind19","hitechhpkind20","policymedical_flag","policymedical_code01","policymedical_content01","policymedical_code02","policymedical_content02","policymedical_code03","policymedical_content03","policymedical_code04","policymedical_content04","policymedical_code05","policymedical_content05","policymedical_code06","policymedical_content06","policymedical_code07","policymedical_content07","policymedical_code08","policymedical_content08","policymedical_code09","policymedical_content09","policymedical_code10","policymedical_content10","policymedical_code11","policymedical_content11","policymedical_code12","policymedical_content12","policymedical_code13","policymedical_content13","policymedical_code14","policymedical_content14","policymedical_code15","policymedical_content15","policymedical_code16","policymedical_content16","policymedical_code17","policymedical_content17","policymedical_code18","policymedical_content18","policymedical_code19","policymedical_content19","policymedical_code20","policymedical_content20","visitcarestflag","visitcarestation_id","visitcarestation_code","visitcarestation_yobi","opendate","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"12345678999","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20171009","20171011","NULL","NULL","NULL","NULL","2017/10/09 18:31:09","clsComInstAtt","2017/10/11 20:39:02","clsComInstAtt" +"009900631","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20120401","","1","20060401","","1","19971001","","","1","1","3991","6","19990930","","","NULL","","","6","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009901649","","","","1","2009","","","","","","","","","NULL","","","","","","","","","1","20121201","","1","20080901","","","","20080331","","","","","","","1","20080701","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","","","","1","01","02","03","","","","","","","","1","19970701","","1","20130101","","1","20060401","","","","","1","9","1","I001","43","20061001","","","NULL","","","43","1","B999","120","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","12","20131101","","","","","","","","","","","","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198004","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009990146","1","20171009","20171009","2","2017","20171009","3","20171009","20171009","4","19940928","20171009","5","99.9","20171009","20171009","6","20120401","20171009","7","20171009","20171009","8","20171009","20171009","9","20121201","20171009","A","20090701","20171009","B","20061101","20171009","C","20171009","20171009","D","20171009","20171009","E","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","F","20100401","20171009","G","20140401","20171009","H","20140401","20171009","I","01","02","03","04","05","06","07","08","09","10","J","20140401","20171009","K","20171009","20171009","L","20171009","20171009","M","20171009","20171009","N","O","P","1234","9999","20171009","20171009","2234","8888","20171009","20171009","7777","Q","3234","6666","R","4234","5555","S","5234","4444","T","T","T","U","3333","V","2222","20171009","20171009","W","08","20100402","20171009","X","20171009","20060331","1","20041001","20171009","1","20040331","20171009","Y","Z","Z","Z","1","2","2","20070702","20171009","3","20171009","20171009","4","5","6","001","1","002","1","003","1","004","1","005","1","006","1","007","1","008","1","009","1","010","1","011","1","012","1","013","1","014","1","015","1","016","1","017","1","018","1","019","1","020","1","021","1","022","1","023","1","024","1","025","1","026","1","027","1","028","1","029","1","030","1","031","1","032","1","033","1","034","1","035","1","036","1","037","1","038","1","039","1","040","1","7","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","8","A1","1","A2","1","A3","1","A4","1","A5","1","A6","1","A7","1","A8","1","A9","1","B0","1","B1","1","B2","1","B3","1","B4","1","B5","1","B6","1","B7","1","B8","1","B9","1","C0","1","9","00","1234567","","192202","20171009","NULL","NULL","NULL","NULL","NULL","2017/10/09 18:31:09","clsComInstAtt","2017/10/09 18:31:09","clsComInstAtt" +"99999999999","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303","20171009","20230509","NULL","NULL","NULL","NULL","2017/10/09 18:31:09","aaaa","2023/05/09 10:10:10","aaaa" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/expect_com_inst_att_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/expect_com_inst_att_delete.csv new file mode 100644 index 00000000..9c17fa45 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/expect_com_inst_att_delete.csv @@ -0,0 +1,17 @@ +"dcf_dsf_inst_cd","dpc_flag","dpc_specday","dpc_cancelday","predpc_flag","predpc_specday","predpc_cancelday","cancer_flag","cancer_specday","cancer_cancelday","funchpflag","funchpokdate","funchpcandate","areasuphpflag","areasuphpintrate","areasuphpokdate","areasuphpcandate","acuthpaddflag","acuthpaddokdate","acuthpaddcandate","genadmisiionflag","genadmisiionfokdate","genadmisiionfcandate","assistanceflag","assistanceokdate","assistancecandate","diagnosistreatment_flag","diagnosistreatment_specday","diagnosistreatment_cancelday","safety_flag","safety_specday","safety_cancelday","highrisk_flag","highrisk_specday","highrisk_cancelday","infantandholiday_flag","infantandholiday_specday","infantandholiday_cancelday","ophpflag","ophpokdate","ophpcandate","critical_flag","critical_code01","critical_code02","critical_code03","critical_code04","critical_code05","critical_code06","critical_code07","critical_code08","critical_code09","critical_code10","critical_code11","critical_code12","critical_code13","critical_code14","critical_code15","critical_code16","critical_code17","critical_code18","critical_code19","critical_code20","drgmgthpflag","drgmgthpokdate","drgmgthpcandate","imagediagnosis_flag","imagediagnosis_specifiedday","imagediagnosis_cancelday","chemotherapy_flag","chemotherapy_specday","chemotherapy_cancelday","rehabilitation_flag","rehabilitation_code01","rehabilitation_code02","rehabilitation_code03","rehabilitation_code04","rehabilitation_code05","rehabilitation_code06","rehabilitation_code07","rehabilitation_code08","rehabilitation_code09","rehabilitation_code10","anesthetizingmanage_flag","anesthetizingmanage_specday","anesthetizingmanage_cancelday","homerecuperation_flag","homerecuperation_specday","homerecuperation_cancelday","synthesiswhenstaying_flag","synthesiswhenstaying_specday","synthesiswhenstaying_cancelday","homelateflag","homelateokday","homelatecanday","caremixkind","fullmoveflag","resthpflag","resthpcarekind","resthpbednum","resthpokdate","resthpcandate","resthpcarenrskind","resthpcarebednum","resthpcareokdate","resthpcarecandate","resthpsbednum","nrmhpflag","nrmhpcarekind","nrmhpbedtotalnum","menthpflag","menthpcarekind","menthpbednum","tubhpflag","tubhpcarekind","tubhpbednum","infhpflag","infhpflag1","infhpflag2","infhpbedflag","infhpbednum","hospiceflag","hospicebednum","hospiceokdate","hospicecandate","hpfuncestflag","hpfuncestkind","hpfuncestokdate","hpfuncestcandate","clolyhpkind","clolyhpokdate","clolyhpcandate","clhpkind","clhpokdate","clhpcandate","cldephpkind","cldephpokdate","cldephpcandate","disasthpflag","d1emerhpflag","d2emerhpflag","d3emerhpflag","emergencyclinic","trialcoreflag","trialcore_div","trialcoreokdate","trialcorecandate","dementiaflag","dementiaokdate","dementiacandate","sphealth_exploration","sphealth_guidance","hiadhpflag","hiadhpcode1","hiadhpkind1","hiadhpcode2","hiadhpkind2","hiadhpcode3","hiadhpkind3","hiadhpcode4","hiadhpkind4","hiadhpcode5","hiadhpkind5","hiadhpcode6","hiadhpkind6","hiadhpcode7","hiadhpkind7","hiadhpcode8","hiadhpkind8","hiadhpcode9","hiadhpkind9","hiadhpcode10","hiadhpkind10","hiadhpcode11","hiadhpkind11","hiadhpcode12","hiadhpkind12","hiadhpcode13","hiadhpkind13","hiadhpcode14","hiadhpkind14","hiadhpcode15","hiadhpkind15","hiadhpcode16","hiadhpkind16","hiadhpcode17","hiadhpkind17","hiadhpcode18","hiadhpkind18","hiadhpcode19","hiadhpkind19","hiadhpcode20","hiadhpkind20","hiadhpcode21","hiadhpkind21","hiadhpcode22","hiadhpkind22","hiadhpcode23","hiadhpkind23","hiadhpcode24","hiadhpkind24","hiadhpcode25","hiadhpkind25","hiadhpcode26","hiadhpkind26","hiadhpcode27","hiadhpkind27","hiadhpcode28","hiadhpkind28","hiadhpcode29","hiadhpkind29","hiadhpcode30","hiadhpkind30","hiadhpcode31","hiadhpkind31","hiadhpcode32","hiadhpkind32","hiadhpcode33","hiadhpkind33","hiadhpcode34","hiadhpkind34","hiadhpcode35","hiadhpkind35","hiadhpcode36","hiadhpkind36","hiadhpcode37","hiadhpkind37","hiadhpcode38","hiadhpkind38","hiadhpcode39","hiadhpkind39","hiadhpcode40","hiadhpkind40","hitechhpflag","hitechhpkind1","hitechhpkind2","hitechhpkind3","hitechhpkind4","hitechhpkind5","hitechhpkind6","hitechhpkind7","hitechhpkind8","hitechhpkind9","hitechhpkind10","hitechhpkind11","hitechhpkind12","hitechhpkind13","hitechhpkind14","hitechhpkind15","hitechhpkind16","hitechhpkind17","hitechhpkind18","hitechhpkind19","hitechhpkind20","policymedical_flag","policymedical_code01","policymedical_content01","policymedical_code02","policymedical_content02","policymedical_code03","policymedical_content03","policymedical_code04","policymedical_content04","policymedical_code05","policymedical_content05","policymedical_code06","policymedical_content06","policymedical_code07","policymedical_content07","policymedical_code08","policymedical_content08","policymedical_code09","policymedical_content09","policymedical_code10","policymedical_content10","policymedical_code11","policymedical_content11","policymedical_code12","policymedical_content12","policymedical_code13","policymedical_content13","policymedical_code14","policymedical_content14","policymedical_code15","policymedical_content15","policymedical_code16","policymedical_content16","policymedical_code17","policymedical_content17","policymedical_code18","policymedical_content18","policymedical_code19","policymedical_content19","policymedical_code20","policymedical_content20","visitcarestflag","visitcarestation_id","visitcarestation_code","visitcarestation_yobi","opendate","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900194","1","20060501","","","","","","","","","","","","NULL","","20111231","","","","","","","1","20130801","","1","20140501","","1","20120401","","","","","","","","","","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20091101","","1","20131101","","1","01","02","03","","","","","","","","1","20080601","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","08","20130705","","","","","","","20110331","1","20040331","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198204","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009900631","1","20171009","","1","2017","20171009","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NULL","NULL","NULL","NULL","NULL","NULL","1","19971001","","","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","3","","","","","","","","","","","","","","","","","","","","1","1","2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","0","12","","20","","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/11 20:39:02","clsComInstAtt" +"009900700","1","20100701","","","","","1","20100401","","","","","1","NULL","20080514","","1","20080401","","","","","1","20140401","","1","20061101","","1","20080401","","1","20120601","","","","","1","20080601","","1","99","","","","","","","","","","","","","","","","","","","","1","20061101","","1","20061101","","1","20080401","","1","01","02","03","","","","","","","","1","20061101","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","1","1","4","","NULL","","","","","","20061118","1","20030401","","","","","1","20031030","","1","1","1","1","","","","","","","","","","","1","169","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","31","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195310","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009901649","","","","1","2009","20171010","","","","","","","","NULL","","","","","","","","","1","20121201","","1","20080901","","","","20080331","","","","","","","1","20080701","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","","","","1","01","02","03","","","","","","","","1","19970701","","1","20130101","","1","20060401","","","","","1","9","1","I001","43","20061001","","","NULL","","","43","1","B999","120","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","12","20131101","","","","","","","","","","","","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","201710","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/11 20:39:02","clsComInstAtt" +"009901820","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","19981130","1","20030601","","","","","1","01","02","","","","","","","","","","","","1","20140301","","","","","","","","1","1","1","","NULL","","","4101","116","20090501","","116","1","B999","40","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","1","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","196405","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009902043","1","20140401","","","","20140331","","","","","","","","NULL","","","","","","","","","1","20130501","","1","20100401","","1","20100401","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20100601","","","","","1","20100401","","1","01","02","","","","","","","","","","","","","","","","","","","","","1","9","1","I002","48","20110401","","","NULL","","","48","1","B999","224","1","M999","40","1","K999","4","","","1","1","4","","NULL","","","","","","","","","","","","","1","20040331","","1","1","","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","201004","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009902175","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20111001","","1","20111001","","1","20111001","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","20110331","","","","","1","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","199704","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009902728","1","20090401","","","","","","","","","","","","NULL","","","","","","","","","1","20140401","","1","20140401","","1","20120801","","","","","1","20100401","","","","20040131","1","99","","","","","","","","","","","","","","","","","","","","1","20040214","","1","20100801","","1","20120401","","1","01","02","03","04","","","","","","","1","20030801","","","","","","","","","","","","","","","NULL","","20040430","","NULL","","20040430","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","08","20121207","","","","","","","","1","20080919","","","1","1","","","","","","","","","","1","1","1","198","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","5303814","","198005","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009903500","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","2","9","1","I001","26","20061001","","","NULL","","","26","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198912","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009904439","1","20060401","","","","","","","20100331","","","","1","97.9","20041105","","","","","","","","1","20130401","","1","20140401","","1","20100701","","","","","","","","1","20020201","","1","99","","","","","","","","","","","","","","","","","","","","1","20140401","","1","20140401","","","","","1","01","02","03","","","","","","","","1","20131101","","","","","","","","","","","1","1","1","I001","54","20120401","","","NULL","","20040930","54","1","B999","450","","","NULL","","","NULL","","","","","NULL","1","21","20130901","","1","13","20130906","","","","","1","20041001","","","","","1","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198812","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009906696","1","20060601","","","","","","","","","","","1","NULL","20100401","","1","20080401","","","","","1","20140401","","1","20020401","","1","20080701","","","","","","","","1","20090401","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20040501","","","","20081130","1","01","02","03","04","","","","","","","1","19970901","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","13","20140404","","","","","1","20031030","","1","20031027","","","1","1","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","8106522","","199708","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009908576","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","1","20080401","","","","","","","","","","","","","","","","","","20070831","","","20070831","","","","2","9","1","I001","33","20130401","","","NULL","","","33","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","200704","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009910624","1","20030401","","","","","1","20120401","","1","19940201","","","NULL","","","1","20120401","","","","","","","","1","20121201","","1","20090701","","1","20061101","","","","","","","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20140401","","1","20140401","","1","01","02","03","04","","","","","","","1","20140401","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","08","20100402","","","","20060331","1","20041001","","1","20040331","","1","1","1","","","1","2","20070702","","","","","1","1","1","002","1","006","1","051","4","004","1","100","2","165","1","035","1","168","1","118","1","101","1","182","","202","1","214","5","149","","197","1","198","","177","1","183","1","213","5","217","5","212","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","31","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","192202","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009929798","1","20080701","","","","","","","","","","","","NULL","","","","","","","","","1","20100401","","1","20090301","","1","20100401","","","","20080531","","","","1","19971201","","","","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","1","20080401","","1","01","02","03","","","","","","","","","","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","13","20140106","","","","","","","","1","20040331","","","1","1","","","","","","","","","","1","1","1","168","1","197","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195305","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2017/10/08 20:57:12","clsComInstAtt" +"009990146","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20171009","20171011","NULL","NULL","NULL","NULL","2017/10/09 18:31:09","clsComInstAtt","2017/10/11 20:39:02","clsComInstAtt" +"99999999999","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303","20230509","20230509","NULL","NULL","NULL","NULL","2023/05/09 10:10:10","com_inst_att_mapper","2023/05/09 10:10:10","com_inst_att_mapper" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/expect_com_inst_att_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/expect_com_inst_att_insert.csv new file mode 100644 index 00000000..264abcbe --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/expect_com_inst_att_insert.csv @@ -0,0 +1,21 @@ +"dcf_dsf_inst_cd","dpc_flag","dpc_specday","dpc_cancelday","predpc_flag","predpc_specday","predpc_cancelday","cancer_flag","cancer_specday","cancer_cancelday","funchpflag","funchpokdate","funchpcandate","areasuphpflag","areasuphpintrate","areasuphpokdate","areasuphpcandate","acuthpaddflag","acuthpaddokdate","acuthpaddcandate","genadmisiionflag","genadmisiionfokdate","genadmisiionfcandate","assistanceflag","assistanceokdate","assistancecandate","diagnosistreatment_flag","diagnosistreatment_specday","diagnosistreatment_cancelday","safety_flag","safety_specday","safety_cancelday","highrisk_flag","highrisk_specday","highrisk_cancelday","infantandholiday_flag","infantandholiday_specday","infantandholiday_cancelday","ophpflag","ophpokdate","ophpcandate","critical_flag","critical_code01","critical_code02","critical_code03","critical_code04","critical_code05","critical_code06","critical_code07","critical_code08","critical_code09","critical_code10","critical_code11","critical_code12","critical_code13","critical_code14","critical_code15","critical_code16","critical_code17","critical_code18","critical_code19","critical_code20","drgmgthpflag","drgmgthpokdate","drgmgthpcandate","imagediagnosis_flag","imagediagnosis_specifiedday","imagediagnosis_cancelday","chemotherapy_flag","chemotherapy_specday","chemotherapy_cancelday","rehabilitation_flag","rehabilitation_code01","rehabilitation_code02","rehabilitation_code03","rehabilitation_code04","rehabilitation_code05","rehabilitation_code06","rehabilitation_code07","rehabilitation_code08","rehabilitation_code09","rehabilitation_code10","anesthetizingmanage_flag","anesthetizingmanage_specday","anesthetizingmanage_cancelday","homerecuperation_flag","homerecuperation_specday","homerecuperation_cancelday","synthesiswhenstaying_flag","synthesiswhenstaying_specday","synthesiswhenstaying_cancelday","homelateflag","homelateokday","homelatecanday","caremixkind","fullmoveflag","resthpflag","resthpcarekind","resthpbednum","resthpokdate","resthpcandate","resthpcarenrskind","resthpcarebednum","resthpcareokdate","resthpcarecandate","resthpsbednum","nrmhpflag","nrmhpcarekind","nrmhpbedtotalnum","menthpflag","menthpcarekind","menthpbednum","tubhpflag","tubhpcarekind","tubhpbednum","infhpflag","infhpflag1","infhpflag2","infhpbedflag","infhpbednum","hospiceflag","hospicebednum","hospiceokdate","hospicecandate","hpfuncestflag","hpfuncestkind","hpfuncestokdate","hpfuncestcandate","clolyhpkind","clolyhpokdate","clolyhpcandate","clhpkind","clhpokdate","clhpcandate","cldephpkind","cldephpokdate","cldephpcandate","disasthpflag","d1emerhpflag","d2emerhpflag","d3emerhpflag","emergencyclinic","trialcoreflag","trialcore_div","trialcoreokdate","trialcorecandate","dementiaflag","dementiaokdate","dementiacandate","sphealth_exploration","sphealth_guidance","hiadhpflag","hiadhpcode1","hiadhpkind1","hiadhpcode2","hiadhpkind2","hiadhpcode3","hiadhpkind3","hiadhpcode4","hiadhpkind4","hiadhpcode5","hiadhpkind5","hiadhpcode6","hiadhpkind6","hiadhpcode7","hiadhpkind7","hiadhpcode8","hiadhpkind8","hiadhpcode9","hiadhpkind9","hiadhpcode10","hiadhpkind10","hiadhpcode11","hiadhpkind11","hiadhpcode12","hiadhpkind12","hiadhpcode13","hiadhpkind13","hiadhpcode14","hiadhpkind14","hiadhpcode15","hiadhpkind15","hiadhpcode16","hiadhpkind16","hiadhpcode17","hiadhpkind17","hiadhpcode18","hiadhpkind18","hiadhpcode19","hiadhpkind19","hiadhpcode20","hiadhpkind20","hiadhpcode21","hiadhpkind21","hiadhpcode22","hiadhpkind22","hiadhpcode23","hiadhpkind23","hiadhpcode24","hiadhpkind24","hiadhpcode25","hiadhpkind25","hiadhpcode26","hiadhpkind26","hiadhpcode27","hiadhpkind27","hiadhpcode28","hiadhpkind28","hiadhpcode29","hiadhpkind29","hiadhpcode30","hiadhpkind30","hiadhpcode31","hiadhpkind31","hiadhpcode32","hiadhpkind32","hiadhpcode33","hiadhpkind33","hiadhpcode34","hiadhpkind34","hiadhpcode35","hiadhpkind35","hiadhpcode36","hiadhpkind36","hiadhpcode37","hiadhpkind37","hiadhpcode38","hiadhpkind38","hiadhpcode39","hiadhpkind39","hiadhpcode40","hiadhpkind40","hitechhpflag","hitechhpkind1","hitechhpkind2","hitechhpkind3","hitechhpkind4","hitechhpkind5","hitechhpkind6","hitechhpkind7","hitechhpkind8","hitechhpkind9","hitechhpkind10","hitechhpkind11","hitechhpkind12","hitechhpkind13","hitechhpkind14","hitechhpkind15","hitechhpkind16","hitechhpkind17","hitechhpkind18","hitechhpkind19","hitechhpkind20","policymedical_flag","policymedical_code01","policymedical_content01","policymedical_code02","policymedical_content02","policymedical_code03","policymedical_content03","policymedical_code04","policymedical_content04","policymedical_code05","policymedical_content05","policymedical_code06","policymedical_content06","policymedical_code07","policymedical_content07","policymedical_code08","policymedical_content08","policymedical_code09","policymedical_content09","policymedical_code10","policymedical_content10","policymedical_code11","policymedical_content11","policymedical_code12","policymedical_content12","policymedical_code13","policymedical_content13","policymedical_code14","policymedical_content14","policymedical_code15","policymedical_content15","policymedical_code16","policymedical_content16","policymedical_code17","policymedical_content17","policymedical_code18","policymedical_content18","policymedical_code19","policymedical_content19","policymedical_code20","policymedical_content20","visitcarestflag","visitcarestation_id","visitcarestation_code","visitcarestation_yobi","opendate","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","1","20080701","","","","","1","20100401","","","","","1","NULL","20011022","","1","20130501","","1","20130501","","1","20130501","","1","20130501","","1","20130501","","1","20130501","","","","20081130","1","20130501","","1","99","","","","","","","","","","","","","","","","","","","","1","20130501","","1","20140401","","1","20130501","","1","01","02","03","04","","","","","","","1","20130501","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","1","1","4","","NULL","","","","","","","","","20040229","1","20031030","","1","20050914","","1","1","","1","","","","","","1","20090401","","","","1","217","5","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","31","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195604","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009900194","1","20060501","","","","","","","","","","","","NULL","","20111231","","","","","","","1","20130801","","1","20140501","","1","20120401","","","","","","","","","","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20091101","","1","20131101","","1","01","02","03","","","","","","","","1","20080601","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","08","20130705","","","","","","","20110331","1","20040331","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198204","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009900615","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009900631","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20120401","","1","20060401","","1","19971001","","","1","1","3991","6","19990930","","","NULL","","","6","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009900700","1","20100701","","","","","1","20100401","","","","","1","NULL","20080514","","1","20080401","","","","","1","20140401","","1","20061101","","1","20080401","","1","20120601","","","","","1","20080601","","1","99","","","","","","","","","","","","","","","","","","","","1","20061101","","1","20061101","","1","20080401","","1","01","02","03","","","","","","","","1","20061101","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","1","1","4","","NULL","","","","","","20061118","1","20030401","","","","","1","20031030","","1","1","1","1","","","","","","","","","","","1","169","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","31","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195310","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009901649","","","","1","2009","","","","","","","","","NULL","","","","","","","","","1","20121201","","1","20080901","","","","20080331","","","","","","","1","20080701","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","","","","1","01","02","03","","","","","","","","1","19970701","","1","20130101","","1","20060401","","","","","1","9","1","I001","43","20061001","","","NULL","","","43","1","B999","120","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","12","20131101","","","","","","","","","","","","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198004","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009901806","1","20090401","","","","","1","20100401","","","","","1","NULL","20130806","","1","20080401","","","","","1","20131101","","1","20000401","","1","20080401","","","","","","","","1","20130901","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20020401","","1","20110701","","1","01","02","03","","","","","","","","1","19960401","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","1","1","8","","NULL","","20010731","1","13","20140502","","","","20040229","1","20031030","","1","20031030","","1","1","","1","","","","","","","","","1","1","1","202","1","198","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","31","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195011","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009901820","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","19981130","1","20030601","","","","","1","01","02","","","","","","","","","","","","1","20140301","","","","","","","","1","1","1","","NULL","","","4101","116","20090501","","116","1","B999","40","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","1","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","196405","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009901918","","","","","","","","","","","","","1","84.6","20020218","","","","","","","","1","20130901","","1","20051001","","1","20120101","","","","","","","","1","19780401","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","","","20070531","","","","1","01","02","03","04","","","","","","","","","20070228","","","","","","","","","","1","1","1","I002","84","20120101","","","NULL","","","84","1","B999","177","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","11","20110506","","","","","","","","","","","","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","3404537","","196601","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009902043","1","20140401","","","","20140331","","","","","","","","NULL","","","","","","","","","1","20130501","","1","20100401","","1","20100401","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20100601","","","","","1","20100401","","1","01","02","","","","","","","","","","","","","","","","","","","","","1","9","1","I002","48","20110401","","","NULL","","","48","1","B999","224","1","M999","40","1","K999","4","","","1","1","4","","NULL","","","","","","","","","","","","","1","20040331","","1","1","","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","201004","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009902175","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20111001","","1","20111001","","1","20111001","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","20110331","","","","","1","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","199704","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009902728","1","20090401","","","","","","","","","","","","NULL","","","","","","","","","1","20140401","","1","20140401","","1","20120801","","","","","1","20100401","","","","20040131","1","99","","","","","","","","","","","","","","","","","","","","1","20040214","","1","20100801","","1","20120401","","1","01","02","03","04","","","","","","","1","20030801","","","","","","","","","","","","","","","NULL","","20040430","","NULL","","20040430","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","08","20121207","","","","","","","","1","20080919","","","1","1","","","","","","","","","","1","1","1","198","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","5303814","","198005","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009903500","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","2","9","1","I001","26","20061001","","","NULL","","","26","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198912","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009904136","1","20080701","","","","","","","","","","","1","NULL","20111125","","1","20110401","","1","20130501","","1","20120601","","1","20110401","","1","20110401","","","","","","","","1","20110401","","1","99","","","","","","","","","","","","","","","","","","","","1","20110401","","1","20110801","","1","20110401","","1","01","02","03","04","","","","","","","1","20110401","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","1","1","1","1","10","","NULL","","","1","13","20140307","","","","","1","19990401","","1","20040331","","1","1","1","1","","","","","","","","","1","","1","228","5","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195208","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009904439","1","20060401","","","","","","","20100331","","","","1","97.9","20041105","","","","","","","","1","20130401","","1","20140401","","1","20100701","","","","","","","","1","20020201","","1","99","","","","","","","","","","","","","","","","","","","","1","20140401","","1","20140401","","","","","1","01","02","03","","","","","","","","1","20131101","","","","","","","","","","","1","1","1","I001","54","20120401","","","NULL","","20040930","54","1","B999","450","","","NULL","","","NULL","","","","","NULL","1","21","20130901","","1","13","20130906","","","","","1","20041001","","","","","1","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","198812","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009906696","1","20060601","","","","","","","","","","","1","NULL","20100401","","1","20080401","","","","","1","20140401","","1","20020401","","1","20080701","","","","","","","","1","20090401","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20040501","","","","20081130","1","01","02","03","04","","","","","","","1","19970901","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","13","20140404","","","","","1","20031030","","1","20031027","","","1","1","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","00","8106522","","199708","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009908576","","","","","","","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","1","20080401","","","","","","","","","","","","","","","","","","20070831","","","20070831","","","","2","9","1","I001","33","20130401","","","NULL","","","33","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","200704","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009910624","1","20030401","","","","","1","20120401","","1","19940201","","","NULL","","","1","20120401","","","","","","","","1","20121201","","1","20090701","","1","20061101","","","","","","","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","1","20140401","","1","20140401","","1","01","02","03","04","","","","","","","1","20140401","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","08","20100402","","","","20060331","1","20041001","","1","20040331","","1","1","1","","","1","2","20070702","","","","","1","1","1","002","1","006","1","051","4","004","1","100","2","165","1","035","1","168","1","118","1","101","1","182","","202","1","214","5","149","","197","1","198","","177","1","183","1","213","5","217","5","212","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","31","34","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","192202","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"009929798","1","20080701","","","","","","","","","","","","NULL","","","","","","","","","1","20100401","","1","20090301","","1","20100401","","","","20080531","","","","1","19971201","","","","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","1","20080401","","1","01","02","03","","","","","","","","","","","","","","","","","","","","","","","","NULL","","","","NULL","","","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","13","20140106","","","","","","","","1","20040331","","","1","1","","","","","","","","","","1","1","1","168","1","197","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","195305","20171008","20230509","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_inst_att_mapper","2017/10/08 20:57:12","com_inst_att_mapper" +"12345678999","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303","20230509","20230509","NULL","NULL","NULL","NULL","2023/05/09 10:10:10","com_inst_att_mapper","2023/05/09 10:10:10","com_inst_att_mapper" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/expect_com_inst_att_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/expect_com_inst_att_update.csv new file mode 100644 index 00000000..ecb59fbf --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/expect_com_inst_att_update.csv @@ -0,0 +1,7 @@ +"dcf_dsf_inst_cd","dpc_flag","dpc_specday","dpc_cancelday","predpc_flag","predpc_specday","predpc_cancelday","cancer_flag","cancer_specday","cancer_cancelday","funchpflag","funchpokdate","funchpcandate","areasuphpflag","areasuphpintrate","areasuphpokdate","areasuphpcandate","acuthpaddflag","acuthpaddokdate","acuthpaddcandate","genadmisiionflag","genadmisiionfokdate","genadmisiionfcandate","assistanceflag","assistanceokdate","assistancecandate","diagnosistreatment_flag","diagnosistreatment_specday","diagnosistreatment_cancelday","safety_flag","safety_specday","safety_cancelday","highrisk_flag","highrisk_specday","highrisk_cancelday","infantandholiday_flag","infantandholiday_specday","infantandholiday_cancelday","ophpflag","ophpokdate","ophpcandate","critical_flag","critical_code01","critical_code02","critical_code03","critical_code04","critical_code05","critical_code06","critical_code07","critical_code08","critical_code09","critical_code10","critical_code11","critical_code12","critical_code13","critical_code14","critical_code15","critical_code16","critical_code17","critical_code18","critical_code19","critical_code20","drgmgthpflag","drgmgthpokdate","drgmgthpcandate","imagediagnosis_flag","imagediagnosis_specifiedday","imagediagnosis_cancelday","chemotherapy_flag","chemotherapy_specday","chemotherapy_cancelday","rehabilitation_flag","rehabilitation_code01","rehabilitation_code02","rehabilitation_code03","rehabilitation_code04","rehabilitation_code05","rehabilitation_code06","rehabilitation_code07","rehabilitation_code08","rehabilitation_code09","rehabilitation_code10","anesthetizingmanage_flag","anesthetizingmanage_specday","anesthetizingmanage_cancelday","homerecuperation_flag","homerecuperation_specday","homerecuperation_cancelday","synthesiswhenstaying_flag","synthesiswhenstaying_specday","synthesiswhenstaying_cancelday","homelateflag","homelateokday","homelatecanday","caremixkind","fullmoveflag","resthpflag","resthpcarekind","resthpbednum","resthpokdate","resthpcandate","resthpcarenrskind","resthpcarebednum","resthpcareokdate","resthpcarecandate","resthpsbednum","nrmhpflag","nrmhpcarekind","nrmhpbedtotalnum","menthpflag","menthpcarekind","menthpbednum","tubhpflag","tubhpcarekind","tubhpbednum","infhpflag","infhpflag1","infhpflag2","infhpbedflag","infhpbednum","hospiceflag","hospicebednum","hospiceokdate","hospicecandate","hpfuncestflag","hpfuncestkind","hpfuncestokdate","hpfuncestcandate","clolyhpkind","clolyhpokdate","clolyhpcandate","clhpkind","clhpokdate","clhpcandate","cldephpkind","cldephpokdate","cldephpcandate","disasthpflag","d1emerhpflag","d2emerhpflag","d3emerhpflag","emergencyclinic","trialcoreflag","trialcore_div","trialcoreokdate","trialcorecandate","dementiaflag","dementiaokdate","dementiacandate","sphealth_exploration","sphealth_guidance","hiadhpflag","hiadhpcode1","hiadhpkind1","hiadhpcode2","hiadhpkind2","hiadhpcode3","hiadhpkind3","hiadhpcode4","hiadhpkind4","hiadhpcode5","hiadhpkind5","hiadhpcode6","hiadhpkind6","hiadhpcode7","hiadhpkind7","hiadhpcode8","hiadhpkind8","hiadhpcode9","hiadhpkind9","hiadhpcode10","hiadhpkind10","hiadhpcode11","hiadhpkind11","hiadhpcode12","hiadhpkind12","hiadhpcode13","hiadhpkind13","hiadhpcode14","hiadhpkind14","hiadhpcode15","hiadhpkind15","hiadhpcode16","hiadhpkind16","hiadhpcode17","hiadhpkind17","hiadhpcode18","hiadhpkind18","hiadhpcode19","hiadhpkind19","hiadhpcode20","hiadhpkind20","hiadhpcode21","hiadhpkind21","hiadhpcode22","hiadhpkind22","hiadhpcode23","hiadhpkind23","hiadhpcode24","hiadhpkind24","hiadhpcode25","hiadhpkind25","hiadhpcode26","hiadhpkind26","hiadhpcode27","hiadhpkind27","hiadhpcode28","hiadhpkind28","hiadhpcode29","hiadhpkind29","hiadhpcode30","hiadhpkind30","hiadhpcode31","hiadhpkind31","hiadhpcode32","hiadhpkind32","hiadhpcode33","hiadhpkind33","hiadhpcode34","hiadhpkind34","hiadhpcode35","hiadhpkind35","hiadhpcode36","hiadhpkind36","hiadhpcode37","hiadhpkind37","hiadhpcode38","hiadhpkind38","hiadhpcode39","hiadhpkind39","hiadhpcode40","hiadhpkind40","hitechhpflag","hitechhpkind1","hitechhpkind2","hitechhpkind3","hitechhpkind4","hitechhpkind5","hitechhpkind6","hitechhpkind7","hitechhpkind8","hitechhpkind9","hitechhpkind10","hitechhpkind11","hitechhpkind12","hitechhpkind13","hitechhpkind14","hitechhpkind15","hitechhpkind16","hitechhpkind17","hitechhpkind18","hitechhpkind19","hitechhpkind20","policymedical_flag","policymedical_code01","policymedical_content01","policymedical_code02","policymedical_content02","policymedical_code03","policymedical_content03","policymedical_code04","policymedical_content04","policymedical_code05","policymedical_content05","policymedical_code06","policymedical_content06","policymedical_code07","policymedical_content07","policymedical_code08","policymedical_content08","policymedical_code09","policymedical_content09","policymedical_code10","policymedical_content10","policymedical_code11","policymedical_content11","policymedical_code12","policymedical_content12","policymedical_code13","policymedical_content13","policymedical_code14","policymedical_content14","policymedical_code15","policymedical_content15","policymedical_code16","policymedical_content16","policymedical_code17","policymedical_content17","policymedical_code18","policymedical_content18","policymedical_code19","policymedical_content19","policymedical_code20","policymedical_content20","visitcarestflag","visitcarestation_id","visitcarestation_code","visitcarestation_yobi","opendate","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900631","1","20171009","","1","2017","20171009","","","","","","","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NULL","NULL","NULL","NULL","NULL","NULL","1","19971001","","","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","","","NULL","","","NULL","","","NULL","","","","","NULL","","NULL","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","3","","","","","","","","","","","","","","","","","","","","1","1","2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","0","12","","20","","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2023/05/09 10:39:02","com_inst_att_mapper" +"009901649","","","","1","2009","20171010","","","","","","","","NULL","","","","","","","","","1","20121201","","1","20080901","","","","20080331","","","","","","","1","20080701","","1","99","","","","","","","","","","","","","","","","","","","","1","20100401","","","","","","","","1","01","02","03","","","","","","","","1","19970701","","1","20130101","","1","20060401","","","","","1","9","1","I001","43","20061001","","","NULL","","","43","1","B999","120","","","NULL","","","NULL","","","","","NULL","","NULL","","","1","12","20131101","","","","","","","","","","","","1","1","","","","","","","","","","1","1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1","11","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","201710","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2023/05/09 10:39:02","com_inst_att_mapper" +"009990146","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComInstAtt","2023/05/09 10:39:02","com_inst_att_mapper" +"12345678999","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303","20171009","20230509","NULL","NULL","NULL","NULL","2017/10/09 18:31:09","clsComInstAtt","2023/05/09 10:10:10","com_inst_att_mapper" +"99999999999","9","20230510","20230511","2","2023","20230514","5","20230516","20230517","8","20230519","20230520","1","22.1","20230523","20230524","5","20230526","20230527","8","20230529","20230530","1","20230502","20230503","4","20230505","20230506","7","20230508","20230509","0","20230501","20230402","3","20230404","20230405","6","20230407","20230408","9","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","0","20230701","20230702","3","20230704","20230705","6","20230707","20230708","9","80","81","82","83","84","85","86","87","88","89","0","20230901","20230902","3","20230904","20230905","6","20230907","20230908","9","20231001","20231011","2","3","4","105","106","20231007","20231008","109","110","20231101","20231102","113","4","0115","116","7","0118","119","0","0121","122","3","4","5","6","127","8","129","20230130","20230131","2","33","20230104","20230105","6","20230107","20230108","9","20230104","20230101","2","20230103","20230104","5","6","7","8","9","0","1","20230102","20230403","4","20230105","20230106","7","8","9","160","1","162","3","164","5","166","7","168","9","170","1","172","3","174","5","176","7","178","9","180","1","182","3","184","5","186","7","188","9","190","1","192","3","194","5","196","7","198","9","200","1","202","3","204","5","206","7","208","9","210","1","212","3","214","5","216","7","218","9","220","1","222","3","224","5","226","7","228","9","230","1","232","3","234","5","236","7","238","9","0","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","1","62","3","64","5","66","7","68","9","70","1","72","3","74","5","76","7","78","9","80","1","82","3","84","5","86","7","88","9","90","1","92","3","94","5","96","7","98","9","00","1","2","3","0000304","05","202303","20171009","20230509","NULL","NULL","NULL","NULL","2017/10/09 18:31:09","aaaa","2023/05/09 10:10:10","aaaa" + diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/test_com_inst_att_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/test_com_inst_att_mapper.py new file mode 100644 index 00000000..0721905d --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_inst_att/test_com_inst_att_mapper.py @@ -0,0 +1,232 @@ +import os.path as path +from datetime import datetime +from decimal import Decimal + +import pytest + +from src.batch.common.batch_context import BatchContext +from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_inst_att_mapper +from src.db.database import Database +from tests.testing_utility import (assert_table_results, + create_db_data_from_csv, + create_delete_sql_with_parameter, + create_insert_sql_with_parameter, + create_ultmarc_table_mapper_sut, + create_ultmarc_test_data_from_csv) + + +class TestComInstAttMapper: + """レイアウト区分111: COM_施設属性""" + + db: Database + batch_context: BatchContext + test_file_path: str = path.dirname(__file__) + + # smallint型のカラム群 + smallint_columns = [ + 'areasuphpintrate', + 'resthpbednum', + 'resthpcarebednum', + 'resthpsbednum', + 'nrmhpbedtotalnum', + 'menthpbednum', + 'tubhpbednum', + 'infhpbednum', + 'hospicebednum' + ] + + @pytest.fixture(autouse=True, scope='function') + def pre_test(self, database: Database): + """テスト実行前後処理""" + self.batch_context = BatchContext.get_instance() + # setup + self.db = database + self.db.connect() + self.db.begin() + + # testing + yield + + # teardown + self.db.rollback() + self.db.disconnect() + + def test_insert_record(self): + """ + Cases: + COM_施設属性テーブルにレコードを登録する + Arranges: + - CSVデータを用意し、読み込む + - 追加対象となるレコードを削除する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_inst_att_insert.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_inst_att', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_inst_att_mapper.ComInstAttMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_inst_att_mapper.ComInstAttMapper, f'{line_number}行目:マッパークラスが期通りか' + + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_inst_att_insert.csv')) + primary_keys = [f"'{primary_key['dcf_dsf_inst_cd']}'" for primary_key in expect_data_list] + actual_select_sql = f"SELECT * FROM src05.com_inst_att WHERE dcf_dsf_inst_cd IN ({','.join(primary_keys)})" + actual_data_list = self.db.execute_select(actual_select_sql) + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + self.smallint_columns + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if actual_col_name in self.smallint_columns: + if expect_row[expect_col_name] is not None and len(expect_row[expect_col_name]) > 0: + if actual_col_name == 'areasuphpintrate': + assert actual_row[actual_col_name] == Decimal(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] == int(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_update_record(self): + """ + Cases: + COM_施設属性テーブルのレコードを更新する + Arranges: + - CSVデータを用意し、読み込む + - 更新対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_inst_att_update.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_inst_att', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_inst_att_before_update.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_inst_att', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_inst_att_mapper.ComInstAttMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_inst_att_mapper.ComInstAttMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_inst_att_update.csv')) + primary_keys = [f"'{primary_key['dcf_dsf_inst_cd']}'" for primary_key in expect_data_list] + actual_select_sql = f"SELECT * FROM src05.com_inst_att WHERE dcf_dsf_inst_cd IN ({','.join(primary_keys)})" + actual_data_list = self.db.execute_select(actual_select_sql) + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + self.smallint_columns + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + if actual_col_name in self.smallint_columns: + if expect_row[expect_col_name] is not None and len(expect_row[expect_col_name]) > 0: + if actual_col_name == 'areasuphpintrate': + assert actual_row[actual_col_name] == Decimal(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] == int(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_logical_delete(self): + """ + Cases: + COM_施設属性テーブルのレコードを1件論理削除する + Arranges: + - CSVデータを用意し、読み込む + - 削除対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_inst_att_delete.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_inst_att', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_inst_att_before_delete.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_inst_att', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_inst_att_mapper.ComInstAttMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_inst_att_mapper.ComInstAttMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_inst_att_delete.csv')) + primary_keys = [f"'{primary_key['dcf_dsf_inst_cd']}'" for primary_key in expect_data_list] + actual_select_sql = f"SELECT * FROM src05.com_inst_att WHERE dcf_dsf_inst_cd IN ({','.join(primary_keys)})" + actual_data_list = self.db.execute_select(actual_select_sql) + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'delete_ymd', 'sys_update_date', 'sys_regist_date'] + self.smallint_columns + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + if actual_col_name in self.smallint_columns: + if expect_row[expect_col_name] is not None and len(expect_row[expect_col_name]) > 0: + if actual_col_name == 'areasuphpintrate': + assert actual_row[actual_col_name] == Decimal(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] == int(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/__init__.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/com_prefc_med_base_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/com_prefc_med_base_delete.csv new file mode 100644 index 00000000..fc160243 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/com_prefc_med_base_delete.csv @@ -0,0 +1,3 @@ +"132","00","9900194","","B","1","20170406","20170408","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"132","00","9901649","","B","1","20170406","20170408","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"132","00","9929798","","B","1","20170406","20170408","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/com_prefc_med_base_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/com_prefc_med_base_insert.csv new file mode 100644 index 00000000..81dd90b1 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/com_prefc_med_base_insert.csv @@ -0,0 +1,6 @@ +"132","00","9900146","","A","2","20141113","20141114","20140624","","1","","","","","","1","1","","","","","","","","","","","","","","18.8","","","","","","","","20130401","20140331","49.8","20130401","20140331","","","","","","","","","","","","","","","","","","","","39.3","","","","","","","","20130401","20140331" +"132","00","9900194","","A","2","20141113","20141114","20121101","http://www.hospital.misawa.aomori.jp/","1","1","1","0","20100401","20110331","1","1","1","1","1","1","1","1","1","1","1","1","1","1","3","205.4","","","","","","","","20100401","20110331","468.1","20100401","20110331","8.3","20100401","20110331","","","","","","","","","","","","","","","","","18.7","","","","","","0.0","","20100401","20110331" +"132","00","9901649","","A","2","20141113","20141114","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"132","00","9901679","","A","2","20141113","20141114","20140627","http://www.kai-sei-kai.com/","1","","","","","","1","1","1","1","1","","1","","","","","1","","1","2","58.5","229.2","102.3","131.3","","","","","20130401","20140331","96.0","20130401","20140331","","","","","","","","","","","","","","","","","","","","20.4","641.3","533.2","749.2","","","","","20130401","20140331" +"132","00","9929798","","A","2","20141113","20141114","20130611","http://www.urakawa.jrc.or.jp/","1","","","","","","1","1","1","1","1","","1","","","","","","","1","1","114.6","46.6","","","39.9","0.0","0.0","","20120401","20130331","481.6","20120401","20130331","16.2","20120401","20130331","","","","","","","","","","","","","","","","","15.6","555.3","","","169.4","0.0","0.0","","20120401","20130331" +"132","99","9999999","99","A","2","20141113","20141114","20130611","aaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbz","1","2","3","4444","20150101","20160101","1","1","1","1","1","1","1","1","1","1","1","1","1","1","123","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","12345.6","20120401","20130331","12345.6","20120401","20130331","123467","123467","123467","123467","123467","123467","123467","123467","20200202","20200202","123467","20200202","20200202","123467","20200202","20200202","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/com_prefc_med_base_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/com_prefc_med_base_update.csv new file mode 100644 index 00000000..7c7c790a --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/com_prefc_med_base_update.csv @@ -0,0 +1,6 @@ +"132","00","9900146","","B","","20141113","20141114","@","http://yahoo.co.jp/","@","","","","","","1","1","","","","","","","","","","","","","","18.8","","","","","","","","20171009","20171009","55.5","","","","","","","","","","","","","","","","","","","","","","","55.5","66.6","","","","","","","" +"132","00","9900194","","B","","20141113","20141114","20121101","http://www.hospital.misawa.aomori.jp/","","","@","","","","","","","","@","","@","@","","","","","","","","@","","","","","","","","","","@","","","@","","","111","112","113","114","115","116","117","118","20170101","20171010","","","","","","","@","","","","","","","","","" +"132","00","9901679","","B","","20141113","20141114","20171009","","","","","","","","@","@","@","@","","","","","1","2","3","5","4","@","","@","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","@","","","","","","","","","" +"132","99","9999999","99","A","2","20141113","20141114","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","" +"132","99","9999999","00","A","2","20141113","20141114","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@","@" +"132","99","9999999","11","A","2","20141113","20141114","20130611","aaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbz","1","2","3","4444","20150101","20160101","1","1","1","1","1","1","1","1","1","1","1","1","1","1","123","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","12345.6","20120401","20130331","12345.6","20120401","20130331","123467","123467","123467","123467","123467","123467","123467","123467","20200202","20200202","123467","20200202","20200202","123467","20200202","20200202","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/db_com_prefc_med_base_before_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/db_com_prefc_med_base_before_delete.csv new file mode 100644 index 00000000..71ec28ac --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/db_com_prefc_med_base_before_delete.csv @@ -0,0 +1,6 @@ +"dcf_dsf_inst_cd","info_date","home_page","hppre_flg","expre_flg","trial_flg","trial_contcount","trialwhet_from","trialwhet_to","equipment_flg","cos_disease_flg","cos_surgery","specialclinic_flg","establishment_flg","critical_flg","cop_system","sys_exists_flg","sys_inspection","sys_prescription","sys_reserv","icduse_flg","echart_flg","fulltime_flg","fulltime_count","ge_patient_avg","mt_patient_avg","mc_patient_avg","ca_patient_avg","pys_patient_avg","tub_patient_avg","inf_patient_avg","patient_avg_sum","patient_avg_from","patient_avg_to","cl_patient_avg","cl_patient_avg_from","cl_patient_avg_to","hm_patient_avg","hm_patient_avg_from","hm_patient_avg_to","ge_patient_ex","mt_patient_ex","mc_patient_ex","ca_patient_ex","pys_patient_ex","tub_patient_ex","inf_patient_ex","patient_ex_sum","patient_ex_from","patient_ex_to","cl_patient_ex","cl_patient_ex_from","cl_patient_ex_to","hm_patient_ex","hm_patient_ex_from","hm_patient_ex_to","ge_stay_avg","mt_stay_avg","mc_stay_avg","ca_stay_avg","pys_stay_avg","tub_stay_avg","inf_stay_avg","stay_avg_sum","stay_avg_from","stay_avg_to","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","NULL","http://yahoo.co.jp/","NULL","","","","","","1","1","","","","","","","","","","","","","","18.8","","","","","","","","20171009","20171009","55.5","","","","","","","","","","","","","","","","","","","","","","39.3","","","","","","","","20130401","20140331","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/11 21:20:37","clsComPrefcMedBase" +"009900194","20121101","http://www.hospital.misawa.aomori.jp/","1","1","NULL","NULL","NULL","NULL","1","1","1","1","NULL","1","NULL","NULL","NULL","NULL","NULL","1","1","1","3","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","111","112","113","114","115","116","117","118","20170101","20171010","","","","","","","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/11 21:20:37","clsComPrefcMedBase" +"009901649","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" +"009901679","20171009","http://www.kai-sei-kai.com/","1","","","","","","NULL","NULL","NULL","NULL","1","","1","","","","","5","4","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","96.0","20130401","20140331","","","","","","","","","","","","","","","","","","","","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/11 21:20:37","clsComPrefcMedBase" +"009929798","20130611","http://www.urakawa.jrc.or.jp/","1","","","","","","1","1","1","1","1","","1","","","","","","","1","1","114.6","46.6","","","39.9","0.0","0.0","","20120401","20130331","481.6","20120401","20130331","16.2","20120401","20130331","","","","","","","","","","","","","","","","","15.6","555.3","","","169.4","0.0","0.0","","20120401","20130331","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/db_com_prefc_med_base_before_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/db_com_prefc_med_base_before_update.csv new file mode 100644 index 00000000..36e197b0 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/db_com_prefc_med_base_before_update.csv @@ -0,0 +1,9 @@ +"dcf_dsf_inst_cd","info_date","home_page","hppre_flg","expre_flg","trial_flg","trial_contcount","trialwhet_from","trialwhet_to","equipment_flg","cos_disease_flg","cos_surgery","specialclinic_flg","establishment_flg","critical_flg","cop_system","sys_exists_flg","sys_inspection","sys_prescription","sys_reserv","icduse_flg","echart_flg","fulltime_flg","fulltime_count","ge_patient_avg","mt_patient_avg","mc_patient_avg","ca_patient_avg","pys_patient_avg","tub_patient_avg","inf_patient_avg","patient_avg_sum","patient_avg_from","patient_avg_to","cl_patient_avg","cl_patient_avg_from","cl_patient_avg_to","hm_patient_avg","hm_patient_avg_from","hm_patient_avg_to","ge_patient_ex","mt_patient_ex","mc_patient_ex","ca_patient_ex","pys_patient_ex","tub_patient_ex","inf_patient_ex","patient_ex_sum","patient_ex_from","patient_ex_to","cl_patient_ex","cl_patient_ex_from","cl_patient_ex_to","hm_patient_ex","hm_patient_ex_from","hm_patient_ex_to","ge_stay_avg","mt_stay_avg","mc_stay_avg","ca_stay_avg","pys_stay_avg","tub_stay_avg","inf_stay_avg","stay_avg_sum","stay_avg_from","stay_avg_to","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","20140624","","1","","","","","","1","1","","","","","","","","","","","","","","18.8","","","","","","","","20130401","20140331","49.8","20130401","20140331","","","","","","","","","","","","","","","","","","","","39.3","","","","","","","","20130401","20140331","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" +"009900194","20121101","http://www.hospital.misawa.aomori.jp/","1","1","1","0","20100401","20110331","1","1","1","1","1","1","1","1","1","1","1","1","1","1","3","205.4","","","","","","","","20100401","20110331","468.1","20100401","20110331","8.3","20100401","20110331","","","","","","","","","","","","","","","","","18.7","","","","","","0.0","","20100401","20110331","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" +"009901649","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" +"009901679","20140627","http://www.kai-sei-kai.com/","1","","","","","","1","1","1","1","1","","1","","","","","1","","1","2","58.5","229.2","102.3","131.3","","","","","20130401","20140331","96.0","20130401","20140331","","","","","","","","","","","","","","","","","","","","20.4","641.3","533.2","749.2","","","","","20130401","20140331","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" +"009929798","20130611","http://www.urakawa.jrc.or.jp/","1","","","","","","1","1","1","1","1","","1","","","","","","","1","1","114.6","46.6","","","39.9","0.0","0.0","","20120401","20130331","481.6","20120401","20130331","16.2","20120401","20130331","","","","","","","","","","","","","","","","","15.6","555.3","","","169.4","0.0","0.0","","20120401","20130331","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" +"99999999900","20130611","aaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbz","1","2","3","4444","20150101","20160101","1","1","1","1","1","1","1","1","1","1","1","1","1","1","123","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","12345.6","20120401","20130331","12345.6","20120401","20130331","123467","123467","123467","123467","123467","123467","123467","123467","20200202","20200202","123467","20200202","20200202","123467","20200202","20200202","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","20130331","NULL","NULL","NULL","NULL","NULL","2000/05/09 20:39:15","aaaaa","2000/05/09 20:39:15","aaaaa" +"99999999999","20130611","aaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbz","1","2","3","4444","20150101","20160101","1","1","1","1","1","1","1","1","1","1","1","1","1","1","123","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","12345.6","20120401","20130331","12345.6","20120401","20130331","123467","123467","123467","123467","123467","123467","123467","123467","20200202","20200202","123467","20200202","20200202","123467","20200202","20200202","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","20130331","NULL","NULL","NULL","NULL","NULL","2000/05/09 20:39:15","aaaaa","2000/05/09 20:39:15","aaaaa" +"99999999911","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/expect_com_prefc_med_base_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/expect_com_prefc_med_base_delete.csv new file mode 100644 index 00000000..8c2f6318 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/expect_com_prefc_med_base_delete.csv @@ -0,0 +1,3 @@ +"dcf_dsf_inst_cd","info_date","home_page","hppre_flg","expre_flg","trial_flg","trial_contcount","trialwhet_from","trialwhet_to","equipment_flg","cos_disease_flg","cos_surgery","specialclinic_flg","establishment_flg","critical_flg","cop_system","sys_exists_flg","sys_inspection","sys_prescription","sys_reserv","icduse_flg","echart_flg","fulltime_flg","fulltime_count","ge_patient_avg","mt_patient_avg","mc_patient_avg","ca_patient_avg","pys_patient_avg","tub_patient_avg","inf_patient_avg","patient_avg_sum","patient_avg_from","patient_avg_to","cl_patient_avg","cl_patient_avg_from","cl_patient_avg_to","hm_patient_avg","hm_patient_avg_from","hm_patient_avg_to","ge_patient_ex","mt_patient_ex","mc_patient_ex","ca_patient_ex","pys_patient_ex","tub_patient_ex","inf_patient_ex","patient_ex_sum","patient_ex_from","patient_ex_to","cl_patient_ex","cl_patient_ex_from","cl_patient_ex_to","hm_patient_ex","hm_patient_ex_from","hm_patient_ex_to","ge_stay_avg","mt_stay_avg","mc_stay_avg","ca_stay_avg","pys_stay_avg","tub_stay_avg","inf_stay_avg","stay_avg_sum","stay_avg_from","stay_avg_to","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","NULL","http://yahoo.co.jp/","NULL","","","","","","1","1","","","","","","","","","","","","","","18.8","","","","","","","","20171009","20171009","55.5","","","","","","","","","","","","","","","","","","","","","","39.3","","","","","","","","20130401","20140331","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/11 21:20:37","clsComPrefcMedBase" +"009901679","20171009","http://www.kai-sei-kai.com/","1","","","","","","NULL","NULL","NULL","NULL","1","","1","","","","","5","4","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","96.0","20130401","20140331","","","","","","","","","","","","","","","","","","","","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/11 21:20:37","clsComPrefcMedBase" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/expect_com_prefc_med_base_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/expect_com_prefc_med_base_insert.csv new file mode 100644 index 00000000..306d8b30 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/expect_com_prefc_med_base_insert.csv @@ -0,0 +1,7 @@ +"dcf_dsf_inst_cd","info_date","home_page","hppre_flg","expre_flg","trial_flg","trial_contcount","trialwhet_from","trialwhet_to","equipment_flg","cos_disease_flg","cos_surgery","specialclinic_flg","establishment_flg","critical_flg","cop_system","sys_exists_flg","sys_inspection","sys_prescription","sys_reserv","icduse_flg","echart_flg","fulltime_flg","fulltime_count","ge_patient_avg","mt_patient_avg","mc_patient_avg","ca_patient_avg","pys_patient_avg","tub_patient_avg","inf_patient_avg","patient_avg_sum","patient_avg_from","patient_avg_to","cl_patient_avg","cl_patient_avg_from","cl_patient_avg_to","hm_patient_avg","hm_patient_avg_from","hm_patient_avg_to","ge_patient_ex","mt_patient_ex","mc_patient_ex","ca_patient_ex","pys_patient_ex","tub_patient_ex","inf_patient_ex","patient_ex_sum","patient_ex_from","patient_ex_to","cl_patient_ex","cl_patient_ex_from","cl_patient_ex_to","hm_patient_ex","hm_patient_ex_from","hm_patient_ex_to","ge_stay_avg","mt_stay_avg","mc_stay_avg","ca_stay_avg","pys_stay_avg","tub_stay_avg","inf_stay_avg","stay_avg_sum","stay_avg_from","stay_avg_to","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","20140624","","1","","","","","","1","1","","","","","","","","","","","","","","18.8","","","","","","","","20130401","20140331","49.8","20130401","20140331","","","","","","","","","","","","","","","","","","","","39.3","","","","","","","","20130401","20140331","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/09 20:39:15","com_prefc_med_base_mapper","2023/05/09 20:39:15","com_prefc_med_base_mapper" +"009900194","20121101","http://www.hospital.misawa.aomori.jp/","1","1","1","0","20100401","20110331","1","1","1","1","1","1","1","1","1","1","1","1","1","1","3","205.4","","","","","","","","20100401","20110331","468.1","20100401","20110331","8.3","20100401","20110331","","","","","","","","","","","","","","","","","18.7","","","","","","0.0","","20100401","20110331","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/09 20:39:15","com_prefc_med_base_mapper","2023/05/09 20:39:15","com_prefc_med_base_mapper" +"009901649","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/09 20:39:15","com_prefc_med_base_mapper","2023/05/09 20:39:15","com_prefc_med_base_mapper" +"009901679","20140627","http://www.kai-sei-kai.com/","1","","","","","","1","1","1","1","1","","1","","","","","1","","1","2","58.5","229.2","102.3","131.3","","","","","20130401","20140331","96.0","20130401","20140331","","","","","","","","","","","","","","","","","","","","20.4","641.3","533.2","749.2","","","","","20130401","20140331","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/09 20:39:15","com_prefc_med_base_mapper","2023/05/09 20:39:15","com_prefc_med_base_mapper" +"009929798","20130611","http://www.urakawa.jrc.or.jp/","1","","","","","","1","1","1","1","1","","1","","","","","","","1","1","114.6","46.6","","","39.9","0.0","0.0","","20120401","20130331","481.6","20120401","20130331","16.2","20120401","20130331","","","","","","","","","","","","","","","","","15.6","555.3","","","169.4","0.0","0.0","","20120401","20130331","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/09 20:39:15","com_prefc_med_base_mapper","2023/05/09 20:39:15","com_prefc_med_base_mapper" +"99999999999","20130611","aaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbz","1","2","3","4444","20150101","20160101","1","1","1","1","1","1","1","1","1","1","1","1","1","1","123","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","12345.6","20120401","20130331","12345.6","20120401","20130331","123467","123467","123467","123467","123467","123467","123467","123467","20200202","20200202","123467","20200202","20200202","123467","20200202","20200202","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","20130331","NULL","NULL","NULL","NULL","NULL","2023/05/09 20:39:15","com_prefc_med_base_mapper","2023/05/09 20:39:15","com_prefc_med_base_mapper" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/expect_com_prefc_med_base_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/expect_com_prefc_med_base_update.csv new file mode 100644 index 00000000..032b6891 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/expect_com_prefc_med_base_update.csv @@ -0,0 +1,9 @@ +"dcf_dsf_inst_cd","info_date","home_page","hppre_flg","expre_flg","trial_flg","trial_contcount","trialwhet_from","trialwhet_to","equipment_flg","cos_disease_flg","cos_surgery","specialclinic_flg","establishment_flg","critical_flg","cop_system","sys_exists_flg","sys_inspection","sys_prescription","sys_reserv","icduse_flg","echart_flg","fulltime_flg","fulltime_count","ge_patient_avg","mt_patient_avg","mc_patient_avg","ca_patient_avg","pys_patient_avg","tub_patient_avg","inf_patient_avg","patient_avg_sum","patient_avg_from","patient_avg_to","cl_patient_avg","cl_patient_avg_from","cl_patient_avg_to","hm_patient_avg","hm_patient_avg_from","hm_patient_avg_to","ge_patient_ex","mt_patient_ex","mc_patient_ex","ca_patient_ex","pys_patient_ex","tub_patient_ex","inf_patient_ex","patient_ex_sum","patient_ex_from","patient_ex_to","cl_patient_ex","cl_patient_ex_from","cl_patient_ex_to","hm_patient_ex","hm_patient_ex_from","hm_patient_ex_to","ge_stay_avg","mt_stay_avg","mc_stay_avg","ca_stay_avg","pys_stay_avg","tub_stay_avg","inf_stay_avg","stay_avg_sum","stay_avg_from","stay_avg_to","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","NULL","http://yahoo.co.jp/","NULL","","","","","","1","1","","","","","","","","","","","","","","18.8","","","","","","","","20171009","20171009","55.5","","","","","","","","","","","","","","","","","","","","","","39.3","","","","","","","","20130401","20140331","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2023/05/09 11:49:28","com_prefc_med_base_mapper" +"009900194","20121101","http://www.hospital.misawa.aomori.jp/","1","1","NULL","NULL","NULL","NULL","1","1","1","1","NULL","1","NULL","NULL","NULL","NULL","NULL","1","1","1","3","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","111","112","113","114","115","116","117","118","20170101","20171010","","","","","","","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2023/05/09 14:52:00","com_prefc_med_base_mapper" +"009901649","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" +"009901679","20171009","http://www.kai-sei-kai.com/","1","","","","","","NULL","NULL","NULL","NULL","1","","1","","","","","5","4","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","96.0","20130401","20140331","","","","","","","","","","","","","","","","","","","","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2023/05/09 11:49:28","com_prefc_med_base_mapper" +"009929798","20130611","http://www.urakawa.jrc.or.jp/","1","","","","","","1","1","1","1","1","","1","","","","","","","1","1","114.6","46.6","","","39.9","0.0","0.0","","20120401","20130331","481.6","20120401","20130331","16.2","20120401","20130331","","","","","","","","","","","","","","","","","15.6","555.3","","","169.4","0.0","0.0","","20120401","20130331","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2017/10/08 20:57:12","clsComPrefcMedBase" +"99999999900","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","NULL","20130331","20230510","NULL","NULL","NULL","NULL","2000/05/09 20:39:15","aaaaa","2000/05/09 20:39:15","com_prefc_med_base_mapper" +"99999999911","20130611","aaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbz","1","2","3","4444","20150101","20160101","1","1","1","1","1","1","1","1","1","1","1","1","1","1","123","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","12345.6","20120401","20130331","12345.6","20120401","20130331","123467","123467","123467","123467","123467","123467","123467","123467","20200202","20200202","123467","20200202","20200202","123467","20200202","20200202","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedBase","2000/05/09 20:39:15","com_prefc_med_base_mapper" +"99999999999","20130611","aaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbbaaaaaaaaaabbbbbbbbbz","1","2","3","4444","20150101","20160101","1","1","1","1","1","1","1","1","1","1","1","1","1","1","123","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","12345.6","20120401","20130331","12345.6","20120401","20130331","123467","123467","123467","123467","123467","123467","123467","123467","20200202","20200202","123467","20200202","20200202","123467","20200202","20200202","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","12345.6","20120401","20130331","20130331","NULL","NULL","NULL","NULL","NULL","2000/05/09 20:39:15","aaaaa","2000/05/09 20:39:15","aaaaa" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/test_com_prefc_med_base_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/test_com_prefc_med_base_mapper.py new file mode 100644 index 00000000..ab6fca06 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_base/test_com_prefc_med_base_mapper.py @@ -0,0 +1,196 @@ +import os.path as path +from datetime import datetime + +import pytest + +from src.batch.common.batch_context import BatchContext +from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_prefc_med_base_mapper +from src.db.database import Database +from tests.testing_utility import (assert_table_results, + create_db_data_from_csv, + create_delete_sql_with_parameter, + create_insert_sql_with_parameter, + create_ultmarc_table_mapper_sut, + create_ultmarc_test_data_from_csv) + + +class TestComPrefcMedBaseMapper: + """レイアウト区分132: COM_都道府県医療機能情報(基本)""" + + db: Database + batch_context: BatchContext + test_file_path: str = path.dirname(__file__) + + @pytest.fixture(autouse=True, scope='function') + def pre_test(self, database: Database): + """テスト実行前後処理""" + self.batch_context = BatchContext.get_instance() + # setup + self.db = database + self.db.connect() + self.db.begin() + + # testing + yield + + # teardown + self.db.rollback() + self.db.disconnect() + + def test_insert_record(self): + """ + Cases: + COM_都道府県医療機能情報(基本)テーブルにレコードを登録する + Arranges: + - CSVデータを用意し、読み込む + - 追加対象となるレコードを削除する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_base_insert.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_base', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_base_mapper.ComPrefcMedBaseMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_base_mapper.ComPrefcMedBaseMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_base_insert.csv')) + primary_keys = [f"'{primary_key['dcf_dsf_inst_cd']}'" for primary_key in expect_data_list] + actual_select_sql = f"SELECT * FROM src05.com_prefc_med_base WHERE dcf_dsf_inst_cd IN ({','.join(primary_keys)})" + actual_data_list = self.db.execute_select(actual_select_sql) + # 期待値検査 + ignore_columns = ['regist_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ['regist_ymd', 'sys_regist_date', 'sys_update_date']: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_update_record(self): + """ + Cases: + COM_都道府県医療機能情報(基本)テーブルのレコードを更新する + Arranges: + - CSVデータを用意し、読み込む + - 更新対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_base_update.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_base', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_base_before_update.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_base', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_base_mapper.ComPrefcMedBaseMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_base_mapper.ComPrefcMedBaseMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_base_update.csv')) + primary_keys = [f"'{primary_key['dcf_dsf_inst_cd']}'" for primary_key in expect_data_list] + actual_select_sql = f"SELECT * FROM src05.com_prefc_med_base WHERE dcf_dsf_inst_cd IN ({','.join(primary_keys)})" + actual_data_list = self.db.execute_select(actual_select_sql) + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_logical_delete(self): + """ + Cases: + COM_都道府県医療機能情報(基本)テーブルのレコードを1件論理削除する + Arranges: + - CSVデータを用意し、読み込む + - 削除対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_base_delete.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_base', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_base_before_delete.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_base', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_base_mapper.ComPrefcMedBaseMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_base_mapper.ComPrefcMedBaseMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_base_delete.csv')) + primary_keys = [f"'{primary_key['dcf_dsf_inst_cd']}'" for primary_key in expect_data_list] + actual_select_sql = f"SELECT * FROM src05.com_prefc_med_base WHERE dcf_dsf_inst_cd IN ({','.join(primary_keys)})" + actual_data_list = self.db.execute_select(actual_select_sql) + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/__init__.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_delete.csv new file mode 100644 index 00000000..7c1bb46d --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_delete.csv @@ -0,0 +1,4 @@ +"134","00","9901679","","B","2201","1","20141205","20141213","" +"134","00","9901679","","B","2203","1","20141205","20141213","" +"134","00","9901679","","B","2205","1","20141205","20141213","" +"134","00","9901679","","B","2206","1","20141205","20141213","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_insert.csv new file mode 100644 index 00000000..037c46c2 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_insert.csv @@ -0,0 +1,8 @@ +"134","00","9901649","","A","1001","2","20141113","20141114","" +"134","00","9901679","","A","2201","2","20141113","20141114","" +"134","00","9901679","","A","2203","2","20141113","20141114","2789" +"134","00","9901679","","A","2205","2","20141113","20141114","2033" +"134","00","9901679","","A","2206","2","20141113","20141114","0" +"134","00","9929798","","A","0902","2","20141113","20141114","" +"134","00","9929798","","A","0915","2","20141113","20141114","" +"134","99","9999999","99","A","1234","2","20141113","20141114","123456" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_update.csv new file mode 100644 index 00000000..4def216a --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/com_prefc_med_dis_treat_update.csv @@ -0,0 +1,7 @@ +"134","00","9901649","","B","1001","2","20141113","20141114","0" +"134","00","9901679","","B","2203","2","20141113","20141114","@" +"134","00","9901679","","B","2205","2","20141113","20141114","1987" +"134","00","9901679","","B","2206","2","20141113","20141114","@" +"134","00","9929798","","B","0902","2","20141113","20141114","0" +"134","00","9929798","","B","0915","2","20141113","20141114","543" +"134","99","9999999","99","B","1234","2","20141113","20141114","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/db_com_prefc_med_dis_treat_before_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/db_com_prefc_med_dis_treat_before_delete.csv new file mode 100644 index 00000000..ee268b92 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/db_com_prefc_med_dis_treat_before_delete.csv @@ -0,0 +1,8 @@ +"dcf_dsf_inst_cd","treatment_code","pre_num","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","1001","0","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/11 21:20:37","clsPrefcMedDisTreat" +"009901679","2201","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" +"009901679","2203","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/11 21:20:37","clsPrefcMedDisTreat" +"009901679","2205","1987","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/11 21:20:37","clsPrefcMedDisTreat" +"009901679","2206","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/11 21:20:37","clsPrefcMedDisTreat" +"009929798","0902","0","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/11 21:20:37","clsPrefcMedDisTreat" +"009929798","0915","543","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/11 21:20:37","clsPrefcMedDisTreat" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/db_com_prefc_med_dis_treat_before_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/db_com_prefc_med_dis_treat_before_update.csv new file mode 100644 index 00000000..aad1b86e --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/db_com_prefc_med_dis_treat_before_update.csv @@ -0,0 +1,9 @@ +"dcf_dsf_inst_cd","treatment_code","pre_num","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","1001","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" +"009901679","2201","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" +"009901679","2203","2789","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" +"009901679","2205","2033","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" +"009901679","2206","0","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" +"009929798","0902","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" +"009929798","0915","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" +"99999999999","1234","1111","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_delete.csv new file mode 100644 index 00000000..d1d53673 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_delete.csv @@ -0,0 +1,4 @@ +"dcf_dsf_inst_cd","treatment_code","pre_num","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","1001","0","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/11 21:20:37","clsPrefcMedDisTreat" +"009929798","0902","0","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/11 21:20:37","clsPrefcMedDisTreat" +"009929798","0915","543","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/11 21:20:37","clsPrefcMedDisTreat" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_insert.csv new file mode 100644 index 00000000..819aa6dc --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_insert.csv @@ -0,0 +1,10 @@ +"dcf_dsf_inst_cd","treatment_code","pre_num","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","1001","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper" +"009901679","2201","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper" +"009901679","2203","2789","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper" +"009901679","2205","2033","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper" +"009901679","2206","0","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper" +"009929798","0902","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper" +"009929798","0915","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper" +"009929798","0915","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper" +"99999999999","1234","123456","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper","2023/05/10 20:57:12","com_prefc_med_dis_treat_mapper" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_update.csv new file mode 100644 index 00000000..baecab69 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/expect_com_prefc_med_dis_treat_update.csv @@ -0,0 +1,9 @@ +"dcf_dsf_inst_cd","treatment_code","pre_num","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","1001","0","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2023/05/11 08:49:28","com_prefc_med_dis_treat_mapper" +"009901679","2201","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" +"009901679","2203","NULL","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2023/05/11 08:49:28","com_prefc_med_dis_treat_mapper" +"009901679","2205","1987","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2023/05/11 08:49:28","com_prefc_med_dis_treat_mapper" +"009901679","2206","NULL","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2023/05/11 08:49:28","com_prefc_med_dis_treat_mapper" +"009929798","0902","0","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2023/05/11 08:49:28","com_prefc_med_dis_treat_mapper" +"009929798","0915","543","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2023/05/11 08:49:28","com_prefc_med_dis_treat_mapper" +"99999999999","1234","1111","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedDisTreat","2017/10/08 20:57:12","clsPrefcMedDisTreat" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/test_com_prefc_med_dis_treat_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/test_com_prefc_med_dis_treat_mapper.py new file mode 100644 index 00000000..a0597df9 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_dis_treat/test_com_prefc_med_dis_treat_mapper.py @@ -0,0 +1,251 @@ +import os.path as path +from datetime import datetime +from decimal import Decimal + +import pytest + +from src.batch.common.batch_context import BatchContext +from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_prefc_med_dis_treat_mapper +from src.db.database import Database +from tests.testing_utility import (assert_table_results, + create_db_data_from_csv, + create_delete_sql_with_parameter, + create_insert_sql_with_parameter, + create_ultmarc_table_mapper_sut, + create_ultmarc_test_data_from_csv) + + +class TestComPrefcMedDisTreatMapper: + """レイアウト区分134: COM_都道府県医療機能情報(疾患治療)""" + + db: Database + batch_context: BatchContext + test_file_path: str = path.dirname(__file__) + + @pytest.fixture(autouse=True, scope='function') + def pre_test(self, database: Database): + """テスト実行前後処理""" + self.batch_context = BatchContext.get_instance() + # setup + self.db = database + self.db.connect() + self.db.begin() + + # testing + yield + + # teardown + self.db.rollback() + self.db.disconnect() + + def test_insert_record(self): + """ + Cases: + COM_都道府県医療機能情報(疾患治療)テーブルにレコードを登録する + Arranges: + - CSVデータを用意し、読み込む + - 追加対象となるレコードを削除する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_dis_treat_insert.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_dis_treat', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_dis_treat_mapper.ComPrefcMedDisTreatMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_dis_treat_mapper.ComPrefcMedDisTreatMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_dis_treat_insert.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_treatment_code = [{'treatment_code': columns['treatment_code']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_dis_treat + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + treatment_code = :treatment_code + """ + for param_dcf_dsf_inst_cd, param_treatment_code in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_treatment_code): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_treatment_code}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['pre_num', 'regist_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if actual_col_name == 'pre_num': + if expect_row[expect_col_name] is not None and len(expect_row[expect_col_name]) > 0: + assert actual_row[actual_col_name] == Decimal(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_update_record(self): + """ + Cases: + COM_都道府県医療機能情報(疾患治療)テーブルのレコードを更新する + Arranges: + - CSVデータを用意し、読み込む + - 更新対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_dis_treat_update.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_dis_treat', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_dis_treat_before_update.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_dis_treat', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_dis_treat_mapper.ComPrefcMedDisTreatMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_dis_treat_mapper.ComPrefcMedDisTreatMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_dis_treat_update.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_treatment_code = [{'treatment_code': columns['treatment_code']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_dis_treat + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + treatment_code = :treatment_code + """ + for param_dcf_dsf_inst_cd, param_treatment_code in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_treatment_code): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_treatment_code}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['pre_num', 'regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + if actual_col_name == 'pre_num': + if expect_row[expect_col_name] is not None and len(expect_row[expect_col_name]) > 0: + assert actual_row[actual_col_name] == Decimal(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_logical_delete(self): + """ + Cases: + COM_都道府県医療機能情報(疾患治療)テーブルのレコードを1件論理削除する + Arranges: + - CSVデータを用意し、読み込む + - 削除対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_dis_treat_delete.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_dis_treat', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_dis_treat_before_delete.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_dis_treat', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_dis_treat_mapper.ComPrefcMedDisTreatMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_dis_treat_mapper.ComPrefcMedDisTreatMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_dis_treat_delete.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_treatment_code = [{'treatment_code': columns['treatment_code']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_dis_treat + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + treatment_code = :treatment_code + """ + for param_dcf_dsf_inst_cd, param_treatment_code in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_treatment_code): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_treatment_code}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['pre_num', 'regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + if actual_col_name == 'pre_num': + if expect_row[expect_col_name] is not None and len(expect_row[expect_col_name]) > 0: + assert actual_row[actual_col_name] == Decimal(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/__init__.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/com_prefc_med_equpment_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/com_prefc_med_equpment_delete.csv new file mode 100644 index 00000000..826055ac --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/com_prefc_med_equpment_delete.csv @@ -0,0 +1,3 @@ +"133","00","9900194","","B","008","1","20141211","20141213","" +"133","00","9901649","","B","009","1","20141211","20141213","" +"133","00","9901679","","B","015","1","20141211","20141213","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/com_prefc_med_equpment_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/com_prefc_med_equpment_insert.csv new file mode 100644 index 00000000..b5882b97 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/com_prefc_med_equpment_insert.csv @@ -0,0 +1,6 @@ +"133","00","9900146","","A","012","2","20141113","20141114","0" +"133","00","9900194","","A","008","2","20141113","20141114","32" +"133","00","9901649","","A","009","2","20141113","20141114","3" +"133","00","9901679","","A","015","2","20141113","20141114","" +"133","00","9904439","","A","006","2","20141113","20141114","" +"133","00","9929798","","A","010","2","20141113","20141114","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/com_prefc_med_equpment_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/com_prefc_med_equpment_update.csv new file mode 100644 index 00000000..24111866 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/com_prefc_med_equpment_update.csv @@ -0,0 +1,7 @@ +"133","99","9999999","99","B","111","2","20141113","20141114","" +"133","00","9900146","","B","012","2","20141113","20141114","@" +"133","00","9900194","","B","008","2","20141113","20141114","@" +"133","00","9901649","","B","009","2","20141113","20141114","6" +"133","00","9901679","","B","015","2","20141113","20141114","@" +"133","00","9904439","","B","006","2","20141113","20141114","10" +"133","00","9929798","","B","010","2","20141113","20141114","9" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/db_com_prefc_med_equpment_before_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/db_com_prefc_med_equpment_before_delete.csv new file mode 100644 index 00000000..94330b4f --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/db_com_prefc_med_equpment_before_delete.csv @@ -0,0 +1,7 @@ +"dcf_dsf_inst_cd","equipment_code","bednum","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","012","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/11 21:20:37","clsPrefcMedEquipment" +"009900194","008","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/11 21:20:37","clsPrefcMedEquipment" +"009901649","009","6","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/11 21:20:37","clsPrefcMedEquipment" +"009901679","015","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/11 21:20:37","clsPrefcMedEquipment" +"009904439","006","10","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/11 21:20:37","clsPrefcMedEquipment" +"009929798","010","9","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/11 21:20:37","clsPrefcMedEquipment" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/db_com_prefc_med_equpment_before_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/db_com_prefc_med_equpment_before_update.csv new file mode 100644 index 00000000..c75a3f89 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/db_com_prefc_med_equpment_before_update.csv @@ -0,0 +1,8 @@ +"dcf_dsf_inst_cd","equipment_code","bednum","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","012","0","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/08 20:57:12","clsPrefcMedEquipment" +"009900194","008","32","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/08 20:57:12","clsPrefcMedEquipment" +"009901649","009","3","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/08 20:57:12","clsPrefcMedEquipment" +"009901679","015","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/08 20:57:12","clsPrefcMedEquipment" +"009904439","006","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/08 20:57:12","clsPrefcMedEquipment" +"009929798","010","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/08 20:57:12","clsPrefcMedEquipment" +"99999999999","111","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/08 20:57:12","clsPrefcMedEquipment" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/expect_com_prefc_med_equpment_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/expect_com_prefc_med_equpment_delete.csv new file mode 100644 index 00000000..32074199 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/expect_com_prefc_med_equpment_delete.csv @@ -0,0 +1,4 @@ +"dcf_dsf_inst_cd","equipment_code","bednum","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","012","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/11 21:20:37","clsPrefcMedEquipment" +"009904439","006","10","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/11 21:20:37","clsPrefcMedEquipment" +"009929798","010","9","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/11 21:20:37","clsPrefcMedEquipment" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/expect_com_prefc_med_equpment_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/expect_com_prefc_med_equpment_insert.csv new file mode 100644 index 00000000..caad9918 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/expect_com_prefc_med_equpment_insert.csv @@ -0,0 +1,7 @@ +"dcf_dsf_inst_cd","equipment_code","bednum","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","012","0","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 10:57:12","com_prefc_med_equpment_mapper","2023/05/10 10:57:12","com_prefc_med_equpment_mapper" +"009900194","008","32","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 10:57:12","com_prefc_med_equpment_mapper","2023/05/10 10:57:12","com_prefc_med_equpment_mapper" +"009901649","009","3","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 10:57:12","com_prefc_med_equpment_mapper","2023/05/10 10:57:12","com_prefc_med_equpment_mapper" +"009901679","015","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 10:57:12","com_prefc_med_equpment_mapper","2023/05/10 10:57:12","com_prefc_med_equpment_mapper" +"009904439","006","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 10:57:12","com_prefc_med_equpment_mapper","2023/05/10 10:57:12","com_prefc_med_equpment_mapper" +"009929798","010","NULL","20230510","NULL","NULL","NULL","NULL","NULL","2023/05/10 10:57:12","com_prefc_med_equpment_mapper","2023/05/10 10:57:12","com_prefc_med_equpment_mapper" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/expect_com_prefc_med_equpment_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/expect_com_prefc_med_equpment_update.csv new file mode 100644 index 00000000..88bc0809 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/expect_com_prefc_med_equpment_update.csv @@ -0,0 +1,8 @@ +"dcf_dsf_inst_cd","equipment_code","bednum","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","012","NULL","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2023/05/10 11:49:28","com_prefc_med_equpment_mapper" +"009900194","008","NULL","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2023/05/10 11:49:28","com_prefc_med_equpment_mapper" +"009901649","009","6","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2023/05/10 11:49:28","com_prefc_med_equpment_mapper" +"009901679","015","NULL","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2023/05/10 11:49:28","com_prefc_med_equpment_mapper" +"009904439","006","10","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2023/05/10 11:49:28","com_prefc_med_equpment_mapper" +"009929798","010","9","20171008","20230510","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2023/05/10 11:49:28","com_prefc_med_equpment_mapper" +"99999999999","111","NULL","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedEquipment","2017/10/08 20:57:12","clsPrefcMedEquipment" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/test_com_prefc_med_equpment_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/test_com_prefc_med_equpment_mapper.py new file mode 100644 index 00000000..78d33244 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_equpment/test_com_prefc_med_equpment_mapper.py @@ -0,0 +1,250 @@ +import os.path as path +from datetime import datetime + +import pytest + +from src.batch.common.batch_context import BatchContext +from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_prefc_med_equpment_mapper +from src.db.database import Database +from tests.testing_utility import (assert_table_results, + create_db_data_from_csv, + create_delete_sql_with_parameter, + create_insert_sql_with_parameter, + create_ultmarc_table_mapper_sut, + create_ultmarc_test_data_from_csv) + + +class TestComPrefcMedEqupmentMapper: + """レイアウト区分133: COM_都道府県医療機能情報(施設設備)""" + + db: Database + batch_context: BatchContext + test_file_path: str = path.dirname(__file__) + + @pytest.fixture(autouse=True, scope='function') + def pre_test(self, database: Database): + """テスト実行前後処理""" + self.batch_context = BatchContext.get_instance() + # setup + self.db = database + self.db.connect() + self.db.begin() + + # testing + yield + + # teardown + self.db.rollback() + self.db.disconnect() + + def test_insert_record(self): + """ + Cases: + COM_都道府県医療機能情報(施設設備)テーブルにレコードを登録する + Arranges: + - CSVデータを用意し、読み込む + - 追加対象となるレコードを削除する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_equpment_insert.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_equpment', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_equpment_mapper.ComPrefcMedEqupmentMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_equpment_mapper.ComPrefcMedEqupmentMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_equpment_insert.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_equipment_code = [{'equipment_code': columns['equipment_code']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_equpment + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + equipment_code = :equipment_code + """ + for param_dcf_dsf_inst_cd, param_equipment_code in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_equipment_code): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_equipment_code}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['bednum', 'regist_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if actual_col_name == 'bednum': + if expect_row[expect_col_name] is not None and len(expect_row[expect_col_name]) > 0: + assert actual_row[actual_col_name] == int(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_update_record(self): + """ + Cases: + COM_都道府県医療機能情報(施設設備)テーブルのレコードを更新する + Arranges: + - CSVデータを用意し、読み込む + - 更新対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_equpment_update.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_equpment', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_equpment_before_update.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_equpment', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_equpment_mapper.ComPrefcMedEqupmentMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_equpment_mapper.ComPrefcMedEqupmentMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_equpment_update.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_equipment_code = [{'equipment_code': columns['equipment_code']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_equpment + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + equipment_code = :equipment_code + """ + for param_dcf_dsf_inst_cd, param_equipment_code in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_equipment_code): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_equipment_code}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['bednum', 'regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + if actual_col_name == 'bednum': + if expect_row[expect_col_name] is not None and len(expect_row[expect_col_name]) > 0: + assert actual_row[actual_col_name] == int(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_logical_delete(self): + """ + Cases: + COM_都道府県医療機能情報(施設設備)テーブルのレコードを1件論理削除する + Arranges: + - CSVデータを用意し、読み込む + - 削除対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_equpment_delete.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_equpment', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_equpment_before_delete.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_equpment', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_equpment_mapper.ComPrefcMedEqupmentMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_equpment_mapper.ComPrefcMedEqupmentMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_equpment_delete.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_equipment_code = [{'equipment_code': columns['equipment_code']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_equpment + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + equipment_code = :equipment_code + """ + for param_dcf_dsf_inst_cd, param_equipment_code in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_equipment_code): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_equipment_code}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['bednum', 'regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + if actual_col_name == 'bednum': + if expect_row[expect_col_name] is not None and len(expect_row[expect_col_name]) > 0: + assert actual_row[actual_col_name] == int(expect_row[expect_col_name]), f'{line_number}行目:{actual_col_name}が、期待値と一致すること' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/__init__.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/com_prefc_med_sojourn_ope_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/com_prefc_med_sojourn_ope_delete.csv new file mode 100644 index 00000000..0e25331e --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/com_prefc_med_sojourn_ope_delete.csv @@ -0,0 +1,3 @@ +"135","00","9901679","","B","101","1","20141210","20141213" +"135","00","9901679","","B","102","1","20141209","20141213" +"135","00","9901679","","B","111","1","20141208","20141213" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/com_prefc_med_sojourn_ope_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/com_prefc_med_sojourn_ope_insert.csv new file mode 100644 index 00000000..daf6f1f9 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/com_prefc_med_sojourn_ope_insert.csv @@ -0,0 +1,7 @@ +"135","00","9900146","","A","213","2","20141113","20141114" +"135","00","9900146","","A","214","2","20141113","20141114" +"135","00","9900146","","A","215","2","20141113","20141114" +"135","00","9901679","","A","101","2","20141113","20141114" +"135","00","9901679","","A","102","2","20141113","20141114" +"135","00","9929798","","A","110","2","20141113","20141114" +"135","00","9929798","","A","111","2","20141113","20141114" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/com_prefc_med_sojourn_ope_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/com_prefc_med_sojourn_ope_update.csv new file mode 100644 index 00000000..5c75d14c --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/com_prefc_med_sojourn_ope_update.csv @@ -0,0 +1,4 @@ +"135","00","9901679","","B","101","2","20141113","20141114" +"135","00","9901679","","B","111","2","20141113","20141114" +"135","00","9929798","","B","111","2","20141113","20141114" +"135","00","9929798","","B","211","2","20141113","20141114" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/db_com_prefc_med_sojourn_ope_before_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/db_com_prefc_med_sojourn_ope_before_delete.csv new file mode 100644 index 00000000..90f5e825 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/db_com_prefc_med_sojourn_ope_before_delete.csv @@ -0,0 +1,10 @@ +"dcf_dsf_inst_cd","cos_surgery_code","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","213","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009900146","214","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009900146","215","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009901679","101","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/11 21:20:37","clsPrefcMedSojournOp" +"009901679","102","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009901679","111","20171011","20171011","NULL","NULL","NULL","NULL","2017/10/11 11:49:28","clsPrefcMedSojournOp","2017/10/11 21:20:37","clsPrefcMedSojournOp" +"009929798","110","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009929798","111","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/11 21:20:37","clsPrefcMedSojournOp" +"009929798","211","20171011","20171011","NULL","NULL","NULL","NULL","2017/10/11 11:49:28","clsPrefcMedSojournOp","2017/10/11 21:20:37","clsPrefcMedSojournOp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/db_com_prefc_med_sojourn_ope_before_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/db_com_prefc_med_sojourn_ope_before_update.csv new file mode 100644 index 00000000..72dda2ae --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/db_com_prefc_med_sojourn_ope_before_update.csv @@ -0,0 +1,8 @@ +"dcf_dsf_inst_cd","cos_surgery_code","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","213","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009900146","214","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009900146","215","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009901679","101","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009901679","102","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009929798","110","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009929798","111","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/expect_com_prefc_med_sojourn_ope_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/expect_com_prefc_med_sojourn_ope_delete.csv new file mode 100644 index 00000000..5adfd71e --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/expect_com_prefc_med_sojourn_ope_delete.csv @@ -0,0 +1,7 @@ +"dcf_dsf_inst_cd","cos_surgery_code","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","213","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009900146","214","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009900146","215","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009929798","110","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009929798","111","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/11 21:20:37","clsPrefcMedSojournOp" +"009929798","211","20171011","20171011","NULL","NULL","NULL","NULL","2017/10/11 11:49:28","clsPrefcMedSojournOp","2017/10/11 21:20:37","clsPrefcMedSojournOp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/expect_com_prefc_med_sojourn_ope_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/expect_com_prefc_med_sojourn_ope_insert.csv new file mode 100644 index 00000000..995277be --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/expect_com_prefc_med_sojourn_ope_insert.csv @@ -0,0 +1,8 @@ +"dcf_dsf_inst_cd","cos_surgery_code","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","213","20230511","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper" +"009900146","214","20230511","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper" +"009900146","215","20230511","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper" +"009901679","101","20230511","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper" +"009901679","102","20230511","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper" +"009929798","110","20230511","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper" +"009929798","111","20230511","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper","2017/10/08 20:57:12","com_prefc_med_sojourn_ope_mapper" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/expect_com_prefc_med_sojourn_ope_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/expect_com_prefc_med_sojourn_ope_update.csv new file mode 100644 index 00000000..d4377bc4 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/expect_com_prefc_med_sojourn_ope_update.csv @@ -0,0 +1,10 @@ +"dcf_dsf_inst_cd","cos_surgery_code","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009900146","213","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009900146","214","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009900146","215","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009901679","101","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2023/05/11 10:49:28","com_prefc_med_sojourn_ope_mapper" +"009901679","102","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009901679","111","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:49:28","com_prefc_med_sojourn_ope_mapper","2023/05/11 10:49:28","com_prefc_med_sojourn_ope_mapper" +"009929798","110","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2017/10/08 20:57:12","clsPrefcMedSojournOp" +"009929798","111","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsPrefcMedSojournOp","2023/05/11 10:49:28","com_prefc_med_sojourn_ope_mapper" +"009929798","211","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:49:28","com_prefc_med_sojourn_ope_mapper","2023/05/11 10:49:28","com_prefc_med_sojourn_ope_mapper" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/test_com_prefc_med_sojourn_ope_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/test_com_prefc_med_sojourn_ope_mapper.py new file mode 100644 index 00000000..ad87a43a --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sojourn_ope/test_com_prefc_med_sojourn_ope_mapper.py @@ -0,0 +1,238 @@ +import os.path as path +from datetime import datetime + +import pytest + +from src.batch.common.batch_context import BatchContext +from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_prefc_med_sojourn_ope_mapper +from src.db.database import Database +from tests.testing_utility import (assert_table_results, + create_db_data_from_csv, + create_delete_sql_with_parameter, + create_insert_sql_with_parameter, + create_ultmarc_table_mapper_sut, + create_ultmarc_test_data_from_csv) + + +class TestComPrefcMedSojournOpeMapper: + """レイアウト区分135: COM_都道府県医療機能情報(短期滞在手術)""" + + db: Database + batch_context: BatchContext + test_file_path: str = path.dirname(__file__) + + @pytest.fixture(autouse=True, scope='function') + def pre_test(self, database: Database): + """テスト実行前後処理""" + self.batch_context = BatchContext.get_instance() + # setup + self.db = database + self.db.connect() + self.db.begin() + + # testing + yield + + # teardown + self.db.rollback() + self.db.disconnect() + + def test_insert_record(self): + """ + Cases: + COM_都道府県医療機能情報(短期滞在手術)テーブルにレコードを登録する + Arranges: + - CSVデータを用意し、読み込む + - 追加対象となるレコードを削除する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_sojourn_ope_insert.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_sojourn_ope', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_sojourn_ope_mapper.ComPrefcMedSojournOpeMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_sojourn_ope_mapper.ComPrefcMedSojournOpeMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_sojourn_ope_insert.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_cos_surgery_code = [{'cos_surgery_code': columns['cos_surgery_code']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_sojourn_ope + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + cos_surgery_code = :cos_surgery_code + """ + for param_dcf_dsf_inst_cd, param_cos_surgery_code in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_cos_surgery_code): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_cos_surgery_code}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['regist_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_update_record(self): + """ + Cases: + COM_都道府県医療機能情報(短期滞在手術)テーブルのレコードを更新する + Arranges: + - CSVデータを用意し、読み込む + - 更新対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_sojourn_ope_update.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_sojourn_ope', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_sojourn_ope_before_update.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_sojourn_ope', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_sojourn_ope_mapper.ComPrefcMedSojournOpeMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_sojourn_ope_mapper.ComPrefcMedSojournOpeMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_sojourn_ope_update.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_cos_surgery_code = [{'cos_surgery_code': columns['cos_surgery_code']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_sojourn_ope + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + cos_surgery_code = :cos_surgery_code + """ + for param_dcf_dsf_inst_cd, param_cos_surgery_code in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_cos_surgery_code): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_cos_surgery_code}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_logical_delete(self): + """ + Cases: + COM_都道府県医療機能情報(短期滞在手術)テーブルのレコードを1件論理削除する + Arranges: + - CSVデータを用意し、読み込む + - 削除対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_sojourn_ope_delete.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_sojourn_ope', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_sojourn_ope_before_delete.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_sojourn_ope', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_sojourn_ope_mapper.ComPrefcMedSojournOpeMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_sojourn_ope_mapper.ComPrefcMedSojournOpeMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_sojourn_ope_delete.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_cos_surgery_code = [{'cos_surgery_code': columns['cos_surgery_code']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_sojourn_ope + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + cos_surgery_code = :cos_surgery_code + """ + for param_dcf_dsf_inst_cd, param_cos_surgery_code in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_cos_surgery_code): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_cos_surgery_code}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/__init__.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/com_prefc_med_sp_outpat_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/com_prefc_med_sp_outpat_delete.csv new file mode 100644 index 00000000..4ce0fddb --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/com_prefc_med_sp_outpat_delete.csv @@ -0,0 +1 @@ +"136","00","9929798","","B","テスト ストーマ(人工肛門・人工膀胱)専門外来","1","20141211","20141213","","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/com_prefc_med_sp_outpat_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/com_prefc_med_sp_outpat_insert.csv new file mode 100644 index 00000000..ae233f9b --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/com_prefc_med_sp_outpat_insert.csv @@ -0,0 +1,7 @@ +"136","00","9901649","","A","テスト 小児 内分泌・腎臓外来","2","20141113","20141114","5","030" +"136","00","9904439","","A","テスト アルコール症専門外来","2","20141113","20141114","1","019" +"136","00","9904439","","A","テスト メンタルヘルス専門外来","2","20141113","20141114","7","019" +"136","00","9904439","","A","テスト 禁煙専門外来","2","20141113","20141114","2","001" +"136","00","9904439","","A","テスト 糖尿病外来","2","20141113","20141114","7","006" +"136","00","9929798","","A","テスト ストーマ(人工肛門・人工膀胱)専門外来","2","20141113","20141114","1","014" +"136","99","9999999","99","A","あいうえおかきくけこあいうえおかきくけこあいうえおかきくけこあいうえおかきくけこあいうえおかきくけこ","2","20141113","20141114","111","222" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/com_prefc_med_sp_outpat_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/com_prefc_med_sp_outpat_update.csv new file mode 100644 index 00000000..e157aee6 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/com_prefc_med_sp_outpat_update.csv @@ -0,0 +1,6 @@ +"136","00","9901649","","B","テスト 小児 内分泌・腎臓外来","2","20141113","20141114","5","019" +"136","00","9904439","","B","テスト 禁煙専門外来","2","20141113","20141114","2","@" +"136","00","9904439","","B","テスト 糖尿病外来","2","20141113","20141114","7","001" +"136","00","9929798","","B","テスト ストーマ(人工肛門・人工膀胱)専門外来","2","20141113","20141114","1","@" +"136","99","9999999","11","B","あいうえお","2","20141113","20141114","","999" +"136","99","9999999","99","B","あいうえお","2","20141113","20141114","","" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/db_com_prefc_med_sp_outpat_before_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/db_com_prefc_med_sp_outpat_before_delete.csv new file mode 100644 index 00000000..6e0c952c --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/db_com_prefc_med_sp_outpat_before_delete.csv @@ -0,0 +1,7 @@ +"dcf_dsf_inst_cd","specialclinic_name","sort_key","sectsub_cd","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","テスト 小児 内分泌・腎臓外来","5","019","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/11 21:20:37","clsComPrefcMedSpOutp" +"009904439","テスト アルコール症専門外来","1","019","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト メンタルヘルス専門外来","7","019","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト 禁煙専門外来","2","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/11 21:20:37","clsComPrefcMedSpOutp" +"009904439","テスト 糖尿病外来","7","001","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/11 21:20:37","clsComPrefcMedSpOutp" +"009929798","テスト ストーマ(人工肛門・人工膀胱)専門外来","1","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/11 21:20:37","clsComPrefcMedSpOutp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/db_com_prefc_med_sp_outpat_before_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/db_com_prefc_med_sp_outpat_before_update.csv new file mode 100644 index 00000000..3266575e --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/db_com_prefc_med_sp_outpat_before_update.csv @@ -0,0 +1,9 @@ +"dcf_dsf_inst_cd","specialclinic_name","sort_key","sectsub_cd","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","テスト 小児 内分泌・腎臓外来","5","030","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト アルコール症専門外来","1","019","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト メンタルヘルス専門外来","7","019","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト 禁煙専門外来","2","001","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト 糖尿病外来","7","006","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009929798","テスト ストーマ(人工肛門・人工膀胱)専門外来","1","014","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"99999999911","あいうえお","123","123","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"99999999999","あいうえお","123","123","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/expect_com_prefc_med_sp_outpat_delete.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/expect_com_prefc_med_sp_outpat_delete.csv new file mode 100644 index 00000000..6184e1ce --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/expect_com_prefc_med_sp_outpat_delete.csv @@ -0,0 +1,6 @@ +"dcf_dsf_inst_cd","specialclinic_name","sort_key","sectsub_cd","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","テスト 小児 内分泌・腎臓外来","5","019","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/11 21:20:37","clsComPrefcMedSpOutp" +"009904439","テスト アルコール症専門外来","1","019","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト メンタルヘルス専門外来","7","019","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト 禁煙専門外来","2","NULL","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/11 21:20:37","clsComPrefcMedSpOutp" +"009904439","テスト 糖尿病外来","7","001","20171008","20171011","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/11 21:20:37","clsComPrefcMedSpOutp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/expect_com_prefc_med_sp_outpat_insert.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/expect_com_prefc_med_sp_outpat_insert.csv new file mode 100644 index 00000000..26abd18a --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/expect_com_prefc_med_sp_outpat_insert.csv @@ -0,0 +1,8 @@ +"dcf_dsf_inst_cd","specialclinic_name","sort_key","sectsub_cd","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","テスト 小児 内分泌・腎臓外来","5","030","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" +"009904439","テスト アルコール症専門外来","1","019","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" +"009904439","テスト メンタルヘルス専門外来","7","019","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" +"009904439","テスト 禁煙専門外来","2","001","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" +"009904439","テスト 糖尿病外来","7","006","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" +"009929798","テスト ストーマ(人工肛門・人工膀胱)専門外来","1","014","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" +"99999999999","あいうえおかきくけこあいうえおかきくけこあいうえおかきくけこあいうえおかきくけこあいうえおかきくけこ","111","222","20230511","NULL","NULL","NULL","NULL","NULL","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper","2023/05/11 10:57:12","com_prefc_med_sp_outpat_mapper" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/expect_com_prefc_med_sp_outpat_update.csv b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/expect_com_prefc_med_sp_outpat_update.csv new file mode 100644 index 00000000..33d5e48f --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/expect_com_prefc_med_sp_outpat_update.csv @@ -0,0 +1,9 @@ +"dcf_dsf_inst_cd","specialclinic_name","sort_key","sectsub_cd","regist_ymd","update_ymd","regist_date","create_user","update_date","update_user","sys_regist_date","regist_prgm_id","sys_update_date","update_prgm_id" +"009901649","テスト 小児 内分泌・腎臓外来","5","019","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2023/05/11 11:49:28","com_prefc_med_sp_outpat_mapper" +"009904439","テスト アルコール症専門外来","1","019","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト メンタルヘルス専門外来","7","019","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" +"009904439","テスト 禁煙専門外来","2","NULL","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2023/05/11 11:49:28","com_prefc_med_sp_outpat_mapper" +"009904439","テスト 糖尿病外来","7","001","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2023/05/11 11:49:28","com_prefc_med_sp_outpat_mapper" +"009929798","テスト ストーマ(人工肛門・人工膀胱)専門外来","1","NULL","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2023/05/11 11:49:28","com_prefc_med_sp_outpat_mapper" +"99999999911","あいうえお","123","999","20171008","20230511","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2023/05/11 11:57:12","com_prefc_med_sp_outpat_mapper" +"99999999999","あいうえお","123","123","20171008","NULL","NULL","NULL","NULL","NULL","2017/10/08 20:57:12","clsComPrefcMedSpOutp","2017/10/08 20:57:12","clsComPrefcMedSpOutp" diff --git a/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/test_com_prefc_med_sp_outpat_mapper.py b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/test_com_prefc_med_sp_outpat_mapper.py new file mode 100644 index 00000000..04932cf8 --- /dev/null +++ b/ecs/jskult-batch-daily/tests/batch/ultmarc/utmp_tables/table_mapper/com_prefc_med_sp_outpat/test_com_prefc_med_sp_outpat_mapper.py @@ -0,0 +1,238 @@ +import os.path as path +from datetime import datetime + +import pytest + +from src.batch.common.batch_context import BatchContext +from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_prefc_med_sp_outpat_mapper +from src.db.database import Database +from tests.testing_utility import (assert_table_results, + create_db_data_from_csv, + create_delete_sql_with_parameter, + create_insert_sql_with_parameter, + create_ultmarc_table_mapper_sut, + create_ultmarc_test_data_from_csv) + + +class TestComPrefcMedSpOutpatMapper: + """レイアウト区分136: COM_都道府県医療機能情報(専門外来)""" + + db: Database + batch_context: BatchContext + test_file_path: str = path.dirname(__file__) + + @pytest.fixture(autouse=True, scope='function') + def pre_test(self, database: Database): + """テスト実行前後処理""" + self.batch_context = BatchContext.get_instance() + # setup + self.db = database + self.db.connect() + self.db.begin() + + # testing + yield + + # teardown + self.db.rollback() + self.db.disconnect() + + def test_insert_record(self): + """ + Cases: + COM_都道府県医療機能情報(専門外来)テーブルにレコードを登録する + Arranges: + - CSVデータを用意し、読み込む + - 追加対象となるレコードを削除する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_sp_outpat_insert.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_sp_outpat', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_sp_outpat_mapper.ComPrefcMedSpOutpatMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_sp_outpat_mapper.ComPrefcMedSpOutpatMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_sp_outpat_insert.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_specialclinic_name = [{'specialclinic_name': columns['specialclinic_name']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_sp_outpat + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + specialclinic_name = :specialclinic_name + """ + for param_dcf_dsf_inst_cd, param_specialclinic_name in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_specialclinic_name): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_specialclinic_name}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['regist_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_update_record(self): + """ + Cases: + COM_都道府県医療機能情報(専門外来)テーブルのレコードを更新する + Arranges: + - CSVデータを用意し、読み込む + - 更新対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_sp_outpat_update.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_sp_outpat', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_sp_outpat_before_update.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_sp_outpat', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_sp_outpat_mapper.ComPrefcMedSpOutpatMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_sp_outpat_mapper.ComPrefcMedSpOutpatMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_sp_outpat_update.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_specialclinic_name = [{'specialclinic_name': columns['specialclinic_name']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_sp_outpat + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + specialclinic_name = :specialclinic_name + """ + for param_dcf_dsf_inst_cd, param_specialclinic_name in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_specialclinic_name): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_specialclinic_name}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること' + + def test_logical_delete(self): + """ + Cases: + COM_都道府県医療機能情報(専門外来)テーブルのレコードを1件論理削除する + Arranges: + - CSVデータを用意し、読み込む + - 削除対象となるレコードを登録する + Expects: + - 登録内容が期待値と一致すること + """ + + # Arrange + # 処理日設定 + self.batch_context.syor_date = datetime.strftime(datetime.now(), '%Y/%m/%d') + # テスト用のCSVを読み込む + test_dat_file = create_ultmarc_test_data_from_csv(path.join(self.test_file_path, 'com_prefc_med_sp_outpat_delete.csv')) + # 一旦全データをDBから削除 + delete_sql, delete_parameter = create_delete_sql_with_parameter('src05.com_prefc_med_sp_outpat', {'1': '1'}) + self.db.execute(delete_sql, delete_parameter) + # テストデータをDBに登録 + # DBデータを読み込む + test_sql_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'db_com_prefc_med_sp_outpat_before_delete.csv')) + for test_data in test_sql_data_list: + insert_sql, insert_parameter = create_insert_sql_with_parameter( + 'src05.com_prefc_med_sp_outpat', + test_data.keys(), + test_data.values() + ) + self.db.execute(insert_sql, insert_parameter) + + # Act + for line_number, line in enumerate(test_dat_file, start=1): + sut: com_prefc_med_sp_outpat_mapper.ComPrefcMedSpOutpatMapper = create_ultmarc_table_mapper_sut(line, self.db) + assert type(sut) is com_prefc_med_sp_outpat_mapper.ComPrefcMedSpOutpatMapper, f'{line_number}行目:マッパークラスが期通りか' + sut.make_query() + sut.execute_queries() + + # Assert + # 期待値ファイルを読み込む + expect_data_list = create_db_data_from_csv(path.join(self.test_file_path, 'expect_com_prefc_med_sp_outpat_delete.csv')) + primary_keys_dcf_dsf_inst_cd = [{'dcf_dsf_inst_cd': columns['dcf_dsf_inst_cd']} for columns in expect_data_list] + primary_keys_specialclinic_name = [{'specialclinic_name': columns['specialclinic_name']} for columns in expect_data_list] + actual_data_list = [] + sp_field_select_sql = """\ + SELECT * FROM src05.com_prefc_med_sp_outpat + WHERE + dcf_dsf_inst_cd = :dcf_dsf_inst_cd + AND + specialclinic_name = :specialclinic_name + """ + for param_dcf_dsf_inst_cd, param_specialclinic_name in zip(primary_keys_dcf_dsf_inst_cd, primary_keys_specialclinic_name): + sp_field_data = self.db.execute_select( + sp_field_select_sql, + {**param_dcf_dsf_inst_cd, **param_specialclinic_name}) + assert len(sp_field_data) == 1, '1件取得できていること' + actual_data_list.append(sp_field_data[0]) + + # 期待値検査 + ignore_columns = ['regist_ymd', 'update_ymd', 'sys_update_date', 'sys_regist_date'] + assert_table_results(actual_data_list, expect_data_list, ignore_col_name=ignore_columns) + # 動的日付項目の個別確認 + line_number = 0 + for actual_row, expect_row in zip(actual_data_list, expect_data_list): + line_number += 1 + for actual_col_name, expect_col_name in zip(actual_row, expect_row): + if actual_col_name in ignore_columns: + if expect_row[expect_col_name] is None: + assert actual_row[actual_col_name] is None, f'{line_number}行目:{actual_col_name}が、登録されていないこと' + else: + assert actual_row[actual_col_name] >= expect_row[expect_col_name], f'{line_number}行目:{actual_col_name}が、期待値以降であること'