Преглед на файлове

Merge remote-tracking branch 'origin/his/yiwufubao' into his/yiwufubao

yuchengwei преди 5 месеца
родител
ревизия
3de9a7ecfd
променени са 27 файла, в които са добавени 159 реда и са изтрити 71 реда
  1. 5 0
      kernel/pom.xml
  2. 2 0
      kernel/src/main/java/com/lantone/qc/kernel/KernelApplication.java
  3. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0003.java
  4. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0008.java
  5. 28 22
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0059.java
  6. 9 8
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03335.java
  7. 9 8
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03336.java
  8. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0727.java
  9. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0014.java
  10. 4 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0048.java
  11. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0050.java
  12. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0053.java
  13. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0058.java
  14. 5 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH02902.java
  15. 2 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0375.java
  16. 6 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0376.java
  17. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0397.java
  18. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0441.java
  19. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/behospitalized/BEH0445.java
  20. 16 15
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/firstcourserecord/FIRC0093.java
  21. 5 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/firstpagerecord/FIRP0203.java
  22. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/preoperativediscussion/PRE0330.java
  23. 3 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0123.java
  24. 41 0
      kernel/src/main/java/com/lantone/qc/kernel/web/config/MonitorAutoConfiguration.java
  25. 1 1
      kernel/src/main/resources/bootstrap.yml
  26. 4 4
      kernel/src/main/resources/logback-spring.xml
  27. 2 0
      trans/src/main/java/com/lantone/qc/trans/yiwu/YiwuDocTrans.java

+ 5 - 0
kernel/pom.xml

@@ -25,6 +25,11 @@
     </properties>
 
     <dependencies>
+        <dependency>
+            <groupId>com.diagbot</groupId>
+            <artifactId>common</artifactId>
+            <version>0.0.1.1-SNAPSHOT</version>
+        </dependency>
         <dependency>
             <groupId>com.lantone.qc</groupId>
             <artifactId>security</artifactId>

+ 2 - 0
kernel/src/main/java/com/lantone/qc/kernel/KernelApplication.java

@@ -1,5 +1,6 @@
 package com.lantone.qc.kernel;
 
+import com.diagbot.annotation.EnableMonitor;
 import com.lantone.qc.kernel.web.config.CustomNameGenerator;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -9,6 +10,7 @@ import org.springframework.context.annotation.ComponentScan;
 
 @EnableFeignClients
 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
