|
@@ -55,6 +55,7 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
TestFacade testFacade;
|
|
|
@Autowired
|
|
|
RetrievalFacade retrievalFacade;
|
|
|
+ int getWordSize = 100;
|
|
|
|
|
|
public Map getWord() {
|
|
|
Map<String, String> res = new LinkedHashMap<>();
|
|
@@ -63,17 +64,21 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
AIAnalyze aiAnalyze = new AIAnalyze(crfServiceClient);
|
|
|
|
|
|
// 症状标准词
|
|
|
- List<String> symptomStand = getStandWord(9, 10000).getSymptomNames();
|
|
|
+ List<String> symptomStand = new ArrayList<>();
|
|
|
+ // List<String> symptomStand = getStandWord(9, 10000).getSymptomNames();
|
|
|
// 诊断标准词
|
|
|
- List<String> diseaseStand = getStandWord(4, 100).getDiseaseNames().stream().map(r -> r.getName()).collect(Collectors.toList());
|
|
|
+ // List<String> diseaseStand = getStandWord(4, 10000).getDiseaseNames().stream().map(r -> r.getName()).collect(Collectors.toList());
|
|
|
+ List<String> diseaseStand = new ArrayList<>();
|
|
|
// 药品标准词
|
|
|
- List<String> drugStand = getStandWord(5, 100).getDrugNames().stream().map(r -> r.getName()).collect(Collectors.toList());
|
|
|
+ List<String> drugStand = new ArrayList<>();
|
|
|
+ // List<String> drugStand = getStandWord(5, 10000).getDrugNames().stream().map(r -> r.getName()).collect(Collectors.toList());
|
|
|
// 手术标准词
|
|
|
- List<String> operateStand = getStandWord(6, 100).getOperationNames().stream().map(r -> r.getName()).collect(Collectors.toList());
|
|
|
+ List<String> operateStand = new ArrayList<>();
|
|
|
+ // List<String> operateStand = getStandWord(6, 10000).getOperationNames().stream().map(r -> r.getName()).collect(Collectors.toList());
|
|
|
|
|
|
// 模型处理数据
|
|
|
WordCrfDTO wordCrfDTO = new WordCrfDTO();
|
|
|
- List<TestwordInfo> testwordInfoList = this.page(new Page<>(1, 100), new QueryWrapper<TestwordInfo>()
|
|
|
+ List<TestwordInfo> testwordInfoList = this.page(new Page<>(1, getWordSize), new QueryWrapper<TestwordInfo>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
.eq("is_deal", 0)
|
|
|
.orderByAsc("id")).getRecords();
|
|
@@ -90,22 +95,50 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
for (TestwordInfo bean : testwordInfoList) {
|
|
|
String text = bean.getText();
|
|
|
String type = bean.getType();
|
|
|
- if ("主诉".equals(type) || "现病史".equals(type)) {
|
|
|
- SearchData searchData = new SearchData();
|
|
|
- searchData.setSymptom(text);
|
|
|
- aiAnalyze.aiProcess(searchData, wordCrfDTO);
|
|
|
- // 临床表现
|
|
|
- CoreUtil.addSet(symptomList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getClinicals()));
|
|
|
- // 诊断
|
|
|
- CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getDiags()));
|
|
|
- // 药品
|
|
|
- CoreUtil.addSet(drugList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getMedicines()));
|
|
|
- // 手术
|
|
|
- CoreUtil.addSet(operateList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getOperations()));
|
|
|
- // // 化验
|
|
|
- // CoreUtil.addSet(drugList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getDiags()));
|
|
|
- // // 辅检
|
|
|
- // CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getDiags()));
|
|
|
+ SearchData searchData = new SearchData();
|
|
|
+ switch (type) {
|
|
|
+ case "主诉":
|
|
|
+ case "现病史":
|
|
|
+ searchData.setSymptom(text);
|
|
|
+ aiAnalyze.aiProcess(searchData, wordCrfDTO);
|
|
|
+ // 临床表现
|
|
|
+ CoreUtil.addSet(symptomList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getClinicals()));
|
|
|
+ // 诊断
|
|
|
+ CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getDiags()));
|
|
|
+ // 药品
|
|
|
+ CoreUtil.addSet(drugList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getMedicines()));
|
|
|
+ // 手术
|
|
|
+ CoreUtil.addSet(operateList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getOperations()));
|
|
|
+ // // 化验
|
|
|
+ // CoreUtil.addSet(drugList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getDiags()));
|
|
|
+ // // 辅检
|
|
|
+ // CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getPresentLabel().getDiags()));
|
|
|
+ break;
|
|
|
+ case "既往史":
|
|
|
+ searchData.setPasts(text);
|
|
|
+ aiAnalyze.aiProcess(searchData, wordCrfDTO);
|
|
|
+ // 诊断
|
|
|
+ CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getPastLabel().getDiags()));
|
|
|
+ // 药品
|
|
|
+ CoreUtil.addSet(drugList, CoreUtil.getName(wordCrfDTO.getPastLabel().getMedicines()));
|
|
|
+ // 手术
|
|
|
+ CoreUtil.addSet(operateList, CoreUtil.getName(wordCrfDTO.getPastLabel().getOperations()));
|
|
|
+ break;
|
|
|
+ case "专科体格检查":
|
|
|
+ searchData.setVital(text);
|
|
|
+ aiAnalyze.aiProcess(searchData, wordCrfDTO);
|
|
|
+ // 查体
|
|
|
+ CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getVitalLabel().getVitals()));
|
|
|
+ break;
|
|
|
+ case "辅助检查":
|
|
|
+ break;
|
|
|
+ case "初步诊断":
|
|
|
+ case "修正诊断":
|
|
|
+ searchData.setDiagString(text);
|
|
|
+ aiAnalyze.aiProcess(searchData, wordCrfDTO);
|
|
|
+ // 诊断
|
|
|
+ CoreUtil.addSet(diseaseList, CoreUtil.getName(wordCrfDTO.getDiag()));
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -129,10 +162,11 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
|
|
|
testwordInfoService.saveOrUpdateBatch(testwordInfoList);
|
|
|
|
|
|
// 获取下一批数据
|
|
|
- testwordInfoList = this.page(new Page<>(1, 100), new QueryWrapper<TestwordInfo>()
|
|
|
+ testwordInfoList = this.page(new Page<>(1, getWordSize), new QueryWrapper<TestwordInfo>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
.eq("is_deal", 0)
|
|
|
.orderByAsc("id")).getRecords();
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
long end = System.currentTimeMillis();
|