louhr 5 лет назад
Родитель
Сommit
b0b9bb565e

+ 17 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0375.java

@@ -12,6 +12,8 @@ import org.springframework.stereotype.Component;
 
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 配偶健康状况未描述
@@ -39,18 +41,25 @@ public class BEH0375 extends QCCatalogue {
             familyList.addAll(familiesMl);
         }
 
-        long count = familyList
+        Pattern p = Pattern.compile("[配偶]");
+        List<Family> filterFamilies = familyList
                 .stream()
                 .filter(
                         i -> i != null
                                 && StringUtil.isNotBlank(i.getName())
-                                && i.getName().indexOf("配偶") != -1
-                                && i.getHealthCondition() != null
-                                && StringUtil.isNotBlank(i.getHealthCondition().getName())
-                )
-                .count();
-        if (count > 0) {
-            status.set("0");
+                                && p.matcher(i.getName()).find()).collect(Collectors.toList());
+
+        for (Family family : filterFamilies) {
+            if (family.getDead() != null) {
+                status.set("0");
+                return;
+            } else if (family.getHealthCondition() != null && StringUtil.isNotBlank(family.getHealthCondition().getName())) {
+                status.set("0");
+                return;
+            } else if (family.getDiags() != null && family.getDiags().size() > 0) {
+                status.set("0");
+                return;
+            }
         }
     }
 

+ 19 - 11
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0376.java

@@ -13,6 +13,7 @@ import org.springframework.stereotype.Component;
 import java.util.List;
 import java.util.Map;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 子女健康状况未描述
@@ -24,6 +25,10 @@ public class BEH0376 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        if (StringUtils.isEmpty(inputInfo.getBeHospitalizedDoc().getMaritalLabel().getText())
+                || inputInfo.getBeHospitalizedDoc().getMaritalLabel().getMaritalStatus().getName().contains("未婚")) {
+            status.set("0");
+        }
         //台州市结构化的
         Map<String, String> structureMap_beh = inputInfo.getBeHospitalizedDoc().getStructureMap();
         if(StringUtils.isNotEmpty(structureMap_beh.get("子女健康状况"))){
@@ -41,21 +46,24 @@ public class BEH0376 extends QCCatalogue {
         }
 
         Pattern p = Pattern.compile("[儿子女]");
-        long count = familyList
+        List<Family> filterFamilies = familyList
                 .stream()
                 .filter(
                         i -> i != null
                                 && StringUtil.isNotBlank(i.getName())
-                                && p.matcher(i.getName()).find()
-                                && i.getHealthCondition() != null
-                                && StringUtil.isNotBlank(i.getHealthCondition().getName())
-                )
-                .count();
-        if (count > 0
-                || (inputInfo.getBeHospitalizedDoc().getMaritalLabel().getMaritalStatus() != null
-                && inputInfo.getBeHospitalizedDoc().getMaritalLabel().getMaritalStatus().getName().contains("未婚"))
-                || inputInfo.getBeHospitalizedDoc().getMaritalLabel().getText() == null) {
-            status.set("0");
+                                && p.matcher(i.getName()).find()).collect(Collectors.toList());
+
+        for (Family family : filterFamilies) {
+            if (family.getDead() != null) {
+                status.set("0");
+                return;
+            } else if (family.getHealthCondition() != null && StringUtil.isNotBlank(family.getHealthCondition().getName())) {
+                status.set("0");
+                return;
+            } else if (family.getDiags() != null && family.getDiags().size() > 0) {
+                status.set("0");
+                return;
+            }
         }
     }
 

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0397.java

@@ -55,6 +55,9 @@ public class BEH0397 extends QCCatalogue {
             } else if (family.getHealthCondition() != null && StringUtil.isNotBlank(family.getHealthCondition().getName())) {
                 status.set("0");
                 return;
+            } else if (family.getDiags() != null && family.getDiags().size() > 0) {
+                status.set("0");
+                return;
             }
         }
     }

+ 3 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0398.java

@@ -56,6 +56,9 @@ public class BEH0398 extends QCCatalogue {
             } else if (family.getHealthCondition() != null && StringUtil.isNotBlank(family.getHealthCondition().getName())) {
                 status.set("0");
                 return;
+            } else if (family.getDiags() != null && family.getDiags().size() > 0) {
+                status.set("0");
+                return;
             }
         }
     }

+ 7 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0564.java

@@ -9,6 +9,7 @@ import org.springframework.stereotype.Component;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName : CLI0564
@@ -21,15 +22,16 @@ public class CLI0564 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
-        if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
-            for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
+        if (clinicalBloodDocs != null && clinicalBloodDocs.size() > 0) {
+            List<ClinicalBloodDoc> bloodDocs = clinicalBloodDocs.stream().filter(bloodDoc -> bloodDoc.getStructureMap().get("输血后效果评价") == null).collect(Collectors.toList());
+            for (ClinicalBloodDoc cliB : bloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
-                if(cliBStructureMap.containsKey("输注结束")){
-                    if(StringUtils.isEmpty(cliBStructureMap.get("输注结束"))){
+                if (cliBStructureMap.containsKey("输注结束")) {
+                    if (StringUtils.isEmpty(cliBStructureMap.get("输注结束"))) {
                         status.set("-1");
                         break;
                     }
-                }else {
+                } else {
                     status.set("-1");
                     break;
                 }

+ 6 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0353.java

@@ -39,6 +39,12 @@ public class OPE0353 extends QCCatalogue {
                 if (operationDiscussionDoc == null) {
                     continue;
                 }
+                //结构化读取手术术后处理措施和注意事项
+                if (operationDiscussionDoc.getStructureMap().get("术前术后注意事项") != null
+                        && operationDiscussionDoc.getStructureMap().get("可能意外和防范措施") != null) {
+                    continue;
+                }
+
                 OperationDiscussionLabel operationDiscussionLabel = operationDiscussionDoc.getOperationDiscussionLabel();
                 String measuresAfterOp = operationDiscussionLabel.getMeasuresAfterOp();
                 String attentionAfterOp = operationDiscussionLabel.getAttentionAfterOp();