Bläddra i källkod

台州运行质控修改bug

hujing 5 år sedan
förälder
incheckning
6df99e46fa

+ 5 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH02956.java

@@ -24,10 +24,11 @@ public class BEH02956 extends QCCatalogue {
         }
         Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
         String marry = beHospitalStructureMap.get("婚姻");
-        if (StringUtil.isNotBlank(marry) && "已婚".equals(marry)) {
-            if (StringUtil.isBlank(beHospitalStructureMap.get("结婚年龄"))) {
-                status.set("-1");
-            }
+        if (StringUtil.isNotBlank(marry) && "未婚".equals(marry)){
+            return;
+        }
+        if (StringUtil.isBlank(beHospitalStructureMap.get("结婚年龄"))) {
+            status.set("-1");
         }
     }
 }

+ 5 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH02957.java

@@ -24,10 +24,11 @@ public class BEH02957 extends QCCatalogue {
         }
         Map<String, String> beHospitalStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
         String marry = beHospitalStructureMap.get("婚姻");
-        if (StringUtil.isNotBlank(marry) && "已婚".equals(marry)) {
-            if (StringUtil.isBlank(beHospitalStructureMap.get("夫妻关系"))) {
-                status.set("-1");
-            }
+        if (StringUtil.isNotBlank(marry) && "未婚".equals(marry)){
+            return;
+        }
+        if (StringUtil.isBlank(beHospitalStructureMap.get("夫妻关系"))) {
+            status.set("-1");
         }
     }
 }

+ 26 - 9
kernel/src/main/java/com/lantone/qc/kernel/catalogue/crisisvaluereport/CRI0382.java

@@ -1,14 +1,15 @@
 package com.lantone.qc.kernel.catalogue.crisisvaluereport;
 
 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.CrisisValueReportDoc;
-import com.lantone.qc.pub.util.DateUtil;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -26,17 +27,33 @@ public class CRI0382 extends QCCatalogue {
         if (ListUtil.isEmpty(crisisValueReportDocs)) {
             return;
         }
-        String format = "yyyy年MM月dd日HH时mm分";
-        int timeCha = 21600000;
-        crisisValueReportDocs.forEach(crisisValueReportDoc -> {
+        for (CrisisValueReportDoc crisisValueReportDoc : crisisValueReportDocs) {
             String baogaoTimeStr = crisisValueReportDoc.getStructureMap().get("报告时间");
+            if (StringUtil.isBlank(baogaoTimeStr)) {
+                /* 台州相应数据需从危急值内容中截取 */
+                String content = crisisValueReportDoc.getStructureMap().get("内容");
+                if (StringUtil.isNotBlank(content)) {
+                    baogaoTimeStr = getReportDate(content);
+                }
+            }
             String jiluTimeStr = crisisValueReportDoc.getStructureMap().get("记录时间");
-            if (StringUtil.isNotBlank(baogaoTimeStr)
-                    && StringUtil.isNotBlank(jiluTimeStr)
-                    && DateUtil.parseDate(jiluTimeStr, format).getTime() - DateUtil.parseDate(baogaoTimeStr, format).getTime() > timeCha) {
-                status.set("-1");
+            if (StringUtil.isNotBlank(baogaoTimeStr) && StringUtil.isNotBlank(jiluTimeStr)) {
+                Date baogaoTime = StringUtil.parseDateTime(StringUtil.removeBlank(baogaoTimeStr));
+                Date jiluTime = StringUtil.parseDateTime(jiluTimeStr);
+                if (baogaoTime != null && jiluTime != null && CatalogueUtil.compareTime(baogaoTime, jiluTime, 6 * 24L)) {
+                    status.set("-1");
+                    return;
+                }
             }
-        });
+        }
+    }
+
+    private String getReportDate(String str) {
+        String reportDate = "";
+        if (StringUtil.isNotBlank(str) && str.contains("于{") && str.contains("}接到")) {
+            reportDate = str.substring(str.indexOf("于{") + 2, str.indexOf("}接到"));
+        }
+        return reportDate;
     }
 
 }

+ 14 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/crisisvaluereport/CRI0383.java

