|
@@ -91,6 +91,10 @@ public class THR03077 extends QCCatalogue {
|
|
continue; //一天内同一抗生素开过多次的抗生素直接过滤
|
|
continue; //一天内同一抗生素开过多次的抗生素直接过滤
|
|
}
|
|
}
|
|
drugName = removeBracket(drugName).replaceAll("[^\u4e00-\u9fa5]", "");
|
|
drugName = removeBracket(drugName).replaceAll("[^\u4e00-\u9fa5]", "");
|
|
|
|
+ //相似度标准词抓取失败,增加暂时处理
|
|
|
|
+ if (drugName.equals("克林霉素磷酸酯注射液特丽仙")) {
|
|
|
|
+ drugName = drugName.replace("特丽仙", "");
|
|
|
|
+ }
|
|
String drugStandardWord = similarityUtil.getDrugStandardWord(drugName);
|
|
String drugStandardWord = similarityUtil.getDrugStandardWord(drugName);
|
|
if (StringUtil.isNotBlank(drugStandardWord)) {
|
|
if (StringUtil.isNotBlank(drugStandardWord)) {
|
|
drugName = drugStandardWord;
|
|
drugName = drugStandardWord;
|
|
@@ -291,12 +295,16 @@ public class THR03077 extends QCCatalogue {
|
|
sb = new StringBuffer();
|
|
sb = new StringBuffer();
|
|
String behindWord = "";
|
|
String behindWord = "";
|
|
String lastBehindWord = "";
|
|
String lastBehindWord = "";
|
|
|
|
+ String keyword = "";
|
|
|
|
+ String lastKeyword = "";
|
|
String wardDrug = drug.getName();
|
|
String wardDrug = drug.getName();
|
|
|
|
+ boolean front = false;
|
|
|
|
+ boolean latter = false;
|
|
int position = content.indexOf(wardDrug);
|
|
int position = content.indexOf(wardDrug);
|
|
int lastPosition = content.lastIndexOf(wardDrug);
|
|
int lastPosition = content.lastIndexOf(wardDrug);
|
|
if (position != -1 && lastPosition != -1) {
|
|
if (position != -1 && lastPosition != -1) {
|
|
- String keyword = content.substring(Math.max(0, position - 10), position);
|
|
|
|
- String lastKeyword = content.substring(Math.max(0, lastPosition - 10), lastPosition);
|
|
|
|
|
|
+ keyword = content.substring(Math.max(0, position - 10), position);
|
|
|
|
+ lastKeyword = content.substring(Math.max(0, lastPosition - 10), lastPosition);
|
|
if (position != lastPosition) {
|
|
if (position != lastPosition) {
|
|
if (lastKeyword.contains("继续") || lastKeyword.contains("停")) {
|
|
if (lastKeyword.contains("继续") || lastKeyword.contains("停")) {
|
|
continue;
|
|
continue;
|
|
@@ -305,6 +313,9 @@ public class THR03077 extends QCCatalogue {
|
|
if (keyword.contains("继续") || keyword.contains("停")) {
|
|
if (keyword.contains("继续") || keyword.contains("停")) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
+ if (frequencyDispose(keyword) || frequencyDispose(lastKeyword)) {
|
|
|
|
+ front = true;
|
|
|
|
+ }
|
|
|
|
|
|
behindWord = content.substring(position, Math.min(position + 20, content.toCharArray().length));
|
|
behindWord = content.substring(position, Math.min(position + 20, content.toCharArray().length));
|
|
lastBehindWord = content.substring(lastPosition, Math.min(lastPosition + 20, content.toCharArray().length));
|
|
lastBehindWord = content.substring(lastPosition, Math.min(lastPosition + 20, content.toCharArray().length));
|
|
@@ -316,6 +327,9 @@ public class THR03077 extends QCCatalogue {
|
|
if (behindWord.contains("阴性")) {
|
|
if (behindWord.contains("阴性")) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
+ if (frequencyDispose(behindWord) || frequencyDispose(lastBehindWord)) {
|
|
|
|
+ latter = true;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
wardDrug = removeBracket(wardDrug);
|
|
wardDrug = removeBracket(wardDrug);
|
|
String drugUsageWard = wardDrug;
|
|
String drugUsageWard = wardDrug;
|
|
@@ -348,7 +362,9 @@ public class THR03077 extends QCCatalogue {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (drug.getFrequency() == null) {
|
|
if (drug.getFrequency() == null) {
|
|
- concatInfo(dateStr, sb, "频率");
|
|
|
|
|
|
+ if (!front && !latter) {
|
|
|
|
+ concatInfo(dateStr, sb, "频率");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if (sb.toString().length() > 0) {
|
|
if (sb.toString().length() > 0) {
|
|
if (antibioticDateWard.containsKey(wardDrug)) {
|
|
if (antibioticDateWard.containsKey(wardDrug)) {
|
|
@@ -356,6 +372,15 @@ public class THR03077 extends QCCatalogue {
|
|
} else {
|
|
} else {
|
|
antibioticDateWard.put(wardDrug, Lists.newArrayList(sb.toString()));
|
|
antibioticDateWard.put(wardDrug, Lists.newArrayList(sb.toString()));
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ if (antibioticDateWard.containsKey(wardDrug)) {
|
|
|
|
+ for (String wardDate : antibioticDateWard.get(wardDrug)) {
|
|
|
|
+ wardDate = wardDate.substring(0, wardDate.indexOf("="));
|
|
|
|
+ if (wardDate.equals(dateStr)) {
|
|
|
|
+ antibioticDateWard.remove(wardDrug);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -375,6 +400,19 @@ public class THR03077 extends QCCatalogue {
|
|
return flag;
|
|
return flag;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 增加频率的处理
|
|
|
|
+ *
|
|
|
|
+ * @param content
|
|
|
|
+ */
|
|
|
|
+ public boolean frequencyDispose(String content) {
|
|
|
|
+ if (StringUtil.isNotBlank(content) &&
|
|
|
|
+ (content.contains("术前") || content.contains("术后") || content.contains("围手术期"))) {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 拼接抗生素缺失信息
|
|
* 拼接抗生素缺失信息
|
|
*
|
|
*
|