package com.xinelu.manage.dto.screeningrecord;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;

/**
 * @Author mengkuiliang
 * @Description 居民预约记录查询对象
 * @Date 2023-01-29 14:03
 * @Param
 * @return
 **/
@Data
@ApiModel("居民预约记录查询对象")
public class ScreeningRecordDTO extends BaseEntity {

    /**
     * 居民业务主键
     */
    @ApiModelProperty(value = "居民业务主键")
    private String patientId;

    /**
     * 居民姓名
     */
    @ApiModelProperty(value = "居民姓名")
    private String patientName;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号")
    private String identity;

    /**
     * 状态（1：已预约 2：取消预约 3：已登记 4：已完成）
     */
    @ApiModelProperty(value = "状态（1：已预约 2：取消预约 3：已登记 4：已完成）")
    private String screeningStatus;

    /**
     * 家庭住址
     */
    @ApiModelProperty(value = "家庭住址")
    private String address;

    /**
     * 医院编号
     */
    @ApiModelProperty("医院编号")
    private Long hospitalId;

    /**
     * 医院名称
     */
    @ApiModelProperty("医院名称")
    private String hospitalName;

	@ApiModelProperty("预约项目业务主键")
	private String projectId;

	@ApiModelProperty("预约项目名称")
	private String projectName;

    /**
     * 医生编号
     */
    @ApiModelProperty("医生编号")
    private String doctorId;

    /**
     * 医生名称
     */
    @ApiModelProperty("医生名称")
    private String doctorName;

    /**
     * 检查开始时间
     */
    @ApiModelProperty(value = "检查开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date screeningStartDate;

    /**
     * 检查结束时间
     */
    @ApiModelProperty(value = "检查结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date screeningEndDate;

    /**
     * 预约开始时间
     */
    @ApiModelProperty(value = "预约开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyStartDate;

    /**
     * 预约结束时间
     */
    @ApiModelProperty(value = "预约结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyEndDate;

	@ApiModelProperty("预约码")
	private String applyCode;

	@ApiModelProperty("登记状态，0:未登记,1:已登记")
	private String registrationStatus;

	@ApiModelProperty("是否过期，0:生效中,1:已过期")
	private String exceedStatus;

	@ApiModelProperty("是否生成筛查结果，0:未生成,1:已生成")
	private String hasResult;

	@ApiModelProperty("是否诊断，0:未诊断,1:已诊断")
	private String hasDiagnose;

	@ApiModelProperty(value = "筛查种类，1：居民预约，2：医生推送")
	private String screeningType;

	@ApiModelProperty(value = "评估业务主键")
	private String assessRecordId;

    /**
     * 页码
     */
    @ApiModelProperty("页码")
    private Integer pageNum;

    /**
     * 页面大小
     */
    @ApiModelProperty("页面大小")
    private Integer pageSize;

}
