- 主办单位:
- ISSN:
- 期刊分类:
- 出版周期:
- 投稿量:
- 浏览量:
相关文章
暂无数据
药物疾病关联结果管理与可视化系统
Drug–Disease Association Result Management and Visualization System
引言
药物重定位通过已有药物或候选药物寻找新的疾病关联,可为候选筛选提供参考。药物—疾病关联预测通常产生包含药物、疾病、预测分数、排名和证据说明的大量结果,因此需要统一保存、检索和展示。
现有结果常以Excel、CSV或文本文件保存,数据量增加后易出现管理分散、筛选效率低和分数分布不直观等问题。罕见病注册系统建设与数智化升级也表明,研究数据需要规范组织和辅助使用。为此,有必要构建轻量化系统,对既有结果进行结构化管理和可视化展示。
本文采用前后端分离架构:后端以Spring Boot和MyBatis-Plus提供REST接口,MySQL保存业务数据;前端以Vue3、Element Plus、Axios和ECharts实现交互与图表。系统提供登录、基础信息管理、预测结果管理、条件查询、CSV导出和可视化分析等功能。
本文重点是对上游研究已产生的预测结果进行管理和展示,不涉及模型训练、实时推理或临床推荐;展示结果仅用于科研辅助分析。
1 系统相关技术概述
1.1 Spring Boot后端技术
Spring Boot与Vue前后端分离架构已用于医疗业务管理系统。本系统后端采用Spring Boot,负责登录校验、统计、基础信息维护、预测结果管理和条件查询等接口功能。
1.2 Vue3与Element Plus前端技术
前端采用Vue3和Vue Router构建登录、首页、基础信息、预测结果与可视化等页面,并对未登录访问进行页面引导。
1.3 MySQL数据库技术
MySQL数据库drug_disease_system包括管理员、药物、疾病和预测结果四张核心表,用于保存登录信息、基础数据和既有候选关联结果。
药物、疾病与预测结果通过业务编号形成逻辑关联,未设置物理外键,系统依靠表单和业务校验减少错误数据录入。
1.4 ECharts可视化技术
系统使用ECharts展示Top 10高分候选关联和预测分数区间分布。
2 系统需求分析
2.1 系统功能需求
系统面向既有药物–疾病关联预测结果,提供整理、检索、展示和可视化工具;结果仅用于科研辅助分析。
系统支持管理员登录和基础访问控制。首页展示药物、疾病和预测结果数量、平均分数、高置信数量及Top 5候选关联。
药物和疾病模块维护编号、名称、类型或ORPHA ID等基础信息;ORPHA ID等罕见病标识可参照Orphanet及相关数据研究,并支持查询、新增、编辑、删除和必要字段校验。
预测结果模块展示药物、疾病、分数、排名和证据说明,支持组合筛选、详情查看和CSV导出;可视化模块展示Top 10结果与分数区间分布。
2.2 系统数据需求
系统数据包括管理员、药物、疾病和预测结果。预测结果记录药物、疾病、分数、排名和证据说明等字段。
预测结果通过药物编号和疾病编号与基础数据建立逻辑关联;关键字段经前后端校验。
2.3 系统非功能需求
系统要求导航清晰、交互一致,并便于后续维护。
系统采用前后端分离结构;预测分数限定为0至1,排名为正整数,并提示空值或非法输入。系统不宣称具备高并发、生产级安全认证或临床决策支持能力。
3 系统设计
3.1 系统总体架构设计
系统采用前后端分离架构:前端负责交互和可视化,后端负责接口与业务逻辑,MySQL保存业务数据,如图1所示。
3.2 系统功能模块设计
系统包含登录、首页、药物管理、疾病管理、预测结果管理、条件查询、详情、CSV导出和可视化模块,如图2所示。
核心模块维护既有预测结果,支持分数降序筛选、详情提示和CSV导出;详情仅为基于分数区间的规则化提示,不代表机制或临床证据。
系统功能模块结构如图2所示。
3.3 数据库设计
数据库包括admin_user、drug_info、disease_info和prediction_result四张表,字段与页面维护、查询和展示需求对应。
管理员表保存登录信息;药物表和疾病表保存基础信息;预测结果表保存药物、疾病、分数、排名和证据说明等数据。
预测结果表通过药物编号和疾病编号与基础表形成逻辑关联;前后端校验用于减少错误数据录入。
数据库主要表结构如表1所示。
| 表名 | 主要字段 | 功能说明 |
|---|---|---|
| admin_user | id、username、password、real_name、create_time | 保存管理员登录相关信息,用于基础登录验证 |
| drug_info | id、drug_id、drug_name、drug_type、description、create_time | 保存药物编号、名称、类型和描述等基础信息 |
| disease_info | id、disease_id、orpha_id、disease_name、description、create_time | 保存疾病编号、ORPHA ID、名称和描述等基础信息 |
| prediction_result | id、drug_id、drug_name、disease_id、disease_name、score、rank_no、evidence、create_time | 保存已有药物–疾病候选关联结果 |
3.4 接口设计
后端通过REST接口和统一JSON响应向前端提供登录、统计、维护、筛选和可视化数据。
主要接口覆盖登录、首页统计、基础数据维护、预测结果筛选及图表数据获取,见表2。
接口定位为科研辅助场景下的基础REST服务,不宣称生产级认证或高并发能力。
系统主要接口设计如表2所示。
| 接口路径 | 请求方法 | 主要功能 | 说明 |
|---|---|---|---|
| /api/auth/login | POST | 管理员登录 | 校验登录信息并返回基础登录结果 |
| /api/dashboard/stats | GET | 首页统计 | 返回药物、疾病、预测结果、平均分和高置信数量 |
| /api/drugs | GET/POST | 药物查询与新增 | 按关键词查询或新增药物信息 |
| /api/drugs/{id} | PUT/DELETE | 药物编辑与删除 | 按主键更新或删除药物记录 |
| /api/diseases | GET/POST | 疾病查询与新增 | 按关键词查询或新增疾病信息 |
| /api/diseases/{id} | PUT/DELETE | 疾病编辑与删除 | 按主键更新或删除疾病记录 |
| /api/predictions | GET/POST | 预测结果查询与新增 | 支持名称和分数区间筛选,或新增已有结果 |
| /api/predictions/{id} | PUT/DELETE | 预测结果编辑与删除 | 按主键更新或删除预测结果 |
| /api/predictions/top10 | GET | 高分结果查询 | 按预测分数降序返回前10条结果 |
| /api/predictions/score-distribution | GET | 分数区间统计 | 返回五个预测分数区间的结果数量 |
4 系统实现
4.1 登录与Dashboard首页实现
系统采用基础账号密码登录和前端页面访问控制;登录成功后进入Dashboard首页。
Dashboard以统计卡片展示核心数量、平均分数和分数不低于0.8的高置信结果,并列出Top 5候选关联。
4.2 药物与疾病信息管理实现
药物模块支持按编号或名称查询,并完成新增、编辑、删除和必要字段校验。
疾病模块维护疾病编号、ORPHA ID、名称和描述,并支持查询及基础维护。
4.3 预测结果管理实现
预测结果页面以表格展示排名、药物、疾病、分数和证据说明,并按分数降序排列。
管理员可维护预测结果;预测分数限定为0至1,排名为正整数。系统只管理既有结果,不执行模型训练或实时推理。
4.4 条件查询、详情展示与导出实现
条件查询支持药物名称、疾病名称和预测分数区间组合筛选,结果按分数降序展示。
详情弹窗展示分数、排名和证据说明,并按0.8和0.6阈值给出高、中、低置信规则化提示;该提示不代表机制解释或临床证据。
CSV导出基于当前列表或筛选结果生成,包含排名、药物、疾病、分数和证据说明。
4.5 可视化分析实现
可视化模块使用ECharts展示Top 10高分候选关联和预测分数区间分布。
Top 10图比较高分候选关联,分数区间图展示候选结果的整体分布。
5 系统测试
5.1 测试环境
测试环境为Java 8、Spring Boot 2.7.18、MySQL 8.0、Vue3、Element Plus、Axios和ECharts;通过浏览器验证页面访问、数据维护、导出和图表展示。
测试数据库为drug_disease_system,使用初始化测试数据和管理员账号,覆盖登录、首页、基础信息、预测结果、查询、导出和可视化模块。
5.2 测试方法
采用黑盒功能测试。测试覆盖正确与错误登录、基础数据和预测结果维护、组合筛选、详情提示、CSV导出及图表展示。
测试关注页面可用性、输入校验和页面结果与数据库记录的一致性,不包括高并发、生产级安全和模型性能测试。
5.3 功能测试结果
系统主要功能测试项目及测试结果如表3所示。
| 测试模块 | 测试内容 | 预期结果 | 测试结果 |
|---|---|---|---|
| 登录模块 | 使用系统初始化管理员账号登录 | 成功进入Dashboard首页 | 通过 |
| 登录模块 | 输入错误密码 | 提示登录信息错误 | 通过 |
| Dashboard首页 | 查看统计卡片和高分候选结果 | 页面正常展示统计数据 | 通过 |
| 药物信息管理 | 查询、新增、编辑和删除药物记录 | 操作成功且列表正常刷新 | 通过 |
| 药物信息管理 | 提交空编号或空名称 | 系统阻止提交并提示 | 通过 |
| 疾病信息管理 | 查询、新增、编辑和删除疾病记录 | 操作成功且列表正常刷新 | 通过 |
| 预测结果管理 | 查询、新增、编辑和删除已有结果 | 操作成功且结果按分数降序展示 | 通过 |
| 预测结果管理 | 输入非法分数或排名 | 系统阻止提交并提示 | 通过 |
| 条件查询 | 按药物、疾病和分数区间组合筛选 | 返回符合条件的候选结果 | 通过 |
| 结果详情 | 查看单条预测结果详情 | 显示分数、排名、证据说明和规则化提示 | 通过 |
| CSV导出 | 导出当前列表或筛选结果 | 生成可打开的CSV文件 | 通过 |
| 可视化分析 | 查看高分结果图和分数分布图 | 图表正常显示且数据一致 | 通过 |
| 退出登录 | 退出后重新访问业务页面 | 返回登录界面 | 通过 |
5.4 测试结果分析
表3表明,登录、统计、基础信息管理、预测结果管理、组合筛选、CSV导出和可视化分析均能正常运行;异常输入能够提示或阻止提交,页面结果与数据库记录一致。系统基本满足候选结果管理与展示需求。
本次测试仅覆盖功能正确性和页面可用性,不评价高并发、生产级安全或预测模型性能;系统不提供实时推理或临床推荐。
6 总结与展望
6.1 总结
本文设计并实现了面向既有药物–疾病关联预测结果的管理与可视化系统,采用Spring Boot、Vue3、MySQL、MyBatis-Plus和ECharts实现登录、维护、查询、导出和图表展示。
功能测试表明,系统主要管理、查询、导出和展示功能运行正常;预测分数来自既有结果,系统不训练模型、不实时推理,也不提供临床推荐。
6.2 展望
后续可完善分页、批量导入导出、数据校验、预测批次和来源标注,并逐步补充数据约束、认证权限、操作日志及类别或批次对比图表;系统仍定位为科研辅助分析工具。
参考文献:
- [1] 陆涛.人工智能在医药领域的应用[J].药学进展,2020,44(01):1-3.
- [2] 彭超,胡永祥,陈龙飞,等.基于机器学习和大数据挖掘的药物重定位算法综述[J].药学进展,2020,44(01):4-9.
- [3] 梁礼,邓成龙,张艳敏,等.人工智能在药物发现中的应用与挑战[J].药学进展,2020,44(01):18-27.
- [4] 康宏宇,李勤,李姣,等.基于多特征融合的药物疾病关联预测模型构建[J].中国生物医学工程学报,2023,42(04):453-460.
- [5] 郁湧,杨雨洁,李虓晗,等.基于全局图注意力元路径异构网络的药物-疾病关联预测[J].电子科技大学学报,2024,53(04):576-583.
- [6] 郑帅,田国祥,韩迪迪,等.Orphanet数据库架构及数据获取方法与流程[J].中国循证心血管医学杂志,2020,12(06):651-654.
- [7] 李壮琪,杨浦,杨悦.基于Orphadata数据库的中国罕见病界定及累积时点患病率测算[J].中国新药杂志,2022,31(24):2422-2428.
- [8] 郭健,刘鹏,荆志成,等.中国国家罕见病注册系统建设及应用[J].罕见病研究,2022,1(01):7-12.
- [9] 郭健,金晔,刘鹏,等.中国国家罕见病注册系统数智化升级与临床应用[J].罕见病研究,2025,4(01):54-60.
- [10] 陈思楠,陈吉平,黄红倩,等.基于ECharts的医疗数据交互式可视化研究[J].现代信息科技,2024,8(14):76-80.
- [11] 孙洪伟,曾韵晗,杨玲.基于Spring Boot和Vue的康复评定管理系统设计[J].集成电路应用,2025,42(10):370-372.
