package cn.hnthyy.thmz.entity.his.zy;

import java.math.BigDecimal;
import java.util.Date;

import cn.hnthyy.thmz.pageDto.PageBean;
import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Data;

/**
 * 住院记录表
 */
@Data
public class ZyActpatient extends PageBean implements Comparable<ZyActpatient> {
    /**
     * 出院病人表
     */
    public static final String ZY_INACTPATIENT="zy_inactpatient";
    /**
     * 在院病人表
     */
    public static final String ZY_ACTPATIENT="zy_actpatient";
    private String inpatientNo;//住院号
    private Integer admissTimes;//住院次数
    private String name;//名字
    private String outpatientNo;//住院号
    private String chargeType;//支付类型
    private String visitType;//医保类型
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date admissDate; //入院日期
    private String admissStatus;//入院状态
    private String clinicDiag;//门诊诊断
    private String admissDiag;//入院诊断
    private String admissPhysician;//入院医生
    private String referPhysician;//管床医生
    private String consultPhysician;//主治医生
    private String deptDirector;//科室主任
    private String admissDept;//入院科室
    private String admissWard;//入院病房
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date disDate;//出院日期
    private String disDiag;//出院诊断
    private String disStatus;//出院状态
    private String disDept;//出院科室
    private String disWard;//出院病房
    private String insurCode;//
    private String contractCode;//联系人
    private String responceType;//医保身份
    private Integer timesBilled;//
    private BigDecimal balance;//余额
    private BigDecimal totalCharge;//总费用
    /**
     * 西药费
     */
    private BigDecimal charge1;

    /**
     * 中草药费
     */
    private BigDecimal charge2;

    /**
     * 床位费
     */
    private BigDecimal charge3;

    /**
     * B超
     */
    private BigDecimal charge4;

    /**
     * 手术器械使用费
     */
    private BigDecimal charge5;

    /**
     * 心电监护
     */
    private BigDecimal charge6;

    /**
     * 体外反搏
     */
    private BigDecimal charge7;

    /**
     * 电胸电图
     */
    private BigDecimal charge8;

    /**
     * 心脑电图
     */
    private BigDecimal charge9;

    /**
     * 麻醉费
     */
    private BigDecimal charge10;

    /**
     * 透视照片
     */
    private BigDecimal charge11;

    /**
     * 手术费
     */
    private BigDecimal charge12;

    /**
     * 化验
     */
    private BigDecimal charge13;

    /**
     * 输血
     */
    private BigDecimal charge14;

    /**
     * 输氧
     */
    private BigDecimal charge15;

    /**
     * 接生
     */
    private BigDecimal charge16;

    /**
     * 护婴
     */
    private BigDecimal charge17;

    /**
     * CT
     */
    private BigDecimal charge18;

    /**
     * 护理
     */
    private BigDecimal charge19;

    /**
     * 陪护
     */
    private BigDecimal charge20;

    /**
     * 理疗费
     */
    private BigDecimal charge21;

    /**
     * 抢救
     */
    private BigDecimal charge22;

    /**
     * 卫生处理
     */
    private BigDecimal charge23;

    /**
     * 消毒
     */
    private BigDecimal charge24;

    /**
     * 治疗费
     */
    private BigDecimal charge25;

    /**
     * 其他
     */
    private BigDecimal charge26;

    /**
     * 材料费
     */
    private BigDecimal charge27;

