package thyyxxk.webserver.entity.casefrontsheet.tcmsheet;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import thyyxxk.webserver.utils.StringUtil;

import java.util.List;

@Data
public class TcmFrontSheetMain {
    // 主键
    @TableId(type = IdType.INPUT)
    private String id;
    // 病案号，和住院号一样
    private String patNo;
    // 住院次数
    private Integer times;
    // 医疗付费方式
    private String payWay;
    // 健康卡号
    private String healthCardNo;
    // 姓名
    private String name;
    // 性别
    private String gender;
    // 出生日期
    private Integer birthYear;
    private Integer birthMonth;
    private Integer birthDay;
    // 年龄
    private Integer age;
    // （年龄不足1周岁的）年龄
    private Integer infAge;
    // 新生儿年龄≤28天）年龄
    private Integer nbAge;
    // 国籍
    private String country;
    // 新生儿体重
    private Integer nbWeight1;
    private Integer nbWeight2;
    // 新生儿入院体重
    private Integer nbAdmWeight;
    // 证件类型
    private String certType;
    // 证件号码
    private String certNo;
    // 无证件的原因
    private String noCertReason;
    private String noCertReasonInput;
    // 出生地
    private String bpProvince;
    private String bpCity;
    private String bpCounty;
    // 籍贯
    private String npProvince;
    private String npCity;
    private String npCounty;
    // 民族
    private String nation;
    // 职业
    private String occupation;
    // 婚姻情况
    private String marriage;
    // 现住址
    private String lpProvince;
    private String lpCity;
    private String lpCounty;
    private String lpSup;
    private String lpZipCode;
    // 手机号
    private String phone;
    // 户口地址
    private String hpProvince;
    private String hpCity;
    private String hpCounty;
    private String hpSup;
    private String hpZipCode;
    // 工作单位名称
    private String unitName;
    // 工作单位地址
    private String unitPlace;
    // 工作单位电话
    private String unitPhone;
    // 工作单位邮编
    private String unitZipCode;
    // 联系人姓名
    private String conName;
    // 联系人关系
    private String conRel;
    // 联系人地址
    private String conAddr;
    // 联系人电话
    private String conPhone;
    // 入院方式
    private String zyAdmWay;
    // 治疗类别
    private String treatWay;
    // 入院时间
    private Integer admissYear;
    private Integer admissMonth;
    private Integer admissDay;
    private Integer admissHour;
    // 入院科室
    private String admissDept;
    private String admissDeptName;
    // 入院病房
    private String admissWard;
    private String admissWardName;
    // 转科科室
    private String transDept;
    private String transDeptName;
    // 出院日期
    private Integer dismissYear;
    private Integer dismissMonth;
    private Integer dismissDay;
    private Integer dismissHour;
    // 出院科室
    private String dismissDept;
    private String dismissDeptName;
    // 出院病房
    private String dismissWard;
    private String dismissWardName;
    // 住院天数
    private Integer inHospDays;
    // 门（急）诊诊断（中医诊断）
    private String mzTcmDiagCode;
    private String mzTcmDiagName;
    // 门（急）诊诊断（西医诊断）
    private String mzWstDiagCode;
    private String mzWstDiagName;
    // 实施临床路径
    private String usePathway;
    // 临床路径管理
    private String pathwayMng;
    // 使用医疗机构中药制剂
    private String useTcmPrep;
    // 使用中医诊疗设备
    private String useTcmEqp;
    // 使用中医诊疗技术
    private String useTcmTech;
    // 辨证施护
    private String diaNursing;
    // 损伤、中毒的外部原因
    private String hurtReasonCode;
    private String hurtReasonName;
    // 病理诊断
    private String pthDiagCode;
    private String pthDiagName;
    // 病理号
    private String pthNo;
    // 是否有过敏
    private String allergy;
    // 过敏药物
    private String allergyMed;
    // 是否进行过尸检
    private String autopsy;
    // 血型
    private String bloodType;
    // Rh
    private String rh;
    // 科室主任
    private String kzy;
    private String kzyName;
    // 主任（副主任）医师
    private String zyfzyDoc;
    private String zyfzyDocName;
    // 主治医师
    private String mainDoc;
    private String mainDocName;
    // 住院医师
    private String admDoc;
    private String admDocName;
    // 责任护士
    private String dutyNur;
    private String dutyNurName;
    // 进修医师
    private String jxDoc;
    private String jxDocName;
    // 实习医师
    private String sxDoc;
    private String sxDocName;
    // 编码员
    private String coder;
    private String coderName;
    // 病案质量
    private String sheetQuality;
    // 质控医师
    private String qltyCtrlDoc;
    private String qltyCtrlDocName;
    // 质控护士
    private String qltyCtrlNurse;
    private String qltyCtrlNurseName;
    // 质控日期
    private Integer qltyCtrlYear;
    private Integer qltyCtrlMonth;
    private Integer qltyCtrlDay;
    // 离院方式
    private String zyDismissWay;
    // 拟接收医疗机构名称
    private String dismissDestination;
    // 是否有出院31天内再住院计划
    private String admissAgain;
    // 出院31天内再住院目的
    private String admissAgainPurpose;
    // 颅脑损伤患者入院前昏迷时间
    private String comaDaysBeforeAdmiss;
    private String comaHoursBeforeAdmiss;
    private String comaMinutesBeforeAdmiss;
    // 颅脑损伤患者入院后昏迷时间
    private String comaDaysAfterAdmiss;
    private String comaHoursAfterAdmiss;
    private String comaMinutesAfterAdmiss;
    // 住院总费用
    private String totalCost;
    // 住院自费金额
    private String selfPay;
    // 一般医疗服务费
    private String ybylfwFee;
    // 中医辨证论治费
    private String zybzlzFee;
    // 中医辨证论治会诊费
    private String zybzlzhzFee;
    // 一般治疗操作费
    private String ybczzlFee;
    // 护理费
    private String nursingFee;
    // 其他费
    private String elseFee;
    // 病理诊断费
    private String blzdFee;
    // 实验室诊断费
    private String syszdFee;
    // 影像学诊断费
    private String ctFee;
    // 临床诊断项目费
    private String lczdxmFee;
    // 非手术治疗项目费
    private String fsszlxmFee;
    // 临床物理治疗费
    private String lcwlzlFee;
    // 手术治疗费
    private String sszlFee;
    // 麻醉费
    private String anesthetizeFee;
    // 手术费
    private String surgeryFee;
    // 康复费
    private String recoverFee;
    // 中医诊断费
    private String tcmDiagFee;
    // 中医治疗费
    private String tcmTreatFee;
    // 中医外治费
    private String tcmWzFee;
    // 中医骨伤
    private String tcmGsFee;
    // 针刺与灸法
    private String tcmZcyjfFee;
    // 中医推拿治疗
    private String tcmTnzlFee;
    // 中医肛肠治疗
    private String tcmGczlFee;
    // 中医特殊治疗
    private String tcmTszlFee;
    // 中医其他
    private String tcmOthFee;
    // 中药特殊调配加工
    private String tcmTstpjgFee;
    // 辨证施膳
    private String tcmBzssFee;
    // 西药费
    private String westMedicineFee;
    // 抗菌药物费用
    private String kjywFee;
    // 中成药费
    private String zcyFee;
    // 医疗机构中药制剂费
    private String yjlgzyzjFee;
    // 中草药费
    private String herbalFee;
    // 血费
    private String bloodFee;
    // 白蛋白类制品费
    private String albuminFee;
    // 球蛋白类制品费
    private String globulinFee;
    // 凝血因子类制品费
    private String nxyzlzpFee;
    // 细胞因子类制品费
    private String xbyzlzpFee;
    // 检查用一次性医用材料费
    private String jcyycxyyclFee;
    // 治疗用一次性医用材料费
    private String zlyycxyyclFee;
    // 手术用一次性医用材料费
    private String ssycxyyclFee;
    // 其他费
    private String otherFees;
    // 危重病例
    private String wzbl;
    // 疑难病例
    private String ynbl;
    // MDT病历
    private String mdtbl;
    // 单病种病例
    private String dbzbl;
    // 日间手术病例
    private String rjssbl;
    // 教学查房病历
    private String jxcfbl;
    // 诊断符合情况：门诊与出院
    private String mzycy;
    // 诊断符合情况：入院与出院
    private String ryycy;
    // 诊断符合情况：术前与术后
    private String sqysh;
    // 诊断符合情况：临床与病理
    private String lcybl;
    // 诊断符合情况：放射与病理
    private String fsybl;
    // 抢救次数
    private Integer rescueTimes;
    // 抢救成功次数
    private Integer rescueSuccessTimes;
    // 同城互认 - 无
    private Boolean tchrw;
    // 同城互认 - 影像检查
    private Boolean tchryxjc;
    // 同城互认 - 检验检查
    private Boolean tchrjyjc;
    // 同城互认 - 病理检查
    private Boolean tchrbljc;
    // 同城互认 - 其他
    private Boolean tchrqt;

