Ver código fonte

Merge remote-tracking branch 'origin/debug' into debug

rengb 5 anos atrás
pai
commit
bbab835479

+ 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;
                 }
 
             }

+ 12 - 13
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP0179.java

@@ -20,21 +20,20 @@ import java.util.Map;
 @Component
 public class FIRP0179 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if (inputInfo.getFirstPageRecordDoc() == null){
-            status.set("0");
+        status.set("0");
+        if (inputInfo.getFirstPageRecordDoc() == null) {
             return;
         }
-        if (inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
-            Map<String, Object> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
-            List<Map<String, String>> outpatientEmergencyDiags = (List) firstpageStructureMap.get(Content.outpatientEmergencyDiag);
-            if (ListUtil.isNotEmpty(outpatientEmergencyDiags)) {
-                for (Map<String, String> outpatientEmergencyDiag:outpatientEmergencyDiags) {
-                    if (!CatalogueUtil.isEmpty(outpatientEmergencyDiag.get(Content.inStatus))){
-                        status.set("0");
-                        return;
-                    }
-                }
+        Map<String, Object> firstpageStructureMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+        List<Map<String, String>> outpatientEmergencyDiags = (List) firstpageStructureMap.get(Content.dischargeDiag);
+        if (ListUtil.isEmpty(outpatientEmergencyDiags)) {
+            return;
+        }
+        for (Map<String, String> outpatientEmergencyDiag : outpatientEmergencyDiags) {
+            if (CatalogueUtil.isEmpty(outpatientEmergencyDiag.get(Content.inStatus))) {
+                status.set("-1");
+                return;
             }
         }
     }
-}
+}

+ 6 - 4
trans/src/main/java/com/lantone/qc/trans/changx/ChangxThreeLevelWardDocTrans.java

@@ -51,10 +51,12 @@ public class ChangxThreeLevelWardDocTrans extends ModelDocTrans {
             }
             cutWordMap = Preproc.getCutWordMap(true, sourceTitles, text);
             if (StringUtil.isBlank(structureMap.get("记录医师"))) {
-                Pattern p = Pattern.compile("^[^\\u4e00-\\u9fa5]+$");
-                Matcher m = p.matcher(cutWordMap.get("医师签名"));
-                if (!m.matches()) {
-                    structureMap.put("记录医师", cutWordMap.get("医师签名"));
+                if(StringUtil.isNotEmpty(cutWordMap.get("医师签名"))){
+                    Pattern p = Pattern.compile("^[^\\u4e00-\\u9fa5]+$");//分词结果如果不包含中文为日期,则不覆盖
+                    Matcher m = p.matcher(cutWordMap.get("医师签名"));
+                    if (!m.matches()) {
+                        structureMap.put("记录医师", cutWordMap.get("医师签名"));
+                    }
                 }
             }
         }

+ 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(
+            "医生=记录医师",
+            "结束时间=输注结束",
+            "开始时间=输注开始",
+            "内容=输注后效果评价"
+    );
 
 }