package com.kcim.common.util.excel.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @program: CostAccount
 * @description: 患者信息导入模版
 * @author: Wang.YS
 * @create: 2023-10-19 18:18
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ExcelTarget("PatientInfoImportEntity")
public class PatientInfoImportEntity {
    /**
     * 住院号/门诊号
     */
    @Excel(name="住院号/门诊号",width = 20)
    private String visitNo;
    /**
     * 病人id
     */
    @Excel(name="病人ID",width = 20)
    private String patientNo;
    /**
     * 姓名
     */
    @Excel(name="姓名",width = 20)
    private String name;
    /**
     * 科室代码
     */
    @Excel(name="科室代码",width = 20)
    private String departmentCode;
    /**
     * 科室名称
     */
    @Excel(name="科室名称",width = 20)
    private String departmentName;

    @Excel(name="病区代码",width = 20)
    private String inpatientWardCode;
    /**
     * 科室名称
     */
    @Excel(name="病区名称",width = 20)
    private String inpatientWardName;
    /**
     * 就诊类别 1门诊3住院2急诊
     */
    @Excel(name="就诊类别",width = 20,replace = {"门诊_1","急诊_2","住院_3"},addressList = true)
    private Integer type;
    /**
     * 主诊断代码
     */
    @Excel(name="主诊断代码",width = 20)
    private String primaryDiagCode;
    /**
     * 主诊断名称
     */
    @Excel(name="主诊断名称",width = 20)
    private String primaryDiagName;
    /**
     * 次诊断代码
     */
    @Excel(name="次诊断代码",width = 20)
    private String secondaryDiagCode;
    /**
     * 次诊断名称
     */
    @Excel(name="次诊断名称",width = 20)
    private String secondaryDiagName;
    /**
     * 主手术/操作代码
     */
    @Excel(name="主手术/操作代码",width = 20)
    private String primaryOperationCode;
    /**
     * 主手术/操作名称
     */
    @Excel(name="主手术/操作名称",width = 20)
    private String primaryOperationName;
    /**
     * 次手术/操作代码
     */
    @Excel(name="次手术/操作代码",width = 20)
    private String secondaryOperationCode;
    /**
     * 次手术/操作名称
     */
    @Excel(name="次手术/操作名称",width = 20)
    private String secondaryOperationName;
    /**
     * DRG/DIP分组代码
     */
    @Excel(name="DRG/DIP分组代码",width = 20)
    private String groupCode;
    /**
     * DRG/DIP分组名称
     */
    @Excel(name="DRG/DIP分组名称",width = 20)
    private String groupName;
    /**
     * 临床路径代码
     */
    @Excel(name="临床路径代码",width = 20)
    private String clinicalPathwayCode;
    /**
     * 临床路径名称
     */
    @Excel(name="临床路径名称",width = 20)
    private String clinicalPathwayName;
    /**
     * 入院时间
     */
    @Excel(name="入院时间",width = 20)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date inHospitalTime;
    /**
     * 出院时间
     */
    @Excel(name="出院时间",width = 20)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date outHospitalTime;
    /**
     * 住院天数
     */
    @Excel(name="住院天数",width = 20)
    private Integer inHospitalDays;
}
