Bladeren bron

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

rengb 5 jaren geleden
bovenliggende
commit
334fbaacc2

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0011.java

@@ -74,7 +74,7 @@ public class BEH0011 extends QCCatalogue {
             }
         }
         /* 取既往史中疾病名称 */
-        if (pastLabel != null) {
+        if (pastLabel != null && StringUtils.isNotEmpty(pastLabel.getText())) {
             List<Diag> pastDiags = pastLabel.getDiags();
             addDiagHospitalName(presentPastDiags, pastDiags);
         } else {            //结构化数据

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH02980.java

@@ -81,7 +81,7 @@ public class BEH02980 extends QCCatalogue {
         }
 
 
-        if (pastLabel != null) {
+        if (pastLabel != null && StringUtils.isNotEmpty(pastLabel.getText())) {
             extract_diags(pastLabel.getDiags(), pos_diags, neg_diags);
         } else {
             //例如邵逸夫 台州这种结构化数据,判断高血压 和 糖尿病是否有冲突

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC0095.java

@@ -71,7 +71,7 @@ public class FIRC0095 extends QCCatalogue {
             }
         }
         /* 取既往史中疾病名称 */
-        if (pastLabel != null) {
+        if (pastLabel != null && StringUtils.isNotEmpty(pastLabel.getText())) {
             List<Diag> pastDiags = pastLabel.getDiags();
             addDiagHospitalName(presentPastDiags, pastDiags);
         } else {            //结构化数据

+ 9 - 33
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0178.java

@@ -5,6 +5,7 @@ import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.client.ChiefPresentSimilarityServiceClient;
 import com.lantone.qc.kernel.client.SimilarityServiceClient;
 import com.lantone.qc.kernel.structure.ai.ModelAI;
+import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
@@ -50,43 +51,25 @@ public class FIRP0178 extends QCCatalogue {
             List<Diag> leaveDiags = leaveDiagLabel.getDiags();
             List<String> leaveDiagsStr = putDiagToList(leaveDiags);
 
-            /* 病案首页出院诊断会把主诊断去掉,所以size会少一个,这里将出院小结里的出院诊断size也-1 */
-            if (firstpageLeaveDiags.size() != leaveDiagsStr.size() - 1) {
-                status.set("-1");
-                return;
-            }
-
             /* 修改为疾病相似度模型 */
             ModelAI modelAI = new ModelAI();
-            int matchDiagSum = 0;
-            for (String firstpageLeaveDiag : firstpageLeaveDiags) {
-                JSONArray jsonArray = modelAI.loadChiefPresentSimilarAI(firstpageLeaveDiag, leaveDiagsStr, false
+            String infoStr = "";
+            //最主要是给医生提醒,看是否有出院诊断漏写
+            for (String leaveDiag : leaveDiagsStr) {
+                JSONArray jsonArray = modelAI.loadChiefPresentSimilarAI(leaveDiag, firstpageLeaveDiags, false
                         , "diagnose", chiefPresentSimilarityServiceClient);
                 if (jsonArray.size() == 2) {
-                    /* 相似度最高症状 */
-                    String symptom = jsonArray.getString(0);
                     /* 相似度分数 */
                     double likeRate = jsonArray.getDoubleValue(1);
                     if (likeRate > 0.9) {
-                        matchDiagSum++;
-                    }
-                }
-                /*
-                for (String leaveDiag : leaveDiagsStr) {
-                    if (firstpageLeaveDiag.equals(leaveDiag) || leaveDiag.contains(firstpageLeaveDiag)) {
-                        matchDiagSum++;
-                        break;
+                        infoStr = CatalogueUtil.concatInfo(infoStr, leaveDiag);
                     }
                 }
-
-                 */
-
             }
-
-            if (matchDiagSum != firstpageLeaveDiags.size()) {
+            if (StringUtil.isNotBlank(infoStr)) {
                 status.set("-1");
+                info.set(infoStr);
             }
-
         }
     }
 
@@ -105,14 +88,7 @@ public class FIRP0178 extends QCCatalogue {
                 firstpageDiag.add(diagnoseName);
             }
         }
-        // 不复制第一个
-        List<String> res = new ArrayList<>();
-        if (ListUtil.isNotEmpty(firstpageDiag) && firstpageDiag.size() > 1) {
-            for (int i = 1; i < firstpageDiag.size(); i++) {
-                res.add(firstpageDiag.get(i));
-            }
-        }
-        return res;
+        return firstpageDiag;
     }
 
     private List<String> putDiagToList(List<Diag> diagList) {