💕💕作者:计算机源码社
💕💕个人简介:本人八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Spark、hadoop、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询
💕💕Java项目
💕💕微信小程序项目
💕💕Android项目
💕💕Python项目
💕💕PHP项目
💕💕ASP.NET项目
💕💕Node.js项目
💕💕大数据项目
💕💕选题推荐
基于大数据的北京市药品批准信息数据可视化分析
1、研究背景
随着医药行业信息化进程的不断加速,北京市在药品监管与审批过程中积累了极其庞大且复杂的批准信息数据,涵盖文号溯源、品名热度、效期态势、剂型结构以及风险洞察等多个核心维度。传统的数据库技术与单机处理模式面对海量药品记录时,在数据存储、计算效率与深度分析方面显得力不从心。药品批准数据的维度极其丰富,涉及批准年份趋势、地区代码分布、通用名重复频次、临期药品预警以及主流剂型份额分布等复杂信息。为了有效治理这些数据孤岛,依托Hadoop与Spark构建大数据分布式计算架构,结合MySQL进行数据仓库存储,利用Python强大的数据挖掘与机器学习能力,成为突破当前药品数据分析瓶颈的必然选择。基于此背景,开发本可视化分析系统,借助Vue与Echarts前端框架,将复杂的数据模型转化为直观的图形界面,以应对日益增长的药品数据治理需求。
2、研究目的和意义
本系统的核心目的在于打破药品批准信息的数据壁垒,实现多维度数据的深度剖析与直观展示。通过构建文号溯源模型,系统致力于明晰历年批准年份趋势与地区代码分布规律,洞察化学药品与中药的注册分类演变。依托品名热度分析,系统旨在掌握通用名热度排行、热门通用名分类树以及通用名重复频次,揭示药品命名与申报的集中度。针对药品生命周期管理,系统设立效期态势分析模块,通过仪表盘与柱状图动态监测过期占比与临期药品预警,辅助监管人员及时掌握药品有效期的异常波动。借助机器学习中的K-Means算法,系统实现对药品画像的深度聚类,结合剂型与分类关联的桑基图与通用名关键词词云挖掘,精准识别潜在风险,最终为监管部门提供科学、高效、直观的决策依据,全面提升药品审批与市场监管的综合效能。
本系统的开发具有显著的实践价值与深远的行业意义。通过可视化大屏,系统将庞杂的药品批准文号数据转化为直观的图表,利用中国地图清晰呈现批准地区分布,通过词云图高效挖掘通用名关键词,借助桑基图直观展现剂型与注册分类的关联规则,极大降低了数据理解与信息传递的门槛。系统能够有效辅助发现药品注册过程中的重复申报、剂型结构失衡以及有效期管理漏洞,为优化药品审批流程、清理过期批文提供了强有力的量化支撑。结合大数据挖掘与机器学习技术,系统能够深层次探索药品数据背后的隐性规律,助力医药产业供给侧结构性改革。该系统的落地不仅推动了医药监管领域的数字化转型与高质量发展,更为保障公众用药安全、提升政务服务信息化水平提供了重要的技术保障与示范效应。
3、系统研究内容
系统开发围绕六大核心大数据分析模块展开,底层依托Hadoop与Spark架构处理海量数据,利用Python与MySQL进行数据清洗与挖掘。数据概览模块实现了剂型批准量排行、中药品种结构雷达图、热门通用名剂型分布气泡图及过期占比监测仪表盘。文号溯源分析模块通过折线图与散点图呈现批准年份趋势、地区代码分布以及年份与注册分类交叉趋势。品名热度分析模块利用条形图、气泡图与分类树展现通用名热度排行、重复频次及通用名长度分布。效期态势分析模块通过环形图、柱状图与折线图监控有效期年份分布、临期药品预警及效期与注册分类的交叉关系。剂型结构分析模块借助环形图、热力图与旭日图拆解主流剂型份额分布与注射剂结构。风险洞察分析模块运用K-Means算法进行药品画像聚类,结合桑基图与词云图完成剂型与分类关联及通用名关键词挖掘。
4、系统页面设计






