Переглянути джерело

危重患者上级医师(副高及以上)查房记录不及时

chengyao 3 роки тому
батько
коміт
3ebd29a6e9

+ 0 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR03137.java

@@ -101,7 +101,6 @@ public class THR03137 extends QCCatalogue {
         }
 
         //2.1不存在【转入记录】或【转出记录】与【转入记录】数量不一致则报
-        status.set("0");
         TransferRecordDoc transferRecordDocs = inputInfo.getTransferRecordDocs();
         if(transferRecordDocs==null){
             return;

+ 0 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR03138.java

@@ -101,7 +101,6 @@ public class THR03138 extends QCCatalogue {
         }
 
         //2.1不存在【转出记录】或【转出记录】与【转入记录】数量不一致则报
-        status.set("0");
         TransferRecordDoc transferRecordDocs = inputInfo.getTransferRecordDocs();
         if(transferRecordDocs==null){
             return;

+ 18 - 8
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR03150.java

@@ -48,7 +48,6 @@ public class THR03150 extends QCCatalogue {
         }
         MedicalRecordInfoDoc medicalRecordInfoDoc = inputInfo.getMedicalRecordInfoDoc();
         List<String> noDeathList = Content.noDeathList;
-        List<Date> dateList = new ArrayList<>();
         if(ListUtil.isNotEmpty(doctorAdviceDocs)){
             sw: for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
                 //取长期临时医嘱,不为作废医嘱
@@ -91,9 +90,6 @@ public class THR03150 extends QCCatalogue {
                                 continue;
                             }
                             Date doctorStartDate = StringUtil.parseDateTime(doctorStartTime);
-                            if(null != doctorStartDate){
-                                dateList.add(doctorStartDate);
-                            }
                             //判断与出院时间是否为同一天
                             if(medicalRecordInfoDoc!=null){
                                 //获取出院时间
@@ -139,11 +135,10 @@ public class THR03150 extends QCCatalogue {
                     //去【抢救记录】内找是否有包含【上级医师姓名】/【主任】字段,若无报出
                     List<RescueDoc> rescueDocs = inputInfo.getRescueDocs();
                     if(ListUtil.isNotEmpty(rescueDocs)) {
-                        int rescueCount = 0;
                         for (RescueDoc rescueDoc : rescueDocs) {
                             String rescueDateStr= rescueDoc.getStructureMap().get("抢救开始时间")+":00";
                             Date rescueDate = DateUtil.parseDateTimeSpecical(rescueDateStr);
-                            if(ListUtil.isNotEmpty(dateList) && null != dateList.get(rescueCount) && CatalogueUtil.compareTime(rescueDate, dateList.get(rescueCount), 6 * 60L)){
+                            if(!CatalogueUtil.compareTime(rescueDate, doctorStartDate, 6 * 60L)){
                                 String text = rescueDoc.getText();
                                 if (StringUtil.isNotBlank(text)) {
                                     if (text.contains("主任") || judgeContainsDoctor(text)) {
@@ -152,14 +147,15 @@ public class THR03150 extends QCCatalogue {
                                     }
                                 }
                             }
-                            rescueCount++;
                         }
                     }
                     //首次病程录
                     FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
+                    String inDateStr = medicalRecordInfoDoc.getStructureMap().get("behospitalDate");
+                    Date inDate = StringUtil.parseDateTime(inDateStr);
                     if(firstCourseRecordDoc!=null){
                         String text = firstCourseRecordDoc.getText();
-                        if (StringUtil.isNotBlank(text)) {
+                        if (StringUtil.isNotBlank(text) && !CatalogueUtil.compareTime(doctorStartDate, inDate, 12 * 60L)) {
                             String signName = firstCourseRecordDoc.getStructureMap().get("医师签名");
                             if (text.contains("主任") || judgeContainsDoctor(signName) || judgeContainsDoctor(text)) {
                                 status.set("0");
@@ -167,6 +163,20 @@ public class THR03150 extends QCCatalogue {
                             }
                         }
                     }
+                    //入院记录
+                    BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
+                    String beDateStr = beHospitalizedDoc.getStructureMap().get("入院日期");
+                    Date beDate = StringUtil.parseDateTime(beDateStr);
+                    if(firstCourseRecordDoc!=null){
+                        String text = beHospitalizedDoc.getText();
+                        if (StringUtil.isNotBlank(text) && !CatalogueUtil.compareTime(doctorStartDate, beDate, 12 * 60L)) {
+                            String signName = beHospitalizedDoc.getStructureMap().get("医师签名");
+                            if (text.contains("主任") || judgeContainsDoctor(signName) || judgeContainsDoctor(text)) {
+                                status.set("0");
+                                return;
+                            }
+                        }
+                    }
                 }
             }
         }

+ 1 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouBeHospitalizedDocTrans.java

@@ -61,6 +61,7 @@ public class TaiZhouBeHospitalizedDocTrans extends ModelDocTrans {
         addKeyMapping(structureMap, "职业", "工作性质");
         BeHospitalizedDoc beHospitalizedDoc = beHospitalizedDocGen(structureMap); // 不走共用
         beHospitalizedDoc.setPageData((Map) structureMap);
+        beHospitalizedDoc.setText(contentMap.get("contentText").toString());
         return beHospitalizedDoc;
     }