|
@@ -71,6 +71,18 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
List<String> drugStand = getStandWord(5, 100000).getDrugNames().stream().map(r -> r.getName()).collect(Collectors.toList());
|
|
|
// 手术标准词
|
|
|
List<String> operateStand = getStandWord(6, 100000).getOperationNames().stream().map(r -> r.getName()).collect(Collectors.toList());
|
|
|
+ // 化验套餐标准词
|
|
|
+ List<String> lisItem = getStandWord(1, 100000).getLisNames();
|
|
|
+ // 化验明细标准词
|
|
|
+ List<String> lisDetail = getStandWord(2, 100000).getLisDetailNames().stream().map(r -> r.getUniqueName()).collect(Collectors.toList());
|
|
|
+ // 化验标准词
|
|
|
+ List<String> lisStand = new ArrayList<>();
|
|
|
+ lisStand.addAll(lisItem);
|
|
|
+ lisStand.addAll(lisDetail);
|
|
|
+ // 查体标准词
|
|
|
+ List<String> vitalStand = getStandWord(10, 100000).getOperationNames().stream().map(r -> r.getName()).collect(Collectors.toList());
|
|
|
+ // 辅检结果标准词
|
|
|
+ List<String> pacsResStand = new ArrayList<>();
|
|
|
|
|
|
// 模型处理数据
|
|
|
WordCrfDTO wordCrfDTO = new WordCrfDTO();
|
|
@@ -87,7 +99,8 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
Set<String> drugList = new LinkedHashSet<>();
|
|
|
Set<String> operateList = new LinkedHashSet<>();
|
|
|
Set<String> lisList = new LinkedHashSet<>();
|
|
|
- Set<String> pacsList = new LinkedHashSet<>();
|
|
|
+ Set<String> pacsResList = new LinkedHashSet<>();
|
|
|
+ Set<String> vitalList = new LinkedHashSet<>();
|
|
|
for (TestwordInfo bean : testwordInfoList) {
|
|
|
String text = bean.getText();
|
|
|
String type = bean.getType();
|
|
@@ -106,9 +119,10 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
// 手术
|
|
|
CoreUtil.addSet(operateList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getOperations()));
|
|
|
// 化验
|
|
|
- // CoreUtil.addSet(drugList, CoreUtil.getName(wordCrfDTO.getLis().getDiags()));
|
|
|
+ CoreUtil.addSet(lisList, CoreUtil.getName(wordCrfDTO.getLis()));
|
|
|
+ CoreUtil.addSet(lisList, getDetail(wordCrfDTO.getLis()));
|
|
|
// 辅检
|
|
|
- CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getPacsLabel().getRes()));
|
|
|
+ CoreUtil.addSet(pacsResList, CoreUtil.getName(wordCrfDTO.getPacsLabel().getRes()));
|
|
|
break;
|
|
|
case "既往史":
|
|
|
searchData.setPasts(text);
|
|
@@ -124,13 +138,17 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
searchData.setVital(text);
|
|
|
aiAnalyze.aiProcess(searchData, wordCrfDTO);
|
|
|
// 查体
|
|
|
- CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getVitalLabel().getVitals()));
|
|
|
+ CoreUtil.addSet(vitalList, CoreUtil.getName(wordCrfDTO.getVitalLabel().getVitals()));
|
|
|
+ CoreUtil.addSet(vitalList, CoreUtil.getName(wordCrfDTO.getVitalLabel().getClinicals()));
|
|
|
break;
|
|
|
case "辅助检查":
|
|
|
searchData.setSymptom(text);
|
|
|
aiAnalyze.aiProcess(searchData, wordCrfDTO);
|
|
|
+ // 化验
|
|
|
+ CoreUtil.addSet(lisList, CoreUtil.getName(wordCrfDTO.getLis()));
|
|
|
+ CoreUtil.addSet(lisList, getDetail(wordCrfDTO.getLis()));
|
|
|
// 辅检
|
|
|
- CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getPacsLabel().getRes()));
|
|
|
+ CoreUtil.addSet(pacsResList, CoreUtil.getName(wordCrfDTO.getPacsLabel().getRes()));
|
|
|
break;
|
|
|
case "初步诊断":
|
|
|
case "修正诊断":
|
|
@@ -150,6 +168,12 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
dealBusiness(drugList, "药品", drugStand, insertRes);
|
|
|
// 处理手术
|
|
|
dealBusiness(operateList, "手术", operateStand, insertRes);
|
|
|
+ // 处理查体
|
|
|
+ dealBusiness(vitalList, "查体", vitalStand, insertRes);
|
|
|
+ // 处理化验
|
|
|
+ dealBusiness(lisList, "化验", lisStand, insertRes);
|
|
|
+ // 处理辅检结果
|
|
|
+ dealBusiness(pacsResList, "辅检结果", pacsResStand, insertRes);
|
|
|
|
|
|
// 保存结果
|
|
|
if (ListUtil.isNotEmpty(insertRes)) {
|
|
@@ -291,4 +315,22 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
.orderByAsc("id")).getRecords();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 筛选对象列表中“uniqueName”字段为空的数据,返回targetProperty字段列表
|
|
|
+ *
|
|
|
+ * @param list
|
|
|
+ * @param <T>
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public <T> List<String> getDetail(List<T> list) {
|
|
|
+ if (ListUtil.isEmpty(list)) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ return list.stream()
|
|
|
+ .filter(r -> StringUtil.isNotBlank((String)CoreUtil.getFieldValue(r, "detailName")))
|
|
|
+ .map(r -> (String)CoreUtil.getFieldValue(r, "detailName"))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }
|
|
|
}
|