package thyyxxk.webserver.entity.medicalinsurance.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

@Data
public class SiPatInfo implements Serializable {

    private static final long serialVersionUID = 6489789106587927689L;

    /**
     * 住院号/门诊号
     */
    private String patNo;

    /**
     * 住院次数/门诊次数
     */
    private Integer times;

    /**
     * 账页号（门诊为receiptNo）
     */
    private Integer ledgerSn;

    /**
     * 人员编号
     */
    private String psnNo;

    /**
     * 人员证件类型
     */
    private String psnCertType;

    /**
     * 证件号码
     */
    private String certno;

    /**
     * 人员姓名
     */
    private String psnName;

    /**
     * 性别
     */
    private String gend;

    /**
     * 民族
     */
    private String naty;

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

    /**
     * 年龄
     */
    private Double age;

    /**
     * 险种类型
     */
    private String insutype;

    /**
     * 医疗类别
     */
    private String medType;

    /**
     * 参保地医保区划，可通过【1101】人员信息获取交易取得
     */
    private String insuplcAdmdvs;
    private String insuplcAdmdvsName;

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

    /**
     * 人员参保状态
     */
    private String psnInsuStas;

    /**
     * 个人参保日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date psnInsuDate;

    /**
     * 暂停参保日期
     */
    private Integer pausInsuDate;

    /**
     * 公务员标志
     */
    private String cvlservFlag;

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

    /**
     * 人员身份类别
     */
    private String psnIdetType;

    /**
     * 人员类别等级
     */
    private String psnTypeLv;

    /**
     * 就诊ID
     */
    private String mdtrtId;

    /**
     * 结算ID
     */
    private String setlId;

    /**
     * 医药机构结算ID，存放发送方报文ID
     */
    private String medinsSetlId;

    /**
     * 全自费金额
     */
    private Double fulamtOwnpayAmt;

    /**
     * 超限价金额
     */
    private Double overlmtAmt;

    /**
     * 先行自付金额
     */
    private Double preselfpayAmt;

    /**
     * 符合政策范围金额
     */
    private Double inscpScpAmt;

    /**
     * 记录生成时间
     */
    private Date createDatetime;

    /**
     * 患者入院时间/门诊挂号时间
     */
    private Date visitDatetime;

    /**
     * 门诊慢特病编码
     */
    private String diseCode;

    /**
     * 门诊慢特病名称
     */
    private String diseName;
}