@@ -24,11 +24,23 @@ public class CRI0383 extends QCCatalogue {
         List<CrisisValueReportDoc> crisisValueReportDocs = inputInfo.getCrisisValueReportDocs();
         if (ListUtil.isNotEmpty(crisisValueReportDocs)) {
             crisisValueReportDocs.forEach(crisisValueReportDoc -> {
-                if (StringUtil.isBlank(crisisValueReportDoc.getStructureMap().get("报告时间"))) {
-                    status.set("-1");
+                if (StringUtil.isNotBlank(crisisValueReportDoc.getStructureMap().get("内容"))) {
+                    /* 台州相应数据需从危急值内容中截取 */
+                    String reportDate = getReportDate(crisisValueReportDoc.getStructureMap().get("内容"));
+                    if (StringUtil.isBlank(reportDate)) {
+                        status.set("-1");
+                    }
                 }
             });
         }
     }
 
+    private String getReportDate(String str) {
+        String reportDate = "";
+        if (StringUtil.isNotBlank(str) && str.contains("于{") && str.contains("}接到")) {
+            reportDate = str.substring(str.indexOf("于{") + 2, str.indexOf("}接到"));
+        }
+        return reportDate;
+    }
+
 }

+ 13 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/crisisvaluereport/CRI0384.java

@@ -24,11 +24,22 @@ public class CRI0384 extends QCCatalogue {
         List<CrisisValueReportDoc> crisisValueReportDocs = inputInfo.getCrisisValueReportDocs();
         if (ListUtil.isNotEmpty(crisisValueReportDocs)) {
             crisisValueReportDocs.forEach(crisisValueReportDoc -> {
-                if (StringUtil.isBlank(crisisValueReportDoc.getStructureMap().get("危急值记录内容"))) {
-                    status.set("-1");
+                if (StringUtil.isNotBlank(crisisValueReportDoc.getStructureMap().get("内容"))) {
+                    /* 台州相应数据需从危急值内容中截取 */
+                    String report = getReport(crisisValueReportDoc.getStructureMap().get("内容"));
+                    if (StringUtil.isBlank(report)) {
+                        status.set("-1");
+                    }
                 }
             });
         }
     }
 
+    private String getReport(String str) {
+        String reportDate = "";
+        if (StringUtil.isNotBlank(str) && str.contains("危急值报告:{") && str.contains("}。立即查看")) {
+            reportDate = str.substring(str.indexOf("危急值报告:{") + 7, str.indexOf("}。立即查看"));
+        }
+        return reportDate;
+    }
 }

+ 14 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/crisisvaluereport/CRI0386.java

@@ -24,11 +24,23 @@ public class CRI0386 extends QCCatalogue {
         List<CrisisValueReportDoc> crisisValueReportDocs = inputInfo.getCrisisValueReportDocs();
         if (ListUtil.isNotEmpty(crisisValueReportDocs)) {
             crisisValueReportDocs.forEach(crisisValueReportDoc -> {
-                if (StringUtil.isBlank(crisisValueReportDoc.getStructureMap().get("病情分析及处理"))) {
-                    status.set("-1");
+                if (StringUtil.isNotBlank(crisisValueReportDoc.getStructureMap().get("内容"))) {
+                    /* 台州相应数据需从危急值内容中截取 */
+                    String report = getReport(crisisValueReportDoc.getStructureMap().get("内容"));
+                    if (StringUtil.isBlank(report)) {
+                        status.set("-1");
+                    }
                 }
             });
         }
     }
 
+    private String getReport(String str) {
+        String reportDate = "";
+        if (StringUtil.isNotBlank(str) && str.contains("给予{") && str.contains("},密切")) {
+            reportDate = str.substring(str.indexOf("给予{") + 3, str.indexOf("},密切"));
+        }
+        return reportDate;
+    }
+
 }

+ 8 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0587.java

@@ -1,4 +1,4 @@
-package com.lantone.qc.kernel.catalogue.threelevelward;
+package com.lantone.qc.kernel.catalogue.operationdiscussion;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.util.CatalogueUtil;
@@ -26,7 +26,7 @@ import java.util.Map;
  * @Date: 2020-03-30 16:17
  */
 @Component
