package com.diagbot.vo;

import java.util.List;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Range;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * @Description:
 * @author: rengb
 * @time: 2018/11/19 18:58
 */
@ApiModel(value="问诊记录保存接口传参")
@Getter
@Setter
public class SaveInquiryVO {
	
	/**
     * 医院id
     */
	@ApiModelProperty(value="医院id",required=true)
	@NotNull(message="医院id必传")
    private Long hospitalId;

    /**
     * 科室id
     */
	@ApiModelProperty(value="科室id",required=true)
	@NotNull(message="科室id必传")
    private Long hospitalDeptId;

    /**
     * 医生id
     */
	@ApiModelProperty(value="医生id",required=true)
	@NotNull(message="医生id必传")
    private Long doctorId;

    /**
     * 患者id
     */
	@ApiModelProperty(value="患者id",required=true)
	@NotNull(message="患者id必传")
    private Long patientId;

    /**
     * 就诊序列号
     */
	@ApiModelProperty(value="就诊序列号",required=true)
	@NotBlank(message="就诊序列号必传")
    private String inquiryCode;

    /**
     * 就诊状态(0待接诊，1接诊中，2完成接诊)
     */
	@ApiModelProperty(value="就诊状态(0待接诊，1接诊中，2完成接诊)")
	@Range(min=0,max=2,message="就诊状态必须是0、1、2")
	private Integer regVisitedState=1;

    /**
     * 病历分类(1:门诊,2:住院)
     */
	@ApiModelProperty(value="病历分类(1:门诊,2:住院)")
	@Range(min=1,max=2,message="病历分类必须是1、2")
    private Integer type=1;

    /**
     * 诊断
     */
	@ApiModelProperty(value="诊断",required=true)
    @NotBlank(message="诊断必传")
    private String diagnose;

    /**
     * 内容输入类型：0：结构化 1：文本模式，默认结构化
     */
	@ApiModelProperty(value="内容输入类型：0：结构化 1：文本模式，默认是0结构化")
	@Range(min=0,max=1,message="内容输入类型必须是0、1")
    private Integer sign=0;

    /**
     * 内容JSON字符串
     */
	@ApiModelProperty(value="内容JSON字符串",required=true)
    @NotBlank(message="内容JSON字符串必传")
    private String dataJson;
    
    @Valid
    @ApiModelProperty(value="问诊明细",required=true)
    @NotEmpty(message="问诊明细不能为空")
    private List<SaveInquiryDetailVO> detailList;
   
}
