zhanghang 4 years ago
parent
commit
d1d552bde2

+ 16 - 10
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/MEDI03112.java

@@ -26,17 +26,23 @@ public class MEDI03112 extends QCCatalogue {
         if (ListUtil.isNotEmpty(doctorAdviceDocsList)) {
             for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocsList) {
                 Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
-                //ct取临时医嘱
-                String doctorAsks = doctorAdviceDocStructureMap.get("医嘱类型判别");
-                if(StringUtil.isNotEmpty(doctorAsks)) {
-                    if ("临时医嘱".equals(doctorAsks)) {
-                        //取医嘱项目名称
-                        String daItemName = doctorAdviceDocStructureMap.get("医嘱项目名称");
-                        if (daItemName.contains("磁共振") || daItemName.contains("MR")) {
-                            if (!daItemName.contains("IMRT") && !daItemName.contains("mrs评分")) {
-                                ctNum++;
+                String state = doctorAdviceDocStructureMap.get("医嘱状态判别");
+                if(StringUtil.isEmpty(state)){
+                    continue;
+                }
+                if(state.equals("在用")) {
+                    //ct取临时医嘱
+                    String doctorAsks = doctorAdviceDocStructureMap.get("医嘱类型判别");
+                    if (StringUtil.isNotEmpty(doctorAsks)) {
+                        if ("临时医嘱".equals(doctorAsks)) {
+                            //取医嘱项目名称
+                            String daItemName = doctorAdviceDocStructureMap.get("医嘱项目名称");
+                            if (daItemName.contains("磁共振") || daItemName.contains("MR")) {
+                                if (!daItemName.contains("IMRT") && !daItemName.contains("mrs评分")) {
+                                    ctNum++;
 
-                                continue;
+                                    continue;
+                                }
                             }
                         }
                     }

+ 17 - 11
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/MEDI03114.java

@@ -27,17 +27,23 @@ public class MEDI03114 extends QCCatalogue {
         if (ListUtil.isNotEmpty(doctorAdviceDocsList)) {
             for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocsList) {
                 Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
-                //ct取临时医嘱
-                String doctorAsks = doctorAdviceDocStructureMap.get("医嘱类型判别");
-                if (StringUtil.isNotEmpty(doctorAsks)) {
-                    if ("临时医嘱".equals(doctorAsks)) {
-                        //取医嘱项目名称
-                        String daItemName = doctorAdviceDocStructureMap.get("医嘱项目名称");
-                        if (daItemName.contains("CT") || daItemName.contains("X线")) {
-                            if ((!daItemName.contains("ATCH") && !daItemName.contains("TCT") && !daItemName.contains("HCT") && !daItemName.contains("OCT") && !daItemName.contains("NCT") && !daItemName.contains("LCT") && !daItemName.contains("ACT")) || (daItemName.contains("停"))) {
-                                //都不包含为CT
-                                ctNum++;
-                                continue;
+                String state = doctorAdviceDocStructureMap.get("医嘱状态判别");
+                if(StringUtil.isEmpty(state)){
+                    continue;
+                }
+                if(state.equals("在用")) {
+                    //ct取临时医嘱
+                    String doctorAsks = doctorAdviceDocStructureMap.get("医嘱类型判别");
+                    if (StringUtil.isNotEmpty(doctorAsks)) {
+                        if ("临时医嘱".equals(doctorAsks)) {
+                            //取医嘱项目名称
+                            String daItemName = doctorAdviceDocStructureMap.get("医嘱项目名称");
+                            if (daItemName.contains("CT") || daItemName.contains("X线")) {
+                                if ((!daItemName.contains("ATCH") && !daItemName.contains("TCT") && !daItemName.contains("HCT") && !daItemName.contains("OCT") && !daItemName.contains("NCT") && !daItemName.contains("LCT") && !daItemName.contains("ACT")) || (daItemName.contains("停"))) {
+                                    //都不包含为CT
+                                    ctNum++;
+                                    continue;
+                                }
                             }
                         }
                     }

+ 27 - 21
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/MEDI03116.java

@@ -40,24 +40,30 @@ public class MEDI03116 extends QCCatalogue {
                 return;
             }
             for (DoctorAdviceDoc dad : doctorAdviceDocs) {
-                String name = dad.getStructureMap().get("医嘱项目名称");
-                if (name.contains("非手术") || name.contains("手术室") || (name.contains("手术") && name.contains("取消")) || (name.contains("暂停") && name.contains("手术")) || name.contains("静脉穿刺置管术") || name.startsWith("停") || name.contains("前一次")
-                        || name.contains("特殊病人手术使用一次性卫生材料") || name.contains("人免疫缺陷病毒抗体检测免费")) {
+                Map<String, String> structureMap = dad.getStructureMap();
+                String state = structureMap.get("医嘱状态判别");
+                if(StringUtil.isEmpty(state)){
                     continue;
                 }
-                if (name.contains("手术")) {
-                    for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
-                        String adviceDocName = doctorAdviceDoc.getStructureMap().get("医嘱项目名称");
-                        if (adviceDocName.contains("病理")) {
-                            List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
-                            for (PacsDoc pacsDoc : pacsDocs) {
-                                Map<String, String> pacsDocStructureMap = pacsDoc.getStructureMap();
-                                String pacsDocStr = pacsDocStructureMap.get("报告名称");
-                                if (pacsDocStr.contains("病理")) {
-                                    return;
-                                } else {
-                                    status.set("-1");
-                                    return;
+                if(state.equals("在用")) {
+                    String name = structureMap.get("医嘱项目名称");
+                    if (name.contains("非手术") || name.contains("手术室") || (name.contains("手术") && name.contains("取消")) || (name.contains("暂停") && name.contains("手术")) || name.contains("静脉穿刺置管术") || name.startsWith("停") || name.contains("前一次")
+                            || name.contains("特殊病人手术使用一次性卫生材料") || name.contains("人免疫缺陷病毒抗体检测免费")) {
+                        continue;
+                    }
+                    if (name.contains("手术")) {
+                        for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
+                            String adviceDocName = doctorAdviceDoc.getStructureMap().get("医嘱项目名称");
+                            if (adviceDocName.contains("病理")) {
+                                status.set("-1");
+                                List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
+                                for (PacsDoc pacsDoc : pacsDocs) {
+                                    Map<String, String> pacsDocStructureMap = pacsDoc.getStructureMap();
+                                    String pacsDocStr = pacsDocStructureMap.get("报告名称");
+                                    if (pacsDocStr.contains("病理")) {
+                                        status.set("0");
+                                        return;
+                                    }
                                 }
                             }
                         }
@@ -65,8 +71,9 @@ public class MEDI03116 extends QCCatalogue {
                 }
             }
         }
-        String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊断费");
-        String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费");
+        Map<String, String> firstPageRecordDocStructureMap = firstPageRecordDoc.getStructureMap();
+        String pathologyMoneyStr = firstPageRecordDocStructureMap.get("病理诊断费");
+        String operationMoneyStr = firstPageRecordDocStructureMap.get("手术费");
         if(StringUtil.isEmpty(pathologyMoneyStr)||StringUtil.isEmpty(operationMoneyStr)){
             return;
         }
@@ -76,14 +83,13 @@ public class MEDI03116 extends QCCatalogue {
             double a = Double.parseDouble(pathologyMoneyStr);
             double b = Double.parseDouble(operationMoneyStr);
             if (a > Content.pathologicalFee && b > 0) {
+                status.set("-1");
                 List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
                 for (PacsDoc pacsDoc : pacsDocs) {
                     Map<String, String> pacsDocStructureMap = pacsDoc.getStructureMap();
                     String pacsDocStr = pacsDocStructureMap.get("报告名称");
                     if (pacsDocStr.contains("病理")) {
-                        return;
-                    } else {
-                        status.set("-1");
+                        status.set("0");
                         return;
                     }
 

+ 27 - 19
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/OPE03111.java

@@ -35,25 +35,32 @@ public class OPE03111 extends QCCatalogue {
                 return;
             }
             for (DoctorAdviceDoc dad : doctorAdviceDocs) {
-                String name = dad.getStructureMap().get("医嘱项目名称");
-                if (name.contains("非手术") || name.contains("手术室") || (name.contains("手术") && name.contains("取消")) || (name.contains("暂停") && name.contains("手术")) || name.contains("静脉穿刺置管术") || name.startsWith("停") || name.contains("前一次")
-                        || name.contains("特殊病人手术使用一次性卫生材料") || name.contains("人免疫缺陷病毒抗体检测免费")) {
+                Map<String, String> dadStructureMap = dad.getStructureMap();
+                String state = dadStructureMap.get("医嘱状态判别");
+                if(StringUtil.isEmpty(state)){
                     continue;
                 }
-                if (name.contains("手术")) {
-                    for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
-                        String adviceDocName = doctorAdviceDoc.getStructureMap().get("医嘱项目名称");
-                        if (adviceDocName.contains("病理")) {
-                            status.set("-1");
-                            //判断有无手术记录
-                            List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
-                            if (operationDocs != null && operationDocs.size() > 0) {
-                                //有手术记录的情况下,手术记录中应该出现体现有标本
-                                String operationDocsStr = operationDocs.get(0).getOperationRecordDoc().getStructureMap().get("手术经过及处理");
-                                if(StringUtil.isNotBlank(operationDocsStr)){
-                                    if(operationDocsStr.contains("标本")){
-                                        status.set("0");
-                                        return;
+                if(state.equals("在用")) {
+                    String name = dadStructureMap.get("医嘱项目名称");
+                    if (name.contains("非手术") || name.contains("手术室") || (name.contains("手术") && name.contains("取消")) || (name.contains("暂停") && name.contains("手术")) || name.contains("静脉穿刺置管术") || name.startsWith("停") || name.contains("前一次")
+                            || name.contains("特殊病人手术使用一次性卫生材料") || name.contains("人免疫缺陷病毒抗体检测免费")) {
+                        continue;
+                    }
+                    if (name.contains("手术")) {
+                        for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
+                            String adviceDocName = doctorAdviceDoc.getStructureMap().get("医嘱项目名称");
+                            if (adviceDocName.contains("病理")) {
+                                status.set("-1");
+                                //判断有无手术记录
+                                List<OperationDoc> operationDocs = inputInfo.getOperationDocs();
+                                if (operationDocs != null && operationDocs.size() > 0) {
+                                    //有手术记录的情况下,手术记录中应该出现体现有标本
+                                    String operationDocsStr = operationDocs.get(0).getOperationRecordDoc().getStructureMap().get("手术经过及处理");
+                                    if (StringUtil.isNotBlank(operationDocsStr)) {
+                                        if (operationDocsStr.contains("标本")) {
+                                            status.set("0");
+                                            return;
+                                        }
                                     }
                                 }
                             }
@@ -62,8 +69,9 @@ public class OPE03111 extends QCCatalogue {
                 }
             }
         }
-        String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊断费");
-        String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费");
+        Map<String, String> structureMap = firstPageRecordDoc.getStructureMap();
+        String pathologyMoneyStr = structureMap.get("病理诊断费");
+        String operationMoneyStr = structureMap.get("手术费");
         if(StringUtil.isEmpty(pathologyMoneyStr)||StringUtil.isEmpty(operationMoneyStr)){
             return;
         }

+ 6 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/THR03115.java

@@ -27,6 +27,11 @@ public class THR03115 extends QCCatalogue {
         if(ListUtil.isNotEmpty(doctorAdviceDocsList)) {
             for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocsList) {
                 Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
+                String state = doctorAdviceDocStructureMap.get("医嘱状态判别");
+                if(StringUtil.isEmpty(state)){
+                    continue;
+                }
+                if(state.equals("在用")) {
                 //ct取临时医嘱
                 String doctorAsks = doctorAdviceDocStructureMap.get("医嘱类型判别");
                 if ("临时医嘱".equals(doctorAsks)) {
@@ -40,6 +45,7 @@ public class THR03115 extends QCCatalogue {
                         }
                     }
                 }
+                }
             }
             List<ThreeLevelWardDoc> allDoctorWradDocs = inputInfo.getThreeLevelWardDocs().get(0).getAllDoctorWradDocs();
             if(ListUtil.isNotEmpty(allDoctorWradDocs)&&allDoctorWradDocs.size()>0){

+ 26 - 15
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/THR03117.java

@@ -32,7 +32,13 @@ public class THR03117 extends QCCatalogue {
                 return;
             }
             for (DoctorAdviceDoc dad : doctorAdviceDocs) {
-                String name = dad.getStructureMap().get("医嘱项目名称");
+                Map<String, String> dadStructureMap = dad.getStructureMap();
+                String state = dadStructureMap.get("医嘱状态判别");
+                if(StringUtil.isEmpty(state)){
+                    continue;
+                }
+                if(state.equals("在用")) {
+                String name = dadStructureMap.get("医嘱项目名称");
                 if (name.contains("非手术") || name.contains("手术室") || (name.contains("手术") && name.contains("取消")) || (name.contains("暂停") && name.contains("手术")) || name.contains("静脉穿刺置管术") || name.startsWith("停") || name.contains("前一次")
                         || name.contains("特殊病人手术使用一次性卫生材料") || name.contains("人免疫缺陷病毒抗体检测免费")) {
                     continue;
@@ -41,24 +47,31 @@ public class THR03117 extends QCCatalogue {
                     for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
                         String adviceDocName = doctorAdviceDoc.getStructureMap().get("医嘱项目名称");
                         if (adviceDocName.contains("病理")) {
-                            List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
-                            for (PacsDoc pacsDoc : pacsDocs) {
-                                Map<String, String> pacsDocStructureMap = pacsDoc.getStructureMap();
-                                String pacsDocStr = pacsDocStructureMap.get("报告名称");
-                                if (pacsDocStr.contains("病理")) {
-                                    return;
-                                } else {
-                                    status.set("-1");
+                            status.set("-1");
+                            //查房记录查找病理报告
+                            ThreeLevelWardDoc threeLevelWardDoc = inputInfo.getThreeLevelWardDocs().get(0);
+                            //所有查房记录
+                            List<ThreeLevelWardDoc> allDoctorWradDocs = threeLevelWardDoc.getAllDoctorWradDocs();
+                            if(ListUtil.isEmpty(allDoctorWradDocs)){
+                                return;
+                            }
+                            for (ThreeLevelWardDoc allDoctorWradDoc : allDoctorWradDocs) {
+                                String pathographyStr = allDoctorWradDoc.getStructureMap().get("病情记录");
+                                if(pathographyStr.contains("病理报告")){
+                                    status.set("0");
                                     return;
                                 }
                             }
+
                         }
                     }
+                    }
                 }
             }
         }
-        String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊断费");
-        String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费");
+        Map<String, String> structureMap = firstPageRecordDoc.getStructureMap();
+        String pathologyMoneyStr = structureMap.get("病理诊断费");
+        String operationMoneyStr = structureMap.get("手术费");
         if(StringUtil.isEmpty(pathologyMoneyStr)||StringUtil.isEmpty(operationMoneyStr)){
             return;
         }
@@ -68,20 +81,18 @@ public class THR03117 extends QCCatalogue {
         double a = Double.parseDouble(pathologyMoneyStr);
         double b = Double.parseDouble(operationMoneyStr);
         if (a > Content.pathologicalFee && b > 0) {
+            status.set("-1");
             //查房记录查找病理报告
             ThreeLevelWardDoc threeLevelWardDoc = inputInfo.getThreeLevelWardDocs().get(0);
             //所有查房记录
             List<ThreeLevelWardDoc> allDoctorWradDocs = threeLevelWardDoc.getAllDoctorWradDocs();
             if(ListUtil.isEmpty(allDoctorWradDocs)){
-                status.set("-1");
                 return;
             }
             for (ThreeLevelWardDoc allDoctorWradDoc : allDoctorWradDocs) {
                 String pathographyStr = allDoctorWradDoc.getStructureMap().get("病情记录");
                 if(pathographyStr.contains("病理报告")){
-                    return;
-                }else {
-                    status.set("-1");
+                    status.set("0");
                     return;
                 }
             }

+ 6 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/THR3113.java

@@ -26,6 +26,11 @@ public class THR3113 extends QCCatalogue {
         if(ListUtil.isNotEmpty(doctorAdviceDocsList)) {
             for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocsList) {
                 Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
+                String state = doctorAdviceDocStructureMap.get("医嘱状态判别");
+                if(StringUtil.isEmpty(state)){
+                    continue;
+                }
+                if(state.equals("在用")) {
                 //ct取临时医嘱
                 String doctorAsks = doctorAdviceDocStructureMap.get("医嘱类型判别");
                 if (StringUtil.isNotEmpty(doctorAsks)) {
@@ -39,6 +44,7 @@ public class THR3113 extends QCCatalogue {
                             }
                         }
                     }
+                    }
                 }
             }
             List<ThreeLevelWardDoc> allDoctorWradDocs = inputInfo.getThreeLevelWardDocs().get(0).getAllDoctorWradDocs();