+@EnableMonitor(pointcut="execution(public * com.lantone.qc.kernel..*(..)) && !execution(public * com.lantone.qc.kernel..config..*(..))")
 @ComponentScan(nameGenerator = CustomNameGenerator.class, value = {
         "com.lantone.qc.dbanaly",
         "com.lantone.qc.nlp",

+ 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;
         }

+ 9 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03335.java

@@ -54,7 +54,8 @@ public class BEH03335 extends QCCatalogue {
         //修正诊断
         DiagLabel revisedDiagLabel = beHospitalizedDoc.getRevisedDiagLabel();
         //补充诊断
-        DiagLabel suppleDiagLabel = beHospitalizedDoc.getSuppleDiagLabel();
+        //贾主任说补充诊断不用搞
+        //DiagLabel suppleDiagLabel = beHospitalizedDoc.getSuppleDiagLabel();
         if (initialDiagLabel != null) {
             List<Diag> diagLists = initialDiagLabel.getDiags();
             if (ListUtil.isNotEmpty(diagLists)) {
@@ -70,13 +71,13 @@ public class BEH03335 extends QCCatalogue {
                         diagList.add(diag.getHospitalDiagName()));
             }
         }
-        if (suppleDiagLabel != null) {
-            List<Diag> diagLists = suppleDiagLabel.getDiags();
-            if (ListUtil.isNotEmpty(diagLists)) {
-                diagLists.stream().filter(diag -> StringUtil.isNotEmpty(diag.getHospitalDiagName()) && (diagListWords.contains(diag.getHospitalDiagName()) || diag.getHospitalDiagName().matches(rex))).forEach(diag ->
-                        diagList.add(diag.getHospitalDiagName()));
-            }
-        }
+//        if (suppleDiagLabel != null) {
+//            List<Diag> diagLists = suppleDiagLabel.getDiags();
+//            if (ListUtil.isNotEmpty(diagLists)) {
+//                diagLists.stream().filter(diag -> StringUtil.isNotEmpty(diag.getHospitalDiagName()) && (diagListWords.contains(diag.getHospitalDiagName()) || diag.getHospitalDiagName().matches(rex))).forEach(diag ->
+//                        diagList.add(diag.getHospitalDiagName()));
+//            }
+//        }
 
         //如果疾病集合为空则直接返回
         if (ListUtil.isEmpty(diagList)) {

+ 9 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03336.java

@@ -56,7 +56,8 @@ public class BEH03336 extends QCCatalogue {
         //修正诊断
         DiagLabel revisedDiagLabel = beHospitalizedDoc.getRevisedDiagLabel();
         //补充诊断
-        DiagLabel suppleDiagLabel = beHospitalizedDoc.getSuppleDiagLabel();
+        //贾主任说补充诊断不用搞
+        //DiagLabel suppleDiagLabel = beHospitalizedDoc.getSuppleDiagLabel();
         if (initialDiagLabel != null) {
             List<Diag> diagLists = initialDiagLabel.getDiags();
             if (ListUtil.isNotEmpty(diagLists)) {
@@ -72,13 +73,13 @@ public class BEH03336 extends QCCatalogue {
                         diagList.add(diag.getHospitalDiagName()));
             }
         }
-        if (suppleDiagLabel != null) {
-            List<Diag> diagLists = suppleDiagLabel.getDiags();
-            if (ListUtil.isNotEmpty(diagLists)) {
-                diagLists.stream().filter(diag -> StringUtil.isNotEmpty(diag.getHospitalDiagName()) && (diagListWords.contains(diag.getHospitalDiagName()) || diag.getHospitalDiagName().matches(rex))).forEach(diag ->
-                        diagList.add(diag.getHospitalDiagName()));
-            }
-        }
+//        if (suppleDiagLabel != null) {
+//            List<Diag> diagLists = suppleDiagLabel.getDiags();
+//            if (ListUtil.isNotEmpty(diagLists)) {
+//                diagLists.stream().filter(diag -> StringUtil.isNotEmpty(diag.getHospitalDiagName()) && (diagListWords.contains(diag.getHospitalDiagName()) || diag.getHospitalDiagName().matches(rex))).forEach(diag ->
+//                        diagList.add(diag.getHospitalDiagName()));
+//            }
+//        }
 
         //如果疾病集合为空则直接返回
         if (ListUtil.isEmpty(diagList)) {

+ 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");

+ 16 - 15
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/firstcourserecord/FIRC0093.java

@@ -4,9 +4,8 @@ import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
-import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.doc.FirstCourseRecordDoc;
-import com.lantone.qc.pub.model.doc.FirstPageRecordDoc;
+import com.lantone.qc.pub.model.doc.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
@@ -25,15 +24,16 @@ import java.util.Map;
 public class FIRC0093 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
         status.set("0");
-        FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();//病案首页
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc(); //入院登记
         FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
-        if (firstCourseRecordDoc != null && firstPageRecordDoc != null) {
+        if (firstCourseRecordDoc != null && medicalRecordInfoDoc != null) {
             Map<String, String> courseRecordDocStructureMap = firstCourseRecordDoc.getStructureMap();
-            Map<String, String> firstPageRecordDocStructureMap = firstPageRecordDoc.getStructureMap();
-            if (courseRecordDocStructureMap != null && firstPageRecordDocStructureMap != null) {
+            Map<String, String> medicalRecordInfoDocStructureMap = medicalRecordInfoDoc.getStructureMap();
+            if (courseRecordDocStructureMap != null && medicalRecordInfoDocStructureMap != null) {
                 String couDate = courseRecordDocStructureMap.get("病历日期");
                 String couBeDate = courseRecordDocStructureMap.get("入院日期");
-                String beDate = firstPageRecordDocStructureMap.get("入院时间");
+                //入院日期
+                String admisTime = medicalRecordInfoDocStructureMap.get("behospitalDate");
                 if (StringUtils.isNotEmpty(couDate)) {
                     Date date_out = StringUtil.parseDateTime(couDate);
                     Date date_in = null;
@@ -42,8 +42,8 @@ public class FIRC0093 extends QCCatalogue {
                     }
                     if (StringUtils.isNotEmpty(couBeDate)) {
                         date_in = StringUtil.parseDateTime(couBeDate);
-                    } else if (StringUtils.isNotEmpty(beDate)) {
-                        date_in = StringUtil.parseDateTime(beDate);
+                    } else if (StringUtils.isNotEmpty(admisTime)) {
+                        date_in = StringUtil.parseDateTime(admisTime);
                     }
                     if (date_in == null) {
                         return;
@@ -55,12 +55,13 @@ public class FIRC0093 extends QCCatalogue {
                 }
             }
         } else {
-            if (firstPageRecordDoc != null) {
-                Map<String, String> firstPageRecordDocStructureMap = firstPageRecordDoc.getStructureMap();
-                if (firstPageRecordDocStructureMap != null) {
-                    String beDate = firstPageRecordDocStructureMap.get("入院时间");
-                    if (StringUtils.isNotEmpty(beDate)) {
-                        Date date_in = StringUtil.parseDateTime(beDate);
+            if (medicalRecordInfoDoc != null) {
+                Map<String, String> medicalRecordInfoDocStructureMap = medicalRecordInfoDoc.getStructureMap();
+                if (medicalRecordInfoDocStructureMap != null) {
+                    //入院日期
+                    String admisTime = medicalRecordInfoDocStructureMap.get("behospitalDate");
+                    if (StringUtils.isNotEmpty(admisTime)) {
+                        Date date_in = StringUtil.parseDateTime(admisTime);
                         Date date_out = new Date();
                         if (date_in == null) {
                             return;

+ 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();

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/yiwu/preoperativediscussion/PRE0330.java

@@ -36,7 +36,7 @@ public class PRE0330 extends QCCatalogue {
             if (!map.containsKey("拟施手术方式名称及可能的变更与禁忌症") && !map.containsKey("拟施手术名称和方式及可能的变更")) {
                 continue;
             }
-            if (StringUtil.isEmpty(map.get("拟施手术方式名称及可能的变更与禁忌症")) && StringUtil.isEmpty(map.get("拟施手术名称和方式及可能的变更"))) {
+            if (StringUtil.isEmpty(map.get("拟施手术方式名称及可能的变更与禁忌症")) || StringUtil.isEmpty(map.get("拟施手术名称和方式及可能的变更"))) {
                 status.set("-1");
             }
         }

+ 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;
             }

+ 41 - 0
kernel/src/main/java/com/lantone/qc/kernel/web/config/MonitorAutoConfiguration.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.kernel.web.config;
+
+
+import com.diagbot.annotation.EnableMonitor;
+import com.diagbot.aop.InterfaceLogAspect;
+import com.diagbot.interceptor.CustomInterceptor;
+import com.diagbot.interceptor.FeignRequestInterceptor;
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+@ConditionalOnBean(annotation = { EnableMonitor.class})
+public class MonitorAutoConfiguration implements WebMvcConfigurer {
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(new CustomInterceptor())
+                .addPathPatterns("/**").excludePathPatterns("/static/**", "/css/**", "/js/**"); // 排除静态资源
+    }
+
+    @Bean
+    @Lazy
+    public InterfaceLogAspect interfaceLogAspect() {
+        return new InterfaceLogAspect();
+    }
+
+    @Bean
+    @Lazy
+    @ConditionalOnClass({
+        RequestInterceptor.class, RequestTemplate.class})
+    public FeignRequestInterceptor feignRequestInterceptor() {
+        return new FeignRequestInterceptor();
+    }
+}

+ 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

+ 4 - 4
kernel/src/main/resources/logback-spring.xml

@@ -17,7 +17,7 @@
     <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
     <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
     <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
+    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- } %X{Trace-Id}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
 
 
     <!--输出到控制台-->
@@ -69,7 +69,7 @@
         <file>${log.path}/log_info.log</file>
         <!--日志文件输出格式-->
         <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread %X{Trace-Id}] %-5level %logger{50} - %msg%n</pattern>
             <charset>UTF-8</charset>
         </encoder>
         <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
@@ -80,7 +80,7 @@
                 <maxFileSize>100MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
             <!--日志文件保留天数-->
-            <maxHistory>15</maxHistory>
+            <maxHistory>1</maxHistory>
         </rollingPolicy>
         <!-- 此日志文件只记录info级别的 -->
         <filter class="ch.qos.logback.classic.filter.LevelFilter">
@@ -123,7 +123,7 @@
         <file>${log.path}/log_error.log</file>
         <!--日志文件输出格式-->
         <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread %X{Trace-Id}] %-5level %logger{50} - %msg%n</pattern>
             <charset>UTF-8</charset> <!-- 此处设置字符集 -->
         </encoder>
         <!-- 日志记录器的滚动策略,按日期,按大小记录 -->

+ 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;
             }