浏览代码

输血记录 规则更新

kongwz 5 年之前
父节点
当前提交
386cf126b0

+ 3 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0299.java

@@ -6,6 +6,7 @@ import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
 import com.lantone.qc.pub.model.doc.DoctorAdviceDoc;
 import com.lantone.qc.pub.model.doc.RescueDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -23,12 +24,12 @@ public class CLI0299 extends QCCatalogue {
         status.set("0");
         List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
-        if(doctorAdviceDocs.size()>0){
+        if(ListUtil.isNotEmpty(doctorAdviceDocs)){
             st:
             for (DoctorAdviceDoc doc:doctorAdviceDocs) {
                 Map<String, String> structureMap = doc.getStructureMap();
                 if(structureMap.get("医嘱项目名称").contains("输血") && structureMap.get("医嘱处方类型").contains("治疗")){
-                    if(clinicalBloodDocs == null && clinicalBloodDocs.size() ==0){
+                    if(ListUtil.isEmpty(clinicalBloodDocs)){
                         status.set("-1");
                         break st;
                     }

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

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -24,10 +25,20 @@ public class CLI0300 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("-1");
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            status.set("0");
+            return;
+        }
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
             for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
-                String infusionReason = cliBStructureMap.get("输注原因");
+                String infusionReason;
+                //台州
+                if(StringUtils.isNotEmpty(cliBStructureMap.get("输血检验指标"))){
+                    infusionReason = cliBStructureMap.get("输血检验指标");
+                }else {
+                    infusionReason = cliBStructureMap.get("输注原因");
+                }
                 if(StringUtils.isNotEmpty(infusionReason)){
                     Pattern compile = Pattern.compile("([\\d]+[.\\d+]*)([a-zA-Z]+)(/[a-zA-Z]+)*");
                     Matcher matcher = compile.matcher(infusionReason);

+ 10 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0306.java

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -23,9 +24,18 @@ import java.util.regex.Pattern;
 public class CLI0306 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            status.set("0");
+            return;
+        }
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
             for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                //台州
+                if(StringUtils.isNotEmpty(cliBStructureMap.get("输血检验指标"))){
+                    status.set("0");
+                    break;
+                }
                 String infusionReason = cliBStructureMap.get("输注原因");
                 if(StringUtils.isNotEmpty(infusionReason)){
                     Pattern compile = Pattern.compile("[^\\d]+(\\d+)");

+ 14 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0307.java

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -19,13 +20,23 @@ import java.util.Map;
 @Component
 public class CLI0307 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        status.set("0");
+
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            status.set("0");
+            return;
+        }
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
             for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
-                if(StringUtils.isEmpty(cliBStructureMap.get("输注种类、血型、数量"))){
-                    status.set("-1");
+                //台州
+                if(StringUtils.isNotEmpty(cliBStructureMap.get("输血计划"))){
+                    status.set("0");
+                    break;
+                }
+
+                if(StringUtils.isNotEmpty(cliBStructureMap.get("输注种类、血型、数量"))){
+                    status.set("0");
                     break;
                 }
             }

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

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -20,11 +21,22 @@ import java.util.Map;
 public class CLI0308 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            status.set("0");
+            return;
+        }
+
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
             for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                if(StringUtils.isNotEmpty(cliBStructureMap.get("输注后效果评价")) && (cliBStructureMap.get("输注后效果评价").contains("不良反应")
+                        || cliBStructureMap.get("输注后效果评价").contains("不适"))){
+                    status.set("0");
+                    break;
+                }
                 String infusion_process = cliBStructureMap.get("输注过程");
-                if(StringUtils.isNotEmpty(infusion_process) && infusion_process.contains("不良反应")){
+                if(StringUtils.isNotEmpty(infusion_process) && (infusion_process.contains("不良反应")
+                || infusion_process.contains("不适"))){
                     status.set("0");
                     break;
                 }

+ 5 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0309.java

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -21,6 +22,10 @@ public class CLI0309 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            return;
+        }
+
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
             for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();

+ 5 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0562.java

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -21,6 +22,10 @@ public class CLI0562 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            return;
+        }
+
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
             for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();

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

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -22,9 +23,13 @@ public class CLI0564 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            return;
+        }
+
         if (clinicalBloodDocs != null && clinicalBloodDocs.size() > 0) {
-            List<ClinicalBloodDoc> bloodDocs = clinicalBloodDocs.stream().filter(bloodDoc -> bloodDoc.getStructureMap().get("输血后效果评价") == null).collect(Collectors.toList());
-            for (ClinicalBloodDoc cliB : bloodDocs) {
+//            List<ClinicalBloodDoc> bloodDocs = clinicalBloodDocs.stream().filter(bloodDoc -> bloodDoc.getStructureMap().get("输血后效果评价") == null).collect(Collectors.toList());
+            for (ClinicalBloodDoc cliB : clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
                 if (cliBStructureMap.containsKey("输注结束")) {
                     if (StringUtils.isEmpty(cliBStructureMap.get("输注结束"))) {

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0566.java

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -21,6 +22,9 @@ public class CLI0566 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            return;
+        }
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
             for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();

+ 10 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0569.java

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -19,21 +20,25 @@ import java.util.Map;
 @Component
 public class CLI0569 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        status.set("0");
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            status.set("0");
+            return;
+        }
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
             for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                //台州
+                if(StringUtils.isNotEmpty(cliBStructureMap.get("血型"))){
+                    status.set("0");
+                    break;
+                }
                 if(cliBStructureMap.containsKey("输注种类、血型、数量")){
                     if(StringUtils.isEmpty(cliBStructureMap.get("输注种类、血型、数量"))){
                         status.set("-1");
                         break;
                     }
-                }else {
-                    status.set("-1");
-                    break;
                 }
-
             }
         }
 

+ 14 - 7
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0571.java

@@ -4,6 +4,7 @@ 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.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -19,19 +20,25 @@ import java.util.Map;
 @Component
 public class CLI0571 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        status.set("0");
         List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        if(ListUtil.isEmpty(clinicalBloodDocs)){
+            status.set("0");
+            return;
+        }
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
             for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
+                //台州
+                if(StringUtils.isNotEmpty(cliBStructureMap.get("Rh血型"))){
+                    status.set("0");
+                    return;
+                }
+                //长兴
                 if(cliBStructureMap != null && cliBStructureMap.containsKey("输注种类、血型、数量")){
-                    if(!cliBStructureMap.get("输注种类、血型、数量").contains("Rh")){
-                        status.set("-1");
-                        break;
+                    if(cliBStructureMap.get("输注种类、血型、数量").contains("Rh")){
+                        status.set("0");
+                        return;
                     }
-                }else {
-                    status.set("-1");
-                    break;
                 }
 
             }

+ 6 - 1
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouClinicalBloodDocTrans.java

@@ -37,6 +37,11 @@ public class TaiZhouClinicalBloodDocTrans extends ModelDocTrans {
         return clinicalBloodDoc;
     }
 
-    private List<String> keyContrasts = Lists.newArrayList();
+    private List<String> keyContrasts = Lists.newArrayList(
+            "医生=记录医师",
+            "结束时间=输注结束",
+            "开始时间=输注开始",
+            "内容=输注后效果评价"
+    );
 
 }