package thyyxxk.webserver.entity.medicalinsurance.setllistupld;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 结算清单信息
 *
 * @author Administrator
 */
@Data
@TableName(value = "t_settlement_setlinfo")
public class SetlinfoUpld implements Serializable {
    private static final long serialVersionUID = 2704605758808060437L;
    /**
     * 就诊ID
     */
    @JSONField(name = "mdtrt_id")
    private String mdtrtId;

    /**
     * 结算ID
     */
    @JSONField(name = "setl_id")
    private String setlId;

    /**
     * 定点医药机构名称·1
     */
    @JSONField(name = "fixmedins_name")
    private String fixmedinsName;

    /**
     * 定点医药机构编号
     */
    @JSONField(name = "fixmedins_code")
    private String fixmedinsCode;

    /**
     * 医保结算等级
     */
    @JSONField(name = "hi_setl_lv")
    private String hiSetlLv;

    /**
     * 医保编号（参保人在医保系统中的唯一身份代码）
     */
    @JSONField(name = "hi_no")
    private String hiNo;

    /**
     * 病案号
     */
    @JSONField(name = "medcasno")
    private String medcasno;

    /**
     * 申报时间（结算清单上报时间）
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "dcla_time")
    private Date dclaTime;

    /**
     * 人员姓名
     */
    @JSONField(name = "psn_name")
    private String psnName;

    /**
     * 性别
     */
    @JSONField(name = "gend")
    private String gend;

    /**
     * 出生日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(name = "brdy")
    private String brdy;

    /**
     * 年龄（大于1岁（含1岁）时必填，单位岁，保留1位小数）
     */
    @JSONField(name = "age")
    private String age;

    /**
     * 国籍
     */
    @JSONField(name = "ntly")
    private String ntly;

    /**
     * 年龄（小于1岁时必填，单位天）
     */
    @JSONField(name = "nwb_age")
    private String nwbAge;

    /**
     * 民族
     */
    @JSONField(name = "naty")
    private String naty;

    /**
     * 患者证件类别
     */
    @JSONField(name = "patn_cert_type")
    private String patnCertType;

    /**
     * 证件号码
     */
    @JSONField(name = "certno")
    private String certno;

    /**
     * 职业
     */
    @JSONField(name = "prfs")
    private String prfs;

    /**
     * 现住址
     */
    @JSONField(name = "curr_addr")
    private String currAddr;

    /**
     * 单位名称
     */
    @JSONField(name = "emp_name")
    private String empName;

    /**
     * 单位地址
     */
    @JSONField(name = "emp_addr")
    private String empAddr;

    /**
     * 单位电话
     */
    @JSONField(name = "emp_tel")
    private String empTel;
    /**
     * 邮编
     */
    @JSONField(name = "poscode")
    private String poscode;
    /**
     * 联系人姓名
     */
    @JSONField(name = "coner_name")
    private String conerName;
    /**
     * 与患者关系
     */
    @JSONField(name = "patn_rlts")
    private String patnRlts;
    /**
     * 联系人地址
     */
    @JSONField(name = "coner_addr")
    private String conerAddr;

    /**
     * 联系人电话
     */
    @JSONField(name = "coner_tel")
    private String conerTel;
    /**
     * 医保类型（参照字典MDCS_TYPE）
     */
    @JSONField(name = "hi_type")
    private String hiType;

    /**
     * 参保地
     */
    @JSONField(name = "insuplc")
    private String insuplc;
    /**
     * 特殊人员类型
     */
    @JSONField(name = "sp_psn_type")
    private String spPsnType;
    /**
     * 新生儿入院类型
     */
    @JSONField(name = "nwb_adm_type")
    private String nwbAdmType;
    /**
     * 新生儿出生体重（精确到10克(g)）
     */
    @JSONField(name = "nwb_bir_wt")
    private String nwbBirWt;
    /**
     * 新生儿入院体重（精确到10克(g)）
     */
    @JSONField(name = "nwb_adm_wt")
    private String nwbAdmWt;
    /**
     * 门诊慢特病诊断科别
     */
    @JSONField(name = "opsp_diag_caty")
    private String opspDiagCaty;
    /**
     * 门诊慢特病就诊日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(name = "opsp_mdtrt_date")
    private Date opspMdtrtDate;
    /**
     * 住院医疗类型
     */
    @JSONField(name = "ipt_med_type")
    private String iptMedType;
    /**
     * 入院途径
     */
    @JSONField(name = "adm_way")
    private String admWay;
    /**
     * 治疗类别
     */
    @JSONField(name = "trt_type")
    private String trtType;
    /**
     * 入院时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "adm_time")
    private Date admTime;
    /**
     * 入院科别（参照科室代码（dept））
     */
    @JSONField(name = "adm_caty")
    private String admCaty;
    /**
     * 转科科别（参照科室代码（dept），如果超过一次以上的转科，用“→”转接表示）
     */
    @JSONField(name = "refldept_dept")
    private String refldeptDept;
    /**
     * 出院时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "dscg_time")
    private Date dscgTime;
    /**
     * 出院科别（参照科室代码（dept））
     */
    @JSONField(name = "dscg_caty")
    private String dscgCaty;
    /**
     * 实际住院天数
     */
    @JSONField(name = "act_ipt_days")
    private String actIptDays;
    /**
     * 门（急）诊西医诊断
     */
    @JSONField(name = "otp_wm_dise")
    private String otpWmDise;
    /**
     * 西医诊断疾病代码
     */
    @JSONField(name = "wm_dise_code")
    private String wmDiseCode;
    /**
     * 门（急）诊中医诊断
     */
    @JSONField(name = "otp_tcm_dise")
    private String otpTcmDise;
    /**
     * 中医诊断代码
     */
    @JSONField(name = "tcm_dise_code")
    private String tcmDiseCode;
    /**
     * 诊断代码计数
     */
    @JSONField(name = "diag_code_cnt")
    private String diagCodeCnt;
    /**
     * 主诊断标志
     */
    @TableField(exist = false)
    private String maindiagFlag;

