فهرست منبع

北仑: Trans层修改取得的主任和主治查房信息

huj 4 سال پیش
والد
کامیت
702ec7d302

+ 10 - 10
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR0136.java

@@ -44,17 +44,17 @@ public class THR0136 extends QCCatalogue {
         DirectorDoctorWardDoc firstDirectDoc = directorDocs.get(0);
         //先取结构化数据判断
         Map<String, String> firstDirectStructureMap = firstDirectDoc.getStructureMap();
-//        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
-//        String recordDateStr = firstDirectStructureMap.get("查房日期");
-//        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
-//            status.set("0");
-//            return;
-//        }
+        String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
+        String recordDateStr = firstDirectStructureMap.get("查房日期");
+        if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
+            status.set("0");
+            return;
+        }
         //如果首次查房超过72小时则不判断该条规则
-//        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 72 * 60L)) {
-//            status.set("0");
-//            return;
-//        }
+        if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 72 * 60L)) {
+            status.set("0");
+            return;
+        }
         String conditionRecord = firstDirectStructureMap.get("病情记录");
         if (StringUtil.isNotBlank(conditionRecord)) {
             if (conditionRecord.contains("鉴别")

+ 20 - 13
trans/src/main/java/com/lantone/qc/trans/beilun/BeiLunThreeLevelWardDocTrans.java

@@ -147,7 +147,7 @@ public class BeiLunThreeLevelWardDocTrans extends ModelDocTrans {
                 String doctorTitle = getDoctorTitle(operationDocs, recordDate, "一助");
                 title = title.replace("一助", doctorTitle);
             }
-            if ((StringUtils.isNotEmpty(subTitle(title)) && subTitle(title).contains("主任")) || findDirector(title, content)) {
+            if ((StringUtils.isNotEmpty(subTitle(title)) && subTitle(title).contains("主任")) || findDirector(content)) {
                 directorDoctorWardDoc = new DirectorDoctorWardDoc();
                 directorDoctorWardDoc.setStructureMap(structureMap);
                 directorDoctorWardDoc.setPageData((Map) structureMap);
@@ -177,7 +177,7 @@ public class BeiLunThreeLevelWardDocTrans extends ModelDocTrans {
                 title = title.replace("一助", doctorTitle);
             }
             if ((StringUtils.isNotEmpty(subTitle(title)) && subTitle(title).contains("主治"))
-                    || findAttend(title, content)) {
+                    || findAttend(content)) {
                 attendingDoctorWardDoc = new AttendingDoctorWardDoc();
                 attendingDoctorWardDoc.setStructureMap(structureMap);
                 attendingDoctorWardDoc.setPageData((Map) structureMap);
@@ -189,29 +189,36 @@ public class BeiLunThreeLevelWardDocTrans extends ModelDocTrans {
     /**
      * 共同照护讨论记录中找主任查房
      *
-     * @param title
      * @param content
      * @return
      */
-    private boolean findDirector(String title, String content) {
-        return title.contains("共同照护讨论记录") && content.contains("主任");
+    private boolean findDirector(String content) {
+        String director = "";
+        if (content.indexOf(",") != -1) {
+            director = content.substring(0, content.indexOf(","));
+        }
+        return director.contains("主任");
     }
 
     /**
      * 共同照护讨论记录中找主治查房
      *
-     * @param title
      * @param content
      * @return
      */
-    private boolean findAttend(String title, String content) {
-        Pattern p = Pattern.compile("(?<=主治医师).+?(?=住院医师)");
-        Matcher m = p.matcher(content);
-        String result = "";
-        while (m.find()) {
-            result = m.group().trim();
+    private boolean findAttend(String content) {
+        String director = "";
+        if (content.indexOf(",") != -1) {
+            director = content.substring(0, content.indexOf(","));
         }
-        return title.contains("共同照护讨论记录") && StringUtil.isNotEmpty(result.replace(":", "").replace(":", ""));
+        return director.contains("主治");
+//        Pattern p = Pattern.compile("(?<=主治医师).+?(?=住院医师)");
+//        Matcher m = p.matcher(content);
+//        String result = "";
+//        while (m.find()) {
+//            result = m.group().trim();
+//        }
+//        return StringUtil.isNotEmpty(result.replace(":", "").replace(":", ""));
     }
 
     private String subTitle(String srcText) {