3 Commits ec0abcc124 ... 332337fe24

Autore SHA1 Messaggio Data
  cb 332337fe24 Merge remote-tracking branch 'origin/his/yiwufubao' into his/yiwufubao 5 mesi fa
  cb 0ed454fab7 现场问题整改20250221 5 mesi fa
  cb 3b2dde32ad 现场问题整改 5 mesi fa
19 ha cambiato i file con 72 aggiunte e 35 eliminazioni
  1. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0003.java
  2. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0008.java
  3. 28 22
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0059.java
  4. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0727.java
  5. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0014.java
  6. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0048.java
  7. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0050.java
  8. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0053.java
  9. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0058.java
  10. 5 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH02902.java
  11. 2 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0375.java
  12. 6 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0376.java
  13. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0397.java
  14. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0441.java
  15. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0445.java
  16. 5 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/firstpagerecord/FIRP0203.java
  17. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0123.java
  18. 1 1
      kernel/src/main/resources/bootstrap.yml
  19. 2 0
      trans/src/main/java/com/lantone/qc/trans/yiwu/YiwuDocTrans.java

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0003.java

@@ -26,6 +26,10 @@ public class BEH0003 extends QCCatalogue {
             return;
         }
         if (StringUtil.isNotBlank(chiefText)) {
+            if(chiefText.contains("建议")){ //临时处理,需修改解析代码 004490329刘恩泽
+                status.set("0");
+                return;
+            }
             int chiefTextLength = chiefText.replaceAll("[\\p{Punct}\\pP]", "").length();
             if (chiefTextLength <= 20) {
                 status.set("0");

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0008.java

@@ -34,6 +34,10 @@ public class BEH0008 extends QCCatalogue {
             status.set("0");
             return;
         }
+        if (chiefText.contains("伴")) {
+            status.set("0");
+            return;
+        }
         List<Clinical> clinicals = chiefLabel.getClinicals();
         if (clinicals != null && clinicals.size() <= 3) {
             status.set("0");

+ 28 - 22
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0059.java

@@ -21,30 +21,36 @@ public class BEH0059 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) {
         if (inputInfo.getBeHospitalizedDoc() != null) {
-            if (inputInfo.getBeHospitalizedDoc().getStructureMap() == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别") == null
-                    || inputInfo.getBeHospitalizedDoc().getStructureMap().get("性别").contains("男")) {
+            Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+            String s = structureMap.get("性别");
+            if (StringUtil.isNotBlank(s) && s.contains("男")) {
                 status.set("0"); //如果性别是男,就不报错
-            } else {
-                String concatMenstrualText = concatMenstrualText(inputInfo);
-                if (StringUtil.isNotBlank(concatMenstrualText)) {
-                    status.set("0");
-                    return;
-                }
-                MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                if (menstrualLabel == null) {
-                    return;
-                }
-                String menstrualText = StringUtil.removeBlank(menstrualLabel.getText()).replaceAll("[月经史|:|:|null]", "");
-                if (StringUtil.isBlank(menstrualText)) {
-                    return;
-                }
-                boolean containChinese = CatalogueUtil.isContainChinese(menstrualText);
-                if (containChinese) {
-                    status.set("0"); //如果性别是女,不为空就不报错
-                }
+                return;
+            }
+            String menstrualStr = structureMap.get("月经史");
+            if (StringUtil.isNotBlank(menstrualStr)) {
+                status.set("0");
+                return;
+            }
+
+            String concatMenstrualText = concatMenstrualText(inputInfo);
+            if (StringUtil.isNotBlank(concatMenstrualText)) {
+                status.set("0");
+                return;
+            }
+            MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
+            if (menstrualLabel == null) {
+                return;
+            }
+            String menstrualText = StringUtil.removeBlank(menstrualLabel.getText()).replaceAll("[月经史|:|:|null]", "");
+            if (StringUtil.isBlank(menstrualText)) {
+                return;
+            }
+            boolean containChinese = CatalogueUtil.isContainChinese(menstrualText);
+            if (containChinese) {
+                status.set("0"); //如果性别是女,不为空就不报错
             }
-        }else {
+        } else {
             status.set("0");
             return;
         }

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

@@ -35,7 +35,7 @@ public class BEH0727 extends QCCatalogue {
             return;
         }
 
-        String regex = "分娩方式:([^,。]+)";
+        String regex = "分娩方式:([^,。. ]+)";
         Pattern pattern = Pattern.compile(regex);
         Matcher matcher = pattern.matcher(birthHistory);
 

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0014.java

@@ -28,7 +28,7 @@ import java.util.Map;
 @Component
 public class BEH0014 extends QCCatalogue {
     private List<String> containList = Arrays.asList("体检", "发现", "检查", "因", "确诊", "诊断", "复查", "术后"
-            , "药物", "误服", "查", "撞", "伤", "月经", "暴力", "超", "术");
+            , "药物", "误服", "查", "撞", "伤", "月经", "暴力", "超", "术","接触");
 
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0048.java

@@ -42,6 +42,10 @@ public class BEH0048 extends QCCatalogue {
             status.set("0");
             return;
         }
+        if (personalLabel.getText().length() <=20){
+            status.set("0");
+            return;
+        }
         Contact contact = personalLabel.getContact();
         if (contact != null && StringUtil.isNotBlank(contact.getName())) {
             status.set("0");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0050.java

@@ -34,7 +34,7 @@ public class BEH0050 extends QCCatalogue {
             return;
         }
         if (StringUtil.isNotBlank(personalText) && (personalText.contains("无吸烟史") || personalText.contains("否认吸烟史"))
-                || personalText.contains("不吸烟")) {
+                || personalText.contains("不吸烟")|| personalText.contains("根")) {
             status.set("0");
             return;
         }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0053.java

@@ -45,7 +45,7 @@ public class BEH0053 extends QCCatalogue {
             return;
         }
         String maritalText = maritalLabel.getText();
-        if ("未婚".equals(marry) || maritalText.contains("未婚") || maritalText.contains("详见原病历")
+        if ((StringUtil.isNotBlank(marry) && marry.contains("未婚")) || maritalText.contains("未婚")|| maritalText.contains("未结婚") || maritalText.contains("详见原病历")
                 || maritalText.contains("离婚") || maritalText.contains("离异") || maritalText.contains("适龄结婚")) {
             status.set("0");
             return;

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0058.java

@@ -64,7 +64,7 @@ public class BEH0058 extends QCCatalogue {
             return;
         }
         if (StringUtil.isNotBlank(maritalText)) {
-            List<String> words = Lists.newArrayList("未婚", "未育", "未婚育", "未生育", "未生", "0子0女"
+            List<String> words = Lists.newArrayList("未婚", "未育", "未孕", "未婚育", "未生育", "未生", "0子0女"
                     , "0-0-0-0", "详见原病历", "0-0-0-0");
             for (String word : words) {
                 if (maritalText.contains(word)) {

+ 5 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH02902.java

@@ -38,13 +38,17 @@ public class BEH02902 extends QCCatalogue {
                 || pacsText.contains("暂无")|| pacsText.contains("院")
                 || pacsText.contains("病理")
                 || pacsText.contains("科") || pacsText.contains("公司")
-                || pacsText.contains("社区卫生服务中心"))) {
+                || pacsText.contains("社区卫生服务中心")
+                || pacsText.contains("门诊部")
+                || pacsText.contains("综合门诊部"))) {
             status.set("0");
             return;
         }
         if (StringUtil.isNotBlank(pacsText1) && (pacsText1.contains("暂缺")
                 || pacsText1.contains("暂无") || pacsText1.contains("院")
                 || pacsText1.contains("科")|| pacsText1.contains("公司")
+                || pacsText1.contains("综合门诊部")
+                || pacsText1.contains("门诊部")
                 || pacsText.contains("社区卫生服务中心"))) {
             status.set("0");
             return;

+ 2 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0375.java

@@ -7,6 +7,7 @@ import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.entity.Family;
 import com.lantone.qc.pub.model.label.MaritalLabel;
+import com.lantone.qc.pub.model.label.PersonalLabel;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -108,7 +109,7 @@ public class BEH0375 extends QCCatalogue {
             status.set("0");
             return;
         }
-        if(maritalText1!=null && maritalText1.contains("配偶健康状况")){
+        if((maritalText1!=null && maritalText1.contains("配偶健康状况")) || (maritalText1!=null && maritalText1.contains("健康状况"))){
             status.set("0");
         }
 

+ 6 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0376.java

@@ -29,6 +29,7 @@ public class BEH0376 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+
         if (inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
@@ -37,6 +38,10 @@ public class BEH0376 extends QCCatalogue {
         MaritalLabel maritalLabel = beHospitalizedDoc.getMaritalLabel();
         //台州市结构化的
         Map<String, String> structureMap_beh = beHospitalizedDoc.getStructureMap();
+        if ("未婚".equals(structureMap_beh.get("婚姻状况"))){
+            status.set("0");
+            return;
+        }
         if (StringUtils.isNotEmpty(structureMap_beh.get("子女健康状况"))) {
             status.set("0");
             return;
@@ -66,7 +71,7 @@ public class BEH0376 extends QCCatalogue {
                 }
             }
             if (!findChild) {
-                List<String> words = Lists.newArrayList("未婚", "未育", "未婚育", "未生育", "未生", "0子0女", "详见原病历", "无子女");
+                List<String> words = Lists.newArrayList("未婚", "未育","未孕", "未婚育", "未生育", "未生", "0子0女", "详见原病历", "无子女");
                 for (String word : words) {
                     if (maritalText.contains(word)) {
                         status.set("0");

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0397.java

@@ -56,7 +56,7 @@ public class BEH0397 extends QCCatalogue {
         }
         if ((StringUtil.isNotBlank(familyText) && (familyText.contains("父母") ||
                 familyText.contains("详见原病历") || familyText.contains("双亲") ||
-                familyText.contains("已故")  || familyText.contains("父亲") ||familyText.contains("母亲")))
+                familyText.contains("已故")  || familyText.contains("父亲") ||familyText.contains("母亲")||familyText.contains("均")))
                 || (StringUtil.isNotBlank(maritalText) && (maritalText.contains("父母") ||
                 maritalText.contains("详见原病历") || familyText.contains("双亲") || familyText.contains("已故")
                 || familyText.contains("父亲") ||familyText.contains("母亲")))) {

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0441.java

@@ -33,7 +33,7 @@ public class BEH0441 extends QCCatalogue {
             return;
         }
         List<String> words = Lists.newArrayList("胃纳", "食纳", "食欲", "未纳", "纳眠", "饮食", "睡眠"
-                , "禁食", "未食", "鼻饲", "饮", "未进食", "未开奶", "吃奶","已开奶");
+                , "禁食", "未食", "鼻饲", "饮", "未进食", "未开奶", "吃奶","已开奶","配方奶","喂");
         String presentText = presentLabel.getText();
         if (StringUtil.isNotBlank(presentText)) {
             for (String word : words) {

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0445.java

@@ -36,7 +36,7 @@ public class BEH0445 extends QCCatalogue {
         }
         String presentText = presentLabel.getText();
         if (StringUtil.isNotBlank(presentText)) {
-            List<String> words = Lists.newArrayList("睡", "未眠", "未睡", "未入眠", "入睡", "纳眠", "夜眠", "镇静", "未开奶","吃奶","已开奶");
+            List<String> words = Lists.newArrayList("睡", "未眠", "未睡", "未入眠", "入睡", "纳眠", "夜眠", "镇静", "未开奶","吃奶","已开奶","肠套");
             for (String word : words) {
                 if (presentText.contains(word)) {
                     status.set("0");

+ 5 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/firstpagerecord/FIRP0203.java

@@ -11,7 +11,7 @@ import java.util.Map;
 
 /**
  * @ClassName : FIRP0203
- * @Description : 出生地没有填写
+ * @Description : 出生地填写
  * @Author : 楼辉荣
  * @Date: 2020-03-06 17:28ss
  */
@@ -22,6 +22,10 @@ public class FIRP0203 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String dischargeTime = firstpageStructureMap.get(Content.birth_address);
+            // 外国人不进行规则判断
+            if (!firstpageStructureMap.get(Content.nationality).equals("中国")){
+                return;
+            }
             if(CatalogueUtil.isEmpty(dischargeTime)){
                 status.set("-1");
                 Map<String, Object> structureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0123.java

@@ -25,6 +25,9 @@ public class THR0123 extends QCCatalogue {
             Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
             String admisDate = beHospitalStructureMap.get(Content.admisDate);
             String recordTime = beHospitalStructureMap.get("记录日期");
+            if(StringUtil.isBlank(recordTime)){
+                recordTime =  beHospitalStructureMap.get("记录时间");
+            }
             if (CatalogueUtil.isEmpty(admisDate) || CatalogueUtil.isEmpty(recordTime)) {
                 return;
             }

+ 1 - 1
kernel/src/main/resources/bootstrap.yml

@@ -12,7 +12,7 @@ spring:
       charset: UTF-8
       enabled: true
   profiles:
-    active: test
+    active: local
 
 qc:
   hospital_id: 1,2,3,4,5,6,7,8,10,13,15,20,34,36

+ 2 - 0
trans/src/main/java/com/lantone/qc/trans/yiwu/YiwuDocTrans.java

@@ -123,9 +123,11 @@ public class YiwuDocTrans extends DocTrans {
                 case "住院病历信息":
                     YiWuMedicalRecordInfoDocTrans medicalRecordInfoDocTrans = new YiWuMedicalRecordInfoDocTrans();
                     inputInfo.setMedicalRecordInfoDoc(medicalRecordInfoDocTrans.extract(i));
+                    break;
                 case  "门诊":
                     YiWuOutDepDocTrans taiZhouOutDepDocTrans = new YiWuOutDepDocTrans();
                     inputInfo.setBeHospitalizedDoc(taiZhouOutDepDocTrans.extract(i));
+                    break;
                 default:
                     break;
             }