-public class THR0587 extends QCCatalogue {
+public class OPE0587 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
@@ -36,10 +36,10 @@ public class THR0587 extends QCCatalogue {
         }
         //所有查房记录的日期天
         List<ThreeLevelWardDoc> allDoctorWradDocs = threeLevelWardDocs.get(0).getAllDoctorWradDocs();
-        List<Integer> wardRecordDayList = getWardRecordDay(allDoctorWradDocs);
+        List<Date> wardRecordDayList = getWardRecordDay(allDoctorWradDocs);
         String OperationEndDateStr = "";
         //转入日期后应该有的查房记录的日期天
-        List<Integer> rollInDay = null;
+        List<Date> rollInDay = null;
         for (OperationDoc operationDoc : operationDocs) {
             OperationRecordDoc operationRecordDoc = operationDoc.getOperationRecordDoc();
             if (operationRecordDoc == null) {
@@ -53,7 +53,7 @@ public class THR0587 extends QCCatalogue {
             Date OperationEndDate = StringUtil.parseDateTime(OperationEndDateStr);
             rollInDay = new ArrayList<>();
             for (int i = 1; i <= 3; i++) {
-                int wardRecordDay = DateUtil.getDay(DateUtil.addDate(OperationEndDate, i));
+                Date wardRecordDay = DateUtil.dateZeroClear(DateUtil.addDate(OperationEndDate, i));
                 rollInDay.add(wardRecordDay);
             }
             if (!wardRecordDayList.containsAll(rollInDay)) {
@@ -68,8 +68,8 @@ public class THR0587 extends QCCatalogue {
      *
      * @param threeLevelWardDocs
      */
-    private List<Integer> getWardRecordDay(List<ThreeLevelWardDoc> threeLevelWardDocs) {
-        List<Integer> dateRecordDay = new ArrayList<>();
+    private List<Date> getWardRecordDay(List<ThreeLevelWardDoc> threeLevelWardDocs) {
+        List<Date> dateRecordDay = new ArrayList<>();
         String recordTime = "";
         for (ThreeLevelWardDoc threeLevelWardDoc : threeLevelWardDocs) {
             Map<String, String> rescueStructureMap = threeLevelWardDoc.getStructureMap();
@@ -78,7 +78,7 @@ public class THR0587 extends QCCatalogue {
             if (recordDate == null) {
                 continue;
             }
-            dateRecordDay.add(DateUtil.getDay(recordDate));
+            dateRecordDay.add(DateUtil.dateZeroClear(recordDate));
         }
         return dateRecordDay;
     }

+ 2 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0651.java

@@ -35,7 +35,7 @@ public class OPE0651 extends QCCatalogue {
             }
             Map<String, String> operationDiscussionStructureMap = operationDiscussionDoc.getStructureMap();
             String operationDateStr = operationDiscussionStructureMap.get("手术日期");
-            String dateStr = operationDiscussionStructureMap.get("时间");
+            String dateStr = operationDiscussionStructureMap.get("记录日期");
             if (CatalogueUtil.isEmpty(operationDateStr) || CatalogueUtil.isEmpty(dateStr)) {
                 continue;
             }
@@ -44,7 +44,7 @@ public class OPE0651 extends QCCatalogue {
             if (operationDate == null || date == null) {
                 continue;
             }
-            boolean compareTime = CatalogueUtil.compareTime(operationDate, date, (long) 60);
+            boolean compareTime = CatalogueUtil.compareTime(operationDate, date, 60L);
             if (compareTime) {
                 status.set("-1");
                 return;

+ 15 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0682.java

@@ -21,6 +21,19 @@ import java.util.Map;
 @Component
 public class THR0682 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<RescueDoc> rescueDocs = inputInfo.getRescueDocs();
+        if (ListUtil.isEmpty(rescueDocs)) {
+            return;
+        }
+        for (RescueDoc rescueDoc : rescueDocs) {
+            Map<String, String> rescueStructureMap = rescueDoc.getStructureMap();
+            if (CatalogueUtil.isEmpty(rescueStructureMap.get("病情变化"))) {
+                status.set("-1");
+                return;
+            }
+        }
+        /*
         status.set("0");
         List<RescueDoc> rescueDocs = inputInfo.getRescueDocs();
         if (ListUtil.isEmpty(rescueDocs)) {
@@ -42,5 +55,7 @@ public class THR0682 extends QCCatalogue {
                 return;
             }
         }
+
+         */
     }
 }

+ 3 - 1
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouCrisisValueReportDocTrans.java

@@ -41,6 +41,8 @@ public class TaiZhouCrisisValueReportDocTrans extends ModelDocTrans {
         return crisisValueReportDoc;
     }
 
-    private List<String> keyContrasts = Lists.newArrayList();
+    private List<String> keyContrasts = Lists.newArrayList(
+            "病历日期=记录时间"
+    );
 
 }

+ 4 - 1
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouOperationDocTrans.java

@@ -107,7 +107,10 @@ public class TaiZhouOperationDocTrans extends ModelDocTrans {
     private List<String> operationDiscussion_keyContrasts = Lists.newArrayList(
             "本人姓名=姓名",
             "开始时间=手术开始时间",
-            "结束时间=手术结束时间"
+            "结束时间=手术结束时间",
+            "书写日期=记录日期",
+            "注意事项=术后注意事项",
+            "治疗计划和措施=术后处理措施"
     );
 
 

+ 1 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouRescueDocTrans.java

@@ -43,6 +43,7 @@ public class TaiZhouRescueDocTrans extends ModelDocTrans {
 
     private List<String> keyContrasts = Lists.newArrayList(
             "事件日期=抢救开始时间",
+            "抢救病情=病情变化",
             "本人姓名=姓名"
     );