    @TableField(exist = false)
    private List<TcmFrontSheetDisdiag> disdiagList;
    @TableField(exist = false)
    private List<TcmFrontSheetSurgery> surgeryList;
    @TableField(exist = false)
    private List<TcmFrontSheetIcuinfo> icuInfoList;

    public String getTotalCost() {
        return StringUtil.isBlank(totalCost) ? "0" : totalCost;
    }

    public String getSelfPay() {
        return StringUtil.isBlank(selfPay) ? "0" : selfPay;
    }

    public String getYbylfwFee() {
        return StringUtil.isBlank(ybylfwFee) ? "0" : ybylfwFee;
    }

    public String getZybzlzFee() {
        return StringUtil.isBlank(zybzlzFee) ? "0" : zybzlzFee;
    }

    public String getZybzlzhzFee() {
        return StringUtil.isBlank(zybzlzhzFee) ? "0" : zybzlzhzFee;
    }

    public String getYbczzlFee() {
        return StringUtil.isBlank(ybczzlFee) ? "0" : ybczzlFee;
    }

    public String getNursingFee() {
        return StringUtil.isBlank(nursingFee) ? "0" : nursingFee;
    }

    public String getElseFee() {
        return StringUtil.isBlank(elseFee) ? "0" : elseFee;
    }

