package com.xinelu.manage.vo.signpatientmanageroutenode;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.Data;

/**
 * @description: 患者任务列表查询返回视图类
 * @author: haown
 * @create: 2024-04-02 17:14
 **/
@ApiModel("患者任务列表查询返回视图类")
@Data
public class PatientTaskVo {

	/** 患者id */
	private Long patientId;

	/** 居民信息表id */
	@ApiModelProperty(value = "居民信息表id")
	private Long residentId;

	/** 患者姓名 */
	@ApiModelProperty(value = "患者姓名")
	@Excel(name = "患者姓名")
	private String patientName;

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

	/** 家属电话 */
	@ApiModelProperty(value = "家属电话")
	private String familyMemberPhone;

	/** 出生日期，格式：yyyy-MM-dd */
	@ApiModelProperty(value = "出生日期，格式：yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private LocalDate birthDate;

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

	/** 性别，男：MALE，女：FEMALE */
	@ApiModelProperty(value = "性别，男：MALE，女：FEMALE")
	@Excel(name = "性别，男：MALE，女：FEMALE")
	private String sex;

	/** 住址 */
	@ApiModelProperty(value = "住址")
	@Excel(name = "住址")
	private String address;

	/** 患者类型，预住院患者：PRE_HOSPITALIZED_PATIENT，在院患者：IN_HOSPITAL_PATIENT，门诊患者：OUTPATIENT，出院患者：DISCHARGED_PATIENT，
	 签约患者：CONTRACTED_PATIENT */
	@ApiModelProperty(value = "患者类型，预住院患者：PRE_HOSPITALIZED_PATIENT，在院患者：IN_HOSPITAL_PATIENT，门诊患者：OUTPATIENT，出院患者：DISCHARGED_PATIENT，签约患者：CONTRACTED_PATIENT")
	private String patientType;

	/** 主治医生id */
	@ApiModelProperty(value = "主治医生id")
	@Excel(name = "主治医生id")
	private Long attendingPhysicianId;

	/** 主治医生姓名 */
	@ApiModelProperty(value = "主治医生姓名")
	@Excel(name = "主治医生姓名")
	private String attendingPhysicianName;

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

	/** 所属医院id */
	@ApiModelProperty(value = "所属医院id")
	private Long hospitalAgencyId;

	/** 所属医院名称 */
	@ApiModelProperty(value = "所属医院名称")
	@Excel(name = "所属医院名称")
	private String hospitalAgencyName;

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

	/** 所属院区名称 */
	@ApiModelProperty(value = "所属院区名称")
	@Excel(name = "所属院区名称")
	private String campusAgencyName;

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

	/** 所属科室名称 */
	@ApiModelProperty(value = "所属科室名称")
	@Excel(name = "所属科室名称")
	private String departmentName;

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

	/** 所属病区名称 */
	@ApiModelProperty(value = "所属病区名称")
	@Excel(name = "所属病区名称")
	private String wardName;

	/**
	 * 最新一条就诊记录id
	 */
	@ApiModelProperty(value = "最新一条就诊记录id")
	private Long patientVisitRecordId;

	/** 门诊/住院号 */
	@ApiModelProperty(value = "门诊/住院号 ")
	private String inHospitalNumber;

	/** 就诊时间，格式：yyyy-MM-dd HH:mm:ss */
	@ApiModelProperty(value = "就诊时间，格式：yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private LocalDateTime visitDate;

	/**
	 * 出院时间（出院患者），时间格式：yyyy-MM-dd
	 */
	@ApiModelProperty(value = "出院时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private LocalDateTime dischargeTime;

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

	/** 手术名称 */
	@ApiModelProperty(value = "手术名称")
	private String surgicalName;

	/** 签约记录表id */
	@ApiModelProperty(value = "签约记录表id")
	private Long signPatientRecordId;

	/** 签约患者管理任务路径节点id */
	@ApiModelProperty(value = "签约患者管理任务路径节点id")
	private Long manageRouteNodeId;

	/** 签约患者管理任务路径id */
	@ApiModelProperty(value = "签约患者管理任务路径id")
	private Long manageRouteId;

	/** 签约患者管理任务路径名称 */
	@ApiModelProperty(value = "签约患者管理任务路径名称")
	private String manageRouteName;

	/** 节点审核状态，同意：AGREE，不同意：DISAGREE */
	@ApiModelProperty(value = "节点审核状态，同意：AGREE，不同意：DISAGREE")
	private String routeCheckStatus;
}
