package com.xinelu.manage.dto.signpatientrecord;

import com.xinelu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDate;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @description: 签约患者查询传输对象
 * @author: haown
 * @create: 2024-02-28 17:16
 **/
@ApiModel("签约患者查询传输对象")
@Data
public class SignPatientListDto extends BaseEntity {
	/**
	 * 患者姓名
	 */
	@ApiModelProperty(value = "患者姓名")
	private String patientName;

	/**
	 * 患者电话
	 */
	@ApiModelProperty(value = "患者电话")
	private String patientPhone;

	/**
	 * 就诊流水号
	 */
	@ApiModelProperty(value = "就诊流水号")
	private String visitSerialNumber;

	/**
	 * 就诊方式，门诊：OUTPATIENT_SERVICE，住院：BE_IN_HOSPITAL
	 */
	@ApiModelProperty(value = "就诊方式，门诊：OUTPATIENT_SERVICE，住院：BE_IN_HOSPITAL")
	private String visitMethod;

	/**
	 * 加入意向时间（意向签约）
	 */
	@ApiModelProperty(value = "加入意向时间开始（意向签约）")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private LocalDate intentionalTimeStart;

	/**
	 * 加入意向时间（意向签约）
	 */
	@ApiModelProperty(value = "加入意向时间结束（意向签约）")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private LocalDate intentionalTimeEnd;

	/**
	 * 意向来源（意向签约，字典枚举）
	 */
	@ApiModelProperty(value = "意向来源（意向签约，字典枚举）")
	private String intentionalSource;

	/**
	 * 签约时间，格式：yyyy-MM-dd
	 */
	@ApiModelProperty(value = "签约时间开始，格式：yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private LocalDate signTimeStart;

	@ApiModelProperty(value = "签约时间结束，格式：yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private LocalDate signTimeEnd;
	/**
	 * 签约时所属医院id
	 */
	@ApiModelProperty(value = "签约时所属医院id")
	private Long hospitalAgencyId;

	/**
	 * 签约时所属院区id
	 */
	@ApiModelProperty(value = "签约时所属院区id")
	private Long campusAgencyId;

	/**
	 * 签约时所属科室id
	 */
	@ApiModelProperty(value = "签约时所属科室id")
	private Long departmentId;

	/**
	 * 签约时所属病区id
	 */
	@ApiModelProperty(value = "签约时所属病区id")
	private Long wardId;

	/**
	 * 签约状态，在签：IN_SIGN,解约：SEPARATE_SIGN, 过期：EXPIRE_SIGN
	 */
	@ApiModelProperty(value = "签约状态，在签：IN_SIGN,解约：SEPARATE_SIGN, 过期：EXPIRE_SIGN")
	private String signStatus;

	/**
	 * 服务状态，意向签约：INTENTIONAL_SIGNING，服务中：SERVICE_CENTER，服务结束：SERVICE_END，待续签：WAIT_CONTINUOUS_SIGN
	 */
	@ApiModelProperty(value = "服务状态，意向签约：INTENTIONAL_SIGNING，服务中：SERVICE_CENTER，服务结束：SERVICE_END，待续签：WAIT_CONTINUOUS_SIGN")
	private String serviceStatus;

	@ApiModelProperty(value = "服务结束时间开始")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private LocalDate serviceEndTimeStart;

	@ApiModelProperty(value = "服务结束时间结束")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private LocalDate serviceEndTimeEnd;

	/** 出院时间开始，格式：yyyy-MM-dd HH:mm:ss */
	@ApiModelProperty(value = "出院时间开始，格式：yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private LocalDate dischargeTimeStart;

	/** 出院时间结束，格式：yyyy-MM-dd HH:mm:ss */
	@ApiModelProperty(value = "出院时间结束，格式：yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private LocalDate dischargeTimeEnd;

	/** 主要诊断 */
	@ApiModelProperty(value = "主要诊断")
	private String mainDiagnosis;

	@ApiModelProperty(value = "患者来源，微信小程序：WE_CHAT_APPLET，微信公众号：WE_CHAT_OFFICIAL_ACCOUNT，管理端：MANAGE_END")
	private String patientSource;

	@ApiModelProperty(value = "专病路径审核状态，未审核：UNAUDITED,同意：AGREE，不同意：DISAGREE")
	private String routeCheckStatus;

}
