Browse Source

1.输血添加白蛋白判断

hujing 5 năm trước cách đây
mục cha
commit
6b98ce195f

+ 7 - 13
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0306.java

@@ -24,30 +24,24 @@ import java.util.regex.Pattern;
 public class CLI0306 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
-        if(ListUtil.isEmpty(clinicalBloodDocs)){
+        if (ListUtil.isEmpty(clinicalBloodDocs)) {
             status.set("0");
             return;
         }
-        if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
-            for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
+        if (clinicalBloodDocs != null && clinicalBloodDocs.size() > 0) {
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
                 //台州
-                if(StringUtils.isNotEmpty(cliBStructureMap.get("输血检验指标"))){
+                if (StringUtils.isNotEmpty(cliBStructureMap.get("输血检验指标"))) {
                     status.set("0");
                     break;
                 }
                 String infusionReason = cliBStructureMap.get("输注原因");
-                if(StringUtils.isNotEmpty(infusionReason)){
-                    Pattern compile = Pattern.compile("[^\\d]+(\\d+)");
-                    Matcher matcher = compile.matcher(infusionReason);
-                    while (matcher.find()){
-                        status.set("0");
-                        break;
-                    }
-
+                if (StringUtils.isNotEmpty(infusionReason)) {
+                    status.set("0");
                 }
             }
-        }else {
+        } else {
             status.set("0");
         }
 

+ 14 - 9
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0308.java

@@ -21,27 +21,32 @@ import java.util.Map;
 public class CLI0308 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
-        if(ListUtil.isEmpty(clinicalBloodDocs)){
+        if (ListUtil.isEmpty(clinicalBloodDocs)) {
             status.set("0");
             return;
         }
 
-        if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
-            for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
+        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("不适"))){
+                if (StringUtils.isNotEmpty(cliBStructureMap.get("输注后效果评价")) && (cliBStructureMap.get("输注后效果评价").contains("不良反应")
+                        || cliBStructureMap.get("输注后效果评价").contains("不适"))) {
                     status.set("0");
                     break;
                 }
                 String infusion_process = cliBStructureMap.get("输注过程");
-                if(StringUtils.isNotEmpty(infusion_process) && (infusion_process.contains("不良反应")
-                || infusion_process.contains("不适"))){
+                if (StringUtils.isEmpty(infusion_process)) {
                     status.set("0");
-                    break;
+                    continue;
+                }
+                if (infusion_process.matches(regex)) {
+                    status.set("0");
+                } else {
+                    status.set("-1");
                 }
             }
-        }else {
+        } else {
             status.set("0");
         }
 

+ 13 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0569.java

@@ -23,26 +23,32 @@ import java.util.regex.Pattern;
 public class CLI0569 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
-        if(ListUtil.isEmpty(clinicalBloodDocs)){
+        if (ListUtil.isEmpty(clinicalBloodDocs)) {
             status.set("0");
             return;
         }
-        if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
-            for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
+        if (clinicalBloodDocs != null && clinicalBloodDocs.size() > 0) {
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
                 //台州
-                if(StringUtils.isNotEmpty(cliBStructureMap.get("血型"))){
+                if (StringUtils.isNotEmpty(cliBStructureMap.get("血型"))) {
                     status.set("0");
                     break;
                 }
-                if(cliBStructureMap.containsKey("输注种类、血型、数量")){
-                    if(StringUtils.isEmpty(cliBStructureMap.get("输注种类、血型、数量"))){
+                if (cliBStructureMap.containsKey("输注种类、血型、数量")) {
+                    String bloodType = cliBStructureMap.get("输注种类、血型、数量");
+                    if (StringUtils.isEmpty(bloodType)) {
                         status.set("-1");
                         break;
+                    } else {
+                        if (bloodType.contains("白蛋白")) {
+                            status.set("0");
+                            continue;
+                        }
                     }
                     Pattern compile = Pattern.compile("[a-zA-Z]+型");
                     Matcher matcher = compile.matcher(cliBStructureMap.get("输注种类、血型、数量"));
-                    if(matcher.find()){
+                    if (matcher.find()) {
                         status.set("0");
                     }
                 }

+ 13 - 9
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0571.java

@@ -5,6 +5,7 @@ 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;
 
@@ -21,24 +22,27 @@ import java.util.Map;
 public class CLI0571 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
-        if(ListUtil.isEmpty(clinicalBloodDocs)){
+        if (ListUtil.isEmpty(clinicalBloodDocs)) {
             status.set("0");
             return;
         }
-        if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
-            for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
+        if (clinicalBloodDocs != null && clinicalBloodDocs.size() > 0) {
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
                 //台州
-                if(StringUtils.isNotEmpty(cliBStructureMap.get("Rh血型"))){
+                if (StringUtils.isNotEmpty(cliBStructureMap.get("Rh血型"))) {
                     status.set("0");
                     return;
                 }
                 //长兴
-                if(cliBStructureMap != null && cliBStructureMap.containsKey("输注种类、血型、数量")){
-                    if(cliBStructureMap.get("输注种类、血型、数量").contains("Rh")
-                            || cliBStructureMap.get("输注种类、血型、数量").contains("RH")){
-                        status.set("0");
-                        return;
+                if (cliBStructureMap.containsKey("输注种类、血型、数量")) {
+                    String bloodType = cliBStructureMap.get("输注种类、血型、数量");
+                    if (StringUtil.isNotBlank(bloodType)) {
+                        if (bloodType.contains("Rh") || bloodType.contains("RH")
+                                || bloodType.contains("白蛋白")) {
+                            status.set("0");
+                            return;
+                        }
                     }
                 }