    /**
     * 中成药费
     */
    private BigDecimal charge28;
    private BigDecimal charge29;
    private BigDecimal charge30;
    private String ward;//当期病房
    private String dept;//当前科室 病房
    private String bedNo;//床号
    private String sex;//性别
    private String bloodType;//血型
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date diagnosisDate;//
    private String allergyMedicine;//过敏药物
    private String rescueTimes;//抢救次数
    private String successTimes;//抢救成功次数
    private String followupMark;//
    private String followupPrior;//
    private String autopsyMark;//尸检标识
    private String qualityLevel;//质控质量
    private String opIdCode;//操作员ID
    private String archiveCode;//
    private String archiveMark;//
    private String teachingMark;//
    private String diagnoseConform1;//主要诊断符合情况
    private String diagnoseConform2;//诊断符合情况
    private String diagnoseConform3;//诊断符合情况
    private String diagnoseConform4;//诊断符合情况
    private String diagnoseConform5;//诊断符合情况
    private String diagnoseConform6;//诊断符合情况
    private String diagnoseConform7;//诊断符合情况
    private String diagnoseConform8;//诊断符合情况
    private String internCode;//
    private String diagnoseConform9;//诊断符合情况
    private String diagnoseConform10;//诊断符合情况
    private String pathologyDiag;//病理诊断
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date disHour;//
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date admissHour;//
    private Integer capBloody;//
    private Integer maxLedger;//
    private String admissDiagStr;//入院诊断名称
    private String patientStatus;//
    private String moveFlag;//
    private String jzjlh;//
    private String zkDept;//转科科室（当前科室）
    private String hbsag;//
    private String archiveCode1;//
    private String jobDoctor;//责任医生
    private String jobNurse;//责任护士
    private Float ybjy;//
    private Float bczf;//
    private Float zflj;//
    private String disDiagStr;//出院诊断名称
    private String ybZyh;//
    private String ybJzlb;//
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date yzIn;//
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date yzOut;//
    private String ybFlag;//
    private String oweFlag;//
    private String zkWard;//转科病房
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date zkDate;//转科日期
    private String ybJlh;//医保记录号
    private String ybType;//医保类型
    private String zySerialNo;//住院流水号
    //门诊号码
    private String mzNo;//
    private String clinicDiagStr;//门诊诊断名称
    //床位状态:1入院；2：安排；3:待出院;4:转科;5:出院9：召回
    private String bedStatus;//
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date inputDate;//录入时间
    private String ybJsffbz;//
    private String ybSylb;//
    private String ybZszh;//
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date admissDateYb;//
    private String baReceiveFlag;//
    private String blzkStatus;//
    private String room;//
    private String disYb;//
    private String disYbStr;//
    private String ybBzfx;//
    private String disRoom;//
    private String disYb1;//
    private String disYbStr1;//
    private String disYb2;//
    private String disYbStr2;//
    private String smallDept;//入院小科室
    private String xnhFamilysysno;//新农合相关
    private String xnhMembersysno;//新农合相关
    private String xnhBookno;//新农合相关
    private String xnhCardno;//新农合相关
    private String xnhCmisno;//新农合相关
    private String xnhZyh;//新农合住院号
    private String xnhReferralno;//新农合相关
    private String xnhRedeemType;//新农合相关
    private String xnhHasreferral;//新农合相关
    private String zyFlag;//
    private String xnhRejectFlag;//新农合相关
    private String ownFlag;//
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date ownTime;//
    private String freeFlag;//
    private String operation;//是否手术
    private String cyyy;//
    private String ybGsNo;//医保工伤号
    private String treatType;//待遇类别
    private String hicNo;//
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date ybRegisterDate;//医保入院登记时间
    private String pathologyDiagComment;//病理诊断名称
    private String fileStatus;//

    //病区名称
    private String wardName;
    //小病室名称
    private String zkDeptName;


    // zy_actpatient 在院病人  zy_inactpatient 出院病人表
    private String tableName;
    //旧住院号  执行修改住院号时传参使用
    private String oldInpatientNo;
    //旧住次数  执行修改住院号时传参使用
    private Integer oldAdmissTimes;
    //性别中文 用于页面显示
    private String gender;
    //当前科室名称
    private String deptName;
    //医保身份
    private String responceTypeName;
    /**
     * 0未结算 1是出院结算  3是中间结算  4是已出纳  非数据库字段
     */
    private String settleType;


    //非数据库字段 控制发票打印标志，只是页面做显示，不更新
    private Integer printFlag;

    @Override
    public int compareTo(ZyActpatient o) {
        return o.getAdmissTimes() - this.getAdmissTimes();
    }

}
