package thyyxxk.webserver.entity.medicalinsurance.psnrcd;

import java.io.Serializable;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @description: 转院备案
 * @author: DingJie
 * @create: 2021/7/1615:28
 */
@Data
@TableName(value = "t_si_trans_hosp_rcd")
public class TransHospRcd implements Serializable {

	private static final long serialVersionUID =  3034179646150259220L;

	/**
	 * 自增id
	 */
	@TableId(type = IdType.AUTO)
	private Integer id;

	/**
	 * 人员编号
	 */
	@JSONField(name = "psn_no")
	private String psnNo;

	/**
	 * 险种类型
	 */
	private String insutype;

	/**
	 * 联系电话
	 */
	private String tel;

	/**
	 * 联系地址
	 */
	private String addr;

	/**
	 * 参保机构医保区划
	 */
	@NotBlank(message = "参保机构医保区划不能为空！")
	@JSONField(name = "insu_optins")
	private String insuOptins;

	/**
	 * 诊断代码
	 */
	@NotBlank(message = "诊断代码不能为空！")
	@JSONField(name = "diag_code")
	private String diagCode;

	/**
	 * 诊断名称
	 */
	@NotBlank(message = "诊断名称不能为空！")
	@JSONField(name = "diag_name")
	private String diagName;

	/**
	 * 疾病病情描述
	 */
	@JSONField(name = "dise_cond_dscr")
	private String diseCondDscr;

	/**
	 * 转往定点医药机构编号（通过【1201】交易获取医药机构管理码）
	 */
	@NotBlank(message = "转院目标医药机构编号不能为空！")
	@JSONField(name = "reflin_medins_no")
	private String reflinMedinsNo;

	/**
	 * 转往医院名称
	 */
	@NotBlank(message = "转院目标医药机构名称不能为空！")
	@JSONField(name = "reflin_medins_name")
	private String reflinMedinsName;

	/**
	 * 就医地行政区划（转往医院所属的行政区划）
	 */
	@JSONField(name = "mdtrtarea_admdvs")
	private String mdtrtareaAdmdvs;

	/**
	 * 医院同意转院标志
	 */
	@JSONField(name = "hosp_agre_refl_flag")
	private String hospAgreReflFlag;

	/**
	 * 转院类型
	 */
	@NotBlank(message = "转院类型不能为空！")
	@JSONField(name = "refl_type")
	private String reflType;

	/**
	 * 转院日期
	 */
	@NotNull(message = "转院日期不能为空！")
	@JSONField(name = "refl_date")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date reflDate;

	/**
	 * 转院原因
	 */
	@NotBlank(message = "转院原因不能为空！")
	@JSONField(name = "refl_rea")
	private String reflRea;

	/**
	 * 转院意见
	 */
	@NotBlank(message = "转院意见不能为空！")
	@JSONField(name = "refl_opnn")
	private String reflOpnn;

	/**
	 * 开始日期
	 */
	@NotNull(message = "开始日期不能为空！")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date begndate;

	/**
	 * 结束日期
	 */
	@NotNull(message = "结束日期不能为空！")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date enddate;

	/**
	 * 转诊使用标志
	 */
	@JSONField(name = "refl_used_flag")
	private String reflUsedFlag;

	/**
	 * 待遇申报明细流水号
	 */
	@JSONField(name = "trt_dcla_detl_sn")
	private String trtDclaDetlSn;

}
