package com.xinelu.manage.dto.screeningrecord;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * @Author mengkuiliang
 * @Description 居民预约记录请求对象
 * @Date 2023-01-29 14:03
 * @Param
 * @return
 **/
@Data
@ApiModel("居民预约记录请求对象")
public class ScreeningRecordApplyDTO implements Serializable {

    /**
     * 业务主键
     */
    @ApiModelProperty("业务主键")
    private String screeningId;

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

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

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

    /**
     * 基础疾病
     */
    @ApiModelProperty(value = "基础疾病", required = true)
    private String disease;

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

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

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

	/**
	 * 医院名称
	 */
	@ApiModelProperty("项目名称")
	private String projectName;

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

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

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

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

    /**
     * 检查日期
     */
    @ApiModelProperty("检查日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date screeningDate;

	@ApiModelProperty("内容")
	private String content;

	@ApiModelProperty("诊断结果")
	private String diagnosticResult;

	@ApiModelProperty("附件一")
	private String attachment;

	@ApiModelProperty("附件二")
	private String attachmentTwo;

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

	@ApiModelProperty(value = "预约条码")
	private String applyBarcode;

	@ApiModelProperty("登记日期")
	private Date registrationDate;

	@ApiModelProperty("登记码")
	private String registrationCode;

	@ApiModelProperty(value = "登记条码")
	private String registrationBarcode;

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

	private Date pushDate;

	private String assessRecordId;
    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

}
