Explorar el Código

1.北仑疑难病例讨论记录修改trans
2.主诉症状缺少近期时间描述、现病史症状缺少近期时间描述修改逻辑

huj hace 4 años
padre
commit
afdec07090

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

@@ -71,7 +71,7 @@ public class BEH0006 extends QCCatalogue {
                                 || pdName.contains("分") || pdName.contains("日") || pdName.contains("今")
                                 || pdName.contains("1年") || pdName.contains("一年")) {
                             status.set("0");
-                            break;
+                            return;
                         }
                     }
                 }

+ 16 - 14
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0018.java

@@ -51,20 +51,22 @@ public class BEH0018 extends QCCatalogue {
         }
         PresentLabel presentLabel = inputInfo.getBeHospitalizedDoc().getPresentLabel();
         List<PD> pds = presentLabel.getPds();
-        if (pds != null && pds.size() > 0) {
-            for (PD pd : pds) {
-                String pdName = pd.getName();
-                if (StringUtil.isNotBlank(pdName)) {
-                    if (pdName.contains("天") || pdName.contains("周") || pdName.contains("月")
-                            || pdName.contains("时") || pdName.contains("秒") || pdName.contains("半年")
-                            || pdName.contains("日") || pdName.contains("今") || pdName.contains("余年")
-                            || pdName.contains("年") || pdName.contains("分") || pdName.contains("点")
-                            || pdName.contains("早") || pdName.contains("午") || pdName.contains("晚")
-                            || pdName.contains("夜") || pdName.contains("晨")
-                            || isDate(pdName)) {
-                        status.set("0");
-                        break;
-                    }
+        if (pds == null || pds.size() == 0) {
+            status.set("0");
+            return;
+        }
+        for (PD pd : pds) {
+            String pdName = pd.getName();
+            if (StringUtil.isNotBlank(pdName)) {
+                if (pdName.contains("天") || pdName.contains("周") || pdName.contains("月")
+                        || pdName.contains("时") || pdName.contains("秒") || pdName.contains("半年")
+                        || pdName.contains("日") || pdName.contains("今") || pdName.contains("余年")
+                        || pdName.contains("年") || pdName.contains("分") || pdName.contains("点")
+                        || pdName.contains("早") || pdName.contains("午") || pdName.contains("晚")
+                        || pdName.contains("夜") || pdName.contains("晨")
+                        || isDate(pdName)) {
+                    status.set("0");
+                    break;
                 }
             }
         }

+ 16 - 16
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunDifficultCaseDiscussDocTrans.java

@@ -2,9 +2,13 @@ package com.lantone.qc.trans.beilun;
 
 import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.changx.CxXmlUtil;
+import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
 import com.lantone.qc.pub.model.doc.DifficultCaseDiscussDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.trans.ModelDocTrans;
+import com.lantone.qc.trans.beilun.util.BeiLunDeathCaseDiscussHtmlAnalysis;
+import com.lantone.qc.trans.beilun.util.BeiLunDifficultCaseDiscussHtmlAnalysis;
+import com.lantone.qc.trans.beilun.util.BeiLunHtmlAnalysis;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.comsis.Preproc;
@@ -31,18 +35,14 @@ public class BeiLunDifficultCaseDiscussDocTrans extends ModelDocTrans {
 
     private DifficultCaseDiscussDoc getDifficultCaseDiscussDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> xmlNodeValueMap = CxXmlUtil.firstLevelNodeValue(content);
-        xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, keyContrasts);
+        String recTitle = contentMap.get("recTitle").toString();
+        String recTypeId = contentMap.get("recTypeId").toString();
+        BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunDifficultCaseDiscussHtmlAnalysis();
+        Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
+        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
 
-        String text = CxXmlUtil.getXmlText(content);
-        Map<String, String> cutWordMap = Preproc.getCutWordMap(true, sourceTitles, text);
-        cutWordMap.putAll(structureMap);
-
-        DifficultCaseDiscussDoc difficultCaseDiscussDoc = ModelDocGenerate.difficultCaseDiscussDocGen(cutWordMap);
-        difficultCaseDiscussDoc.setText(content);
-        difficultCaseDiscussDoc.setPageData((Map) cutWordMap);
+        DifficultCaseDiscussDoc difficultCaseDiscussDoc = ModelDocGenerate.difficultCaseDiscussDocGen(structureMap);
+        difficultCaseDiscussDoc.setPageData((Map) structureMap);
 
         return difficultCaseDiscussDoc;
     }
@@ -62,11 +62,11 @@ public class BeiLunDifficultCaseDiscussDocTrans extends ModelDocTrans {
     );
 
     private List<String> keyContrasts = Lists.newArrayList(
-          "讨论日期=讨论时间",
-          "人员及专业技术职务++++专业技术职务=参加讨论者",
-          "患者病情汇报=简要病情",
-          "讨论结果++++主持人小结意见=结论",
-          "签名++++=签名",
+            "讨论日期=讨论时间",
+            "人员及专业技术职务++++专业技术职务=参加讨论者",
+            "患者病情汇报=简要病情",
+            "讨论结果++++主持人小结意见=结论",
+            "签名++++=签名",
             "患者病情汇报=讨论内容"
     );
 

+ 7 - 2
trans/src/main/java/com/lantone/qc/trans/beilun/util/BeiLunDifficultCaseDiscussHtmlAnalysis.java

@@ -3,6 +3,8 @@ package com.lantone.qc.trans.beilun.util;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.lantone.qc.pub.util.StringUtil;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
 
 import java.util.List;
 import java.util.Map;
@@ -21,14 +23,17 @@ public class BeiLunDifficultCaseDiscussHtmlAnalysis implements BeiLunHtmlAnalysi
                 "主持人小结意见", "主持人签名", "记录医生签名");
         String html = args[0];
         String recTitle = args[1];
+        String recTypeId = args[2];
         Map<String, String> structureMap = Maps.newLinkedHashMap();
-        String htmlContent = CommonAnalysisUtil.html2String(html);
+        Document doc = Jsoup.parse(html);
+        String htmlContent = BeiLunHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body").child(0), false);
         if (StringUtil.isNotBlank(htmlContent)) {
             htmlContent = htmlContent.replaceAll("[   ]", " ");
             CommonAnalysisUtil.html2StructureMap(titles, htmlContent, structureMap);
         }
         CommonAnalysisUtil.extractDateByTitle(structureMap, "告知时间");
-        structureMap.put("rec_title=", "141");
+        //structureMap.put("rec_title=", "141");
+        BeiLunHtmlAnalysisUtil.insertModuleId(recTypeId, structureMap);
         return structureMap;
     }