|
@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -32,29 +33,34 @@ public class BEH0449 extends QCCatalogue {
|
|
BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
|
|
BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
|
|
if (beHospitalizedDoc != null) {
|
|
if (beHospitalizedDoc != null) {
|
|
String chief_text = beHospitalizedDoc.getChiefLabel().getText();
|
|
String chief_text = beHospitalizedDoc.getChiefLabel().getText();
|
|
- if (chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")) {
|
|
|
|
|
|
+ if (chief_text.contains("检查") || chief_text.contains("术后") || chief_text.contains("药物")
|
|
|
|
+ || chief_text.contains("发现")) {
|
|
status.set("0");
|
|
status.set("0");
|
|
|
|
+ return;
|
|
} else {
|
|
} else {
|
|
List<Clinical> clinicals_chief = beHospitalizedDoc.getChiefLabel().getClinicals();
|
|
List<Clinical> clinicals_chief = beHospitalizedDoc.getChiefLabel().getClinicals();
|
|
List<Clinical> clinicals_present = beHospitalizedDoc.getPresentLabel().getClinicals();
|
|
List<Clinical> clinicals_present = beHospitalizedDoc.getPresentLabel().getClinicals();
|
|
if (ListUtil.isNotEmpty(clinicals_chief) && ListUtil.isNotEmpty(clinicals_present)) {
|
|
if (ListUtil.isNotEmpty(clinicals_chief) && ListUtil.isNotEmpty(clinicals_present)) {
|
|
Clinical clinical_chief = clinicals_chief.get(0);
|
|
Clinical clinical_chief = clinicals_chief.get(0);
|
|
- Clinical clinical_present = clinicals_present.get(0);
|
|
|
|
- if (clinical_chief.getName().equals(clinical_present.getName())) {
|
|
|
|
- status.set("0");
|
|
|
|
- return;
|
|
|
|
- } else if (clinical_chief.getName().contains(clinical_present.getName())
|
|
|
|
- || clinical_present.getName().contains(clinical_chief.getName())) {
|
|
|
|
- status.set("0");
|
|
|
|
- return;
|
|
|
|
- } else {
|
|
|
|
- JSONArray similarContent = new JSONArray();
|
|
|
|
- FirstCourseRecordAI firstCourseRecordAI = new FirstCourseRecordAI();
|
|
|
|
- firstCourseRecordAI.putContent(similarContent, clinical_chief.getName(), clinical_present.getName());
|
|
|
|
- double likeRate = firstCourseRecordAI.loadSimilarAI(similarContent, similarityServiceClient);
|
|
|
|
- if (likeRate > 0.9) {
|
|
|
|
|
|
+ clinicals_present = clinicals_present.stream().filter(clinical -> clinical.getNegative() == null).collect(Collectors.toList());
|
|
|
|
+ for (Clinical cliPre:clinicals_present) {
|
|
|
|
+ String name_pre = cliPre.getName();
|
|
|
|
+ String name_chief = clinical_chief.getName();
|
|
|
|
+ if(name_chief.equals(name_pre)){
|
|
status.set("0");
|
|
status.set("0");
|
|
return;
|
|
return;
|
|
|
|
+ }else if(name_pre.contains(name_chief) || name_chief.contains(name_pre)){
|
|
|
|
+ status.set("0");
|
|
|
|
+ return;
|
|
|
|
+ }else {
|
|
|
|
+ JSONArray similarContent = new JSONArray();
|
|
|
|
+ FirstCourseRecordAI firstCourseRecordAI = new FirstCourseRecordAI();
|
|
|
|
+ firstCourseRecordAI.putContent(similarContent, name_chief, name_pre);
|
|
|
|
+ double likeRate = firstCourseRecordAI.loadSimilarAI(similarContent, similarityServiceClient);
|
|
|
|
+ if (likeRate > 0.9) {
|
|
|
|
+ status.set("0");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -73,6 +79,8 @@ public class BEH0449 extends QCCatalogue {
|
|
if (StringUtils.isNotEmpty(chiefDiag) && StringUtils.isNotEmpty(presentDiag) && chiefDiag.equals(presentDiag)) {
|
|
if (StringUtils.isNotEmpty(chiefDiag) && StringUtils.isNotEmpty(presentDiag) && chiefDiag.equals(presentDiag)) {
|
|
status.set("0");
|
|
status.set("0");
|
|
}
|
|
}
|
|
|
|
+ }else {
|
|
|
|
+ status.set("0");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|