浏览代码

Merge branch 'dev-shaoyf' of http://192.168.2.236:10080/louhr/qc into dev-shaoyf

louhr 5 年之前
父节点
当前提交
4b511f3d1d

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

@@ -28,7 +28,7 @@ public class FIRP0520 extends QCCatalogue {
             Map<String, String> structureMap_fpr = firstPageRecordDoc.getStructureMap();
             String bhPhone = structureMap_bh.get("电话");
             String fprPhone = structureMap_fpr.get(Content.current_address_phone);
-            if (StringUtil.isBlank(bhPhone) || StringUtil.isBlank(fprPhone)) {
+            if (StringUtil.isBlank(bhPhone) || StringUtil.isBlank(fprPhone) || fprPhone.equals("-")) {
                 return;
             }
             if (!bhPhone.equals(fprPhone)) {

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0150.java

@@ -27,7 +27,7 @@ public class LEA0150 extends QCCatalogue {
         if (deathRecordDoc != null) {
             status.set("0");
         } else {
-            String message = leaveHospitalDoc.getStructureMap().get("入院情况");
+            String message = leaveHospitalDoc.getStructureMap().get("主诉");
             if (StringUtil.isNotBlank(message)) {
                 status.set("0");
             }

+ 22 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR02880.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.FirstCourseRecordDoc;
@@ -13,6 +14,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : THR0702
@@ -23,8 +25,9 @@ import java.util.List;
 @Component
 public class THR02880 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
         if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getFirstCourseRecordDoc() == null) {
-            status.set("0");
+            return;
         }
         List<DirectorDoctorWardDoc> directorDocs = inputInfo.getThreeLevelWardDocs().get(0).getDirectorDoctorWardDocs();
         FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
@@ -34,13 +37,23 @@ public class THR02880 extends QCCatalogue {
             return;
         }
         if (directorDocs.size() == 0) {
-            status.set("0");
             return;
         }
         DirectorDoctorWardDoc firstDirectorDoc = directorDocs.get(0);
+        Map<String, String> firstAttendStructureMap = firstDirectorDoc.getStructureMap();
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+            String recordDateStr = firstAttendStructureMap.get("查房日期");
+            if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+                return;
+            }
+            //如果首次查房超过72小时则不判断该条规则
+            if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 72 * 60L)) {
+                return;
+            }
+        }
         ThreeLevelWardLabel firstAttendLabel = firstDirectorDoc.getThreeLevelWardLabel();
         if (firstAttendLabel == null) {
-            status.set("0");
             return;
         }
         if (firstAttendLabel.getDiffDiag().size() != 0) {
@@ -50,7 +63,7 @@ public class THR02880 extends QCCatalogue {
                     continue;
                 }
                 if (firstCourseDiffDiag.equals(diffDiagName)) {
-                    status.set("0");
+                    status.set("-1");
                     return;
                 }
             }
@@ -58,9 +71,13 @@ public class THR02880 extends QCCatalogue {
         }
         if (StringUtil.isNotBlank(firstAttendLabel.getDiffDiagText())) {
             if (firstAttendLabel.getDiffDiagText().equals(firstCourseDiffDiag)) {
-                status.set("0");
+                status.set("-1");
             }
         }
+
+        if (firstAttendLabel.getDiffDiag().size() == 0 && StringUtil.isBlank(firstAttendLabel.getDiffDiagText())){
+            status.set("0");
+        }
     }
 
     /**

+ 23 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0701.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.kernel.catalogue.threelevelward;
 
 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.FirstCourseRecordDoc;
@@ -12,6 +13,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : THR0701
@@ -22,8 +24,9 @@ import java.util.List;
 @Component
 public class THR0701 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
         if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getFirstCourseRecordDoc() == null) {
-            status.set("0");
+            return;
         }
         List<AttendingDoctorWardDoc> attendDocs = inputInfo.getThreeLevelWardDocs().get(0).getAttendingDoctorWardDocs();
         FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
@@ -33,13 +36,23 @@ public class THR0701 extends QCCatalogue {
             return;
         }
         if (attendDocs.size() == 0) {
-            status.set("0");
             return;
         }
         AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
+        Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
+        if (inputInfo.getBeHospitalizedDoc() != null) {
+            String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+            String recordDateStr = firstAttendStructureMap.get("查房日期");
+            if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+                return;
+            }
+            //如果首次查房超过48小时则不判断该条规则
+            if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 48 * 60L)) {
+                return;
+            }
+        }
         ThreeLevelWardLabel firstAttendLabel = firstAttendDoc.getThreeLevelWardLabel();
         if (firstAttendLabel == null) {
-            status.set("0");
             return;
         }
         if (firstAttendLabel.getDiffDiag().size() != 0) {
@@ -48,18 +61,21 @@ public class THR0701 extends QCCatalogue {
                 if (StringUtil.isBlank(diffDiagName)) {
                     continue;
                 }
-                if (firstCourseDiffDiag.equals(diffDiagName)) {
-                    status.set("0");
+                if (firstCourseDiffDiag.contains(diffDiagName)) {
+                    status.set("-1");
                     return;
                 }
             }
-
         }
         if (StringUtil.isNotBlank(firstAttendLabel.getDiffDiagText())) {
             if (firstAttendLabel.getDiffDiagText().equals(firstCourseDiffDiag)) {
-                status.set("0");
+                status.set("-1");
             }
         }
+
+        if (firstAttendLabel.getDiffDiag().size() == 0 && StringUtil.isBlank(firstAttendLabel.getDiffDiagText())){
+            status.set("0");
+        }
     }
 
     /**