Browse Source

出院诊断不标准规则更新

rengb 5 years ago
parent
commit
064b23e4f5

+ 28 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0147.java

@@ -1,21 +1,46 @@
 package com.lantone.qc.kernel.catalogue.leavehospital;
 package com.lantone.qc.kernel.catalogue.leavehospital;
 
 
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.KernelConstants;
+import com.lantone.qc.kernel.util.RedisUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.entity.Diag;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
- * @Description:
+ * @Description: 出院诊断不标准
  * @author: rengb
  * @author: rengb
  * @time: 2020/3/10 13:53
  * @time: 2020/3/10 13:53
  */
  */
 @Component
 @Component
 public class LEA0147 extends QCCatalogue {
 public class LEA0147 extends QCCatalogue {
 
 
+    @Autowired
+    private RedisUtil redisUtil;
+
     @Override
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-
+        status = "0";
+        List<Diag> diags = inputInfo.getLeaveHospitalDoc().getLeaveDiagLabel().getDiags();
+        Map<String, Map<String, String>> hospitalDiagMap = redisUtil.getJsonStringValue(KernelConstants.HOSPITAL_DIAG_MAP);
+        if (ListUtil.isNotEmpty(diags) && hospitalDiagMap != null) {
+            long count = diags.stream().filter(i -> {
+                if (i != null && StringUtil.isNotBlank(i.getHospitalDiagName())) {
+                    return hospitalDiagMap.get(i.getHospitalDiagName()) == null;
+                }
+                return false;
+            }).count();
+            if (count > 0) {
+                status = "-1";
+            }
+        }
     }
     }
-    
+
 }
 }