Kaynağa Gözat

患者出院前无上级医师(主治及以上)同意出院的病程记录

kongwz 5 yıl önce
ebeveyn
işleme
d374f62289

+ 18 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/threelevelward/THR0144.java

@@ -10,10 +10,12 @@ import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
 import com.lantone.qc.pub.util.StringUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Pattern;
 
 /**
  * @ClassName : THR0144
@@ -49,19 +51,26 @@ public class THR0144 extends QCCatalogue {
             String conditionRecord = structureMap.get("病情记录");
             String treatmentPlan = structureMap.get("治疗计划和措施");
             String title = structureMap.get("查房标题");
-            if (StringUtil.isBlank(title) || title.contains("病理报告")) {
+            String ob = structureMap.get("记录医师个人职称");
+            if ( title.contains("病理报告")) {
                 continue;
             }
             conditionRecord = StringUtil.isBlank(conditionRecord) ? "" : conditionRecord;
             treatmentPlan = StringUtil.isBlank(treatmentPlan) ? "" : treatmentPlan;
             //主任或主治查房 标题需要包含“主任”或“主治”,内容需要包含“出院”
-            if ((conditionRecord.contains("出院") || treatmentPlan.contains("出院") || conditionRecord.contains("转上级医院"))
+            if (StringUtils.isNotBlank(title) && (conditionRecord.contains("出院") || treatmentPlan.contains("出院") || leave_method(treatmentPlan))
                     && (CatalogueUtil.subTitle(title).contains(Content.attend)
                     || CatalogueUtil.subTitle(title).contains(Content.director)
                     || CatalogueUtil.subTitle(title).contains("主刀"))) {
                 status.set("0");
                 return;
             }
+            //title为空,treatmentPlan里包含出院或转院,记录医师职称为A/F
+            if(StringUtils.isBlank(title) && StringUtils.isNotBlank(ob) && (conditionRecord.contains("出院") || treatmentPlan.contains("出院") || leave_method(treatmentPlan))
+            && (ob.equals("A") || ob.equals("F"))){
+                status.set("0");
+                return;
+            }
             //普通查房 内容需要包含“上级”和“出院”
             if (StringUtil.isBlank(title)
                     || (title.contains("日常查房记录") || title.contains("普通查房记录") || title.contains("日常病程记录"))
@@ -72,4 +81,11 @@ public class THR0144 extends QCCatalogue {
             }
         }
     }
+
+    public boolean leave_method(String content){
+        String compile = "(?<=转)(.+)(?=院)";
+        Pattern p = Pattern.compile(compile);
+        boolean b = p.matcher(content).find();
+        return b;
+    }
 }

+ 1 - 1
kernel/src/main/resources/application.yml

@@ -1,5 +1,5 @@
 server:
-  port: 6009 # 端口号
+  port: 6008 # 端口号
   servlet:
     context-path: ${spring.application.name}  # 访问路径,如果不配置,访问IP:端口号,配置后访问IP:端口号/${context-path}