病例管理修改

dev_2.0.0
liu 1 year ago
parent 12cb7a6c32
commit e8f9284e54

@ -5,6 +5,7 @@ import com.supervision.dto.CommonDictTreeDTO;
import com.supervision.manage.pojo.vo.MedicalRecCheckResVO; import com.supervision.manage.pojo.vo.MedicalRecCheckResVO;
import com.supervision.manage.pojo.vo.MedicalRecInfoVO; import com.supervision.manage.pojo.vo.MedicalRecInfoVO;
import com.supervision.manage.pojo.vo.MedicalRecManageVO; import com.supervision.manage.pojo.vo.MedicalRecManageVO;
import com.supervision.manage.pojo.vo.MedicalRecQaVO;
import com.supervision.service.CommonDicService; import com.supervision.service.CommonDicService;
import com.supervision.vo.manage.MedicalRecPageResVO; import com.supervision.vo.manage.MedicalRecPageResVO;
import com.supervision.manage.service.MedicalRecManageService; import com.supervision.manage.service.MedicalRecManageService;
@ -26,8 +27,6 @@ public class MedicalRecManageController {
private final MedicalRecManageService medicalRecManageService; private final MedicalRecManageService medicalRecManageService;
private final CommonDicService commonDicService;
@ApiOperation("初步诊断下拉列表联想") @ApiOperation("初步诊断下拉列表联想")
@GetMapping("queryDiseaseListByKeyWord") @GetMapping("queryDiseaseListByKeyWord")
public List<Disease> queryDiseaseListByKeyWord(@NotBlank(message = "关键字不能为空") String keyword) { public List<Disease> queryDiseaseListByKeyWord(@NotBlank(message = "关键字不能为空") String keyword) {
@ -49,6 +48,12 @@ public class MedicalRecManageController {
medicalRecManageService.createMedicalRec(reqVO); medicalRecManageService.createMedicalRec(reqVO);
} }
@ApiOperation("创建病历时,应答策略查询问题(目前只支持单一疾病)")
@GetMapping("queryQuestionListByCreat")
public List<MedicalRecQaVO> queryQuestionListByCreat(String diseaseId) {
return medicalRecManageService.queryQuestionListByCreat(diseaseId);
}
@ApiOperation("修改病历") @ApiOperation("修改病历")
@PostMapping("modifyMedicalRec") @PostMapping("modifyMedicalRec")
public void modifyMedicalRec(@RequestBody MedicalRecManageVO reqVO) { public void modifyMedicalRec(@RequestBody MedicalRecManageVO reqVO) {
@ -63,14 +68,10 @@ public class MedicalRecManageController {
@ApiOperation("删除病历") @ApiOperation("删除病历")
@GetMapping("deleteMedicalRec") @GetMapping("deleteMedicalRec")
public void deleteMedicalRec(String id){ public void deleteMedicalRec(String id) {
medicalRecManageService.deleteMedicalRec(id); medicalRecManageService.deleteMedicalRec(id);
} }
@GetMapping("test")
public List<CommonDictTreeDTO> test(){
return commonDicService.queryCommonDictTree("AQT");
}
} }

@ -24,7 +24,7 @@ public class MedicalRecQaVO {
private Long dictId; private Long dictId;
@ApiModelProperty("问题类目,新增更新时不需要") @ApiModelProperty("问题类目,新增更新时不需要")
private String dictName; private String dictNamePath;
@ApiModelProperty("默认回答,新增更新时不需要") @ApiModelProperty("默认回答,新增更新时不需要")
private String defaultAnswer; private String defaultAnswer;

@ -3,6 +3,7 @@ package com.supervision.manage.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.manage.pojo.vo.MedicalRecInfoVO; import com.supervision.manage.pojo.vo.MedicalRecInfoVO;
import com.supervision.manage.pojo.vo.MedicalRecManageVO; import com.supervision.manage.pojo.vo.MedicalRecManageVO;
import com.supervision.manage.pojo.vo.MedicalRecQaVO;
import com.supervision.vo.manage.MedicalRecPageResVO; import com.supervision.vo.manage.MedicalRecPageResVO;
import com.supervision.model.Disease; import com.supervision.model.Disease;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -17,6 +18,8 @@ public interface MedicalRecManageService {
void createMedicalRec(MedicalRecManageVO reqVO); void createMedicalRec(MedicalRecManageVO reqVO);
List<MedicalRecQaVO> queryQuestionListByCreat(String diseaseId);
void modifyMedicalRec(MedicalRecManageVO reqVO); void modifyMedicalRec(MedicalRecManageVO reqVO);
MedicalRecInfoVO queryMedicalRecInfo(String id); MedicalRecInfoVO queryMedicalRecInfo(String id);

@ -40,6 +40,8 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService {
private final CommonDicService commonDicService; private final CommonDicService commonDicService;
private final DiseaseQuestionService diseaseQuestionService;
public List<Disease> queryDiseaseListByKeyWord(String keyword) { public List<Disease> queryDiseaseListByKeyWord(String keyword) {
// 注意,这里不支持查询复杂疾病,如果需要支持复杂疾病,这里需要单独进行改造 // 注意,这里不支持查询复杂疾病,如果需要支持复杂疾病,这里需要单独进行改造
return diseaseService.lambdaQuery().eq(Disease::getDiseaseType, 0).like(Disease::getDiseaseName, keyword).list(); return diseaseService.lambdaQuery().eq(Disease::getDiseaseType, 0).like(Disease::getDiseaseName, keyword).list();
@ -80,6 +82,40 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService {
} }
} }
@Override
public List<MedicalRecQaVO> queryQuestionListByCreat(String diseaseId) {
// 去vp_disease_question获取
List<DiseaseQuestion> list = diseaseQuestionService.lambdaQuery().eq(DiseaseQuestion::getDiseaseId, diseaseId).list();
if (CollUtil.isEmpty(list)){
return new ArrayList<>();
}
// 获取问题
Set<String> libraryQuestionIdSet = list.stream().map(DiseaseQuestion::getQuestionId).collect(Collectors.toSet());
List<AskTemplateQuestionLibrary> askTemplateQuestionLibraryList = askTemplateQuestionLibraryService.listByIds(libraryQuestionIdSet);
Map<String, AskTemplateQuestionLibrary> askQuestionMap = askTemplateQuestionLibraryList.stream().collect(Collectors.toMap(AskTemplateQuestionLibrary::getId, Function.identity()));
// 获取字典
Set<Long> dictIdSet = askTemplateQuestionLibraryList.stream().map(AskTemplateQuestionLibrary::getDictId).collect(Collectors.toSet());
Map<Long, CommonDic> dictMap = commonDicService.listByIds(dictIdSet).stream().collect(Collectors.toMap(CommonDic::getId, Function.identity()));
List<MedicalRecQaVO> result = new ArrayList<>();
for (DiseaseQuestion diseaseQuestion : list) {
AskTemplateQuestionLibrary questionLibrary = askQuestionMap.get(diseaseQuestion.getQuestionId());
if (ObjectUtil.isNotEmpty(questionLibrary)) {
MedicalRecQaVO medicalRecQaVO = new MedicalRecQaVO();
medicalRecQaVO.setLibraryQuestionId(diseaseQuestion.getQuestionId());
// 问题
medicalRecQaVO.setQuestionList(questionLibrary.getQuestion());
// 类目
medicalRecQaVO.setDictId(questionLibrary.getDictId());
// 类目名称
medicalRecQaVO.setDictNamePath(dictMap.getOrDefault(questionLibrary.getDictId(), new CommonDic()).getNameZhPath());
// 默认回答
medicalRecQaVO.setDefaultAnswer(CollUtil.getFirst(questionLibrary.getDefaultAnswer()));
result.add(medicalRecQaVO);
}
}
return result;
}
@Override @Override
public void modifyMedicalRec(MedicalRecManageVO reqVO) { public void modifyMedicalRec(MedicalRecManageVO reqVO) {
// 首先修改病人 // 首先修改病人
@ -168,7 +204,7 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService {
// 类目 // 类目
medicalRecQaVO.setDictId(questionLibrary.getDictId()); medicalRecQaVO.setDictId(questionLibrary.getDictId());
// 类目名称 // 类目名称
medicalRecQaVO.setDictName(dictMap.getOrDefault(questionLibrary.getDictId(), new CommonDic()).getNameZhPath()); medicalRecQaVO.setDictNamePath(dictMap.getOrDefault(questionLibrary.getDictId(), new CommonDic()).getNameZhPath());
// 默认回答 // 默认回答
medicalRecQaVO.setDefaultAnswer(CollUtil.getFirst(questionLibrary.getDefaultAnswer())); medicalRecQaVO.setDefaultAnswer(CollUtil.getFirst(questionLibrary.getDefaultAnswer()));
} }

Loading…
Cancel
Save