|
@@ -18,6 +18,9 @@ import com.lantone.qc.trans.comsis.OrdinaryAssistant;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -53,15 +56,40 @@ public class BeHospitalizedDocTrans extends ModelDocTrans {
|
|
|
List<String> sortTitles = CommonAnalysisUtil.sortTitles(titles, text);
|
|
|
CommonAnalysisUtil.cutByTitles(text, sortTitles, 0, sourceMap);
|
|
|
sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
|
|
|
+// sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
|
|
|
+ String rec_title = contentMap.get("recTitle").toString();
|
|
|
+ if ("产科住院病历(互联互通)".equals(rec_title)) sourceMap.put("病人性别", "女");
|
|
|
sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
|
|
|
- String[] docker_signature = sourceMap.get("医师签名").split(" ");
|
|
|
- if (docker_signature.length > 1) sourceMap.put("医师签名", docker_signature[0]);
|
|
|
- String[] split = sourceMap.get("记录时间").split(" ");
|
|
|
- if (split.length >= 2) {
|
|
|
- String rec_time = split[0] + " " + split[1];
|
|
|
- sourceMap.put("记录时间", rec_time);
|
|
|
+ String docker_signatures = sourceMap.get("医师签名");
|
|
|
+ if (StringUtils.isNotBlank(docker_signatures)) {
|
|
|
+ String[] docker_signature = docker_signatures.split(" ");
|
|
|
+ if (docker_signature.length > 1) sourceMap.put("医师签名", docker_signature[0]);
|
|
|
}
|
|
|
- structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
|
|
|
+ if (StringUtils.isNotBlank(sourceMap.get("记录时间"))) {
|
|
|
+ String[] split = sourceMap.get("记录时间").split(" ");
|
|
|
+ if (split.length >= 2) {
|
|
|
+ String rec_time = split[0] + " " + split[1];
|
|
|
+ sourceMap.put("记录时间", rec_time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ String date_of_birth = sourceMap.get("出生日期");
|
|
|
+ String age = sourceMap.get("年龄");
|
|
|
+ if (StringUtils.isBlank(age) && StringUtils.isNotBlank(date_of_birth)) {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
|
|
|
+ try {
|
|
|
+ Date date_birth = sdf.parse(date_of_birth);
|
|
|
+ long time = date_birth.getTime();
|
|
|
+ long currentTimeMillis = System.currentTimeMillis();
|
|
|
+ long abs = Math.abs(currentTimeMillis - time);
|
|
|
+ long age1 = abs / 1000 / 60 / 60 / 24 / 365;
|
|
|
+ sourceMap.put("年龄", age1 + "");
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
|
|
|
OrdinaryAssistant.removeBlank(structureMap);
|
|
|
}
|
|
|
BeHospitalizedDoc beHospitalizedDoc = beHospitalizedDocGen(structureMap); // 不走共用
|
|
@@ -80,18 +108,18 @@ public class BeHospitalizedDocTrans extends ModelDocTrans {
|
|
|
private List<String> keyContrasts = Lists.newArrayList(
|
|
|
"患者姓名=姓名", "病人姓名=姓名", "生于=出生日期", "电话=联系电话",
|
|
|
"国籍=籍贯",
|
|
|
- "性别=性别",
|
|
|
"病人性别=性别",
|
|
|
"患者现住址=住址",
|
|
|
- "患者年龄=年龄", "病人年龄=年龄",
|
|
|
"工作单位名称=工作单位",
|
|
|
"婚姻状况=婚姻", "婚姻=婚姻",
|
|
|
"供史者=病史陈述者", "陈述者=病史陈述者",
|
|
|
"入院诊断=初步诊断", "初步诊断西医诊断名称=初步诊断",
|
|
|
"医师签名=记录医生",
|
|
|
"现病史1=现病史",
|
|
|
+ "入院情况=现病史",
|
|
|
"工作单位名称=职业",
|
|
|
- "产科检查=专科检查"
|
|
|
+ "产科检查=专科检查",
|
|
|
+ "签名时间=记录时间"
|
|
|
);
|
|
|
/*
|
|
|
"初步诊断医师=初步诊断医师签名",
|