zhoutg 4 лет назад
Родитель
Сommit
c55bf97323

+ 5 - 0
src/main/java/com/diagbot/dto/WordCrfDTO.java

@@ -102,4 +102,9 @@ public class WordCrfDTO {
     private String pasts = "";
     // 月经史
     private String menstrual = "";
+
+    // 【诊断数据来源】
+    private List<Item> diagSource = new ArrayList<>();
+    // 【药品数据来源】
+    private List<Item> drugSource = new ArrayList<>();
 }

+ 11 - 1
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -16,13 +16,21 @@ import com.diagbot.model.label.PacsLabel;
 import com.diagbot.model.label.PastLabel;
 import com.diagbot.model.label.PresentLabel;
 import com.diagbot.model.label.VitalLabel;
+import com.diagbot.rule.CommonRule;
 import com.diagbot.util.CoreUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.NeoPushVO;
 import com.diagbot.vo.SearchData;
 import com.diagbot.vo.StandConvert;
-import com.diagbot.vo.neoPushEntity.*;
+import com.diagbot.vo.neoPushEntity.ChiefPushVo;
+import com.diagbot.vo.neoPushEntity.Diag;
+import com.diagbot.vo.neoPushEntity.DiagVo;
+import com.diagbot.vo.neoPushEntity.Drug;
+import com.diagbot.vo.neoPushEntity.LisPushVo;
+import com.diagbot.vo.neoPushEntity.PacsPushVo;
+import com.diagbot.vo.neoPushEntity.PresentPushVo;
+import com.diagbot.vo.neoPushEntity.Symptom;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -46,6 +54,8 @@ public class CommonFacade {
     LisConfigFacade lisConfigFacade;
     @Autowired
     PacsConfigFacade pacsConfigFacade;
+    @Autowired
+    CommonRule commonRule;
 
     //组装好的label
     public WordCrfDTO crf_process(SearchData searchData) {

+ 7 - 0
src/main/java/com/diagbot/facade/IndicationFacade.java

@@ -5,6 +5,7 @@ import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.rule.CommonRule;
 import com.diagbot.util.CoreUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.vo.IndicationPushVO;
@@ -36,6 +37,8 @@ public class IndicationFacade {
     BillFacade billFacade;
     @Autowired
     StandConvertServiceClient standConvertServiceClient;
+    @Autowired
+    CommonRule commonRule;
 
     private static final Map<String, List<String>> methodMap;
 
@@ -92,6 +95,10 @@ public class IndicationFacade {
         }
         CoreUtil.getDebugStr(standStart, "标准词转换耗时", debug);
 
+        // 合并【数据来源】
+        wordCrfDTO.setDiagSource(commonRule.getDiseaseSource(wordCrfDTO));
+        wordCrfDTO.setDrugSource(commonRule.getDrugSource(wordCrfDTO));
+
         try {
             Map<String, Object> invokeParams = new HashMap<>();
             invokeParams.put("wordCrfDTO", wordCrfDTO);

+ 2 - 2
src/main/java/com/diagbot/process/BillProcess.java

@@ -172,10 +172,10 @@ public class BillProcess {
         List<Item> allergyMedicines = commonRule.getDrugAllergySource(wordCrfDTO);
 
         // 【药品数据来源】(主诉、现病史、既往史、结构化药品)
-        List<Item> medicineAll = commonRule.getDrugSource(wordCrfDTO);
+        List<Item> medicineAll = wordCrfDTO.getDrugSource();
 
         // 【诊断数据来源】
-        List<Item> diags = commonRule.getDiseaseSource(wordCrfDTO);
+        List<Item> diags = wordCrfDTO.getDiagSource();
 
         // 【辅检结果数据来源】
         PacsLabel pacsLabel = wordCrfDTO.getPacsLabel();

+ 2 - 2
src/main/java/com/diagbot/process/OtherTipProcess.java

@@ -55,9 +55,9 @@ public class OtherTipProcess {
                 for (NodeNeoDTO nodeNeoDTO : factor) {
                     Map map = new LinkedHashMap();
                     if (TypeEnum.disease.getName().equals(nodeNeoDTO.getTermtype())) { // 诊断
-                        map = CoreUtil.compareNameWithNode(nodeNeoDTO, commonRule.getDiseaseSource(wordCrfDTO));
+                        map = CoreUtil.compareNameWithNode(nodeNeoDTO, wordCrfDTO.getDiagSource());
                     } else if (TypeEnum.drug.getName().equals(nodeNeoDTO.getTermtype())) { // 药品
-                        map = CoreUtil.compareNameWithNode(nodeNeoDTO, commonRule.getDrugSource(wordCrfDTO));
+                        map = CoreUtil.compareNameWithNode(nodeNeoDTO, wordCrfDTO.getDrugSource());
                     } else if (NeoEnum.group.getName().equals(nodeNeoDTO.getTermtype())) { // "禁忌人群"
                         map = groupRule.gravidityRule(wordCrfDTO);
                     }

+ 2 - 1
src/main/java/com/diagbot/repository/PacsRemindNode.java

@@ -28,7 +28,8 @@ public class PacsRemindNode {
 		Double age= null;
 		Integer agerange = null;
 
-		for (Item dg : wordCrfDTO.getDiag()) {
+		// 【诊断数据来源】
+		for (Item dg : wordCrfDTO.getDiagSource()) {
 			pacsdiseases.add(dg.getUniqueName());
 		}