package com.xinelu.manage.dto.manualfollowup;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;

/**
 * 人工随访查询DTO
 *
 * @author : youxilong
 * @date : 2024/4/2 10:36
 */
@Data
public class ManualFollowUpDTO {

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "随访开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate followStartTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "随访结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate followEndTime;

    @ApiModelProperty(value = "患者姓名")
    private String patientName;

    @ApiModelProperty(value = "患者电话")
    private String patientPhone;

    @ApiModelProperty(value = "所属医院id")
    private Long hospitalAgencyId;

    @ApiModelProperty(value = "所属院区id")
    private Long campusAgencyId;

    @ApiModelProperty(value = "所属科室id")
    private Long departmentId;

    @ApiModelProperty(value = "所属病区id")
    private Long wardId;

    @ApiModelProperty(value = "适用范围，在院：IN_THE_HOSPITAL，出院：DISCHARGE，门诊：OUTPATIENT_SERVICE")
    private String suitRange;

    @ApiModelProperty(value = "就诊流水号")
    private String visitSerialNumber;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "入院开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate admissionStartTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "入院结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate admissionEndTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "门诊(门诊患者)开始时间")
    private LocalDate clinicalStartTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "门诊(门诊患者)结束时间")
    private LocalDate clinicalEndTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "出院时间（出院患者）开始时间")
    private LocalDate dischargeStartTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "出院时间（出院患者）结束时间")
    private LocalDate dischargeEndTime;

    @ApiModelProperty(value = "主要诊断")
    private String mainDiagnosis;

    @ApiModelProperty(value = "主治医生id")
    private Long attendingPhysicianId;

    @ApiModelProperty(value = "主治医生姓名")
    private String attendingPhysicianName;

    @ApiModelProperty(value = "节点任务执行状态，已执行：EXECUTED，未执行：UNEXECUTED")
    private String nodeExecuteStatus;


}
