virtual-patient/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseasePhysicalStrResVo.java

156 lines
4.2 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.supervision.vo.manage;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.MD5;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class DiseasePhysicalStrResVo {
/**
* 主键
*/
@TableId
private String id;
/**
* 病历ID
*/
@Schema(description = "疾病id")
private String diseaseId;
/**
* 工具ID
*/
@Schema(description = "工具ID")
private String toolId;
@Schema(description = "工具父级id")
private String toolParentId;
/**
* 检查部位ID
*/
@Schema(description = "检查部位ID")
private String locationId;
@Schema(description = "身体部位名称")
private String locationName;
@Schema(description = "工具名称")
private String toolName;
@Schema(description = "工具类型")
private String toolType;
@Schema(description = "初步诊断依据(0否1是)")
private String primarilyDiagnosisCriteriaFlag;
@Schema(description = "是否是证实诊断依据(0否1是)")
private String basisConfirmFlag;
@Schema(description = "是否是鉴别依据(0否1是)")
private String basisIdentificationFlag;
@Schema(description = "全面检查 0正常 1 不正常")
private String fullCheckFlag;
@Schema(description = "诊断依据")
private String diagnosticCriteria;
@Schema(description = "是否诊断判读 0否1是")
private Integer diagnosisAssessmentFlag;
@Schema(description = "部位诊断结果 0正常 1 不正常")
private Integer locationDiagnosisFlag;
/**
* "原本是为了标识诊断结果是否正常的",
* 现在有了resultnormalResult就不用区分结果是否正确了
*/
@Deprecated
@Schema(description = "是否预期诊断结果 0正常 1 不正常")
private Integer expectedDiagnosisResult;
@Schema(description = "是否必查 (0否1是)")
private Integer requireCheckFlag;
/**
* 结果(异常结果)
*/
@Schema(description = "结果")
private String result;
@Schema(description = "正常结果")
private String normalResult;
/**
* 表征
*/
@Schema(description = "表征 默认诊断结果")
private String trait;
@Schema(description = "工具id路径")
private List<String> toolIdPath;
@Schema(description = "身体部位id路径")
private List<String> locationIdPath;
public void aggregationDiagnosticCriteria() {
if (StrUtil.isBlank(this.primarilyDiagnosisCriteriaFlag)
&& StrUtil.isBlank(this.basisConfirmFlag)
&& StrUtil.isBlank(this.basisIdentificationFlag)
&& StrUtil.isBlank(this.fullCheckFlag)) {
this.diagnosticCriteria = "——";
}
if (this.primarilyDiagnosisCriteriaFlag != null) {
this.diagnosticCriteria = getPrimarilyDiagnosisCriteriaFlag();
}
if (this.basisConfirmFlag != null) {
this.diagnosticCriteria = this.diagnosticCriteria + "-" + getBasisConfirmFlag();
}
if (this.basisIdentificationFlag != null) {
this.diagnosticCriteria = this.diagnosticCriteria + "-" + getBasisIdentificationFlag();
}
if (this.fullCheckFlag != null) {
this.diagnosticCriteria = this.diagnosticCriteria + "-" + getFullCheckFlag();
}
}
public void initToolIdPath() {
if (null == toolIdPath) {
toolIdPath = new ArrayList<>();
}
toolIdPath.add(new MD5().digestHex16(toolType));
toolIdPath.add(getToolId());
}
public void initLocationIdPath() {
if (null == locationIdPath) {
locationIdPath = new ArrayList<>();
}
if (StrUtil.isNotEmpty(getToolParentId())) {
locationIdPath.add(getToolParentId());
}
if (StrUtil.isNotEmpty(getLocationId())) {
locationIdPath.add(getLocationId());
}
}
public void populateOther() {
this.aggregationDiagnosticCriteria();
this.initToolIdPath();
this.initLocationIdPath();
}
}