package com.openhis.yb.dto;

import java.util.Date;

import javax.validation.constraints.NotBlank;

import org.hibernate.validator.constraints.Length;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 【4101A】手术操作信息（节点标识：oprninfo）
 *
 * @author Thanking
 */
@Data
@Accessors(chain = true)
public class Yb4101AInputOprninfo {

    /**
     * 手术操作类别
     */
    @NotBlank
    @Length(max = 3)
    @JSONField(name = "oprn_oprt_type")
    private String oprnOprtType;

    /**
     * 手术操作名称
     */
    @NotBlank
    @Length(max = 500)
    @JSONField(name = "oprn_oprt_name")
    private String oprnOprtName;

    /**
     * 手术操作代码
     */
    @NotBlank
    @Length(max = 30)
    @JSONField(name = "oprn_oprt_code")
    private String oprnOprtCode;

    /**
     * 麻醉方式：参照麻醉-方法代码
     */
    @Length(max = 6)
    @JSONField(name = "anst_way")
    private String anstWay;

    /**
     * 术者医师代码
     */
    @NotBlank
    @Length(max = 20)
    @JSONField(name = "oper_dr_code")
    private String operDrCode;

    /**
     * 麻醉医师代码
     */
    @Length(max = 20)
    @JSONField(name = "anst_dr_code")
    private String anstDrCode;

    /**
     * 手术操作开始时间
     */
    @JSONField(name = "oprn_oprt_begntime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date oprnOprtBegntime;

    /**
     * 手术操作结束时间
     */
    @JSONField(name = "oprn_oprt_endtime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date oprnOprtEndtime;

    /**
     * 麻醉开始时间
     */
    @JSONField(name = "anst_begntime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date anstBegntime;

    /**
     * 麻醉结束时间
     */
    @JSONField(name = "anst_endtime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date anstEndtime;

}
