|
@@ -5,6 +5,7 @@ import com.lantone.qc.kernel.catalogue.QCCatalogue;
|
|
|
import com.lantone.qc.kernel.client.ChiefPresentSimilarityServiceClient;
|
|
|
import com.lantone.qc.kernel.client.SimilarityServiceClient;
|
|
|
import com.lantone.qc.kernel.structure.ai.ModelAI;
|
|
|
+import com.lantone.qc.kernel.util.CatalogueUtil;
|
|
|
import com.lantone.qc.pub.Content;
|
|
|
import com.lantone.qc.pub.model.InputInfo;
|
|
|
import com.lantone.qc.pub.model.OutputInfo;
|
|
@@ -50,43 +51,25 @@ public class FIRP0178 extends QCCatalogue {
|
|
|
List<Diag> leaveDiags = leaveDiagLabel.getDiags();
|
|
|
List<String> leaveDiagsStr = putDiagToList(leaveDiags);
|
|
|
|
|
|
- /* 病案首页出院诊断会把主诊断去掉,所以size会少一个,这里将出院小结里的出院诊断size也-1 */
|
|
|
- if (firstpageLeaveDiags.size() != leaveDiagsStr.size() - 1) {
|
|
|
- status.set("-1");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
/* 修改为疾病相似度模型 */
|
|
|
ModelAI modelAI = new ModelAI();
|
|
|
- int matchDiagSum = 0;
|
|
|
- for (String firstpageLeaveDiag : firstpageLeaveDiags) {
|
|
|
- JSONArray jsonArray = modelAI.loadChiefPresentSimilarAI(firstpageLeaveDiag, leaveDiagsStr, false
|
|
|
+ String infoStr = "";
|
|
|
+ //最主要是给医生提醒,看是否有出院诊断漏写
|
|
|
+ for (String leaveDiag : leaveDiagsStr) {
|
|
|
+ JSONArray jsonArray = modelAI.loadChiefPresentSimilarAI(leaveDiag, firstpageLeaveDiags, false
|
|
|
, "diagnose", chiefPresentSimilarityServiceClient);
|
|
|
if (jsonArray.size() == 2) {
|
|
|
- /* 相似度最高症状 */
|
|
|
- String symptom = jsonArray.getString(0);
|
|
|
/* 相似度分数 */
|
|
|
double likeRate = jsonArray.getDoubleValue(1);
|
|
|
if (likeRate > 0.9) {
|
|
|
- matchDiagSum++;
|
|
|
- }
|
|
|
- }
|
|
|
- /*
|
|
|
- for (String leaveDiag : leaveDiagsStr) {
|
|
|
- if (firstpageLeaveDiag.equals(leaveDiag) || leaveDiag.contains(firstpageLeaveDiag)) {
|
|
|
- matchDiagSum++;
|
|
|
- break;
|
|
|
+ infoStr = CatalogueUtil.concatInfo(infoStr, leaveDiag);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- */
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
- if (matchDiagSum != firstpageLeaveDiags.size()) {
|
|
|
+ if (StringUtil.isNotBlank(infoStr)) {
|
|
|
status.set("-1");
|
|
|
+ info.set(infoStr);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -105,14 +88,7 @@ public class FIRP0178 extends QCCatalogue {
|
|
|
firstpageDiag.add(diagnoseName);
|
|
|
}
|
|
|
}
|
|
|
- // 不复制第一个
|
|
|
- List<String> res = new ArrayList<>();
|
|
|
- if (ListUtil.isNotEmpty(firstpageDiag) && firstpageDiag.size() > 1) {
|
|
|
- for (int i = 1; i < firstpageDiag.size(); i++) {
|
|
|
- res.add(firstpageDiag.get(i));
|
|
|
- }
|
|
|
- }
|
|
|
- return res;
|
|
|
+ return firstpageDiag;
|
|
|
}
|
|
|
|
|
|
private List<String> putDiagToList(List<Diag> diagList) {
|