Pārlūkot izejas kodu

宁波代码逻辑修改

daiyi 3 gadi atpakaļ
vecāks
revīzija
539f5bf3f0

+ 15 - 16
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/ningbozhongyi/threelevelward/THR0144.java

@@ -22,6 +22,7 @@ import java.util.Map;
 @Component
 public class THR0144 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+
         MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
         if (medicalRecordInfoDoc != null && medicalRecordInfoDoc.getStructureMap() != null) {
             //入院日期
@@ -32,7 +33,6 @@ public class THR0144 extends QCCatalogue {
                 status.set("0");
                 return;
             }
-
             if (!CatalogueUtil.compareTime(
                     StringUtil.parseDateTime(admisTime),
                     StringUtil.parseDateTime(DateUtil.nowString()),
@@ -41,15 +41,15 @@ public class THR0144 extends QCCatalogue {
                 return;
             }
             //如果住院天数小于2天则不判断该条规则
-            if (DateUtil.parseDate(dischargeTime) != null &&
-                    !CatalogueUtil.compareTime(StringUtil.parseDateTime(admisTime), StringUtil.parseDateTime(dischargeTime), (long) (48 * 60))) {
-                status.set("0");
+           if (DateUtil.parseDate(dischargeTime) != null &&
+                   !CatalogueUtil.compareTime(StringUtil.parseDateTime(admisTime), StringUtil.parseDateTime(dischargeTime), (long) (48 * 60))) {
+               status.set("0");
                 return;
             } else {
-                if (inputInfo.getThreeLevelWardDocs().size() == 0) {
+               if (inputInfo.getThreeLevelWardDocs().size() == 0) {
                     status.set("-1");
-                    return;
-                }
+                   return;
+               }
             }
         }
 
@@ -66,24 +66,23 @@ public class THR0144 extends QCCatalogue {
             status.set("0");
             return;
         }
-        int j = 0; //最后次查房记录
+        int j = 0; //最后次查房记录
         Boolean lastFlag = true;
-        for (int i = allDoctorWradDocs.size() - 1; i >= 0 && j < 2; i--) {
+        for (int i = allDoctorWradDocs.size() - 1; i >= 0 && j < 3; i--) {
             j++;
             ThreeLevelWardDoc lastWardDoc = allDoctorWradDocs.get(i);
             Map<String, String> structureMap = lastWardDoc.getStructureMap();
             String conditionRecord = structureMap.get("病情记录");
             String treatmentPlan = structureMap.get("治疗计划和措施");
             String title = structureMap.get("查房标题");
-            //|| title.contains("病理记录") || title.contains("病理诊断")
-            if (StringUtil.isBlank(title) || title.contains("病理报告") || title.contains("化验记录")) {
+            if (StringUtil.isBlank(title) || title.equals("病理报告") || title.equals("病理记录") || title.equals("化验记录")) {
                 continue;
             }
             conditionRecord = StringUtil.isBlank(conditionRecord) ? "" : conditionRecord;
             conditionRecord = conditionRecord.replace(" ", "");
             treatmentPlan = StringUtil.isBlank(treatmentPlan) ? "" : treatmentPlan;
             //主任或主治查房 标题需要包含“主任”或“主治”,内容需要包含“出院”
-            if ((conditionRecord.contains("出院") || conditionRecord.contains("转上级医院") || treatmentPlan.contains("出院"))
+            if ((!conditionRecord.contains("出院") || treatmentPlan.contains("出院") || conditionRecord.contains("转上级医院"))
                     && (CatalogueUtil.subTitle(title).contains(Content.attend)
                     || CatalogueUtil.subTitle(title).contains(Content.director)
                     || CatalogueUtil.subTitle(title).contains("主刀"))) {
@@ -91,15 +90,15 @@ public class THR0144 extends QCCatalogue {
                 return;
             }
             //普通查房 内容需要包含“上级”和“出院”
-            if (StringUtil.isBlank(title)
+            if (StringUtil.isNotBlank(title)
                     || (title.contains("日常查房记录") || title.contains("普通查房记录") || title.contains("日常病程记录"))
                     && (title.contains("上级") || conditionRecord.contains("上级"))
                     && (conditionRecord.contains("出院") || treatmentPlan.contains("出院"))) {
                 status.set("0");
                 return;
             }
-            // 添加硬规则,最后一个记录包含“医院”或 “离院”就不报错  || conditionRecord.contains("出院")
-            if (lastFlag==true) {
+            if (lastFlag == true) {
+                // 添加硬规则,最后一个记录包含“医院”或 “离院”就不报错
                 if (conditionRecord.contains("医院") || conditionRecord.contains("离院")) {
                     status.set("0");
                     return;
@@ -108,4 +107,4 @@ public class THR0144 extends QCCatalogue {
             }
         }
     }
-}
+}