Pārlūkot izejas kodu

1.rh填写错误、输血指征不严格 修改逻辑

hujing 5 gadi atpakaļ
vecāks
revīzija
490c33191e

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

@@ -46,7 +46,7 @@ public class CLI0300 extends QCCatalogue {
                 if (matcher.find(0)) {
                     if (null != matcher.group(1)) {
                         double val = Double.parseDouble(matcher.group(1));
-                        if (val > 60.0) {
+                        if (val > 100) {
                             status.set("-1");
                         }
                     }

+ 9 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0190.java

@@ -32,12 +32,15 @@ public class FIRP0190 extends QCCatalogue {
         if (CatalogueUtil.isEmpty(rhFactor)) {
             return;
         }
-        int matchSum = 0;
+        int matchSum = 0, noRhSum = 0;
         for (ClinicalBloodDoc clinicalBloodDoc : clinicalBloodDocList) {
             String bloodType = clinicalBloodDoc.getStructureMap().get("输注种类、血型、数量");
             if (StringUtils.isEmpty(bloodType)) {
                 continue;
             }
+            if (!bloodType.contains("阴") && !bloodType.contains("阳")) {
+                noRhSum++;
+            }
             if (bloodType.contains("白蛋白") || bloodType.contains("凝血酶原复合物")) {
                 continue;
             }
@@ -49,7 +52,11 @@ public class FIRP0190 extends QCCatalogue {
                 break;
             }
         }
-        if (matchSum == 0){
+        /* 如果所有输血记录都没有rh记录(阴、阳),则不报错 */
+        if (noRhSum == clinicalBloodDocList.size()){
+            return;
+        }
+        if (matchSum == 0) {
             status.set("-1");
         }
     }