问诊配置

dev_3.1.0
liu 1 year ago
parent d6a9509294
commit 2449c2163f

@ -15,25 +15,28 @@ create table vp_medical_extend_item
item_content varchar(512) null comment '类目内容',
create_user_id varchar(64) null comment '创建人ID',
create_time datetime default CURRENT_TIMESTAMP null comment '创建时间',
update_user_id varchar(64) null comment '更新人',
update_user_id varchar(64) null comment '更新人',
update_time datetime default CURRENT_TIMESTAMP null comment '更新时间'
)
comment '病历扩展项' charset = utf8 row_format = DYNAMIC;
) comment '病历扩展项' charset = utf8 row_format = DYNAMIC;
alter table vp_medical_rec
add medical_type integer null comment '病历类型 0普通型 1:学习型 3考核型' after no;
alter table vp_medical_rec
add disposal_diagnosis varchar(1024) null comment '处置诊断' after differential_diagnosis_criteria;
-- 配置病历时,增加证实诊断依据
alter table vp_ask_patient_answer
add basis_confirm_flag int default 0 null comment '是否是证实诊断依据(0否1是)' after answer;
-- 病历体格检查
create table vp_medical_rec_physical
(
id varchar(64) not null comment '主键'
id varchar(64) not null comment '主键'
primary key,
medical_rec_id varchar(64) null comment '病历id',
tool_id varchar(64) null comment '工具ID',
location_id varchar(64) null comment '检查部位ID',
medical_rec_id varchar(64) null comment '病历id',
tool_id varchar(64) null comment '工具ID',
location_id varchar(64) null comment '检查部位ID',
result text null comment '结果',
normal_result varchar(1024) null comment '正常结果',
trait varchar(255) null comment '表征 默认诊断结果(诊断结果)',

@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
@Deprecated(since = "1.2版本开始,疾病不再配置问题")
@Tag(name = "疾病问题管理")
@RestController
@RequestMapping("diseaseQuestion")
@ -22,6 +23,7 @@ public class DiseaseQuestionManageController {
private final DiseaseQuestionManageService diseaseQuestionManageService;
@Deprecated(since = "1.2版本开始,疾病不再配置问题")
@Operation(summary = "保存疾病问题信息")
@PostMapping("/batchSave")
public boolean batchSaveQuestionList(@RequestBody List<DiseaseQuestion> diseaseQuestionList) {
@ -31,6 +33,7 @@ public class DiseaseQuestionManageController {
}
@Deprecated(since = "1.2版本开始,疾病不再配置问题")
@Operation(summary = "删除疾病问题")
@DeleteMapping("/delete")
public boolean deleteDiseaseQuestion(@RequestParam String id) {
@ -40,6 +43,7 @@ public class DiseaseQuestionManageController {
}
@Deprecated(since = "1.2版本开始,疾病不再配置问题")
@Operation(summary = "根据疾病id查询问题库信息列表")
@GetMapping("/queryListByDiseaseId")
public List<DiseaseQuestionResVo> queryPageByDiseaseId(@RequestParam("diseaseId") String diseaseId) {
@ -48,6 +52,7 @@ public class DiseaseQuestionManageController {
}
@Deprecated(since = "1.2版本开始,疾病不再配置问题")
@Operation(summary = "分页查询问题库列表(排除已选择的问题)")
@GetMapping("/queryQaLibPageList")
public Page<AskQuestionLibraryResVo> queryQaLibPageList(@RequestParam(defaultValue = "1") Integer pageNum,

@ -0,0 +1,46 @@
package com.supervision.manage.controller.medicalrec;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.manage.pojo.vo.MedicalRecQaAnswerSaveReqVO;
import com.supervision.manage.service.MedicalRecQaService;
import com.supervision.model.AskTemplateQuestionLibrary;
import com.supervision.vo.manage.MedicalRecQaPageResVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@Tag(name = "病历管理-临床问诊")
@RestController
@RequestMapping("/medicalRecQa")
@RequiredArgsConstructor
public class MedicalRecQaController {
private final MedicalRecQaService medicalRecQaService;
@Operation(summary = "病历管理-临床问诊分页查询")
@GetMapping("/queryMedicalRecQaPage")
public IPage<MedicalRecQaPageResVO> queryMedicalRecQaPage(String medicalRecId, String question, Integer basisConfirmFlag, Integer pageNum, Integer pageSize) {
Assert.notBlank(medicalRecId, "病历ID不能为空");
return medicalRecQaService.queryMedicalRecQaPage(medicalRecId, question, basisConfirmFlag, pageNum, pageSize);
}
@Operation(summary = "病历管理-临床问诊可选问题列表")
@GetMapping("/queryMedicalRecQaPage")
public IPage<AskTemplateQuestionLibrary> queryMedicalRecQaToSelectPage(String medicalRecId, Long dictId, String question, Integer pageNum, Integer pageSize) {
return medicalRecQaService.queryMedicalRecQaToSelectPage(medicalRecId, dictId, question, pageNum, pageSize);
}
@Operation(summary = "病历管理-临床问诊可选问题列表")
@PostMapping("/saveMedicalRecQaAnswer")
public void saveMedicalRecQaAnswer(@RequestBody MedicalRecQaAnswerSaveReqVO reqVO) {
medicalRecQaService.saveMedicalRecQaAnswer(reqVO);
}
@Operation(summary = "病历管理-删除病历问答")
@GetMapping("deleteMedicalRecQa")
public void deleteMedicalRecQa(String id) {
medicalRecQaService.deleteMedicalRecQa(id);
}
}

@ -8,6 +8,9 @@ import java.util.List;
@Data
public class CustomQuestionSaveReqVO {
@Schema(description = "病历ID")
private String medicalRecId;
@Schema(description = "字典ID")
private Long dictId;

@ -0,0 +1,17 @@
package com.supervision.manage.pojo.vo;
import lombok.Data;
@Data
public class MedicalRecQaAnswerSaveReqVO {
private String id;
private String medicalRecId;
private String libraryId;
private String answer;
private Integer basisConfirmFlag;
}

@ -0,0 +1,20 @@
package com.supervision.manage.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.manage.pojo.vo.MedicalRecQaAnswerSaveReqVO;
import com.supervision.model.AskTemplateQuestionLibrary;
import com.supervision.vo.manage.MedicalRecQaPageResVO;
public interface MedicalRecQaService {
IPage<MedicalRecQaPageResVO> queryMedicalRecQaPage(String medicalRecId,
String question,
Integer basisConfirmFlag,
Integer pageNum, Integer pageSize);
IPage<AskTemplateQuestionLibrary> queryMedicalRecQaToSelectPage(String medicalRecId, Long dictId, String question, Integer pageNum, Integer pageSize);
void saveMedicalRecQaAnswer(MedicalRecQaAnswerSaveReqVO reqVO);
void deleteMedicalRecQa(String id);
}

@ -16,10 +16,12 @@ import com.supervision.manage.pojo.vo.CustomQuestionMatchResVO;
import com.supervision.manage.pojo.vo.CustomQuestionSaveReqVO;
import com.supervision.manage.pojo.vo.SaveCustomQuestionResVO;
import com.supervision.manage.service.CustomQuestionService;
import com.supervision.model.AskPatientAnswer;
import com.supervision.model.AskTemplateQuestionLibrary;
import com.supervision.model.AskTemplateQuestionSimilarity;
import com.supervision.model.CommonDic;
import com.supervision.record.QuestionMetadata;
import com.supervision.service.AskPatientAnswerService;
import com.supervision.service.AskTemplateQuestionLibraryService;
import com.supervision.service.AskTemplateQuestionSimilarityService;
import com.supervision.service.CommonDicService;
@ -57,6 +59,9 @@ public class CustomQuestionServiceImpl implements CustomQuestionService {
private final AskTemplateQuestionSimilarityService askTemplateQuestionSimilarityService;
private final RedisVectorStore redisVectorStore;
private final AskPatientAnswerService askPatientAnswerService;
@Value("${customQuestionThreshold:0.6}")
private String customQuestionThreshold;
@ -200,6 +205,11 @@ public class CustomQuestionServiceImpl implements CustomQuestionService {
@Override
@Transactional(rollbackFor = Exception.class)
public SaveCustomQuestionResVO saveCustomQuestion(CustomQuestionSaveReqVO reqVO) {
Assert.notBlank(reqVO.getMedicalRecId(), "病历ID不能为空");
Assert.notBlank(reqVO.getCustomQuestion(), "问题不能为空");
Assert.notBlank(reqVO.getAnswer(), "回答不能为空");
Assert.notEmpty(reqVO.getSimilarQuestionList(), "相似问不能为空");
Assert.notNull(reqVO.getDictId(), "字典不能为空");
// 首先对标准问进行校验,校验相似度比较低才能允许被提交
List<SimilarLibraryQuestionResVO> similarLibraryQuestionResVOS = checkCustomQuestionSimilar(reqVO.getCustomQuestion(), reqVO.getSelectedQuestionLibraryIdList());
if (CollUtil.isNotEmpty(similarLibraryQuestionResVOS)) {
@ -233,6 +243,15 @@ public class CustomQuestionServiceImpl implements CustomQuestionService {
askTemplateQuestionSimilarity.setSimilarityQuestion(similarQuestion);
askTemplateQuestionSimilarityService.save(askTemplateQuestionSimilarity);
}
// 还需要保存问题的答案
AskPatientAnswer askPatientAnswer = new AskPatientAnswer();
askPatientAnswer.setMedicalId(reqVO.getMedicalRecId());
askPatientAnswer.setLibraryQuestionId(askTemplateQuestionLibrary.getId());
askPatientAnswer.setQuestion(askTemplateQuestionLibrary.getStandardQuestion());
askPatientAnswer.setAnswer(reqVO.getAnswer());
askPatientAnswer.setAnswerType(1);
askPatientAnswerService.save(askPatientAnswer);
// 这时,需要将数据刷到向量库中
String description = askTemplateQuestionLibrary.getStandardQuestion();
Map<String, Object> questionVector = new QuestionMetadata("3",

@ -0,0 +1,143 @@
package com.supervision.manage.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.supervision.exception.BusinessException;
import com.supervision.manage.pojo.vo.MedicalRecQaAnswerSaveReqVO;
import com.supervision.manage.service.MedicalRecQaService;
import com.supervision.model.AskPatientAnswer;
import com.supervision.model.AskTemplateQuestionLibrary;
import com.supervision.model.CommonDic;
import com.supervision.service.AskPatientAnswerService;
import com.supervision.service.AskTemplateQuestionLibraryService;
import com.supervision.service.CommonDicService;
import com.supervision.vo.manage.MedicalRecQaPageResVO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Service
@RequiredArgsConstructor
public class MedicalRecQaServiceImpl implements MedicalRecQaService {
private final AskPatientAnswerService askPatientAnswerService;
private final AskTemplateQuestionLibraryService askTemplateQuestionLibraryService;
private final CommonDicService commonDicService;
@Override
@Transactional(rollbackFor = Exception.class)
public IPage<MedicalRecQaPageResVO> queryMedicalRecQaPage(String medicalRecId,
String question,
Integer basisConfirmFlag,
Integer pageNum, Integer pageSize) {
IPage<MedicalRecQaPageResVO> page = askPatientAnswerService.queryMedicalRecQaPage(medicalRecId, question, basisConfirmFlag, pageNum, pageSize);
if (CollUtil.isNotEmpty(page.getRecords())) {
return page;
}
// 如果不为空,这时就给生成一些问题和答案(问题是产品给的14个问题)
List<String> dictPathList = new ArrayList<>();
dictPathList.add("现病史/主诉");
dictPathList.add("现病史/症状持续时间");
dictPathList.add("现病史/伴随症状");
dictPathList.add("现病史/治疗经过");
dictPathList.add("现病史/症状演变");
dictPathList.add("一般状况/精神状态");
dictPathList.add("一般状况/体重");
dictPathList.add("既往史/手术史");
dictPathList.add("既往史/过敏史");
dictPathList.add("既往史/预防接种史");
dictPathList.add("一般状况/大小便");
dictPathList.add("既往史/慢性病史");
dictPathList.add("家族史/遗传倾向");
List<CommonDic> dicList = commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "AQT").list();
List<AskPatientAnswer> answerList = new ArrayList<>();
if (CollUtil.isNotEmpty(dicList)) {
Map<String, Long> dictMap = dicList.stream().collect(Collectors.toMap(CommonDic::getNameZhPath, CommonDic::getId));
// 获取找到数据的对应的字典ID
Set<Long> dictIdSet = dictPathList.stream().filter(dictMap::containsKey).map(dictMap::get).collect(Collectors.toSet());
List<AskTemplateQuestionLibrary> libraryList = askTemplateQuestionLibraryService.lambdaQuery().in(AskTemplateQuestionLibrary::getDictId, dictIdSet).list();
if (CollUtil.isNotEmpty(libraryList)) {
Map<Long, List<AskTemplateQuestionLibrary>> libraryMap = libraryList.stream().collect(Collectors.groupingBy(AskTemplateQuestionLibrary::getDictId));
// 获取到问题
for (String dictPath : dictPathList) {
// 首先根据字典名称找到对应的dictId
Long dictId = dictMap.get(dictPath);
if (dictId != null) {
List<AskTemplateQuestionLibrary> libraryListByDictId = libraryMap.get(dictId);
if (CollUtil.isNotEmpty(libraryListByDictId) && libraryListByDictId.stream().findAny().isPresent()) {
// 如果不为空,那就随便找一个
AskTemplateQuestionLibrary library = libraryListByDictId.stream().findAny().get();
AskPatientAnswer askPatientAnswer = new AskPatientAnswer();
askPatientAnswer.setMedicalId(medicalRecId);
askPatientAnswer.setLibraryQuestionId(library.getId());
askPatientAnswer.setQuestion(library.getStandardQuestion());
answerList.add(askPatientAnswer);
}
}
}
}
}
askPatientAnswerService.saveBatch(answerList);
// 再查一遍
return askPatientAnswerService.queryMedicalRecQaPage(medicalRecId, question, basisConfirmFlag, pageNum, pageSize);
}
@Override
public IPage<AskTemplateQuestionLibrary> queryMedicalRecQaToSelectPage(String medicalRecId, Long dictId, String question, Integer pageNum, Integer pageSize) {
// 首先查到已选择的ID
List<AskPatientAnswer> answerList = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getMedicalId, medicalRecId).select(AskPatientAnswer::getLibraryQuestionId).list();
Set<String> existLibrarySet = answerList.stream().map(AskPatientAnswer::getLibraryQuestionId).collect(Collectors.toSet());
// 已选择的不会出现,且自定义的也不会出现
return askTemplateQuestionLibraryService.lambdaQuery()
.eq(AskTemplateQuestionLibrary::getType, 1)
.notIn(CollUtil.isNotEmpty(existLibrarySet), AskTemplateQuestionLibrary::getId, existLibrarySet)
.like(StrUtil.isNotBlank(question), AskTemplateQuestionLibrary::getStandardQuestion, question)
.eq(ObjectUtil.isNotEmpty(dictId), AskTemplateQuestionLibrary::getDictId, dictId).page(new Page<>(pageNum, pageSize));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveMedicalRecQaAnswer(MedicalRecQaAnswerSaveReqVO reqVO) {
Assert.notBlank(reqVO.getId(), "ID不能为空");
Assert.notBlank(reqVO.getMedicalRecId(), "病历ID不能为空");
Assert.notBlank(reqVO.getAnswer(), "答案不能为空");
Assert.notBlank(reqVO.getLibraryId(), "问题ID不能为空");
Optional<AskPatientAnswer> askPatientAnswerOpt = askPatientAnswerService.getOptById(reqVO.getId());
if (askPatientAnswerOpt.isPresent()) {
AskPatientAnswer askPatientAnswer = askPatientAnswerOpt.get();
askPatientAnswer.setAnswer(reqVO.getAnswer());
askPatientAnswerService.updateById(askPatientAnswer);
} else {
Optional<AskTemplateQuestionLibrary> optById = askTemplateQuestionLibraryService.getOptById(reqVO.getLibraryId());
AskTemplateQuestionLibrary library = optById.orElseThrow(() -> new BusinessException("未找到的标准问题"));
AskPatientAnswer answer = new AskPatientAnswer();
answer.setMedicalId(answer.getMedicalId());
answer.setLibraryQuestionId(answer.getLibraryQuestionId());
answer.setQuestion(library.getStandardQuestion());
answer.setAnswer(answer.getAnswer());
askPatientAnswerService.save(answer);
}
}
@Override
public void deleteMedicalRecQa(String id) {
Assert.notBlank(id, "ID不能为空");
askPatientAnswerService.removeById(id);
}
}

@ -1,16 +1,26 @@
package com.supervision.mapper;
import com.supervision.model.AskPatientAnswer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.supervision.model.AskPatientAnswer;
import com.supervision.vo.manage.MedicalRecQaPageResVO;
import org.apache.ibatis.annotations.Param;
/**
* @author flevance
* @description vp_ask_patient_answer(-)Mapper
* @createDate 2023-11-03 11:13:26
* @Entity com.supervision.model.AskPatientAnswer
*/
* @author flevance
* @description vp_ask_patient_answer(-)Mapper
* @createDate 2023-11-03 11:13:26
* @Entity com.supervision.model.AskPatientAnswer
*/
public interface AskPatientAnswerMapper extends BaseMapper<AskPatientAnswer> {
IPage<MedicalRecQaPageResVO> queryMedicalRecQaPage(@Param("medicalRecId") String medicalRecId,
@Param("question") String question,
@Param("basisConfirmFlag") Integer basisConfirmFlag,
@Param("page") Page<MedicalRecQaPageResVO> page
);
}

@ -1,13 +1,20 @@
package com.supervision.service;
import com.supervision.model.AskPatientAnswer;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.model.AskPatientAnswer;
import com.supervision.vo.manage.MedicalRecQaPageResVO;
/**
* @author flevance
* @description vp_ask_patient_answer(-)Service
* @createDate 2023-11-03 11:13:26
*/
* @author flevance
* @description vp_ask_patient_answer(-)Service
* @createDate 2023-11-03 11:13:26
*/
public interface AskPatientAnswerService extends IService<AskPatientAnswer> {
IPage<MedicalRecQaPageResVO> queryMedicalRecQaPage(String medicalRecId,
String question,
Integer basisConfirmFlag,
Integer pageNum, Integer pageSize);
}

@ -1,20 +1,27 @@
package com.supervision.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.mapper.AskPatientAnswerMapper;
import com.supervision.model.AskPatientAnswer;
import com.supervision.service.AskPatientAnswerService;
import com.supervision.mapper.AskPatientAnswerMapper;
import com.supervision.vo.manage.MedicalRecQaPageResVO;
import org.springframework.stereotype.Service;
/**
* @author flevance
* @description vp_ask_patient_answer(-)Service
* @createDate 2023-11-03 11:13:26
*/
* @author flevance
* @description vp_ask_patient_answer(-)Service
* @createDate 2023-11-03 11:13:26
*/
@Service
public class AskPatientAnswerServiceImpl extends ServiceImpl<AskPatientAnswerMapper, AskPatientAnswer>
implements AskPatientAnswerService{
implements AskPatientAnswerService {
@Override
public IPage<MedicalRecQaPageResVO> queryMedicalRecQaPage(String medicalRecId, String question, Integer basisConfirmFlag, Integer pageNum, Integer pageSize) {
return this.baseMapper.queryMedicalRecQaPage(medicalRecId, question, basisConfirmFlag, new Page<>(pageNum, pageSize));
}
}

@ -0,0 +1,34 @@
package com.supervision.vo.manage;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema
public class MedicalRecQaPageResVO {
@Schema(description = "本条记录ID,删除更新都用它")
private String id;
@Schema(description = "标准问题库ID")
private String libraryId;
@Schema(description = "标准问题")
private String standardQuestion;
@Schema(description = "问题类型 1标准问 2自定义问题")
private Integer type;
@Schema(description = "回答")
private String answer;
@Schema(description = "问题类目")
private String dictPath;
@Schema(description = "字典ID")
private Long dictId;
@Schema(description = "是否是证实诊断依据(0否1是)")
private Integer basisConfirmFlag;
}

@ -5,23 +5,44 @@
<mapper namespace="com.supervision.mapper.AskPatientAnswerMapper">
<resultMap id="BaseResultMap" type="com.supervision.model.AskPatientAnswer">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="medicalId" column="medical_id" jdbcType="VARCHAR"/>
<result property="libraryQuestionId" column="library_question_id" jdbcType="VARCHAR"/>
<result property="question" column="question" jdbcType="VARCHAR"/>
<result property="answer" column="answer" jdbcType="VARCHAR"/>
<result property="code" column="code" jdbcType="VARCHAR"/>
<result property="answerResourceId" column="answer_resources_id" jdbcType="VARCHAR"/>
<result property="answerType" column="answer_type" jdbcType="INTEGER"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="medicalId" column="medical_id" jdbcType="VARCHAR"/>
<result property="libraryQuestionId" column="library_question_id" jdbcType="VARCHAR"/>
<result property="question" column="question" jdbcType="VARCHAR"/>
<result property="answer" column="answer" jdbcType="VARCHAR"/>
<result property="code" column="code" jdbcType="VARCHAR"/>
<result property="answerResourceId" column="answer_resources_id" jdbcType="VARCHAR"/>
<result property="answerType" column="answer_type" jdbcType="INTEGER"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,medical_id,library_question_id,code,question,
id
,medical_id,library_question_id,code,question,
answer,answer_resources_id,answer_type,create_user_id,
create_time,update_user_id,update_time
</sql>
<select id="queryMedicalRecQaPage" resultType="com.supervision.vo.manage.MedicalRecQaPageResVO">
select t1.id as id,
t2.id as libraryId,
t2.standard_question as standardQuestion,
t2.type as type,
t1.answer as answer,
t3.name_zh_path as dictPath,
t3.id as dictId,
t1.basis_confirm_flag as basisConfirmFlag
from vp_ask_patient_answer t1
left join vp_ask_template_question_library t2 on t1.library_question_id = t2.id
left join vp_common_dic t3 on t2.dict_id = t3.id
where t1.medical_id = #{medicalRecId}
<if test="question != null and question != ''">
and t2.standard_question like CONCAT('%', #{question}, '%')
</if>
<if test="basisConfirmFlag != null and basisConfirmFlag != ''">
and t1.basis_confirm_flag = #{basisConfirmFlag}
</if>
</select>
</mapper>

@ -201,7 +201,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
public void confirmPrimaryByAskEnd(PrimaryConfirmReqVO reqVO) {
List<PrimaryConfirmNodeReqVO> reqVOList = reqVO.getPrimaryConfirmList();
Optional<PrimaryConfirmNodeReqVO> any = reqVOList.stream().findAny();
if (!any.isPresent()) {
if (any.isEmpty()) {
throw new BusinessException("初步诊断不能为空");
}
// 如果 != 1 ,不是暂存,那么就校验电子病历是否填写
@ -235,6 +235,11 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
}
/**
* // 保存证实诊断依据
*
* @param diagnosticBasisList
*/
private void saveDiagnosticBasis(List<DiagnosticBasisForPrimaryReqVO> diagnosticBasisList) {
for (DiagnosticBasisForPrimaryReqVO node : diagnosticBasisList) {
if (1 == node.getType()) {

Loading…
Cancel
Save