zhanghang 4 år sedan
förälder
incheckning
f9bb146a69

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/FIRP03110.java

@@ -12,7 +12,7 @@ import org.springframework.stereotype.Component;
 import java.util.Map;
 
 /**
- * @ClassName : FIRP0156
+ * @ClassName : FIRP03110
  * @Description : 病案首页未在患者出院院24小时内完成
  * @Author : zhanghang
  * @Date: 2021-03-31 11:12

+ 19 - 15
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/MI0156.java

@@ -12,12 +12,12 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @ClassName : MI0156
+ * @ClassName : MEDI03112
  * @Description :  医嘱存在MR,报告单未记录
  * @Author : zh
  * @Date: 2021-04-06 17:06
  */
-public class MI0156 extends QCCatalogue {
+public class MEDI03112 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         int ctNum = 0;
@@ -27,25 +27,29 @@ public class MI0156 extends QCCatalogue {
             for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocsList) {
                 Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
                 //ct取临时医嘱
-                String doctorAsks = doctorAdviceDocStructureMap.get("医生嘱托");
-                if ("临时医嘱".equals(doctorAsks)) {
-                    //取医嘱项目名称
-                    String daItemName = doctorAdviceDocStructureMap.get("医嘱项目名称");
-                    if(daItemName.contains("磁共振")||daItemName.contains("MR")){
-                        if(!daItemName.contains("IMRT")&&!daItemName.contains("mrs评分")){
-                            ctNum++;
+                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;
+                            }
                         }
                     }
                 }
             }
             List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
-            if(ListUtil.isNotEmpty(pacsDocs)&&pacsDocs.size()>0){
-                for (PacsDoc pacsDoc : pacsDocs) {
-                    String pacsDocStr = pacsDoc.getStructureMap().get("报告名称");
-                    if(StringUtil.isNotEmpty(pacsDocStr)&&pacsDocStr.contains("MR")){
-                        bcNum++;
+            if(ListUtil.isNotEmpty(pacsDocs)){
+                if(pacsDocs.size()>0) {
+                    for (PacsDoc pacsDoc : pacsDocs) {
+                        String pacsDocStr = pacsDoc.getStructureMap().get("报告名称");
+                        if (StringUtil.isNotEmpty(pacsDocStr) && pacsDocStr.contains("MR")) {
+                            bcNum++;
+                        }
                     }
                 }
             }

+ 21 - 17
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/MI0158.java

@@ -13,12 +13,12 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @ClassName : MI0159
- * @Description :  医嘱存在CT,报告单未记录
+ * @ClassName : MEDI03114
+ * @Description :接受CT情况下报告单缺少CT报告
  * @Author : zh
  * @Date: 2021-04-06 17:06
  */
-public class MI0158 extends QCCatalogue {
+public class MEDI03114 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         int ctNum = 0;
@@ -28,25 +28,29 @@ public class MI0158 extends QCCatalogue {
             for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocsList) {
                 Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
                 //ct取临时医嘱
-                String doctorAsks = doctorAdviceDocStructureMap.get("医生嘱托");
-                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 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;
+                            }
                         }
                     }
                 }
             }
             List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
