Browse Source

台州质控修改bug

hujing 5 years ago
parent
commit
55e01c0b15

+ 30 - 15
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0444.java

@@ -3,8 +3,12 @@ package com.lantone.qc.kernel.catalogue.behospitalized;
 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.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.entity.General;
 import com.lantone.qc.pub.model.entity.GeneralDesc;
+import com.lantone.qc.pub.model.label.PresentLabel;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -19,25 +23,36 @@ import java.util.List;
 @Component
 public class BEH0444 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-
-        List<GeneralDesc> generals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGenerals();
-        if(generals.size() > 0 || generals != null){
-            for (GeneralDesc general:generals) {
-                if(general.getName().contains("精神") || general.getName().contains("神志")){
-                    status.set("0");
-                    break;
+        BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
+        if (beHospitalizedDoc == null) {
+            status.set("0");
+            return;
+        }
+        PresentLabel presentLabel = beHospitalizedDoc.getPresentLabel();
+        if (presentLabel != null) {
+            String presentLabelText = presentLabel.getText();
+            if (StringUtil.isNotBlank(presentLabelText) && presentLabelText.contains("精神")) {
+                status.set("0");
+                return;
+            }
+            List<GeneralDesc> generals = presentLabel.getGenerals();
+            if (ListUtil.isNotEmpty(generals)) {
+                for (GeneralDesc general : generals) {
+                    if (general.getName().contains("精神") || general.getName().contains("神志")) {
+                        status.set("0");
+                        break;
+                    }
                 }
             }
-        }
-        List<General> gens = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGens();
-        if(gens.size() > 0 || gens != null){
-            for (General general:gens) {
-                if(general.getName().contains("精神") || general.getName().contains("神志")){
-                    status.set("0");
-                    break;
+            List<General> gens = presentLabel.getGens();
+            if (ListUtil.isNotEmpty(gens)) {
+                for (General general : gens) {
+                    if (general.getName().contains("精神") || general.getName().contains("神志")) {
+                        status.set("0");
+                        break;
+                    }
                 }
             }
         }
-
     }
 }

+ 2 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0125.java

@@ -28,10 +28,12 @@ public class THR0125 extends QCCatalogue {
             String admisTime = leaveHospitalStructureMap.get(Content.admisTime);
             String dischargeTime = leaveHospitalStructureMap.get(Content.dischargeTime);
             if (CatalogueUtil.isEmpty(admisTime) || CatalogueUtil.isEmpty(dischargeTime)) {
+                status.set("0");
                 return;
             }
             //如果住院天数小于3天则不判断该条规则
             if (!CatalogueUtil.compareTime(StringUtil.parseDateTime(admisTime), StringUtil.parseDateTime(dischargeTime), (long) (72 * 60))) {
+                status.set("0");
                 return;
             }
             ThreeLevelWardDoc threeLevelWardDoc = inputInfo.getThreeLevelWardDocs().get(0);

+ 2 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0126.java

@@ -29,10 +29,12 @@ public class THR0126 extends QCCatalogue {
             String admisTime = getLeaveHospitalStructureMap.get(Content.admisTime);
             String dischargeTime = getLeaveHospitalStructureMap.get(Content.dischargeTime);
             if (CatalogueUtil.isEmpty(admisTime) || CatalogueUtil.isEmpty(dischargeTime)) {
+                status.set("0");
                 return;
             }
             //如果住院天数小于2天则不判断该条规则
             if (!CatalogueUtil.compareTime(StringUtil.parseDateTime(admisTime), StringUtil.parseDateTime(dischargeTime), (long) (48 * 60))) {
+                status.set("0");
                 return;
             }
             ThreeLevelWardDoc threeLevelWardDoc = inputInfo.getThreeLevelWardDocs().get(0);

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

@@ -9,7 +9,6 @@ import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -28,8 +27,10 @@ public class THR0144 extends QCCatalogue {
                 ThreeLevelWardDoc lastWardDoc = allDoctorWradDocs.get(allDoctorWradDocs.size() - 1);
                 Map<String, String> structureMap = lastWardDoc.getStructureMap();
                 String conditionRecord = structureMap.get("病情记录");
+                String treatmentPlan = structureMap.get("治疗计划和措施");
                 String title = structureMap.get("查房标题");
-                if (conditionRecord.contains("出院") && StringUtil.isNotBlank(title)
+                if ((conditionRecord.contains("出院") || treatmentPlan.contains("出院"))
+                        && StringUtil.isNotBlank(title)
                         && (CatalogueUtil.subTitle(title).contains(Content.attend) || CatalogueUtil.subTitle(title).contains(Content.director))) {
                     status.set("0");
                 }