Bladeren bron

嵊州:规则处理

wangsy 4 jaren geleden
bovenliggende
commit
6731e017f3

+ 1 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH02902.java

@@ -73,6 +73,7 @@ public class BEH02902 extends QCCatalogue {
 
         if (findPlace) {
             status.set("0");
+            return;
         }
     }
 }

+ 1 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI03063.java

@@ -100,6 +100,7 @@ public class CLI03063 extends QCCatalogue {
         switch (Content.hospital_Id)
         {
             case "7":               //厦门
+            case "20":
                 return "病历日期";
             default:
                 return "记录时间";

+ 55 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/shengzhouyy/clinicalblood/CLI0308.java

@@ -0,0 +1,55 @@
+package com.lantone.qc.kernel.catalogue.hospital.shengzhouyy.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 : CLI0308
+ * @Description :  输血记录中未记录是否有不良反应
+ * @Author : 楼辉荣
+ * @Date: 2020-03-06 17:28
+ */
+@Component
+public class CLI0308 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) {
+            String regex = ".*(未.*|无.*|否.*).*(输血反应|不良反应).*";
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
+                Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                if (StringUtils.isNotEmpty(cliBStructureMap.get("输注后效果评价")) && (cliBStructureMap.get("输注后效果评价").contains("不良反应")
+                        || cliBStructureMap.get("输注后效果评价").contains("不适") || cliBStructureMap.get("输注后效果评价").contains("未见"))) {
+                    status.set("0");
+                    break;
+                }
+
+                String infusion_process = cliBStructureMap.get("病历内容");
+                if (StringUtils.isNotEmpty(infusion_process)) {
+                    if (infusion_process.matches(regex) || infusion_process.contains("无") || infusion_process.contains("未见")
+                    || infusion_process.contains("未觉")) {
+                        status.set("0");
+                    } else {
+                        status.set("-1");
+                    }
+                }
+
+            }
+        } else {
+            status.set("0");
+        }
+
+    }
+}

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

@@ -0,0 +1,43 @@
+package com.lantone.qc.kernel.catalogue.hospital.shengzhouyy.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;
+                }
+            }
+        }
+    }
+}

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

@@ -0,0 +1,57 @@
+package com.lantone.qc.kernel.catalogue.hospital.shengzhouyy.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) {
+            int matchSum = 0;
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
+                Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                String title = cliBStructureMap.get("标题");
+                if (StringUtil.isNotBlank(title) && title.contains("蛋白")) {
+                    matchSum++;
+                    continue;
+                }
+                String record = cliBStructureMap.get("病历内容");
+                if (record.contains("A型") || record.contains("B型") || record.contains("AB型") || record.contains("O型")) {
+                    matchSum++;
+                    continue;
+                }
+                Pattern compile = Pattern.compile("[a-zA-Z]+型");
+                Matcher matcher = compile.matcher(StringUtil.removeBlank(record));
+                if (matcher.find()) {
+                    matchSum++;
+                }
+            }
+            if (matchSum != clinicalBloodDocs.size()) {
+                status.set("-1");
+            }
+        }
+
+    }
+}

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

@@ -0,0 +1,46 @@
+package com.lantone.qc.kernel.catalogue.hospital.shengzhouyy.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.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) {
+        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();
+                String title = cliBStructureMap.get("标题");
+                if (StringUtil.isNotBlank(title) && title.contains("蛋白")) {
+                    continue;
+                }
+                if (StringUtil.isNotBlank(cliBStructureMap.get("RH"))) {
+                    continue;
+                }
+                String record = cliBStructureMap.get("病历内容");
+                if (!record.contains("Rh") && !record.contains("rh") && !record.contains("RH")) {
+                    status.set("-1");
+                    break;
+                }
+            }
+        }
+    }
+}