-            if(ListUtil.isNotEmpty(pacsDocs)&&pacsDocs.size()>0){
-                for (PacsDoc pacsDoc : pacsDocs) {
-                    String pacsDocStr = pacsDoc.getStructureMap().get("报告名称");
-                    if(StringUtil.isNotEmpty(pacsDocStr)&&pacsDocStr.contains("CT")){
-                        bcNum++;
+            if(ListUtil.isNotEmpty(pacsDocs)){
+                if(pacsDocs.size()>0) {
+                    for (PacsDoc pacsDoc : pacsDocs) {
+                        String pacsDocStr = pacsDoc.getStructureMap().get("报告名称");
+                        if (StringUtil.isNotEmpty(pacsDocStr) && pacsDocStr.contains("CT")) {
+                            bcNum++;
+                        }
                     }
                 }
             }

+ 14 - 6
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/OPE0310.java

@@ -9,6 +9,7 @@ import com.lantone.qc.pub.model.doc.DoctorAdviceDoc;
 import com.lantone.qc.pub.model.doc.FirstPageRecordDoc;
 import com.lantone.qc.pub.model.doc.LisDoc;
 import com.lantone.qc.pub.model.doc.PacsDoc;
+import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -17,13 +18,14 @@ import java.util.List;
 import java.util.Map;
 
 /**
+ * @ClassName : MEDI03116
  * @Description: 病理检查缺少病理检查报告单
  * @author: zh
  * @time: 2021/04/06 11:22
  */
 
 @Component
-public class OPE0310 extends QCCatalogue {
+public class MEDI03116 extends QCCatalogue {
     @Override
     protected void start(InputInfo inputInfo, OutputInfo outputInfo) throws ParseException {
         status.set("0");
@@ -31,6 +33,9 @@ public class OPE0310 extends QCCatalogue {
         if (firstPageRecordDoc == null) {
             //病案首页为空判断医嘱
             List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
+            if(ListUtil.isEmpty(doctorAdviceDocs)){
+                return;
+            }
             if (doctorAdviceDocs.size() == 0) {
                 return;
             }
@@ -60,11 +65,14 @@ public class OPE0310 extends QCCatalogue {
                 }
             }
         }
-            String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊疗费").toString();
-            String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费").toString();
-            if ((pathologyMoneyStr.equals("0") && StringUtil.isEmpty(pathologyMoneyStr)) || operationMoneyStr.equals("0") && StringUtil.isEmpty(operationMoneyStr)) {
-                return;
-            }
+        String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊断费");
+        String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费");
+        if(StringUtil.isEmpty(pathologyMoneyStr)||StringUtil.isEmpty(operationMoneyStr)){
+            return;
+        }
+        if ((pathologyMoneyStr.equals("0")  || operationMoneyStr.equals("0") )) {
+            return;
+        }
             double a = Double.parseDouble(pathologyMoneyStr);
             double b = Double.parseDouble(operationMoneyStr);
             if (a > Content.pathologicalFee && b > 0) {

+ 2 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/MI0160.java

@@ -13,6 +13,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import java.util.List;
 import java.util.Map;
 /**
+ * @ClassName : MI0160
  * @Description: 病程记录缺少细菌培养结果
  * @author: zh
  * @time: 2021/04/06 11:22
@@ -25,7 +26,7 @@ public class MI0160 extends QCCatalogue {
             if(ListUtil.isNotEmpty(doctorAdviceDocList)){
                 for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocList) {
                     Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
-                    String doctorAsks = doctorAdviceDocStructureMap.get("医生嘱托");
+                    String doctorAsks = doctorAdviceDocStructureMap.get("医嘱类型判别");
                     if("临时医嘱".equals(doctorAsks)){
                         String doctorAsksName = doctorAdviceDocStructureMap.get("医嘱项目名称");
                         if(StringUtil.isNotEmpty(doctorAsksName)&&doctorAsksName.contains("细菌培养")){

+ 2 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/MI0589.java

@@ -12,6 +12,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
+ * @ClassName : MI0589
  * @Description: 报告单缺少细菌培养记录
  * @author: zh
  * @time: 2021/04/06 11:22
@@ -24,7 +25,7 @@ public class MI0589 extends QCCatalogue {
             if(ListUtil.isNotEmpty(doctorAdviceDocList)){
                 for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocList) {
                     Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
-                    String doctorAsks = doctorAdviceDocStructureMap.get("医生嘱托");
+                    String doctorAsks = doctorAdviceDocStructureMap.get("医嘱类型判别");
                     if("临时医嘱".equals(doctorAsks)){
                         String doctorAsksName = doctorAdviceDocStructureMap.get("医嘱项目名称");
                         if(StringUtil.isNotEmpty(doctorAsksName)&&doctorAsksName.contains("细菌培养")){

+ 7 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/OPE03111.java

@@ -16,6 +16,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
+ * @ClassName : OPE03111
  * @Description: 手术病理检查存在手术记录中无病理相关记录
  * @author: zh
  * @time: 2021/04/06 11:22
@@ -61,9 +62,12 @@ public class OPE03111 extends QCCatalogue {
                 }
             }
         }
-        String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊疗费").toString();
-        String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费").toString();
-        if ((pathologyMoneyStr.equals("0") && StringUtil.isEmpty(pathologyMoneyStr)) || operationMoneyStr.equals("0") && StringUtil.isEmpty(operationMoneyStr)) {
+        String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊断费");
+        String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费");
+        if(StringUtil.isEmpty(pathologyMoneyStr)||StringUtil.isEmpty(operationMoneyStr)){
+            return;
+        }
+        if ((pathologyMoneyStr.equals("0")  || operationMoneyStr.equals("0") )) {
             return;
         }
         double a = Double.parseDouble(pathologyMoneyStr);

+ 3 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/MI0159.java

@@ -13,12 +13,12 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @ClassName : MI0159
+ * @ClassName : THR03115
  * @Description :  接受CT情况下病程记录缺少CT检查记录
  * @Author : zh
  * @Date: 2021-04-06 17:06
  */
-public class MI0159 extends QCCatalogue {
+public class THR03115 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         int ctNum=0;
@@ -28,7 +28,7 @@ public class MI0159 extends QCCatalogue {
             for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocsList) {
                 Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
                 //ct取临时医嘱
-                String doctorAsks = doctorAdviceDocStructureMap.get("医生嘱托");
+                String doctorAsks = doctorAdviceDocStructureMap.get("医嘱类型判别");
                 if ("临时医嘱".equals(doctorAsks)) {
                     //取医嘱项目名称
                     String daItemName = doctorAdviceDocStructureMap.get("医嘱项目名称");

+ 8 - 5
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/THR0093.java

@@ -16,12 +16,12 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @ClassName : THR0093
+ * @ClassName : THR03117
  * @Description :  病理检查存在病程记录中无病理报告结果
  * @Author : zh
  * @Date: 2021-04-02 17:06
  */
-public class THR0093 extends QCCatalogue {
+public class THR03117 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
@@ -57,9 +57,12 @@ public class THR0093 extends QCCatalogue {
                 }
             }
         }
-        String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊疗费").toString();
-        String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费").toString();
-        if ((pathologyMoneyStr.equals("0") && StringUtil.isEmpty(pathologyMoneyStr)) || operationMoneyStr.equals("0") && StringUtil.isEmpty(operationMoneyStr)) {
+        String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊断费");
+        String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费");
+        if(StringUtil.isEmpty(pathologyMoneyStr)||StringUtil.isEmpty(operationMoneyStr)){
+            return;
+        }
+        if ((pathologyMoneyStr.equals("0")  || operationMoneyStr.equals("0") )) {
             return;
         }
         double a = Double.parseDouble(pathologyMoneyStr);

+ 18 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/THR03118.java

@@ -0,0 +1,18 @@
+package com.lantone.qc.kernel.catalogue.beilun.majorInspection;
+
+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.FirstPageRecordDoc;
+
+/**
+ * @ClassName : THR03118
+ * @Description :  病程记录未记录恶性肿瘤化学治疗相关信息
+ * @Author : zh
+ * @Date: 2021-04-019 17:06
+ */
+public class THR03118 extends QCCatalogue{
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
+    }
+}

+ 20 - 17
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/majorInspection/MI0157.java

@@ -12,12 +12,12 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @ClassName : MI0157
+ * @ClassName : THR3113
  * @Description :  接受MR情况下病程记录缺少MR检查记录
  * @Author : zh
  * @Date: 2021-04-06 17:06
  */
-public class MI0157 extends QCCatalogue {
+public class THR3113 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
         int ctNum=0;
@@ -27,26 +27,29 @@ public class MI0157 extends QCCatalogue {
             for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocsList) {
                 Map<String, String> doctorAdviceDocStructureMap = doctorAdviceDoc.getStructureMap();
                 //ct取临时医嘱
-                String doctorAsks = doctorAdviceDocStructureMap.get("医生嘱托");
-                if ("临时医嘱".equals(doctorAsks)) {
-                    //取医嘱项目名称
-                    String daItemName = doctorAdviceDocStructureMap.get("医嘱项目名称");
-                    if (daItemName.contains("磁共振") || daItemName.contains("MR")) {
-                        if (!daItemName.contains("IMRT") && !daItemName.contains("mrs评分")) {
-                            ctNum++;
-
-                            continue;
+                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;
+                            }
                         }
                     }
                 }
             }
             List<ThreeLevelWardDoc> allDoctorWradDocs = inputInfo.getThreeLevelWardDocs().get(0).getAllDoctorWradDocs();
-            if(ListUtil.isNotEmpty(allDoctorWradDocs)&&allDoctorWradDocs.size()>0){
-                for (ThreeLevelWardDoc allDoctorWradDoc : allDoctorWradDocs) {
-                    Map<String, String> structureMap = allDoctorWradDoc.getStructureMap();
-                    String records = structureMap.get("病情记录");
-                    if (records.contains("MR")&&StringUtil.isNotEmpty(records)) {
-                        bcNum++;
+            if(ListUtil.isNotEmpty(allDoctorWradDocs)) {
+                if (allDoctorWradDocs.size() > 0) {
+                    for (ThreeLevelWardDoc allDoctorWradDoc : allDoctorWradDocs) {
+                        Map<String, String> structureMap = allDoctorWradDoc.getStructureMap();
+                        String records = structureMap.get("病情记录");
+                        if (records.contains("MR") && StringUtil.isNotEmpty(records)) {
+                            bcNum++;
+                        }
                     }
                 }
             }

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/beilun/BeilunDocTrans.java

@@ -116,6 +116,10 @@ public class BeilunDocTrans extends DocTrans {
                     BeiLunLisDocTrans lisDocTrans = new BeiLunLisDocTrans();
                     inputInfo.setLisDocs(lisDocTrans.extract(i));
                 }
+                if (i.getTitle().equals("辅检")) {
+                    BeiLunPacsDocTrans pacsDocTrans = new BeiLunPacsDocTrans();
+                    inputInfo.setPacsDocs(pacsDocTrans.extract(i));
+                }
                 if (i.getTitle().equals("门诊")) {
                     BeiLunOutDepDocTrans outDepDocTrans = new BeiLunOutDepDocTrans();
                     inputInfo.setBeHospitalizedDoc(outDepDocTrans.extract(i));