Bladeren bron

优化代码

zhoutg 4 jaren geleden
bovenliggende
commit
2eb17cd28b

+ 21 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0006.java

@@ -4,8 +4,10 @@ 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;
 import com.lantone.qc.pub.model.entity.PD;
 import com.lantone.qc.pub.model.label.ChiefLabel;
+import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -31,6 +33,25 @@ public class BEH0006 extends QCCatalogue {
             status.set("0");
             return;
         }
+        List<Clinical> clinicalList = chiefLabel.getClinicals();
+        boolean flag = true;
+        // 主诉症状不超过1年就不报错,单位不包含“年”
+        for (Clinical c : clinicalList) {
+            List<PD> pds = c.getTimestamp();
+            if (ListUtil.isNotEmpty(pds)) {
+                for (PD pd : pds) {
+                    if (StringUtil.isNotBlank(pd.getName()) &&
+                            pd.getName().contains("年") && !"半年".equals(pd.getName())) {
+                        flag = false;
+                        break;
+                    }
+                }
+            }
+        }
+        if (flag) {
+            status.set("0");
+            return;
+        }
         String chiefText = chiefLabel.getText();
         if (StringUtil.isNotBlank(chiefText) && chiefText.contains("半年")) {
             status.set("0");

+ 15 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0161.java

@@ -42,12 +42,23 @@ public class FIRP0161 extends QCCatalogue {
                 status.set("0");
                 return;
             }
-            int firstAdmissionAgeNum = removalUnit(firstAdmissionAge);
-            int admissionAgeNum = removalUnit(admissionAge);
-
-            if (firstAdmissionAgeNum != admissionAgeNum && newbornAge != admissionAgeNum) {
+            String admissAge = "";
+            if (StringUtil.isNotBlank(admissionAge) && admissionAge.contains("岁")) {
+                admissAge = admissionAge.substring(0, admissionAge.indexOf("岁"));
+            }
+            // int firstAdmissionAgeNum = removalUnit(firstAdmissionAge);
+            // int admissionAgeNum = removalUnit(admissionAge);
+            // 只比较年龄前的数值
+            if (!admissAge.equals(firstAdmissionAge)) {
                 status.set("-1");
+                return;
             }
+            // int firstAdmissionAgeNum = removalUnit(firstAdmissionAge);
+            // int admissionAgeNum = removalUnit(admissionAge);
+            //
+            // if (firstAdmissionAgeNum != admissionAgeNum && newbornAge != admissionAgeNum) {
+            //     status.set("-1");
+            // }
         }
     }