package cn.common.req;

import cn.common.common.interaction.base.page.BasePageReq;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.io.*;

/**
* 病历信息分页查询请求封装类
* @title: MedicalHistoryReq.java
* @author create by Singer - Singer email:singer-coder@qq.com
* @date 2019/4/24 11:13
*/
@Data
public class MedicalHistoryReq extends BasePageReq implements Serializable {

    private static final long serialVersionUID = 6407031592348291908L;

    /**
     * 业务主键ID->"medicalHistoryId"
     */
    private String medicalHistoryId;

    /**
     * 用户主键ID
     */
    private String authUserId;

    /**
     * 姓名
     */
    private String userName;

    /**
     * 性别
     */
    private Integer gender;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 婚姻
     */
    private Integer marriage;

    /**
     * 民族
     */
    private String nation;

    /**
     * 职业
     */
    private String occupation;

    /**
     * 出生地
     */
    private String birthPlace;

    /**
     * 现住址
     */
    private String presentAddress;

    /**
     * 工作单位
     */
    private String workUnit;

    /**
     * 身份证号
     */
    private String idCardNum;

    /**
     * 电话
     */
    private String phoneNum;

    /**
     * 数据开始时间
     */
    @JSONField(format="yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private LocalDateTime beginTime;

    /**
     * 数据结束时间
     */
    @JSONField(format="yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private LocalDateTime endTime;

    /**
     * 入院时间
     */
    @JSONField(format="yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private LocalDateTime admittedTime;

    /**
     * 记录时间
     */
    @JSONField(format="yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private LocalDateTime recordTime;

    /**
     * 过敏状况
     */
    private String allergicCondition;

    /**
     * 病史叙述
     */
    private String historyNarrative;

}
