Przeglądaj źródła

初步诊断处理

rengb 5 lat temu
rodzic
commit
f7b6db5d26

+ 19 - 0
public/src/main/java/com/lantone/qc/pub/util/StringUtil.java

@@ -137,6 +137,25 @@ public class StringUtil {
         return false;
     }
 
+    /**
+     * 标点符号空格等转逗号分割
+     *
+     * @param content
+     * @return
+     */
+    public static String specialCharComma(String content) {
+        if (StringUtil.isNotBlank(content)) {
+            content = content.replaceAll("(\\d+)|[、,。.;;??]", " ").replaceAll("(\\s+)", ",");
+            if (content.indexOf(",") == 0) {
+                content = content.substring(1);
+            }
+            if (content.lastIndexOf(",") == content.length() - 1) {
+                content = content.substring(0, content.length() - 1);
+            }
+        }
+        return content;
+    }
+
     /**
      * 比较两个字符串集合是否内容一样,即A包含B,B包含A,交集为空
      * 个数、顺序不考虑

+ 9 - 1
trans/src/main/java/com/lantone/qc/trans/changx/BeHospitalizedDocTrans.java

@@ -4,6 +4,7 @@ import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.keys.ModelStandardKeys;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 
 import java.util.Map;
@@ -16,11 +17,18 @@ import java.util.Map;
 public class BeHospitalizedDocTrans extends ModelDocTrans {
 
     public BeHospitalizedDoc extract(MedrecVo medrecVo) {
+        String content = medrecVo.getContent().get("content").toString();
+        int index1 = content.indexOf("初步诊断") + 5;
+        int index2 = content.indexOf("修正诊断") - 1;
+        content = content.substring(0, index1)
+                + StringUtil.specialCharComma(content.substring(index1, index2))
+                + content.substring(index2);
+
         Map<String, String> structureMap =
                 getPreproc().extract_doc_pub(
                         false,
                         ListUtil.isEmpty(medrecVo.getLabel()) ? ModelStandardKeys.beHospitalized : medrecVo.getLabel(),
-                        medrecVo.getContent().get("content").toString()
+                        content
                 );
 
         structureMap.put("体格检查", structureMap.get("体格检查(一)"));