浏览代码

七院规则修改

songxl 3 年之前
父节点
当前提交
8f0a7f2440
共有 33 个文件被更改,包括 201 次插入47 次删除
  1. 2 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0001.java
  2. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0009.java
  3. 2 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0026.java
  4. 9 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0058.java
  5. 24 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH02902.java
  6. 11 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0372.java
  7. 4 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0397.java
  8. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0441.java
  9. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0443.java
  10. 13 0
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0444.java
  11. 1 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0445.java
  12. 11 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0454.java
  13. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/firstcourserecord/FIRC02910.java
  14. 5 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/firstpagerecord/FIRP0167.java
  15. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/preoperativediscussion/PRE0328.java
  16. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0130.java
  17. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0131.java
  18. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0132.java
  19. 4 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0133.java
  20. 4 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0134.java
  21. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0135.java
  22. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0136.java
  23. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0137.java
  24. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0138.java
  25. 4 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0139.java
  26. 19 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0144.java
  27. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR02880.java
  28. 43 4
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR03010.java
  29. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR03014.java
  30. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR03016.java
  31. 2 2
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0588.java
  32. 3 1
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0701.java
  33. 1 1
      trans/src/main/java/com/lantone/qc/trans/hangzhoudiqi/QiYuanBeHospitalizedDocTrans.java

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