    public String getBlzdFee() {
        return StringUtil.isBlank(blzdFee) ? "0" : blzdFee;
    }

    public String getSyszdFee() {
        return StringUtil.isBlank(syszdFee) ? "0" : syszdFee;
    }

    public String getCtFee() {
        return StringUtil.isBlank(ctFee) ? "0" : ctFee;
    }

    public String getLczdxmFee() {
        return StringUtil.isBlank(lczdxmFee) ? "0" : lczdxmFee;
    }

    public String getFsszlxmFee() {
        return StringUtil.isBlank(fsszlxmFee) ? "0" : fsszlxmFee;
    }

    public String getLcwlzlFee() {
        return StringUtil.isBlank(lcwlzlFee) ? "0" : lcwlzlFee;
    }

    public String getSszlFee() {
        return StringUtil.isBlank(sszlFee) ? "0" : sszlFee;
    }

    public String getAnesthetizeFee() {
        return StringUtil.isBlank(anesthetizeFee) ? "0" : anesthetizeFee;
    }

    public String getSurgeryFee() {
        return StringUtil.isBlank(surgeryFee) ? "0" : surgeryFee;
    }

    public String getRecoverFee() {
        return StringUtil.isBlank(recoverFee) ? "0" : recoverFee;
    }

    public String getTcmDiagFee() {
        return StringUtil.isBlank(tcmDiagFee) ? "0" : tcmDiagFee;
    }

    public String getTcmTreatFee() {
        return StringUtil.isBlank(tcmTreatFee) ? "0" : tcmTreatFee;
    }

    public String getTcmWzFee() {
        return StringUtil.isBlank(tcmWzFee) ? "0" : tcmWzFee;
    }

    public String getTcmGsFee() {
        return StringUtil.isBlank(tcmGsFee) ? "0" : tcmGsFee;
    }

    public String getTcmZcyjfFee() {
        return StringUtil.isBlank(tcmZcyjfFee) ? "0" : tcmZcyjfFee;
    }

    public String getTcmTnzlFee() {
        return StringUtil.isBlank(tcmTnzlFee) ? "0" : tcmTnzlFee;
    }

    public String getTcmGczlFee() {
        return StringUtil.isBlank(tcmGczlFee) ? "0" : tcmGczlFee;
    }

    public String getTcmTszlFee() {
        return StringUtil.isBlank(tcmTszlFee) ? "0" : tcmTszlFee;
    }

    public String getTcmOthFee() {
        return StringUtil.isBlank(tcmOthFee) ? "0" : tcmOthFee;
    }

    public String getTcmTstpjgFee() {
        return StringUtil.isBlank(tcmTstpjgFee) ?  "0" : tcmTstpjgFee;
    }

    public String getTcmBzssFee() {
        return StringUtil.isBlank(tcmBzssFee) ? "0" : tcmBzssFee;
    }

    public String getWestMedicineFee() {
        return StringUtil.isBlank(westMedicineFee) ? "0" : westMedicineFee;
    }

    public String getKjywFee() {
        return StringUtil.isBlank(kjywFee) ? "0" : kjywFee;
    }

    public String getZcyFee() {
        return StringUtil.isBlank(zcyFee) ? "0" : zcyFee;
    }

    public String getYjlgzyzjFee() {
        return StringUtil.isBlank(yjlgzyzjFee) ?  "0" : yjlgzyzjFee;
    }

    public String getHerbalFee() {
        return StringUtil.isBlank(herbalFee) ? "0" : herbalFee;
    }

    public String getBloodFee() {
        return StringUtil.isBlank(bloodFee) ? "0" : bloodFee;
    }

    public String getAlbuminFee() {
        return StringUtil.isBlank(albuminFee) ? "0" : albuminFee;
    }

    public String getGlobulinFee() {
        return StringUtil.isBlank(globulinFee) ? "0" : globulinFee;
    }

    public String getNxyzlzpFee() {
        return StringUtil.isBlank(nxyzlzpFee) ?  "0" : nxyzlzpFee;
    }

    public String getXbyzlzpFee() {
        return StringUtil.isBlank(xbyzlzpFee) ? "0" : xbyzlzpFee;
    }

    public String getJcyycxyyclFee() {
        return StringUtil.isBlank(jcyycxyyclFee) ? "0" : jcyycxyyclFee;
    }

    public String getZlyycxyyclFee() {
        return StringUtil.isBlank(zlyycxyyclFee) ? "0" : zlyycxyyclFee;
    }

    public String getSsycxyyclFee() {
        return StringUtil.isBlank(ssycxyyclFee) ? "0" : ssycxyyclFee;
    }

    public String getOtherFees() {
        return StringUtil.isBlank(otherFees) ? "0" : otherFees;
    }

    public Integer getRescueTimes() {
        return null == rescueTimes ?  0 : rescueTimes;
    }

    public Integer getRescueSuccessTimes() {
        return null == rescueSuccessTimes ?  0 : rescueSuccessTimes;
    }
}
