|
@@ -42,8 +42,8 @@ public class THR03114 extends QCCatalogue {
|
|
//取医嘱项目名称
|
|
//取医嘱项目名称
|
|
String daItemName = doctorAdviceDocStructureMap.get(Content.medicalOrderName);
|
|
String daItemName = doctorAdviceDocStructureMap.get(Content.medicalOrderName);
|
|
String nameSs = doctorAdviceDocStructureMap.get("医嘱处方类型");
|
|
String nameSs = doctorAdviceDocStructureMap.get("医嘱处方类型");
|
|
- if (StringUtil.isNotEmpty(daItemName)&&StringUtil.isNotEmpty(nameSs)) {
|
|
|
|
- if (dateStr(daItemName)&&(nameSs.equals("检查")||nameSs.equals("RAD")|| nameSs.equals("放射医嘱"))) {
|
|
|
|
|
|
+ if (StringUtil.isNotEmpty(daItemName) && StringUtil.isNotEmpty(nameSs)) {
|
|
|
|
+ if (dateStr(daItemName) && (nameSs.equals("检查") || nameSs.equals("RAD") || nameSs.equals("放射医嘱"))) {
|
|
flag = true;
|
|
flag = true;
|
|
status.set("-1");
|
|
status.set("-1");
|
|
}
|
|
}
|
|
@@ -53,7 +53,7 @@ public class THR03114 extends QCCatalogue {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(flag) {
|
|
|
|
|
|
+ if (flag) {
|
|
List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
|
|
List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
|
|
if (ListUtil.isNotEmpty(pacsDocs)) {
|
|
if (ListUtil.isNotEmpty(pacsDocs)) {
|
|
for (PacsDoc pacsDoc : pacsDocs) {
|
|
for (PacsDoc pacsDoc : pacsDocs) {
|
|
@@ -63,46 +63,46 @@ public class THR03114 extends QCCatalogue {
|
|
String str2 = structureMap.get("报告名称");
|
|
String str2 = structureMap.get("报告名称");
|
|
String str3 = structureMap.get("观察记录");
|
|
String str3 = structureMap.get("观察记录");
|
|
String str4 = structureMap.get("检查结果诊断");
|
|
String str4 = structureMap.get("检查结果诊断");
|
|
- if (dateStrBg(str) || dateStrBg(str1) || dateStrBg(str2) || dateStrBg(str3) || dateStrBg(str4)) {
|
|
|
|
- status.set("0");
|
|
|
|
|
|
+ String str5 = structureMap.get("检查部位");
|
|
|
|
+ if (dateStrBg(str) || dateStrBg(str1) || dateStrBg(str2) || dateStrBg(str3) || dateStrBg(str4) || dateStrBg(str5)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ } else {//未找到辅检信息不提示
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private boolean dateStr(String string){
|
|
|
|
- if(StringUtil.isEmpty(string)){
|
|
|
|
|
|
+ private boolean dateStr(String string) {
|
|
|
|
+ if (StringUtil.isEmpty(string)) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
String str = Str(string);
|
|
String str = Str(string);
|
|
- String rex="[\\s\\S]*(?=线断层)[^,;,;。]{0,8}(?=扫)[\\s\\S]*";
|
|
|
|
- String rex1="[\\s\\S]*(?=计算机)[^,;,;。]{0,8}(?=断层)[^,;,;。]{0,7}(?=扫)[\\s\\S]*";
|
|
|
|
- if (str.contains("CT") || str.matches(rex)||str.matches(rex1)) {
|
|
|
|
|
|
+ String rex = "[\\s\\S]*(?=线断层)[^,;,;。]{0,8}(?=扫)[\\s\\S]*";
|
|
|
|
+ String rex1 = "[\\s\\S]*(?=计算机)[^,;,;。]{0,8}(?=断层)[^,;,;。]{0,7}(?=扫)[\\s\\S]*";
|
|
|
|
+ if (str.contains("CT") || str.matches(rex) || str.matches(rex1)) {
|
|
List<String> notCTList = Content.notCTList;
|
|
List<String> notCTList = Content.notCTList;
|
|
- for (String list : notCTList) {
|
|
|
|
- if(!str.contains(list)){
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
|
|
+ if (!notCTList.contains(str)) {
|
|
|
|
+ return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
- private boolean dateStrBg(String string){
|
|
|
|
- if(StringUtil.isEmpty(string)){
|
|
|
|
|
|
+ private boolean dateStrBg(String string) {
|
|
|
|
+ if (StringUtil.isEmpty(string)) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- boolean ctCf=false;
|
|
|
|
- boolean jsj=false;
|
|
|
|
|
|
+ boolean ctCf = false;
|
|
|
|
+ boolean jsj = false;
|
|
ArrayList<String> cfStrings = new ArrayList<>();
|
|
ArrayList<String> cfStrings = new ArrayList<>();
|
|
String str = Str(string);
|
|
String str = Str(string);
|
|
- String rex="[\\s\\S]*(?=线断层)[^,;,;。]{0,8}(?=扫)[\\s\\S]*";
|
|
|
|
- String rex1="[\\s\\S]*(?=计算机)[^,;,;。]{0,8}(?=断层)[^,;,;。]{0,7}(?=扫)[\\s\\S]*";
|
|
|
|
- String rex2="[\\s\\S]{0,5}(?=CT)[\\s\\S]{1,10}";
|
|
|
|
|
|
+ String rex = "[\\s\\S]*(?=线断层)[^,;,;。]{0,8}(?=扫)[\\s\\S]*";
|
|
|
|
+ String rex1 = "[\\s\\S]*(?=计算机)[^,;,;。]{0,8}(?=断层)[^,;,;。]{0,7}(?=扫)[\\s\\S]*";
|
|
|
|
+ String rex2 = "[\\s\\S]{0,5}(?=CT)[\\s\\S]{1,10}";
|
|
//需要判断同时存在mr和IMRT等情况的发生
|
|
//需要判断同时存在mr和IMRT等情况的发生
|
|
- if(str.contains("CT")) {
|
|
|
|
|
|
+ if (str.contains("CT")) {
|
|
Matcher matcher = Pattern.compile(rex2).matcher(str);
|
|
Matcher matcher = Pattern.compile(rex2).matcher(str);
|
|
while (matcher.find()) {
|
|
while (matcher.find()) {
|
|
String group = matcher.group();
|
|
String group = matcher.group();
|
|
@@ -113,27 +113,28 @@ public class THR03114 extends QCCatalogue {
|
|
for (String notCT : notCTList) {
|
|
for (String notCT : notCTList) {
|
|
for (int i = 0; i < cfStrings.size(); i++) {
|
|
for (int i = 0; i < cfStrings.size(); i++) {
|
|
String cfStr = cfStrings.get(i);
|
|
String cfStr = cfStrings.get(i);
|
|
- if(cfStr.contains(notCT)){
|
|
|
|
|
|
+ if (cfStr.contains(notCT)) {
|
|
cfStrings.remove(i);
|
|
cfStrings.remove(i);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(cfStrings.size()>0){
|
|
|
|
- ctCf=true;
|
|
|
|
|
|
+ if (cfStrings.size() > 0) {
|
|
|
|
+ ctCf = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
- if ( str.matches(rex)||str.matches(rex1)) {
|
|
|
|
- jsj= true;
|
|
|
|
|
|
+ if (str.matches(rex) || str.matches(rex1)) {
|
|
|
|
+ jsj = true;
|
|
}
|
|
}
|
|
- if(jsj||ctCf){
|
|
|
|
|
|
+ if (jsj || ctCf) {
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- private String Str(String str){
|
|
|
|
|
|
+
|
|
|
|
+ private String Str(String str) {
|
|
str = str.replaceAll("\\*", "\\\\*");
|
|
str = str.replaceAll("\\*", "\\\\*");
|
|
str = str.replaceAll("\\)", "\\\\)");
|
|
str = str.replaceAll("\\)", "\\\\)");
|
|
str = str.replaceAll("\\.", "\\\\.");
|
|
str = str.replaceAll("\\.", "\\\\.");
|