hujing преди 5 години
родител
ревизия
14b036b0dd

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0323.java

@@ -37,7 +37,7 @@ public class OPE0323 extends QCCatalogue {
                         boolean flag = false;
                         if (operationDoc.getOperationRecordDoc() != null) {
                             String surgeon = operationDoc.getOperationRecordDoc().getStructureMap().get("手术医师");
-                            String assist1 = operationDoc.getOperationRecordDoc().getStructureMap().get("助手I");
+                            String assist1 = operationDoc.getOperationRecordDoc().getStructureMap().get("助");
                             String signature = operationDoc.getOperationRecordDoc().getStructureMap().get("主刀医师签名");
                             if (StringUtil.isNotBlank(surgeon) && StringUtil.isNotBlank(assist1)) {
                                 String operator = surgeon + ", " + assist1;

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0637.java

@@ -33,7 +33,7 @@ public class OPE0637 extends QCCatalogue {
             long count = operationDocs.stream().filter(operationDoc -> {
                 boolean flag = false;
                 if (operationDoc.getOperationRecordDoc() != null
-                        && StringUtil.isBlank(operationDoc.getOperationRecordDoc().getStructureMap().get("助"))
+                        && StringUtil.isBlank(operationDoc.getOperationRecordDoc().getStructureMap().get("助"))
                         && StringUtil.isBlank(operationDoc.getOperationRecordDoc().getStructureMap().get("助手II"))) {
                     flag = true;
                 }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/operationdiscussion/OPE0648.java

@@ -34,7 +34,7 @@ public class OPE0648 extends QCCatalogue {
                     boolean flag = false;
                     if (operationDoc.getOperationRecordDoc() != null) {
                         String surgeon = operationDoc.getOperationRecordDoc().getStructureMap().get("手术医师");
-                        String assist1 = operationDoc.getOperationRecordDoc().getStructureMap().get("助手I");
+                        String assist1 = operationDoc.getOperationRecordDoc().getStructureMap().get("助");
                         String asssit2 = operationDoc.getOperationRecordDoc().getStructureMap().get("助手II");
                         String signature = operationDoc.getOperationRecordDoc().getStructureMap().get("主刀医师签名");
 

+ 31 - 23
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0144.java

@@ -16,7 +16,7 @@ import java.util.Map;
 
 /**
  * @ClassName : THR0144
- * @Description : 患者出院前无主治医师/副主任医师/主任医师/科主任同意出院的病程记录
+ * @Description : 患者出院前无上级医师(主治及以上)同意出院的病程记录
  * @Author : 胡敬
  * @Date: 2020-03-19 17:20
  */
@@ -29,7 +29,7 @@ public class THR0144 extends QCCatalogue {
         }
         DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
         DeathCaseDiscussDoc deathCaseDiscussDoc = inputInfo.getDeathCaseDiscussDoc();
-        if (deathRecordDoc != null || deathCaseDiscussDoc != null){
+        if (deathRecordDoc != null || deathCaseDiscussDoc != null) {
             status.set("0");
             return;
         }
@@ -38,27 +38,35 @@ public class THR0144 extends QCCatalogue {
             status.set("0");
             return;
         }
-        ThreeLevelWardDoc lastWardDoc = allDoctorWradDocs.get(allDoctorWradDocs.size() - 1);
-        Map<String, String> structureMap = lastWardDoc.getStructureMap();
-        String conditionRecord = structureMap.get("病情记录");
-        String treatmentPlan = structureMap.get("治疗计划和措施");
-        String title = structureMap.get("查房标题");
-        conditionRecord = StringUtil.isBlank(conditionRecord) ? "" : conditionRecord;
-        treatmentPlan = StringUtil.isBlank(treatmentPlan) ? "" : treatmentPlan;
-        //主任或主治查房 标题需要包含“主任”或“主治”,内容需要包含“出院”
-        if ((conditionRecord.contains("出院") || treatmentPlan.contains("出院") || conditionRecord.contains("转上级医院"))
-                && StringUtil.isNotBlank(title)
-                && (CatalogueUtil.subTitle(title).contains(Content.attend)
-                || CatalogueUtil.subTitle(title).contains(Content.director)
-                || CatalogueUtil.subTitle(title).contains("主刀"))) {
-            status.set("0");
-        }
-        //普通查房 内容需要包含“上级”和“出院”
-        if (StringUtil.isBlank(title)
-                || (title.contains("日常查房记录") || title.contains("普通查房记录") || title.contains("日常病程记录"))
-                && conditionRecord.contains("上级")
-                && (conditionRecord.contains("出院") || treatmentPlan.contains("出院"))) {
-            status.set("0");
+        int j = 0; //最后两次查房记录
+        for (int i = allDoctorWradDocs.size() - 1; i > 0 && j < 2; i--) {
+            j++;
+            ThreeLevelWardDoc lastWardDoc = allDoctorWradDocs.get(i);
+            Map<String, String> structureMap = lastWardDoc.getStructureMap();
+            String conditionRecord = structureMap.get("病情记录");
+            String treatmentPlan = structureMap.get("治疗计划和措施");
+            String title = structureMap.get("查房标题");
+            if (StringUtil.isBlank(title) || title.contains("病理报告")) {
+                continue;
+            }
+            conditionRecord = StringUtil.isBlank(conditionRecord) ? "" : conditionRecord;
+            treatmentPlan = StringUtil.isBlank(treatmentPlan) ? "" : treatmentPlan;
+            //主任或主治查房 标题需要包含“主任”或“主治”,内容需要包含“出院”
+            if ((conditionRecord.contains("出院") || treatmentPlan.contains("出院") || conditionRecord.contains("转上级医院"))
+                    && (CatalogueUtil.subTitle(title).contains(Content.attend)
+                    || CatalogueUtil.subTitle(title).contains(Content.director)
+                    || CatalogueUtil.subTitle(title).contains("主刀"))) {
+                status.set("0");
+                return;
+            }
+            //普通查房 内容需要包含“上级”和“出院”
+            if (StringUtil.isBlank(title)
+                    || (title.contains("日常查房记录") || title.contains("普通查房记录") || title.contains("日常病程记录"))
+                    && conditionRecord.contains("上级")
+                    && (conditionRecord.contains("出院") || treatmentPlan.contains("出院"))) {
+                status.set("0");
+                return;
+            }
         }
     }
 }

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

@@ -80,7 +80,7 @@ public class TaiZhouFirstCourseRecordDocTrans extends ModelDocTrans {
     private List<String> keyContrasts = Lists.newArrayList(
                         "本人姓名=姓名",
             "现病史- 发病情况=发病经过",
-            "医生=记录医师",
+            "医生=医师签名",
             "治疗计划和措施=治疗计划",
             "体温(耳)=体温耳",
             "体温(口)=体温口"

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

@@ -150,6 +150,7 @@ public class TaiZhouOperationDocTrans extends ModelDocTrans {
             "结束时间=手术结束时间",
             "开始时间=手术开始时间",
             "手术医师=主刀医师",
+            "助手=一助",
             "本人姓名=姓名"
     );
 

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouThreeLevelWardDocTrans.java

@@ -140,9 +140,9 @@ public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
             if (title.contains("主刀")) {
                 String doctorTitle = getDoctorTitle(operationDocs, recordDate, "主刀医师");
                 title = title.replace("主刀", doctorTitle);
-            } else if (title.contains("助")) {
-                String doctorTitle = getDoctorTitle(operationDocs, recordDate, "助");
-                title = title.replace("助", doctorTitle);
+            } else if (title.contains("助")) {
+                String doctorTitle = getDoctorTitle(operationDocs, recordDate, "助");
+                title = title.replace("助", doctorTitle);
             }
             if (StringUtils.isNotEmpty(subTitle(title)) && subTitle(title).contains("主治")) {    //标题有代字)
                 attendingDoctorWardDoc = new AttendingDoctorWardDoc();