Browse Source

Merge remote-tracking branch 'origin/beilun/dev' into beilun/dev

zhangzw 4 years ago
parent
commit
4f788eb633

+ 7 - 19
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/firstpagerecord/FIRP0178.java

@@ -17,7 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -39,13 +38,12 @@ public class FIRP0178 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getLeaveHospitalDoc() != null) {
             Map<String, Object> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
             List<Map<String, String>> dischargeDiag = (List) firstpageStructureMap.get(Content.dischargeDiag);
-            String mainDiagnosis = "";
             if (ListUtil.isEmpty(dischargeDiag)) {
                 return;
             }
-            if (dischargeDiag.get(0) != null) {
-                mainDiagnosis = dischargeDiag.get(0).get("诊断名称");
-            }
+//            if (dischargeDiag.get(0) != null) {
+//                mainDiagnosis = dischargeDiag.get(0).get("诊断名称");
+//            }
 
             /* 病案首页出院小结诊断 除去主诊断*/
             List<String> firstpageLeaveDiags = getFirstPageDiag(dischargeDiag);
@@ -64,27 +62,17 @@ public class FIRP0178 extends QCCatalogue {
             ModelAI modelAI = new ModelAI();
             String infoStr = "";
             //最主要是给医生提醒,看是否有出院诊断漏写
-            for (String leaveDiag : leaveDiagsStr) {
-                JSONArray jsonArray = modelAI.loadChiefPresentSimilarAI(leaveDiag, firstpageLeaveDiags, false
+            for (int i = 1; i < leaveDiagsStr.size(); i++) {
+                JSONArray jsonArray = modelAI.loadChiefPresentSimilarAI(leaveDiagsStr.get(i), firstpageLeaveDiags, false
                         , "diagnose", chiefPresentSimilarityServiceClient);
                 if (jsonArray.size() == 2) {
                     /* 相似度分数 */
                     double likeRate = jsonArray.getDoubleValue(1);
                     if (likeRate < 0.9) {
-                        infoStr = CatalogueUtil.concatInfo(infoStr, leaveDiag);
+                        infoStr = CatalogueUtil.concatInfo(infoStr, leaveDiagsStr.get(i));
                     }
                 } else if (jsonArray.size() == 0) {
-                    JSONArray jsonArr = modelAI.loadChiefPresentSimilarAI(leaveDiag, Arrays.asList(mainDiagnosis), false
-                            , "diagnose", chiefPresentSimilarityServiceClient);
-                    if (jsonArr.size() == 2) {
-                        /* 相似度分数 */
-                        double likeRate = jsonArr.getDoubleValue(1);
-                        if (likeRate < 0.9) {
-                            infoStr = CatalogueUtil.concatInfo(infoStr, leaveDiag);
-                        }
-                    } else if (jsonArray.size() == 0) {
-                        infoStr = CatalogueUtil.concatInfo(infoStr, leaveDiag);
-                    }
+                    infoStr = CatalogueUtil.concatInfo(infoStr, leaveDiagsStr.get(i));
                 }
             }
             if (StringUtil.isNotBlank(infoStr)) {

+ 4 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR03076.java

@@ -184,6 +184,7 @@ public class THR03076 extends QCCatalogue {
                     Date adDate = StringUtil.parseDateTime(adDateStr);
                     List<Double> adUsage = adMap.getValue();
                     for (Map.Entry<String, List<Double>> wdvMap : wardDateValue.entrySet()) {
+                        StringBuffer innersb = new StringBuffer();
                         String wardDateStr = wdvMap.getKey();
                         Date wardDate = StringUtil.parseDateTime(wardDateStr);
                         List<Double> wardUsage = wdvMap.getValue();
@@ -192,14 +193,14 @@ public class THR03076 extends QCCatalogue {
                                 DateUtils.isSameDay(wardDate, adDate)) {
                             wardUsage.removeAll(adUsage);//比如adUsage有1.0、2.0,wardUsage中有2.0、3.0,removeAll之后wardUsage只剩3.0
                             adDateStr = DateUtil.formatDateTime(adDate);
-                            if (wardUsage.size() > 0 && !sb.toString().contains(drugKey + "(" + adDateStr + ")")) {
-                                infoAppend(sb, ai.getKey(), adDateStr);
+                            if (wardUsage.size() > 0 && !sb.toString().contains(ai.getKey() + "(" + adDateStr + ")")) {
+                                infoAppend(innersb, ai.getKey(), adDateStr);
                             }
                             if(wardUsage.size() == 0){
-                                sb = new StringBuffer();
                                 break;
                             }
                         }
+                        sb.append(innersb);
                     }
                 }
             }

+ 4 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR03077.java

@@ -276,7 +276,7 @@ public class THR03077 extends QCCatalogue {
         }
     }
 
-    List<String> usageWords = Lists.newArrayList("WB", "wb", "泵");
+    List<String> usageWords = Lists.newArrayList("WB", "wb", "泵","静滴");
 
     /**
      * 收集各模块药品信息
@@ -334,9 +334,9 @@ public class THR03077 extends QCCatalogue {
                         break;
                     }
                 }
-            }
-            if (isUsage) {
-                concatInfo(dateStr, sb, "用法");
+                if (isUsage) {
+                    concatInfo(dateStr, sb, "用法");
+                }
             }
             if (drug.getFrequency() == null) {
                 concatInfo(dateStr, sb, "频率");