如需要源码,可以扫取文章下方二维码联系咨询
5、参考文献
[1]袁钰洋. 基于大数据分析与故障诊断模型下药品智能生产设备预测性维护策略[J].大众标准化,2026,(1):160-162.
[2]单海东,李协翰,陈玉文. 数字技术在药品流通中的应用——以人工智能、大数据分析和物联网为例[J].中国市场,2025,(34):193-196.DOI:10.13939/j.cnki.zgsc.2025.34.048.
[3]郭祺瑞,徐剑,张永萍. 贵州省药品生产企业计算机化系统及电子数据管理相关缺陷分析与对策研究[J].中国药业,2025,34(22):7-11.
[4]庞敏. 基于大数据分析的药品不良反应监测新模式探索[J].数字通信世界,2025,(10):184-186.
[5]张国飞,梁国泉,黄星儒,等. 药品零售企业非现场监管系统构建研究[J].办公自动化,2025,30(19):7-10.
[6]孟宪磊,田运佳,魏红立. 利用智慧监管体系保障邢台市药品安全[J].品牌与标准化,2025,(5):246-248.
[7]王菁,陈云. 基于大数据分析的食品药品质量溯源方法研究[J].中外食品工业,2025,(16):84-86.
[8]张露丹,闫微,刘爽,等. 大数据赋能食品药品检验:应用路径与效能提升分析[J].中外食品工业,2025,(11):37-39.
[9]殷淑文. 通过钉钉小程序分析肿瘤医院药品质量数据及对策讨论[J].中国处方药,2024,22(10):66-69.
[10]石怀明,曾浩洋,梁国泉,等. 基于数据中台的药品安全舆情数据分析及实现[J].软件导刊,2024,23(2):92-98.
[11]高楚淮. 基于改进模糊聚类算法的数据信息分析与预测模型设计[J].电子设计工程,2023,31(16):21-24+30.DOI:10.14022/j.issn1674-6236.2023.16.005.
[12]王博飞,顾嘉,柳涛. 天津市药品供应保障大数据监测分析预系统架构设计与实施[J].中国战略新兴产业,2022,(33):127-129.
[13]郭海霞. 大数据背景下推进药品检验档案数字化建设的对策分析[J].机构与行政,2022,(10):25-26.DOI:10.13636/j.cnki.jgyxz.2022.10.035.
[14]赵先德,唐方方.区块链赋能供应链[M].中国人民大学出版社: 2022.
[15]闫志国,宛楠,严迪,等. 基于Scrapy爬取电商药品数据及数据可视化分析处理[J].轻工科技,2021,37(3):98-100.
[16]吴文慧,李亮,葛渟,等. 基于大数据的药品安全网络舆情监测系统设计[J].电脑知识与技术,2021,17(5):86-88.DOI:10.14004/j.cnki.ckt.2021.0535.
[17]彭心怡. 食品药品投诉的数据挖掘及其监管效率的提升——以湖北省为例[J].市场周刊,2020,33(11):25-27.
[18]丁可.基于关联分析的村卫生室信息管理系统的设计与实现[D].重庆三峡学院,2020.DOI:10.27883/d.cnki.gcqsx.2020.000138.
[19]李键坤,黄凤英,操寅达,等. 基于RFID的处方药品大数据管理系统设计[J].物联网技术,2020,10(3):61-63.DOI:10.16667/j.issn.2095-1302.2020.03.017.
[20]周清萍,周娜,梁毅. 关于数据管理和数据完整性的药品cGMP警告信分析[J].化工与医药工程,2020,41(1):62-68.
6、核心代码
# 将聚类结果写入MySQL,供Vue+Echarts前端进行可视化展示(如气泡图、桑基图)
clustered_df.select("drug_id", "generic_name", "remaining_days", "prediction") \
.write.format("jdbc") \
.option("url", "jdbc:mysql://localhost:3306/drug_analysis") \
.option("dbtable", "result_drug_cluster") \
.option("user", "root").option("password", "password") \
.mode("overwrite").save()
# ==========================================
# 模块二:效期态势分析 - 临期药品预警统计核心代码
# 技术栈:Python, Spark (PySpark)
# 功能:分布式计算药品有效期分布,统计临期与过期占比,生成预警数据
# ==========================================
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, datediff, current_date, when, count, sum as _sum, round
# 初始化SparkSession
spark = SparkSession.builder \
.appName("DrugExpiryWarning_Stats") \
.enableHiveSupport() \
.getOrCreate()
# 加载药品批准文号与效期数据
expiry_df = spark.sql("SELECT drug_id, dosage_form, register_category, expiry_date FROM ods_drug_approval_info WHERE expiry_date IS NOT NULL")
# 计算剩余有效天数,并根据阈值划分效期状态(已过期、临期一年内、有效)
status_df = expiry_df.withColumn("remaining_days", datediff(col("expiry_date"), current_date())) \
.withColumn("expiry_status",
when(col("remaining_days") < 0, "已过期")
.when((col("remaining_days") >= 0) & (col("remaining_days") <= 365), "临期一年内")
.otherwise("有效"))
# 按剂型与注册分类进行交叉聚合统计,计算各状态下的记录数
stats_df = status_df.groupBy("dosage_form", "register_category") \
.agg(
count("drug_id").alias("total_count"),
_sum(when(col("expiry_status") == "已过期", 1).otherwise(0)).alias("expired_count"),
_sum(when(col("expiry_status") == "临期一年内", 1).otherwise(0)).alias("near_expiry_count")
) \
.withColumn("expired_ratio", round(col("expired_count") / col("total_count") * 100, 2)) \
.withColumn("near_expiry_ratio", round(col("near_expiry_count") / col("total_count") * 100, 2))
# 将效期态势统计结果写入MySQL,驱动前端仪表盘与柱状图渲染
stats_df.write.format("jdbc") \
.option("url", "jdbc:mysql://localhost:3306/drug_analysis") \
.option("dbtable", "result_expiry_stats") \
.option("user", "root").option("password", "password") \
.mode("overwrite").save()
💕💕作者:计算机源码社
💕💕个人简介:本人八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Spark、hadoop、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/m0_72599287/article/details/166740730