    /**
     * 手术操作代码计数
     */
    @JSONField(name = "oprn_oprt_code_cnt")
    private String oprnOprtCodeCnt;
    /**
     * 呼吸机使用时长（格式：天数/小时数/分钟数。例：1/13/24）
     */
    @JSONField(name = "vent_used_dura")
    private String ventUsedDura;
    /**
     * 颅脑损伤患者入院前昏迷时长（格式：天数/小时数/分钟数。例：1/13/24）
     */
    @JSONField(name = "pwcry_bfadm_coma_dura")
    private String pwcryBfadmComaDura;
    /**
     * 颅脑损伤患者入院后昏迷时长（格式：天数/小时数/分钟数。例：1/13/24）
     */
    @JSONField(name = "pwcry_afadm_coma_dura")
    private String pwcryAfadmComaDura;
    /**
     * 输血品种
     */
    @JSONField(name = "bld_cat")
    private String bldCat;
    /**
     * 输血量
     */
    @JSONField(name = "bld_amt")
    private String bldAmt;
    /**
     * 输血计量单位
     */
    @JSONField(name = "bld_unt")
    private String bldUnt;
    /**
     * 特级护理天数
     */
    @JSONField(name = "spga_nurscare_days")
    private String spgaNurscareDays;
    /**
     * 一级护理天数
     */
    @JSONField(name = "lv1_nurscare_days")
    private String lv1NurscareDays;
    /**
     * 二级护理天数
     */
    @JSONField(name = "scd_nurscare_days")
    private String scdNurscareDays;
    /**
     * 三级护理天数
     */
    @JSONField(name = "lv3_nurscare_days")
    private String lv3NurscareDays;
    /**
     * 离院方式
     */
    @JSONField(name = "dscg_way")
    private String dscgWay;
    /**
     * 拟接收机构名称（当离院方式为“2”时，如果接收患者的医疗机构明确，需要填写转入医疗机构的名称；
     * 当离院方式为“3”时，如果接收患者的社区卫生服务机构明确，需要填写社区卫生服务机构/乡镇卫生院名称）
     */
    @JSONField(name = "acp_medins_name")
    private String acpMedinsName;
    /**
     * 拟接收机构代码（当离院方式为“2”或“3”时，如果接收患者的医疗机构或社区卫生服务机构明确，需要填写机构对应的医保定点医疗机构代码）
     */
    @JSONField(name = "acp_optins_code")
    private String acpOptinsCode;
    /**
     * 票据代码
     */
    @JSONField(name = "bill_code")
    private String billCode;
    /**
     * 票据号码
     */
    @JSONField(name = "bill_no")
    private String billNo;
    /**
     * 业务流水号
     */
    @JSONField(name = "biz_sn")
    private String bizSn;
    /**
     * 出院31天内再住院计划标志
     */
    @JSONField(name = "days_rinp_flag_31")
    private String daysRinpFlag31;
    /**
     * 出院31天内再住院目的
     */
    @JSONField(name = "days_rinp_pup_31")
    private String daysRinpPup31;
    /**
     * 主诊医师姓名
     */
    @JSONField(name = "chfpdr_name")
    private String chfpdrName;
    /**
     * 主诊医师代码（主诊医师在《医保医师代码》中的代码，在就医地未完成标准化前，可传医师在就医地系统中的唯一编号）
     */
    @JSONField(name = "chfpdr_code")
    private String chfpdrCode;
    /**
     * 结算开始日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(name = "setl_begn_date")
    private Date setlBegnDate;
    /**
     * 结算结束日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(name = "setl_end_date")
    private Date setlEndDate;
    /**
     * 个人自付
     */
    @JSONField(name = "psn_selfpay")
    private String psnSelfpay;
    /**
     * 个人自费
     */
    @JSONField(name = "psn_ownpay")
    private String psnOwnpay;
    /**
     * 个人账户支出
     */
    @JSONField(name = "acct_pay")
    private String acctPay;
    /**
     * 个人现金支付
     */
    @JSONField(name = "psn_cashpay")
    private String psnCashpay;
    /**
     * 医保支付方式
     */
    @JSONField(name = "hi_paymtd")
    private String hiPaymtd;
    /**
     * 医保机构
     */
    @JSONField(name = "hsorg")
    private String hsorg;
    /**
     * 医保机构经办人
     */
    @JSONField(name = "hsorg_opter")
    private String hsorgOpter;
    /**
     * 医疗机构填报部门
     */
    @JSONField(name = "medins_fill_dept")
    private String medinsFillDept;
    /**
     * 医疗机构填报人
     */
    @JSONField(name = "medins_fill_psn")
    private String medinsFillPsn;
    /**
     * 人员编号
     */
    @JSONField(name = "psn_no")
    private String psnNo;


    //////////////////////////// 以下是4101A 新增入参 /////////////////////////////////////
    /**
     * 责任护士代码
     */
    @JSONField(name = "resp_nurs_code")
    private String respNursCode;

    @TableField(exist = false)
    private String respNursName;
    /**
     * 状态分类
     */
    @JSONField(name = "stas_type")
    private String stasType = "1";

    /**
     * 医保统筹基金支付 fund_pay_sumamt
     */
    private String fundPaySumamt;


    /**
     * 医疗救助
     */
    private String mafPay;

    /**
     * 医院支付
     */
    private String hospPartAmt;


}
