Просмотр исходного кода

宁波镇海:上线前调试

wangsy 3 лет назад
Родитель
Сommit
dd3dabbd22

+ 46 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/ningbozhenhai/clinicalblood/CLI0306.java

@@ -0,0 +1,46 @@
+package com.lantone.qc.kernel.catalogue.hospital.ningbozhenhai.clinicalblood;
+
+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.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CLI0306
+ * @Description : 输血记录中无输血指征
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class CLI0306 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if (ListUtil.isEmpty(clinicalBloodDocs)) {
+            status.set("0");
+            return;
+        }
+        if (clinicalBloodDocs != null && clinicalBloodDocs.size() > 0) {
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
+                Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                if (cliBStructureMap.containsKey("病历内容")) {
+                    String bloodType = cliBStructureMap.get("病历内容");
+                    if (StringUtil.isNotBlank(bloodType)) {
+                        if (bloodType.contains("指征")) {
+                            status.set("0");
+                            return;
+                        }
+                    }
+                }
+            }
+        } else {
+            status.set("0");
+        }
+    }
+}

+ 45 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/ningbozhenhai/clinicalblood/CLI0566.java

@@ -0,0 +1,45 @@
+package com.lantone.qc.kernel.catalogue.hospital.ningbozhenhai.clinicalblood;
+
+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.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CLI0566
+ * @Description :  输血记录输血记录者未签名
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class CLI0566 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            return;
+        }
+        if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
+            for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
+                Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                if(cliBStructureMap.containsKey("记录医生")){
+                    if(StringUtils.isEmpty(cliBStructureMap.get("记录医生"))){
+                        status.set("-1");
+                        break;
+                    }
+                }else {
+                    status.set("-1");
+                    break;
+                }
+
+            }
+        }
+
+    }
+}

+ 51 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/ningbozhenhai/clinicalblood/CLI0569.java

@@ -0,0 +1,51 @@
+package com.lantone.qc.kernel.catalogue.hospital.ningbozhenhai.clinicalblood;
+
+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.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @ClassName : CLI0569
+ * @Description :  输血记录血型未填写
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class CLI0569 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if (ListUtil.isEmpty(clinicalBloodDocs)) {
+            return;
+        }
+        if (clinicalBloodDocs != null && clinicalBloodDocs.size() > 0) {
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
+                Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                if (cliBStructureMap.containsKey("病历内容")) {
+                    String bloodType = cliBStructureMap.get("病历内容");
+                    if (StringUtils.isNotEmpty(bloodType) &&
+                            (bloodType.contains("白蛋白") || bloodType.contains("凝血酶原复合物")
+                                    || bloodType.contains("血浆"))) {
+                        continue;
+                    }
+                    Pattern compile = Pattern.compile("[a-zA-Z]+型");
+                    Matcher matcher = compile.matcher(StringUtil.removeBlank(cliBStructureMap.get("病历内容")));
+                    if (!matcher.find()) {
+                        status.set("-1");
+                        return;
+                    }
+                }
+            }
+        }
+    }
+}

+ 45 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/ningbozhenhai/clinicalblood/CLI0571.java

@@ -0,0 +1,45 @@
+package com.lantone.qc.kernel.catalogue.hospital.ningbozhenhai.clinicalblood;
+
+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.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : CLI0571
+ * @Description :  输血记录Rh血型未填写
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class CLI0571 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if (ListUtil.isEmpty(clinicalBloodDocs)) {
+            status.set("0");
+            return;
+        }
+        if (clinicalBloodDocs != null && clinicalBloodDocs.size() > 0) {
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
+                Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                if (cliBStructureMap.containsKey("病历内容")) {
+                    String bloodType = cliBStructureMap.get("病历内容");
+                    if (StringUtil.isNotBlank(bloodType)) {
+                        if (bloodType.contains("Rh") || bloodType.contains("RH")
+                                || bloodType.contains("白蛋白")) {
+                            status.set("0");
+                            return;
+                        }
+                    }
+                }
+            }
+        }
+    }
+}

+ 4 - 10
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/ningbozhenhai/threelevelward/THR02900.java

@@ -27,8 +27,8 @@ import java.util.Map;
 @Component
 public class THR02900 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        status.set("0");
         if (inputInfo.getOperationDocs().size() == 0) {
+            status.set("0");
             return;
         }
         List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
@@ -40,7 +40,6 @@ public class THR02900 extends QCCatalogue {
         String allTitle = "";
         //病情记录
         String allPathography = "";
-        String[] split = null;
         //一助或助手
         String firstAssistant = "";
         //手术结束时间
@@ -62,10 +61,10 @@ public class THR02900 extends QCCatalogue {
                     StringUtil.parseDateTime(opeEndTime),
                     StringUtil.parseDateTime(DateUtil.nowString()),
                     Long.valueOf(24 * 60))) {//如果接收未超过6小时,规则不判断
+                status.set("0");
                 return;
             } else {
                 if ((StringUtil.isNotEmpty(chiefSurgeon) || StringUtil.isNotEmpty(firstAssistant)) && ListUtil.isEmpty(allDoctorWradDocs)) {
-                    status.set("-1");
                     return;
                 }
             }
@@ -91,24 +90,19 @@ public class THR02900 extends QCCatalogue {
             }
             //查房标题中有主刀
             if (allTitle.contains("主刀") || allTitle.contains("术后第一天") || allTitle.contains("术后第1天")) {
+                status.set("0");
                 return;
             }
             //病情记录对比
             if ((StringUtil.isNotBlank(chiefSurgeon) && allPathography.contains(chiefSurgeon)) || allPathography.contains("术后第一天") || allPathography.contains("术后第1天") ||
                     (StringUtil.isNotBlank(firstAssistant) && allPathography.contains(firstAssistant))) {
+                status.set("0");
                 return;
             }
             //查房标题对比
             if (StringUtil.isNotBlank(chiefSurgeon) && !allTitle.contains(chiefSurgeon) &&
                     StringUtil.isNotBlank(firstAssistant) && !allTitle.contains(firstAssistant)) {
-                status.set("-1");
                 return;
-            } else if (StringUtil.isBlank(chiefSurgeon) && StringUtil.isBlank(firstAssistant) && split.length > 1) {
-                for (int i = 0; i < split.length; i++) {
-                    if (allTitle.contains(split[i])) {
-                        return;
-                    }
-                }
             }
         }
     }