Browse Source

七院:规则更新

shiyue 4 years ago
parent
commit
080d5e63a3

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

@@ -39,7 +39,7 @@ public class BEH0026 extends QCCatalogue {
             return;
         }
         String pastText = pastLabel.getText();
-        if (pastText.contains("食物过敏史") || pastText.contains("详见原病历")) {
+        if (pastText.contains("食物过敏史") || pastText.contains("详见原病历") || pastText.contains("食物、药物过敏史")) {
             status.set("0");
             return;
         }

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

@@ -38,7 +38,7 @@ public class BEH0454 extends QCCatalogue {
             return;
         }
         if (StringUtils.isNotEmpty(pastLabel.getHeathCondition()) || pastLabel.getText().contains("既往")
-                || pastLabel.getText().contains("详见原病历")) {
+                || pastLabel.getText().contains("平素") || pastLabel.getText().contains("详见原病历")) {
             status.set("0");
         }
         //既往有任一阳性疾病名称,则认为有健康状况

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/firstpagerecord/FIRP0222.java

@@ -35,7 +35,7 @@ public class FIRP0222 extends QCCatalogue {
         Map<String, String> firpStructureMap = firstPageRecordDoc.getStructureMap();
         Map<String, String> medStructureMap = medicalRecordInfoDoc.getStructureMap();
         String admitDept = firpStructureMap.get(Content.admitDept);
-        String behDeptId = medStructureMap.get("behDeptName");
+        String behDeptId = medStructureMap.get("behDeptId");
         if (StringUtil.isNotBlank(admitDept) && StringUtil.isNotBlank(behDeptId) && !admitDept.equals(behDeptId)) {
             status.set("-1");
         }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/firstpagerecord/FIRP02972.java

@@ -26,6 +26,9 @@ public class FIRP02972 extends QCCatalogue {
             String address = firstpageStructureMap.get(Content.current_address);
             if (!CatalogueUtil.isEmpty(address)) {
                 String suffix = (address.length()<=5)?address:(address.substring(address.length()-5));
+                if (suffix.contains("村")) {
+                    return;
+                }
                 Pattern p = Pattern.compile("[0-9一二三四五六七八九0123456789]");
                 Matcher m = p.matcher(suffix);
                 if (!m.find()) {

+ 16 - 15
trans/src/main/java/com/lantone/qc/trans/hangzhoudiqi/QiYuanBeHospitalizedDocTrans.java

@@ -40,12 +40,12 @@ public class QiYuanBeHospitalizedDocTrans extends ModelDocTrans {
             Map<String, String> sourceMap = QiYuanXmlUtil.xmlToMap(content);
             sourceMap.put("mode_id", ModuleMappingUtil.getDeptModuleId(modeId));
             String text = sourceMap.get("原始文本").replace(":", ":").
-                    replaceAll("■", "").replaceAll("\n","").replaceAll("\t","");
+                    replaceAll("■", "").replaceAll("\n", "").replaceAll("\t", "");
             Map<String, String> cutMap = Maps.newHashMap();
             sourceMap.remove("记录时间");
-            List<String> titles = Lists.newArrayList("记录时间","身份证号","病史陈述者","记录日期","主  诉","主诉","认知活动",
-                    "情感活动","意志行为","谈话记录","辅助检查","初步诊断","诊断","医师签名","日期","现年龄","发病年龄",
-                    "父母近亲婚姻","修正诊断","修复术后","诊断","家系谱图");
+            List<String> titles = Lists.newArrayList("记录时间", "身份证号", "病史陈述者", "记录日期", "主  诉", "主诉", "认知活动",
+                    "情感活动", "意志行为", "谈话记录", "辅助检查", "初步诊断", "诊断", "医师签名", "日期", "现年龄", "发病年龄",
+                    "父母近亲婚姻", "修正诊断", "修复术后", "诊断", "家系谱图");
             titles = CommonAnalysisUtil.sortTitles(titles, text);
             CommonAnalysisUtil.cutByTitles(text, titles, 0, sourceMap);
 
@@ -54,19 +54,20 @@ public class QiYuanBeHospitalizedDocTrans extends ModelDocTrans {
             sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
             //职业A+A问题解决
             if (sourceMap.containsKey("职业")) {
-                sourceMap.put("职业", sourceMap.get("职业").split(" ")[0]);
+                if (sourceMap.get("职业").split(" ").length > 1) {
+                    sourceMap.put("职业", sourceMap.get("职业").split(" ")[0]);
+                }
             }
             //患者出生地址A+A问题解决
             if (sourceMap.containsKey("患者出生地址")) {
-                sourceMap.put("患者出生地址", sourceMap.get("患者出生地址").split(" ")[0]);
+                if (sourceMap.get("患者出生地址").split(" ").length > 1) {
+                    sourceMap.put("患者出生地址", sourceMap.get("患者出生地址").split(" ")[0]);
+                }
             }
-
-            //患者出生地址A+A问题解决
-            if (sourceMap.containsKey("体格检查")) {
-                sourceMap.put("体格检查", sourceMap.get("体格检查").split(" ")[0]);
-            }
-            if (sourceMap.containsKey("婚姻状况")){
-                sourceMap.put("婚姻状况", sourceMap.get("婚姻状况").split(" ")[0]);
+            if (sourceMap.containsKey("婚姻状况")) {
+                if (sourceMap.get("婚姻状况").split(" ").length > 1) {
+                    sourceMap.put("婚姻状况", sourceMap.get("婚姻状况").split(" ")[0]);
+                }
             }
             if (!sourceMap.containsKey("专科检查")) {
                 sourceMap.put("专科检查", sourceMap.get("无"));
@@ -74,8 +75,8 @@ public class QiYuanBeHospitalizedDocTrans extends ModelDocTrans {
 
             //检查问题
             List<String> titleList = Lists.newArrayList("体格检查(右上角有*的项目根据需要进行检查)"
-                    ,"体格检查表(右上角有*的项目根据需要进行检查)","神经系统检查","体 格 检 查 (一)","神经专科情况(一)"
-                    ,"神经专科情况(二)","辅助检查");
+                    , "体格检查表(右上角有*的项目根据需要进行检查)", "神经系统检查", "体 格 检 查 (一)", "神经专科情况(一)"
+                    , "神经专科情况(二)", "辅助检查");
             List<String> sortTitles = CommonAnalysisUtil.sortTitlesNoColon(titleList, text);
             CommonAnalysisUtil.cutByTitlesNoColon(text, sortTitles, 0, sourceMap);