Browse Source

模块注释

chengyao 4 năm trước cách đây
mục cha
commit
86c4dd5ac7

+ 0 - 1
structure-center/src/main/java/com/lantone/structure/ai/process/EntityProcessEZaAll.java

@@ -7,7 +7,6 @@ import com.lantone.structure.ai.model.EntityEnum;
 import com.lantone.structure.ai.model.Lemma;
 import com.lantone.structure.model.doc.BeHospitalizedDoc;
 import com.lantone.structure.model.entity.*;
-import com.lantone.structure.model.label.FamilyLabel;
 import com.lantone.structure.model.label.PastLabel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

+ 6 - 6
structure-center/src/main/java/com/lantone/structure/facade/StructureFacade.java

@@ -44,9 +44,9 @@ public class StructureFacade {
             case "出院小结":
                 targetTran = new LeaveHospitalTran();
                 break;
-          /*  case "术前小结":
+            case "术前小结":
                 targetTran = new PreoperativeDiscussionTran();
-                break;*/
+                break;
             case "转科记录":
                 targetTran = new TransferRecordTran();
                 break;
@@ -56,7 +56,7 @@ public class StructureFacade {
             case "疑难病例讨论记录":
                 targetTran = new DifficultCaseDiscussTran();
                 break;
-           /* case "上级医师查房记录":
+            /*case "上级医师查房记录":
                 targetTran = new ThreeLevelWardTran();
                 break;*/
             case "入院记录":
@@ -92,10 +92,10 @@ public class StructureFacade {
             /*case "一般手术记录":
                 targetTran = new OperationRecordDocTran();
                 break;*/
-           /* case "术前讨论":
+            case "术前讨论":
                 targetTran = new PreoperativeDiscussionTran();
-                break;*/
-          /*  case "术后首次病程记录":
+                break;
+           /* case "术后首次病程记录":
                 targetTran = new OperationDiscussionTran();
                 break;
             case "日常病程记录":

+ 48 - 6
structure-center/src/main/java/com/lantone/structure/facade/tran/OperationDiscussionTran.java

@@ -72,8 +72,44 @@ public class OperationDiscussionTran extends TargetTran {
                 }
             }
         }
-        if(text.contains("患者诊断")){
-            String sureStr = text.substring(text.indexOf("患者诊断") + "患者诊断".length());
+        String flagTitle = "患者诊断";
+        if(text.contains("修正诊断")){
+            flagTitle = "修正诊断";
+        }
+        if(text.contains("目前诊断")){
+            flagTitle = "目前诊断";
+        }
+        String flagTitleFir = "探查:";
+        if(text.contains("分析病历特点:")){
+            flagTitleFir = "分析病历特点:";
+        }
+        String flagTitleSec = "诊疗计划";
+        String flagTitleThr = "注意事项";
+        if(text.contains(flagTitle)){
+            String sureStr = text.substring(text.indexOf(flagTitle) + flagTitle.length());
+            //诊断依据
+            if(sureStr.contains(flagTitleFir)){
+                String strSec = sureStr.substring(sureStr.indexOf(flagTitleFir) + flagTitleFir.length());
+                if(strSec.contains(flagTitleSec)){
+                    strSec = strSec.substring(0,strSec.indexOf(flagTitleSec));
+                }
+                if(StringUtil.isNotEmpty(strSec)){
+                    retMap.put("诊断依据",strSec);
+                }
+            }
+            //注意事项
+            if(sureStr.contains(flagTitleThr)){
+                String strSec = sureStr.substring(sureStr.indexOf(flagTitleThr) + flagTitleThr.length());
+                if(strSec.contains("/")){
+                    strSec = strSec.substring(0,strSec.indexOf("/"));
+                }
+                if(StringUtil.isNotEmpty(strSec)){
+                    retMap.put("注意事项",strSec);
+                }
+            }
+            if(sureStr.contains("鉴别诊断")){
+                sureStr = sureStr.substring(0,sureStr.indexOf("鉴别诊断"));
+            }
             if(sureStr.contains("禁忌症")){
                 sureStr = sureStr.substring(0,sureStr.indexOf("禁忌症"));
             }
@@ -85,15 +121,18 @@ public class OperationDiscussionTran extends TargetTran {
             }
             retMap.put("术后诊断名称",sureStr);
         }
-        if(text.contains("注意观察")){
-            String sureStr = text.substring(text.indexOf("注意观察") + "注意观察".length());
+        if(text.contains("注意观察") && StringUtil.isEmpty(retMap.get("注意事项"))){
+            String sureStr = text.substring(text.indexOf("注意观察"));
+            if(sureStr.contains("评分:")){
+                sureStr = sureStr.substring(0,sureStr.indexOf("评分:"));
+            }
             if(sureStr.contains("。")){
-                sureStr = sureStr.split("。")[0];
+                sureStr = sureStr.substring(0,sureStr.lastIndexOf("。"));
             }
             retMap.put("注意事项",sureStr);
         }
         String signName= parseString(text);
-        if(StringUtil.isNotEmpty(signName)){
+        if(StringUtil.isNotEmpty(signName)&& !signName.contains(text)){
             retMap.put("医师签名",signName);
         }
 
@@ -154,5 +193,8 @@ public class OperationDiscussionTran extends TargetTran {
             text= parseString(text);
         }
         return text;
+
+
+
     }
 }

+ 1 - 0
structure-center/src/main/java/com/lantone/structure/facade/tran/PreoperativeDiscussionTran.java

@@ -33,6 +33,7 @@ public class PreoperativeDiscussionTran extends TargetTran {
         Map<String, String> retMap = new HashMap<String, String>();
         Boolean falg = false;
         String file = text.split("\n")[0];
+        //术前小结-术前讨论
         if(file.contains("讨论记录") || file.contains("术前讨论")){
             structureMap = cutWordRe(text);
             falg = true;