from datetime import datetime
from typing import Optional

from src.model.db.base_db_model import BaseDBModel


class UltmarcInstInfoDBModel(BaseDBModel):
    dcf_dsf_inst_cd: Optional[str]
    unconf_flg: Optional[str]
    dup_opp_cd: Optional[str]
    close_start_ym: Optional[str]
    close_flg: Optional[str]
    delete_sche_reason_cd: Optional[str]
    abolish_ymd: Optional[str]
    estab_sche_ym: Optional[str]
    estab_sche_flg: Optional[str]
    form_inst_name_kana: Optional[str]
    form_inst_name_kanji: Optional[str]
    inst_name_kana: Optional[str]
    inst_name_kanji: Optional[str]
    manage_cd: Optional[str]
    postal_number: Optional[str]
    inst_phone_number: Optional[str]
    addr_unknown_reason_cd: Optional[str]
    phone_number_non_flg: Optional[str]
    inst_addr_kana: Optional[str]
    inst_addr: Optional[str]
    re_exam_cd: Optional[str]
    rltd_univ_prnt_cd: Optional[str]
    insp_item_micrb: Optional[str]
    insp_item_serum: Optional[str]
    insp_item_blood: Optional[str]
    insp_item_patho: Optional[str]
    insp_item_paras: Optional[str]
    insp_item_biochem: Optional[str]
    insp_item_ri: Optional[str]
    prmit_bed_num_gen: Optional[str]
    prmit_bed_num_rcup: Optional[str]
    prmit_bed_num_mental: Optional[str]
    prmit_bed_num_infection: Optional[str]
    prmit_bed_num_tuber: Optional[str]
    prmit_bed_num_other: Optional[str]
    prmit_bed_num_sum: Optional[str]
    ward_abolish_flg: Optional[str]
    bed_num: Optional[str]
    prmit_bed_maint_ymd: Optional[str]
    inst_repre_cd: Optional[str]
    inst_repre_kana: Optional[str]
    inst_repre: Optional[str]
    sys_update_date: Optional[datetime]
    delete_sche_reason: Optional[str]
    inst_div_name: Optional[str]
    manage_name: Optional[str]
    hp_assrt_name: Optional[str]
    parent_name: Optional[str]
    dcf_prnt_inst_cd: Optional[str]