@@ -81,6 +81,7 @@ public class BEH0001 extends QCCatalogue {
 
         if (StringUtil.isNotBlank(chiefText)) {
             if (chiefText.contains("检查") || chiefText.contains("术后") || chiefText.contains("药物")
+                    || chiefText.contains("自幼")
                     || chiefText.contains("天") || chiefText.contains("周") || chiefText.contains("月")
                     || chiefText.contains("时") || chiefText.contains("秒") || chiefText.contains("半年")
                     || chiefText.contains("日") || chiefText.contains("今") || chiefText.contains("余年")
@@ -94,7 +95,7 @@ public class BEH0001 extends QCCatalogue {
                 for (PD pd : pds) {
                     String pdName = pd.getName();
                     if (StringUtil.isNotBlank(pdName)) {
-                        if (pdName.contains("天") || pdName.contains("周") || pdName.contains("月")
+                        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("分") || isDate(pdName)) {

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

@@ -25,7 +25,7 @@ import java.util.Map;
 @Component
 public class BEH0009 extends QCCatalogue {
     private List<String> containList = Arrays.asList("检查", "术后", "药物", "发现", "误服", "确诊", "经", "异常", "诊断"
-            , "示", "超", "伤", "术", "复查", "体检", "血透", "血液透析", "眠", "担心", "想");
+            , "示", "超", "伤", "术", "复查", "体检", "血透", "血液透析", "眠", "担心", "想","开心");
 
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         if (inputInfo.getBeHospitalizedDoc() == null) {

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

@@ -39,8 +39,8 @@ public class BEH0026 extends QCCatalogue {
             return;
         }
         String pastText = pastLabel.getText();
-        if (pastText.contains("食物过敏") || pastText.contains("详见原病历") || pastText.contains("芒果过敏") || pastText.contains("食物、药物过敏")
-                || pastText.contains("食物及药物")) {
+        if (pastText.contains("食物过敏") || pastText.contains("详见原病历") || pastText.contains("芒果过敏") || pastText.contains("食物、药物过敏")|| pastText.contains("桃子过敏")
+                || pastText.contains("食物及药物")|| pastText.contains("食物及其他药物")|| pastText.contains("食物药物")|| pastText.contains("否认食物")) {
             status.set("0");
             return;
         }

+ 9 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0058.java

@@ -49,8 +49,14 @@ public class BEH0058 extends QCCatalogue {
             status.set("0");
             return;
         } else {
-            String regex = ".*\\d?子\\d?女.*";
-            boolean flag = maritalText.matches(regex);
+       //     String regex = ".*\\d?子\\d?女.*";
+            String regex = ".*[\\d一二三四五六七八九十]子[\\d一二三四五六七八九十]女.*";
+            String regex1 = ".*[\\d一二三四五六七八九十][子|男].*";
+            String regex2 = ".*[\\d一二三四五六七八九十]女.*";
+            boolean flag=false;
+            if(maritalText.matches(regex1)||maritalText.matches(regex)||maritalText.matches(regex2)){
+             flag=true;
+            }
             regex = ".*\\d+-\\d+-\\d+-[1-9].*";
             boolean matches = maritalText.matches(regex);
             regex = ".*\\d+,\\d+,\\d+,[1-9].*|.*\\d个.*";
@@ -61,7 +67,7 @@ public class BEH0058 extends QCCatalogue {
             }
         }
         //硬规则 匹配未育
-        if ("未婚".equals(marry)) {
+        if ("未婚".equals(marry)||"未育".equals(marry)) {
             status.set("0");
             return;
         }

+ 24 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH02902.java

@@ -1,15 +1,20 @@
 package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 
 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.entity.PD;
 import com.lantone.qc.pub.model.entity.Pacs;
 import com.lantone.qc.pub.model.label.PacsLabel;
+import com.lantone.qc.pub.util.DateUtil;
 import com.lantone.qc.pub.util.StringUtil;
+import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : BEH02902
@@ -42,6 +47,8 @@ public class BEH02902 extends QCCatalogue {
             status.set("0");
             return;
         }
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         boolean findPlace = false;
         pacsText = pacsLabel.getText();
         List<Pacs> pacses = pacsLabel.getPacses();
@@ -59,6 +66,23 @@ public class BEH02902 extends QCCatalogue {
                         findPlace = true;
                         break;
                     }
+                    //若是时间大于入院时间则可以不用写地点,若是时间为入院时间之前则需要写地点
+                    if(!CatalogueUtil.isEmpty(name)&&!CatalogueUtil.isEmpty(admisDateStr)){
+                        String nameStr = CatalogueUtil.removeSpecialChar(name);
+                        Date nameDate = StringUtil.parseDateTime(nameStr);
+                        Date admisDate = StringUtil.parseDateTime(admisDateStr);
+                        if(nameDate==null||admisDate==null){
+                            continue;
+                        }
+                        if(admisDate.before(nameDate)|| DateUtils.isSameDay(nameDate,admisDate)){
+                            findPlace = true;
+                        }else {
+                            if (beforeTimeText.contains("院") || afterTimeText.contains("院")) {
+                                findPlace = true;
+                                break;
+                            }
+                        }
+                    }
                 }
             }
         }

+ 11 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0372.java

@@ -55,12 +55,21 @@ public class BEH0372 extends QCCatalogue {
         }
 
         if ((bhbasicInfoStatus.equals("离婚") || bhbasicInfoStatus.equals("离异")) &&
-                (basicInfoStatus.contains("离异") || bhbasicInfoStatus.equals("离婚"))) {
+                (basicInfoStatus.contains("离异") || basicInfoStatus.equals("离婚"))) {
             status.set("0");
             return;
         }
 
-        if (bhbasicInfoStatus.equals("已婚") && (basicInfoStatus.contains("结婚") || basicInfoStatus.contains("再婚") || basicInfoStatus.contains("已婚"))) {
+        if ((bhbasicInfoStatus.equals("已婚") || bhbasicInfoStatus.equals("再婚") ) && (basicInfoStatus.contains("结婚") || basicInfoStatus.contains("再婚") || basicInfoStatus.contains("已婚"))) {
+            status.set("0");
+            return;
+        }
+        if(bhbasicInfoStatus.equals("已婚")&&(basicInfoStatus.contains("适龄婚恋")||basicInfoStatus.contains("适龄结婚"))){
+            status.set("0");
+            return;
+        }
+        if ((bhbasicInfoStatus.contains("离婚") || bhbasicInfoStatus.contains("离异")) &&
+                (basicInfoStatus.contains("离异") || basicInfoStatus.equals("离婚"))) {
             status.set("0");
             return;
         }

+ 4 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0397.java

@@ -58,10 +58,10 @@ public class BEH0397 extends QCCatalogue {
             return;
         }
         if ((StringUtil.isNotBlank(familyText)
-                && ((familyText.contains("父") || familyText.contains("双亲") || familyText.contains("母"))
-                && (familyText.contains("详见原病历") || familyText.contains("已故") || familyText.contains("体健") || familyText.contains("去世") || familyText.contains("健康")))
-                || (StringUtil.isNotBlank(maritalText) && ((maritalText.contains("父") || maritalText.contains("双亲") || maritalText.contains("母"))
-                && (maritalText.contains("详见原病历") || maritalText.contains("已故") || maritalText.contains("体健") || maritalText.contains("去世") || familyText.contains("健康")))))) {
+                && ((familyText.contains("父") || 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("双亲") || maritalText.contains("母")|| maritalText.contains("爸") || maritalText.contains("妈"))
+                && (maritalText.contains("详见原病历") || maritalText.contains("已故") || maritalText.contains("体健") || maritalText.contains("去世") || familyText.contains("健康")|| familyText.contains("死")))))) {
             status.set("0");
             return;
         }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/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/hangzhoudiqi/behospitalized/BEH0443.java

@@ -31,7 +31,7 @@ public class BEH0443 extends QCCatalogue {
         PresentLabel presentLabel = beHospitalizedDoc.getPresentLabel();
         if (presentLabel != null) {
             String presentLabelText = presentLabel.getText();
-            if (StringUtil.isNotBlank(presentLabelText) && (presentLabelText.contains("体重") || presentLabelText.contains("体型"))) {
+            if (StringUtil.isNotBlank(presentLabelText) && (presentLabelText.contains("体重") || presentLabelText.contains("体型")|| presentLabelText.contains("卧床")|| presentLabelText.contains("不合作"))) {
                 status.set("0");
                 return;
             }

+ 13 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/behospitalized/BEH0444.java

@@ -2,9 +2,11 @@ package com.lantone.qc.kernel.catalogue.hangzhoudiqi.behospitalized;
 
 import com.google.common.collect.Lists;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.Content;
 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.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.entity.General;
 import com.lantone.qc.pub.model.entity.GeneralDesc;
 import com.lantone.qc.pub.model.label.PresentLabel;
@@ -13,6 +15,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -29,6 +32,16 @@ public class BEH0444 extends QCCatalogue {
             status.set("0");
             return;
         }
+        //修改该规则只适用于神经内科
+        MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
+        Map<String, String> structureMap = medicalRecordInfoDoc.getStructureMap();
+        String behDeptName = structureMap.get("behDeptName");
+        if (StringUtil.isEmpty(behDeptName)) {
+            return;
+        }
+        if (!Content.neurology.equals(behDeptName)) {
+            return;
+        }
         PresentLabel presentLabel = beHospitalizedDoc.getPresentLabel();
         if (presentLabel != null) {
             List<String> words = Lists.newArrayList("神志", "神清", "神不清", "意识清", "意识不清", "昏迷", "精神", "意识",

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/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");

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

@@ -4,6 +4,7 @@ import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.entity.Diag;
+import com.lantone.qc.pub.model.entity.Wound;
 import com.lantone.qc.pub.model.label.PastLabel;
 import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -37,8 +38,8 @@ public class BEH0454 extends QCCatalogue {
             status.set("0");
             return;
         }
-        if (StringUtils.isNotEmpty(pastLabel.getHeathCondition()) || pastLabel.getText().contains("既往")
-                || pastLabel.getText().contains("平素") || pastLabel.getText().contains("病史") || pastLabel.getText().contains("详见原病历")) {
+        if (StringUtils.isNotEmpty(pastLabel.getHeathCondition()) || pastLabel.getText().contains("既往")|| pastLabel.getText().contains("体健")
+                || pastLabel.getText().contains("健康") || pastLabel.getText().contains("平素") || pastLabel.getText().contains("病史") || pastLabel.getText().contains("详见原病历")) {
             status.set("0");
         }
         //既往有任一阳性疾病名称,则认为有健康状况
@@ -49,5 +50,13 @@ public class BEH0454 extends QCCatalogue {
                 return;
             }
         }
+        //外伤史
+        List<Wound> wounds = pastLabel.getWounds();
+        for (Wound wound : wounds) {
+            if(wound.getNegative()==null){
+                status.set("0");
+                return;
+            }
+        }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/firstcourserecord/FIRC02910.java

@@ -29,7 +29,9 @@ public class FIRC02910 extends QCCatalogue {
         Map<String, String> firstRecordMap = firstCourseRecordDoc.getStructureMap();
         Map<String, String> beHospitalizedMap = beHospitalizedDoc.getStructureMap();
         String createDateStr = firstRecordMap.get("记录时间");
-        String beHospitalDateStr = beHospitalizedMap.get("入院日期");
+//        String beHospitalDateStr = beHospitalizedMap.get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String beHospitalDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         if (StringUtil.isNotBlank(createDateStr) && StringUtil.isNotBlank(beHospitalDateStr)) {
             Date createDate = StringUtil.parseDateTime(createDateStr);
             Date beHospitalDate = StringUtil.parseDateTime(beHospitalDateStr);

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

@@ -23,8 +23,12 @@ public class FIRP0167 extends QCCatalogue {
             Map<String, String> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
             String name = firstpageStructureMap.get(Content.name);
             String contactName = firstpageStructureMap.get(Content.contactName);
+            //若是联系人姓名为‘本人’不应该提示
             if (CatalogueUtil.compareToken(name, contactName)) {
-                status.set("-1");
+                if(contactName.contains("本人")){
+                    return;
+                }
+       //         status.set("-1");
             }
         }
     }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/preoperativediscussion/PRE0328.java

@@ -45,7 +45,9 @@ public class PRE0328 extends QCCatalogue {
         String behospitalWay = firstPageRecordDoc.getStructureMap().get("入院途径");
         if (inputInfo.getBeHospitalizedDoc() != null) {
             Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
-            String admisTime = beHospitalStructureMap.get("入院日期");
+//            String admisTime = beHospitalStructureMap.get("入院日期");
+            Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            String admisTime = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
             //取手术记录第一次手术开始时间和入院时间比较,相差30分钟内不报缺陷
             OperationRecordDoc operationRecordDoc = operationDocs.get(0).getOperationRecordDoc();
             String startTime = "";

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0130.java

@@ -34,7 +34,9 @@ public class THR0130 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         String recordDateStr = firstAttendStructureMap.get("查房日期");
         if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
             status.set("0");

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0131.java

@@ -43,7 +43,9 @@ public class THR0131 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         String recordDateStr = firstAttendStructureMap.get("查房日期");
         if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
             status.set("0");

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0132.java

@@ -34,7 +34,9 @@ public class THR0132 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         String recordDateStr = firstAttendStructureMap.get("查房日期");
         if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
             status.set("0");

+ 4 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0133.java

@@ -4,6 +4,7 @@ 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.MedicalRecordInfoDoc;
 import com.lantone.qc.pub.model.doc.ward.AttendingDoctorWardDoc;
 import com.lantone.qc.pub.model.label.ThreeLevelWardLabel;
 import com.lantone.qc.pub.util.StringUtil;
@@ -33,7 +34,9 @@ public class THR0133 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+  //      String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> structureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = structureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : structureMap.get("beHospitalDate");
         String recordDateStr = firstAttendStructureMap.get("查房日期");
         if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
             status.set("0");

+ 4 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0134.java

@@ -36,12 +36,14 @@ public class THR0134 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         String recordDateStr = firstAttendStructureMap.get("查房日期");
         String content = firstAttendStructureMap.get("病情记录");
         if (content.contains("诊断明确") || content.contains("目前诊断") || content.contains("目前考虑") || content.contains("当前诊断") ||
                 content.contains("考虑诊断") || content.contains("诊断考虑") || content.contains("诊断基本明确") || content.contains("初步诊断") ||
-                content.contains("诊断为") || regexFind(content, "诊断", "基本明确") || content.contains("查房认为") || content.contains("CT示")) {
+                content.contains("诊断为") || regexFind(content, "诊断", "基本明确") || content.contains("查房认为") || content.contains("CT示")||content.contains("入院诊断") ) {
             status.set("0");
             return;
         }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0135.java

@@ -33,7 +33,9 @@ public class THR0135 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         String recordDateStr = firstDirectStructureMap.get("查房日期");
         if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
             status.set("0");

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0136.java

@@ -44,7 +44,9 @@ public class THR0136 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         String recordDateStr = firstDirectStructureMap.get("查房日期");
         if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
             status.set("0");

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0137.java

@@ -34,7 +34,9 @@ public class THR0137 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+ //       String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         String recordDateStr = firstDirectStructureMap.get("查房日期");
         if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
             status.set("0");

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0138.java

@@ -33,7 +33,9 @@ public class THR0138 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         String recordDateStr = firstDirectStructureMap.get("查房日期");
         if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
             status.set("0");

+ 4 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0139.java

@@ -37,11 +37,13 @@ public class THR0139 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
-        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+        String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
         String recordDateStr = firstDirectStructureMap.get("查房日期");
         String content = firstDirectStructureMap.get("病情记录");
         if (content.contains("诊断明确") || content.contains("目前诊断") || content.contains("目前考虑") || content.contains("当前诊断") ||
-                content.contains("考虑诊断") || content.contains("诊断考虑") || content.contains("诊断基本明确") || content.contains("初步诊断") ||
+                content.contains("考虑诊断") || content.contains("诊断考虑") || content.contains("诊断基本明确") || content.contains("初步诊断") ||content.contains("入院诊断") ||
                 content.contains("诊断为") || regexFind(content, "诊断", "基本明确")) {
             status.set("0");
             return;

+ 19 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0144.java

@@ -7,9 +7,12 @@ import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.*;
 import com.lantone.qc.pub.util.DateUtil;
+import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
+import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -81,7 +84,7 @@ public class THR0144 extends QCCatalogue {
             conditionRecord = conditionRecord.replace(" ", "");
             treatmentPlan = StringUtil.isBlank(treatmentPlan) ? "" : treatmentPlan;
             //主任或主治查房 标题需要包含“主任”或“主治”,内容需要包含“出院”
-            if ((conditionRecord.contains("出院") || treatmentPlan.contains("出院") || conditionRecord.contains("转上级医院"))
+            if ((conditionRecord.contains("出院") || treatmentPlan.contains("出院") || conditionRecord.contains("转上级医院")|| conditionRecord.contains("结转"))
                     && (CatalogueUtil.subTitle(title).contains(Content.attend)
                     || CatalogueUtil.subTitle(title).contains(Content.director)
                     || CatalogueUtil.subTitle(title).contains("主刀"))) {
@@ -91,8 +94,8 @@ public class THR0144 extends QCCatalogue {
             //普通查房 内容需要包含“上级”和“出院”
             if (StringUtil.isBlank(title)
                     || (title.contains("日常查房记录") || title.contains("普通查房记录") || title.contains("日常病程记录"))
-                    && (title.contains("上级") || conditionRecord.contains("上级"))
-                    && (conditionRecord.contains("出院") || treatmentPlan.contains("出院"))) {
+                    && (title.contains("上级") || conditionRecord.contains("上级")|| conditionRecord.contains("请示"))
+                    && (conditionRecord.contains("出院") || treatmentPlan.contains("出院")|| conditionRecord.contains("结转"))) {
                 status.set("0");
                 return;
             }
@@ -105,5 +108,18 @@ public class THR0144 extends QCCatalogue {
                 lastFlag = false;
             }
         }
+        //阶段小结
+        List<StagesSummaryDoc> stagesSummaryDocs = inputInfo.getStagesSummaryDocs();
+        if(ListUtil.isNotEmpty(stagesSummaryDocs)){
+            StagesSummaryDoc stagesSummaryDoc = stagesSummaryDocs.get(stagesSummaryDocs.size());
+            String courseContent = stagesSummaryDoc.getStructureMap().get("诊疗计划");
+            if(StringUtil.isEmpty(courseContent)){
+                return;
+            }
+            if(courseContent.contains("出院")&&(courseContent.contains("上级")|| courseContent.contains("请示")|| courseContent.contains("结转"))){
+                status.set("0");
+                return;
+            }
+        }
     }
 }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR02880.java

@@ -47,7 +47,9 @@ public class THR02880 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectorDoc = directorDocs.get(0);
         Map<String, String> firstAttendStructureMap = firstDirectorDoc.getStructureMap();
         if (inputInfo.getBeHospitalizedDoc() != null) {
-            String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//            String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+            Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
             String recordDateStr = firstAttendStructureMap.get("查房日期");
             if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
                 return;

+ 43 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR03010.java

@@ -3,9 +3,13 @@ package com.lantone.qc.kernel.catalogue.hangzhoudiqi.threelevelward;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.DailyCourseRecordDoc;
+import com.lantone.qc.pub.model.doc.StagesSummaryDoc;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.util.DateUtil;
+import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
+import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.stereotype.Component;
 
 import java.text.SimpleDateFormat;
@@ -29,10 +33,12 @@ public class THR03010 extends QCCatalogue {
         if (inputInfo.getFirstPageRecordDoc() == null || inputInfo.getFirstPageRecordDoc().getStructureMap().size() == 0) {
             return;
         }
-        Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
-        String behospitalDate = structureMap.get("入院日期") == null ? null : structureMap.get("入院日期");
+  //      Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+ //       String behospitalDate = structureMap.get("入院日期") == null ? null : structureMap.get("入院日期");
+        Map<String, String> structureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
         //String leaveHospitalDate = structureMap.get("leaveHospitalDate") == null ? null : structureMap.get("leaveHospitalDate");
         Map<String, String> structureMaps = inputInfo.getFirstPageRecordDoc().getStructureMap();
+        String behospitalDate = structureMap.get("beHospitalDate") == null ? null : structureMap.get("beHospitalDate");
         String leaveHospitalDate = structureMaps.get("出院时间")== null ? null : structureMap.get("leaveHospitalDate");
         if (behospitalDate != null && leaveHospitalDate != null) {
             Date beDate = StringUtil.parseDateTime(behospitalDate);
@@ -52,7 +58,40 @@ public class THR03010 extends QCCatalogue {
                     Date threeLevelDate = StringUtil.parseDateTime(t.getStructureMap().get("查房日期"));
                     stringList.add(formatter.format(threeLevelDate));
                 }
-                if (stringList.size() > 2) {//查房日期取出没有3天时间, 直接报错
+                //阶段小结获取时间
+                ArrayList<String> stageSummaryList = new ArrayList<>();
+                List<StagesSummaryDoc> stagesSummaryDocs = inputInfo.getStagesSummaryDocs();
+                if(ListUtil.isNotEmpty(stagesSummaryDocs)) {
+                    for (StagesSummaryDoc stagesSummaryDoc : stagesSummaryDocs) {
+                        String stagesSummaryTime = stagesSummaryDoc.getStructureMap().get("记录时间");
+                        Date stagesSummaryDate = StringUtil.parseDateTime(stagesSummaryTime);
+                        stageSummaryList.add(formatter.format(stagesSummaryDate));
+                    }
+                }
+                //循环入院之后的三天
+                rr:for (String date : stringDate) {
+                    Date stringTimeDate = StringUtil.parseDateTime(date);
+                    //查房时间
+                    for (String s : stringList) {
+                        Date sDate = StringUtil.parseDateTime(s);
+                        //判断是否为同一天
+                        if(DateUtils.isSameDay(stringTimeDate,sDate)){
+                            continue rr;
+                        }
+                    }
+                    //阶段小结时间
+                    for (String stageSummary : stageSummaryList) {
+                        Date stageSummaryDate = StringUtil.parseDateTime(stageSummary);
+                        //判断是否为同一天
+                        if(DateUtils.isSameDay(stringTimeDate,stageSummaryDate)){
+                            continue rr;
+                        }
+                    }
+                    status.set("-1");
+                }
+
+
+/*                if (stringList.size() > 2) {//查房日期取出没有3天时间, 直接报错
                     //去重
                     List<String> listTemp = new ArrayList<String>();
                     for (int i = 0; i < stringList.size(); i++) {
@@ -73,7 +112,7 @@ public class THR03010 extends QCCatalogue {
                     }
                 } else {
                     status.set("-1");
-                }
+                }*/
 
             }
         }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR03014.java

@@ -40,7 +40,9 @@ public class THR03014 extends QCCatalogue {
 
         if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getThreeLevelWardDocs().size() > 0) {
             Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
-            String admisTime = beHospitalStructureMap.get("入院日期");
+//            String admisTime = beHospitalStructureMap.get("入院日期");
+            Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            String admisTime = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
             if (CatalogueUtil.isEmpty(admisTime)) {
                 return;
             }

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR03016.java

@@ -40,7 +40,9 @@ public class THR03016 extends QCCatalogue {
 
         if (inputInfo.getBeHospitalizedDoc() != null && inputInfo.getThreeLevelWardDocs().size() > 0) {
             Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
-            String admisTime = beHospitalStructureMap.get("入院日期");
+//            String admisTime = beHospitalStructureMap.get("入院日期");
+            Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            String admisTime = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
             if (CatalogueUtil.isEmpty(admisTime)) {
                 return;
             }

+ 2 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0588.java

@@ -97,8 +97,8 @@ public class THR0588 extends QCCatalogue {
         /******************************************阶段小结********************************************************/
         if (inputInfo.getStagesSummaryDocs().size() > 0) {
             List<String> intoRecordDateList = inputInfo.getStagesSummaryDocs().stream().map(StagesSummaryDoc::getStructureMap)
-                    .filter(i -> StringUtil.isNotBlank(i.get("病历日期")))
-                    .map(i -> i.get("病历日期")).collect(Collectors.toList());
+                    .filter(i -> StringUtil.isNotBlank(i.get("记录时间")))
+                    .map(i -> i.get("记录时间")).collect(Collectors.toList());
             for (String recordDateStr : intoRecordDateList) {
                 Date recordDate = StringUtil.parseDateTime(recordDateStr);
                 if (recordDate == null) {

+ 3 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hangzhoudiqi/threelevelward/THR0701.java

@@ -47,7 +47,9 @@ public class THR0701 extends QCCatalogue {
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
         Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
         if (inputInfo.getBeHospitalizedDoc() != null) {
-            String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+//            String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+            Map<String, String> medStructureMap = inputInfo.getMedicalRecordInfoDoc().getStructureMap();
+            String admisDateStr = medStructureMap.get("beHospitalDate") == null ? inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期") : medStructureMap.get("beHospitalDate");
             String recordDateStr = firstAttendStructureMap.get("查房日期");
             if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
                 return;

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

@@ -237,7 +237,7 @@ public class QiYuanBeHospitalizedDocTrans extends ModelDocTrans {
         beHospitalizedDoc.setPresentLabel(presentLabel);
 
         PastLabel pastLabel = new PastLabel();
-        pastLabel.setCrfLabel(false);
+        // pastLabel.setCrfLabel(false);
         if (StringUtil.isNotBlank(structureMap.get("既往史"))) {
             pastLabel.setText(structureMap.get("既往史"));
         } else if (StringUtil.isNotBlank(structureMap.get("入院情况"))) {