Selaa lähdekoodia

添加非空判断

hujing 5 vuotta sitten
vanhempi
commit
7cb3568512

+ 13 - 9
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0001.java

@@ -8,6 +8,7 @@ import com.lantone.qc.pub.model.entity.PD;
 import com.lantone.qc.pub.model.label.ChiefLabel;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
+
 import java.util.List;
 
 
@@ -22,30 +23,33 @@ public class BEH0001 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
 
         status.set("0");
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
             return;
         }
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
+        if (chiefLabel == null) {
+            return;
+        }
         String chief_text = chiefLabel.getText();
-        if(chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")){
+        if (chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")) {
             status.set("0");
-        }else {
+        } else {
             List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getChiefLabel().getClinicals();
-            if(clinicals.size()>0){
-                for (Clinical clinical:clinicals) {
+            if (clinicals.size() > 0) {
+                for (Clinical clinical : clinicals) {
                     String clinicalName = clinical.getName();
                     List<PD> timestamp = clinical.getTimestamp();
-                    if(timestamp == null){
-                        if(StringUtils.isEmpty(info.get())){
+                    if (timestamp == null) {
+                        if (StringUtils.isEmpty(info.get())) {
                             info.set(clinicalName);
-                        }else {
+                        } else {
                             info.set(info.get() + "," + clinicalName);
                         }
                     }
                 }
             }
         }
-        if(StringUtils.isNotEmpty(info.get())){
+        if (StringUtils.isNotEmpty(info.get())) {
             status.set("-1");
         }
     }

+ 29 - 22
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0002.java

@@ -1,7 +1,6 @@
 package com.lantone.qc.kernel.catalogue.behospitalized;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.kernel.util.KernelConstants;
 import com.lantone.qc.kernel.util.RedisUtil;
 import com.lantone.qc.pub.model.InputInfo;
@@ -9,8 +8,8 @@ import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Diag;
-import com.lantone.qc.pub.model.entity.PD;
-import com.sun.org.apache.xpath.internal.operations.Bool;
+import com.lantone.qc.pub.model.label.ChiefLabel;
+import com.lantone.qc.pub.model.label.DiagLabel;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -31,49 +30,57 @@ public class BEH0002 extends QCCatalogue {
     private RedisUtil redisUtil;
 
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
+        if (beHospitalizedDoc == null) {
             status.set("0");
             return;
         }
-        Boolean bool = false;
-        List<Diag> chiefDiags = inputInfo.getBeHospitalizedDoc().getChiefLabel().getDiags();
-        List<Diag> diags = inputInfo.getBeHospitalizedDoc().getInitialDiagLabel().getDiags();
-        if(chiefDiags.size()>0){
-            for (Diag diag:chiefDiags) {
+        boolean bool = false;
+        ChiefLabel chiefLabel = beHospitalizedDoc.getChiefLabel();
+        DiagLabel initialDiagLabel = beHospitalizedDoc.getInitialDiagLabel();
+        if (chiefLabel == null || initialDiagLabel == null) {
+            status.set("0");
+            return;
+        }
+        List<Diag> chiefDiags = chiefLabel.getDiags();
+        List<Diag> diags = initialDiagLabel.getDiags();
+        if (chiefDiags.size() > 0) {
+            for (Diag diag : chiefDiags) {
                 String hospitalDiagName = diag.getHospitalDiagName();
-                if(hospitalDiagName.contains("术后")||hospitalDiagName.contains("癌")||
-                        hospitalDiagName.contains("瘤") || hospitalDiagName.contains("复诊")){
+                if (hospitalDiagName.contains("术后") || hospitalDiagName.contains("癌") ||
+                        hospitalDiagName.contains("瘤") || hospitalDiagName.contains("复诊")) {
                     status.set("0");
                     break;
-                }{
+                }
+                {
                     bool = true;
                 }
             }
-        }else {
+        } else {
             bool = true;
         }
-        if(bool){
+        if (bool) {
             String mainDiag = diags.get(0).getName();
-            List<String> symptoms=null;
+            List<String> symptoms = null;
             Map<String, Map<String, Object>> diagMap = redisUtil.getJsonStringValue(KernelConstants.CONCEPT_DIAG_PROPERTY_MAP);
             Map<String, Object> map = (Map<String, Object>) diagMap.get(mainDiag);
-            if(map != null && map.size() >0){
+            if (map != null && map.size() > 0) {
                 symptoms = (List<String>) map.get("symptoms");
             }
             List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getChiefLabel().getClinicals();
-            if(clinicals != null && clinicals.size()>0){
-                for (Clinical clinical:clinicals) {
+            if (clinicals != null && clinicals.size() > 0) {
+                for (Clinical clinical : clinicals) {
                     String clinicalName = clinical.getName();
-                    if(symptoms != null && !symptoms.contains(clinicalName)){
-                        if(StringUtils.isEmpty(info.get())){
+                    if (symptoms != null && !symptoms.contains(clinicalName)) {
+                        if (StringUtils.isEmpty(info.get())) {
                             info.set(clinicalName);
-                        }else {
+                        } else {
                             info.set(info.get() + "," + clinicalName);
                         }
                     }
                 }
             }
-            if(StringUtils.isEmpty(info.get())){
+            if (StringUtils.isEmpty(info.get())) {
                 status.set("0");
             }
         }

+ 7 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0007.java

@@ -1,7 +1,6 @@
 package com.lantone.qc.kernel.catalogue.behospitalized;
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
-import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.entity.Clinical;
@@ -10,10 +9,7 @@ import com.lantone.qc.pub.model.label.ChiefLabel;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 
 /**
@@ -26,16 +22,19 @@ import java.util.Set;
 @Component
 public class BEH0007 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
-        String chief_text = chiefLabel.getText();
-        if(chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")){
+        if (chiefLabel == null) {
             status.set("0");
             return;
-        }else {
+        }
+        String chief_text = chiefLabel.getText();
+        if (chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")) {
+            status.set("0");
+        } else {
             List<Clinical> clinicals = chiefLabel.getClinicals();
             if (clinicals.size() > 0) {
                 Clinical clinical = clinicals.get(0);

+ 6 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0008.java

@@ -4,14 +4,10 @@ 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.entity.Clinical;
-import com.lantone.qc.pub.model.entity.PD;
 import com.lantone.qc.pub.model.label.ChiefLabel;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 
 /**
@@ -23,13 +19,17 @@ import java.util.Set;
 @Component
 public class BEH0008 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
+        if (chiefLabel == null) {
+            status.set("0");
+            return;
+        }
         List<Clinical> clinicals = chiefLabel.getClinicals();
-        if(clinicals.size()<=3){
+        if (clinicals.size() <= 3) {
             status.set("0");
         }
 

+ 9 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0009.java

@@ -22,16 +22,20 @@ import java.util.Map;
 @Component
 public class BEH0009 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
-        Map<String,Integer> indexMap = new HashMap<>();
+        Map<String, Integer> indexMap = new HashMap<>();
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
+        if (chiefLabel == null) {
+            status.set("0");
+            return;
+        }
         String chief_text = chiefLabel.getText();
-        if(chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")|| chief_text.contains("发现")){
+        if (chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物") || chief_text.contains("发现")) {
             status.set("0");
-        }else {
+        } else {
             List<Diag> diags = chiefLabel.getDiags();
             if (diags.size() > 0) {
                 for (Diag diag : diags) {
@@ -43,7 +47,7 @@ public class BEH0009 extends QCCatalogue {
                     }
                 }
             }
-            if(status.get().equals("-1")){
+            if (status.get().equals("-1")) {
                 String chiefLabelText = chiefLabel.getText();
                 List<Clinical> clinicals = chiefLabel.getClinicals();
                 if (clinicals.size() > 0) {

+ 12 - 9
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0010.java

@@ -3,7 +3,6 @@ package com.lantone.qc.kernel.catalogue.behospitalized;
 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.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.label.ChiefLabel;
 import org.apache.commons.lang3.StringUtils;
@@ -23,27 +22,31 @@ import java.util.List;
 public class BEH0010 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
             return;
         }
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
+        if (chiefLabel == null) {
+            status.set("0");
+            return;
+        }
         List<Diag> diags = chiefLabel.getDiags();
-        if(diags.size()>0){
+        if (diags.size() > 0) {
             Iterator<Diag> diagIterator = diags.iterator();
-            while (diagIterator.hasNext()){
+            while (diagIterator.hasNext()) {
                 Diag diag = diagIterator.next();
                 String diagName = diag.getHospitalDiagName();
-                if(diagName.contains("癌") || diagName.contains("瘤") || diagName.contains("复诊")|| diagName.contains("术后")){
+                if (diagName.contains("癌") || diagName.contains("瘤") || diagName.contains("复诊") || diagName.contains("术后")) {
                     diagIterator.remove();
                 }
             }
         }
-        if(diags.size()>0){
+        if (diags.size() > 0) {
             status.set("-1");
-            for (Diag diag:diags) {
-                if(StringUtils.isEmpty(info.get())){
+            for (Diag diag : diags) {
+                if (StringUtils.isEmpty(info.get())) {
                     info.set(diag.getName());
-                }else {
+                } else {
                     info.set(info.get() + "," + diag.getName());
                 }
             }

+ 10 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0022.java

@@ -3,12 +3,11 @@ package com.lantone.qc.kernel.catalogue.behospitalized;
 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.entity.Clinical;
 import com.lantone.qc.pub.model.entity.General;
 import com.lantone.qc.pub.model.entity.GeneralDesc;
+import com.lantone.qc.pub.model.label.PresentLabel;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
 import java.util.List;
 
 
@@ -21,17 +20,22 @@ import java.util.List;
 @Component
 public class BEH0022 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
-        List<GeneralDesc> generals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGenerals();
-        if(generals.size() > 0 && generals != null){
+        PresentLabel presentLabel = inputInfo.getBeHospitalizedDoc().getPresentLabel();
+        if (presentLabel == null) {
+            status.set("0");
+            return;
+        }
+        List<GeneralDesc> generals = presentLabel.getGenerals();
+        if (generals != null && generals.size() > 0) {
             status.set("0");
             return;
         }
         List<General> gens = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGens();
-        if(gens.size() > 0 && gens != null){
+        if (gens != null && gens.size() > 0) {
             status.set("0");
             return;
         }

+ 18 - 9
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0023.java

@@ -3,7 +3,12 @@ package com.lantone.qc.kernel.catalogue.behospitalized;
 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.entity.*;
+import com.lantone.qc.pub.model.entity.Lis;
+import com.lantone.qc.pub.model.entity.Medicine;
+import com.lantone.qc.pub.model.entity.Operation;
+import com.lantone.qc.pub.model.entity.Pacs;
+import com.lantone.qc.pub.model.entity.Treat;
+import com.lantone.qc.pub.model.label.PresentLabel;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -19,19 +24,23 @@ import java.util.List;
 public class BEH0023 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
             return;
         }
-        List<Lis> lises = inputInfo.getBeHospitalizedDoc().getPresentLabel().getLises();
-        List<Pacs> pacses = inputInfo.getBeHospitalizedDoc().getPresentLabel().getPacses();
-        List<Treat> treats = inputInfo.getBeHospitalizedDoc().getPresentLabel().getTreats();
-        List<Operation> operations = inputInfo.getBeHospitalizedDoc().getPresentLabel().getOperations();
-        List<Medicine> medicines = inputInfo.getBeHospitalizedDoc().getPresentLabel().getMedicines();
-        if(lises == null && pacses.size() == 0 && treats.size() == 0 && operations.size() == 0 && medicines.size() == 0){
+        PresentLabel presentLabel = inputInfo.getBeHospitalizedDoc().getPresentLabel();
+        if (presentLabel == null) {
+            return;
+        }
+        List<Lis> lises = presentLabel.getLises();
+        List<Pacs> pacses = presentLabel.getPacses();
+        List<Treat> treats = presentLabel.getTreats();
+        List<Operation> operations = presentLabel.getOperations();
+        List<Medicine> medicines = presentLabel.getMedicines();
+        if (lises == null && pacses.size() == 0 && treats.size() == 0 && operations.size() == 0 && medicines.size() == 0) {
             status.set("-1");
         }
         //添加硬规则
-        if(inputInfo.getBeHospitalizedDoc().getPresentLabel().getText().contains("未予以重视")){
+        if (inputInfo.getBeHospitalizedDoc().getPresentLabel().getText().contains("未予以重视")) {
             status.set("0");
         }
     }

+ 7 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/consultation/CON0289.java

@@ -22,12 +22,15 @@ public class CON0289 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         List<ConsultationDoc> consultationDocs = inputInfo.getConsultationDocs();
-        if(consultationDocs !=  null && consultationDocs.size()>0){
-            for (ConsultationDoc cd:consultationDocs) {
+        if (consultationDocs != null && consultationDocs.size() > 0) {
+            for (ConsultationDoc cd : consultationDocs) {
                 ConsultationRecordDoc consultationRecordDoc = cd.getConsultationRecordDoc();
+                if (consultationRecordDoc == null) {
+                    continue;
+                }
                 Map<String, String> structureMap = consultationRecordDoc.getStructureMap();
-                if(structureMap != null ){
-                    if(StringUtils.isEmpty(structureMap.get("签名"))){
+                if (structureMap != null) {
+                    if (StringUtils.isEmpty(structureMap.get("签名"))) {
                         status.set("-1");
                     }
                 }