diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/ImportResultDto.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/ImportResultDto.java new file mode 100644 index 000000000..25beaf14b --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/knowledgegraph/dto/ImportResultDto.java @@ -0,0 +1,11 @@ +package com.healthlink.his.web.knowledgegraph.dto; + +import lombok.Data; + +@Data +public class ImportResultDto { + private int successCount; + private int failCount; + private int totalRows; + private String message; +} diff --git a/healthlink-his-ui/src/api/knowledgegraph/api.js b/healthlink-his-ui/src/api/knowledgegraph/api.js index 1c8da3dbc..e8660c23e 100644 --- a/healthlink-his-ui/src/api/knowledgegraph/api.js +++ b/healthlink-his-ui/src/api/knowledgegraph/api.js @@ -103,3 +103,43 @@ export function getPathwayPage(params) { export function getPathwaySteps(id) { return request({ url: `/knowledgegraph/pathway/${id}/steps`, method: 'get' }) } + +// KG3: 推理引擎 +export function suggestDiagnosis(data) { + return request({ url: '/knowledgegraph/reasoning/diagnosis', method: 'post', data }) +} + +export function suggestExaminations(data) { + return request({ url: '/knowledgegraph/reasoning/examination', method: 'post', data }) +} + +export function checkDrugInteractions(data) { + return request({ url: '/knowledgegraph/reasoning/drug-interaction', method: 'post', data }) +} + +export function suggestPathway(diseaseCode) { + return request({ url: `/knowledgegraph/reasoning/pathway/${diseaseCode}`, method: 'get' }) +} + +// KG4: 数据导入 +export function importDisease(file) { + const formData = new FormData() + formData.append('file', file) + return request({ url: '/knowledgegraph/import/disease', method: 'post', data: formData, headers: { 'Content-Type': 'multipart/form-data' } }) +} + +export function importDrug(file) { + const formData = new FormData() + formData.append('file', file) + return request({ url: '/knowledgegraph/import/drug', method: 'post', data: formData, headers: { 'Content-Type': 'multipart/form-data' } }) +} + +export function importRelations(file) { + const formData = new FormData() + formData.append('file', file) + return request({ url: '/knowledgegraph/import/relation', method: 'post', data: formData, headers: { 'Content-Type': 'multipart/form-data' } }) +} + +export function downloadImportTemplate(type) { + return request({ url: `/knowledgegraph/import/template/${type}`, method: 'get', responseType: 'blob' }) +} diff --git a/healthlink-his-ui/src/views/knowledgegraph/DataImport.vue b/healthlink-his-ui/src/views/knowledgegraph/DataImport.vue new file mode 100644 index 000000000..e1dcad9e7 --- /dev/null +++ b/healthlink-his-ui/src/views/knowledgegraph/DataImport.vue @@ -0,0 +1,134 @@ + + + + + 知识图谱数据导入 + + + + + + CSV格式:疾病编码,疾病名称,分类,科室,严重等级,描述,关键词 + + 选择CSV文件 + + + 开始导入 + 下载模板 + + + + + + + CSV格式:药物编码,药物名称,通用名,分类,剂型,禁忌症,不良反应 + + 选择CSV文件 + + + 开始导入 + 下载模板 + + + + + + + CSV格式:来源类型,来源ID,目标类型,目标ID,关系类型,关系强度,描述,证据来源 + + 选择CSV文件 + + + 开始导入 + 下载模板 + + + + + + + + + 导入结果 + + + {{ importResult.totalRows }} + {{ importResult.successCount }} + {{ importResult.failCount }} + + + {{ importResult.failCount === 0 ? '全部成功' : '部分失败' }} + + + + {{ importResult.message }} + + + + + + +
CSV格式:疾病编码,疾病名称,分类,科室,严重等级,描述,关键词
CSV格式:药物编码,药物名称,通用名,分类,剂型,禁忌症,不良反应
CSV格式:来源类型,来源ID,目标类型,目标ID,关系类型,关系强度,描述,证据来源
{{ importResult.message }}