package com.xinelu.manage.vo.patientvisitrecord;

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

/**
 * @description: 患者就诊记录信息查询返回视图类
 * @author: haown
 * @create: 2024-04-12 13:41
 **/
@Data
public class PatientVisitRecordVo {

	/**
	 * 患者主键
	 */
	@ApiModelProperty(value = "患者信息表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")
	private String sex;

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

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

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

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

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

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

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

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

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

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

	/**
	 * 就诊记录表主键
	 * */
	@ApiModelProperty(value = "就诊记录表主键")
	private Long patientVisitRecordId;

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

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

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

	/** 入院时间 */
	@ApiModelProperty(value = "入院时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	private LocalDateTime admissionTime;

	/** 出院时间 */
	@ApiModelProperty(value = "出院时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	private LocalDateTime dischargeTime;

	/** 入院病历信息，存储患者入院的整个病历信息 */
	@ApiModelProperty(value = "入院病历信息，存储患者入院的整个病历信息")
	private String inHospitalInfo;

	/** 出院病历信息，存储患者出院的整个病历信息 */
	@ApiModelProperty(value = "出院病历信息，存储患者出院的整个病历信息")
	private String outHospitalInfo;

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

	/** 手术记录 */
	@ApiModelProperty(value = "手术记录")
	private String surgicalRecord;

	/**
	 * 画像审核状态，同意：AGREE，不同意：DISAGREE
	 */
	@ApiModelProperty(value = "画像审核状态，同意：AGREE，不同意：DISAGREE")
	private String portaitCheckStatus;

	/**
	 * 画像审核时间
	 */
	@ApiModelProperty(value = "画像审核时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	private LocalDateTime portaitCheckDate;

	@ApiModelProperty(value = "年龄")
	private Integer age;
}
