package com.miyzh.entity;

import lombok.Data;

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

/**
 * <p>
 * 门诊签约表
 * </p>
 *
 * @author liyc
 * @since 2018-01-02
 */
@Data
public class InsClinicSign implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 序列号
     */

    private String id;
    /**
     * 用户id
     */

    private String patientId;
    /**
     * 患者姓名
     */

    private String patientName;
    /**
     * 患者性别
     */

    private String patientSex;
    /**
     * 患者年龄
     */

    private Integer patientAge;
    /**
     * 患者生日
     */

    private Date patientBirth;
    /**
     * 患者电话
     */

    private String patientPhone;
    /**
     * 个人医保编号
     */

    private String patientInsuranceId;
    /**
     * 人员类别
     */

    private String insPersonType;
    /**
     * 身份证id
     */

    private String idCard;
    /**
     * 单位名称
     */

    private String companyId;
    /**
     * 单位编号
     */

    private String companyName;
    /**
     * 区域划分
     */

    private String reginal;
    /**
     * 诊所id
     */

    private String clinicId;
    /**
     * 门诊医保号 青岛医疗机构代码长度为5
     */

    private String clinicInsId;
    /**
     * 医保卡号
     */

    private String cardId;
    /**
     * 开始时间
     */

    private Date signBeginTime;
    /**
     * 结束时间
     */

    private Date signEndTime;
    /**
     * 当前状态 1：新增；2：撤销；3：变更；4：续约；5：转入；6：变更医师
     */

    private String singType;
    /**
     * 备注
     */

    private String remarks;
    /**
     * 学校编码
     */

    private String schoolId;
    /**
     * 联系方式
     */

    private String contactTel;
    /**
     * 审批编号 除了新增、转入，都上传
     */

    private String approveId;
    /**
     * 审批状态
     */

    private String approveStatus;
    /**
     * 审批时间
     */

    private Date approveTime;
    /**
     * 签约医生
     */

    private String doctorId;
    /**
     * 签约医生名称
     */

    private String doctorName;
    /**
     * 记录标识 1：代表是记录
     */

    private Integer isLog;
    /**
     * 审批记录id
     */

    private String approveLogId;
    /**
     *
     */

    private String createId;
    /**
     *
     */

    private String createName;
    /**
     *
     */

    private Date createTime;
    /**
     *
     */

    private String updateId;
    /**
     *
     */

    private String updateName;
    /**
     *
     */

    private Date updateTime;
    /**
     *
     */

    private String deleteId;
    /**
     *
     */

    private String deleteName;
    /**
     *
     */

    private Date deleteTime;
    /**
     * 患者姓名拼音首字母
     */

    private String patientPinyinAbbr;
    /**
     * 医生姓名拼音首字母
     */

    private String doctorPinyinAbbr;

    /**
     * 门诊病案号
     */

    private String clcMedicalRecordNo;

    //查询结束时间
    private String endTime;
    //查询开始时间
    private String startTime;
    //查询操作结束时间
    private String endOperateTime;
    //查询操作开始时间
    private String startOperateTime;

    //人员类别
    private String personType;
    //签约人次
    private String signNumber;
    //签约人数
    private String signerNumber;

    private Integer countSignNumber;

    /**
     * 签约类型
     * 1：社区门诊签约；2：家庭医生签约
     */
    private String signClinicReason;


    private InsPatientInfo insPatientInfo;

    //总人次
    private String countNum;

    /**
     * 剩余额度
     */
    private BigDecimal surplusAmount;
    /**
     * 剩余额度
     */
    private BigDecimal totalScore;
    /**
     * 剩余额度
     */
    private BigDecimal otherTotalScore;
    /**
     * 统筹限额
     */
    private BigDecimal everMonthAmount;


    /**
     * 年限额标准
     */
    private String yearStandard;
    /**
     * 个人自费总额
     */

    private BigDecimal personalTotalScore;
    /**
     * 统筹支付总额
     */

    private BigDecimal ordinateTotalScore;
    /**
     * 参保类型
     */

    private String insType;

    /**
     * 查询排序字段
     */
    private String sortColumn;      //排序字段
    private String sortOrder;       //排序顺序

    /**
     * 包干业务字段
     */
    private int signStat;       //当月签约状态 （1：迁入 2：迁出，0：正常）
    private int monthSignNum;  //当月迁入数量
    private int ageCount1;  //<40岁的签约人数
    private int ageCount2;  //40-60岁的签约人数
    private int ageCount3;  //>60岁的签约人数

}
