package com.xinelu.manage.vo.patientinfo;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDate;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @description: 患者画像信息视图类
 * @author: haown
 * @create: 2024-06-26 17:30
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PatientPortaitVo {
	/**
	 * 患者姓名
	 */
	@ApiModelProperty(value = "患者姓名")
	@Excel(name = "患者姓名")
	private String patientName;

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

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

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

	/**
	 * 患者来源，微信小程序：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 String mainDiagnosis;

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

	@ApiModelProperty(value = "用药信息")
	private List<JSONObject> drugInfo;

	@ApiModelProperty("复诊信息")
	private List<JSONObject> consultationInfo;

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