|
@@ -10,6 +10,7 @@ import com.lantone.structure.model.entity.*;
|
|
|
import com.lantone.structure.model.label.PastLabel;
|
|
|
import com.lantone.structure.util.MapUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
|
|
|
|
import java.util.*;
|
|
@@ -204,43 +205,56 @@ public class BeHospitalizedTran extends TargetTran {
|
|
|
String firStr = text.substring(text.lastIndexOf("体 格 检 查"));
|
|
|
String[] splits = firStr.split("\n");
|
|
|
String split =splits[0];
|
|
|
- if(splits.length>1){
|
|
|
- split =splits[1];
|
|
|
+ for (int i = 1; i < splits.length; i++) {
|
|
|
+ if(StringUtils.isEmpty(splits[i].trim())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if((splits[i].contains("T") || splits[i].contains("t"))&& (splits[i].contains("mmHg") || splits[i].contains("BP") || splits[i].contains("Bp"))){
|
|
|
+ split = splits[i];
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- if(split.contains("专 科 检 查")){
|
|
|
- split = split.substring(0, split.lastIndexOf("专 科 检 查"));
|
|
|
- }
|
|
|
- if(split.contains("其他:")){
|
|
|
- split = split.substring(0, split.lastIndexOf("其他:"));
|
|
|
+
|
|
|
+ List<String> checkList = Arrays.asList("专 科 检 查", "其他:","一般情况");
|
|
|
+ for (String str : checkList) {
|
|
|
+ if(split.contains(str)){
|
|
|
+ split = split.substring(0, split.lastIndexOf(str));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- String[] splitRet = split.split(",");
|
|
|
- for (int i = 0; i < splitRet.length; i++) {
|
|
|
- if(splitRet[i].contains("T") && splitRet[i].contains("℃") ){
|
|
|
- String t = splitRet[i].substring(splitRet[i].indexOf("T")+"T".length());
|
|
|
+
|
|
|
+ if(split.contains("T") && split.contains("℃") ){
|
|
|
+ String t = split.substring(split.indexOf("T")+"T".length(),split.indexOf("℃")+"℃".length());
|
|
|
+ split = split.substring(split.indexOf(t)+t.length());
|
|
|
if(StringUtil.isNotEmpty(t)){
|
|
|
retMap.put("体格检查--体温(℃)", t);
|
|
|
}
|
|
|
}
|
|
|
- if(splitRet[i].contains("P")){
|
|
|
- String p = splitRet[i].substring(splitRet[i].indexOf("P")+"P".length());
|
|
|
+ if(split.contains("P") && split.contains("分")){
|
|
|
+ String p = split.substring(split.indexOf("P")+"P".length(),split.indexOf("分")+"分".length());
|
|
|
+ split = split.substring(split.indexOf(p)+p.length());
|
|
|
if(StringUtil.isNotEmpty(p)){
|
|
|
retMap.put("体格检查--脉率(次/min)", p);
|
|
|
}
|
|
|
}
|
|
|
- if(splitRet[i].contains("R")){
|
|
|
- String r = splitRet[i].substring(splitRet[i].indexOf("R")+"R".length());
|
|
|
+ if(split.contains("R") && split.contains("分")){
|
|
|
+ String r = split.substring(split.indexOf("R")+"R".length(),split.indexOf("分")+"分".length());
|
|
|
+ split = split.substring(split.indexOf(r)+r.length());
|
|
|
if(StringUtil.isNotEmpty(r)){
|
|
|
retMap.put("体格检查--呼吸频率(次/min)", r);
|
|
|
}
|
|
|
}
|
|
|
- if(splitRet[i].contains("Bp")){
|
|
|
+ String bp = "Bp";
|
|
|
+ if(split.contains("BP")){
|
|
|
+ bp = "BP";
|
|
|
+ };
|
|
|
+ if(split.contains(bp) && split.contains("mmHg")){
|
|
|
String flag = "/";
|
|
|
- if(splitRet[i].contains("/")){
|
|
|
+ if(split.contains("/")){
|
|
|
flag = "/";
|
|
|
}
|
|
|
- String b = splitRet[i].substring(splitRet[i].indexOf("Bp")+"Bp".length(),splitRet[i].indexOf(flag));
|
|
|
- String p = splitRet[i].substring(splitRet[i].indexOf(flag)+flag.length(),splitRet[i].lastIndexOf("mmHg")+"mmHg".length());
|
|
|
+ String b = split.substring(split.indexOf(bp)+bp.length(),split.indexOf(flag));
|
|
|
+ String p = split.substring(split.indexOf(flag)+flag.length(),split.lastIndexOf("mmHg")+"mmHg".length());
|
|
|
if(StringUtil.isNotEmpty(b)){
|
|
|
retMap.put("体格检查--收缩压(mmHg)", b+"mmHg");
|
|
|
}
|
|
@@ -248,7 +262,7 @@ public class BeHospitalizedTran extends TargetTran {
|
|
|
retMap.put("体格检查--舒张压(mmHg)", p);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
if(StringUtil.isEmpty(retMap.get("流行病史"))){
|