java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发

简介: 基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。

B/S技术架构,Java开发语言,采用SpringBoot、Vue、MySQL技术开发,自主版权,三甲医院应用案例,适合二次开发。
药品不良反应是指在使用合格药品时,在正常的用法和用量下出现的与用药目的无关的有害反应。这些反应往往因药物种类、使用方式、个体差异等因素而异,可能导致患者身体不适、病情恶化。ADR智能化监测系统能够主动监测预警,及时发现药物不良反应迹象,辅助医务人员发现不良反应,提高药品安全水平。

药品不良反应(ADR)自动监测与反馈系统可每天实时对全院患者进行自动监测,找出疑似的肝肾功能异常的ADR,经药师审核后,将判断结果和治疗方案调整建议反馈给临床医生,并生成电子申报单。该系统同时有移动端和PC端,可以快速、准确、安全的集成来自于医院任何业务系统的信息,且不影响医院HIS系统的正常运行,使药师能够积极参与用药安全监测,保障患者用药安全,提高ADR上报数量。

ADR智能监测系统拟开发三个数据分析与信号识别引擎,分别为ADR数据辨别引擎、药品ADR信号主动监测引擎、ADR处置行为分析引擎。系统由系统管理、规则管理、监测报告三个大的功能模块组成,方便药师维护监测规则知识库,以及监测主题库。
31d500cbc2219271f2f857cb083fdd43_6384038640903791762482972.png

ADR智能监测系统功能描述:

一、规则管理

指标管理:
系统支持每天自动从目标系统获取医院在用的所有检验指标,以供制作监测的规则,具体功能如下:
1、系统支持自动同步以及手工同步院内正在使用的检验指标。
2、支持自定义添加指标,并且可以定义指标类型。

指标规则管理:
系统支持对已经获取的检验指标变更成为可审核的规则,用户可以自定义选择目标指标,针对检验指标的监测类型进行编辑,比如是区间类型的、大于等于、小于等于,差值型的,可以灵活制作,具体功能如下:
1、系统支持查询、新增指标规则。
2、支持对任意检验指标阈值进行编辑,形成监测指标规则。
3、差值型比较复杂,需要设置监测区间。

药品管理:
系统支持每天自动从目标系统获取药品字典,便于用户查看、标记药品的属性,另一个可以关联检验指标,精准定位药品和指标之间的关联关系,可以从药品的视图查看有哪些主题,也可以从主题的视图,查看有哪些药品与之相关,具体功能描述如下:
1、系统支持自动同步以及手工同步院内正在使用的药品信息。
2、支持对药品基本信息进行编辑。
3、支持药品与监测主题进行关联。

不良反应主题管理:

系统支持对任意主题的新增、编辑、删除等,可以对临床已知不良反应归类,明确不良反应类型,比如肝功能相关、肾功能相关、淋巴相关等等,可以按照类别精准维护与之对应的指标和关联药品,实现精确审核,具体功能如下:
1、支持查询、任意新增不良反应监测主题。
2、支持主题名称、类型、关联监测检验指标、关联药品自定义编辑,主题类型支持药品为主和规则为主两种类型。
3、系统支持用药前后联合判断,精确定位ADR源头。
不良反应主题管理1.png
监测任务管理.png

二、监测报告

不良反应报告:
系统每天自动监测的结果,以二维图表的方式呈现给用户,可以实现多维度的查询,以及对不良反应数据判定,比如是否为假阳性,并且可以详细看到患者的相关的数据,比如医嘱以及用药历程、检验指标以及趋势图,辅助药师快速决策,具体功能如下:
1、支持按照监测日期、病人ID、病人姓名、住院号、科室、监测主题、不良反应状态进行查询不良反应患者。
2、详情页能看到患者基本信息、监测结果、指标数据、医嘱数据。
3、支持对监测指标展示趋势图、服用药品历程图。

监测任务管理:
系统对每天监测的情况进行记录,用户可以方便查看当天任务的执行情况,如果发现失败,调整后,可以重复执行,提高系统可用性,具体功能如下:
1、支持按照监测日期、任务状态查询任务执行历史。
2、可以对历史任务手工重复执行。

抗菌药送检记录:
1、系统提供院内HIS系统送检判断接口和保存接口,记录抗菌药用药目的。
2、系统提供医嘱用药目的展示、送检展示,以及提供筛选。
不良反应报告(指标数据).png
抗菌药送检记录.1png.png

三、系统管理

用户管理:
能够实现对系统用户的统一管理,方便系统用户的添加、编辑、删除等,具体功能如下:
1、支持自定义添加、删除、编辑系统用户。
2、支持对用户姓名、部门、性别、电话、状态等信息进行编辑。
角色管理:
能够实现系统的安全策略要求,对功能封装成角色,方便系统授权,按需分配功能,增加隔离效果,具体功能如下:
1、支持对角色自定义添加、删除、编辑。
2、支持对角色包含的权限自定义编辑。
功能管理:
系统预设的基础功能,有权限的用户可以支持对系统功能菜单信息,诸如名称进行编辑,一般不需要更改。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Java
Java并发编程笔记之FutureTask源码分析
FutureTask可用于异步获取执行结果或取消执行任务的场景。通过传入Runnable或者Callable的任务给FutureTask,直接调用其run方法或者放入线程池执行,之后可以在外部通过FutureTask的get方法异步获取执行结果,因此,FutureTask非常适合用于耗时的计算,主线程可以在完成自己的任务后,再去获取结果。
4504 0
|
Java 调度 API
Java并发编程笔记之Timer源码分析
timer在JDK里面,是很早的一个API了。具有延时的,并具有周期性的任务,在newScheduledThreadPool出来之前我们一般会用Timer和TimerTask来做,但是Timer存在一些缺陷,为什么这么说呢?   Timer只创建唯一的线程来执行所有Timer任务。
3301 0
|
Java
Java并发编程笔记之Semaphore信号量源码分析
JUC 中 Semaphore 的使用与原理分析,Semaphore 也是 Java 中的一个同步器,与 CountDownLatch 和 CycleBarrier 不同在于它内部的计数器是递增的,那么,Semaphore 的内部实现是怎样的呢?   Semaphore 信号量也是Java 中一个同步容器,与CountDownLatch 和 CyclicBarrier 不同之处在于它内部的计数器是递增的。
4499 0
|
Java
Java并发编程笔记之CyclicBarrier源码分析
JUC 中 回环屏障 CyclicBarrier 的使用与分析,它也可以实现像 CountDownLatch 一样让一组线程全部到达一个状态后再全部同时执行,但是 CyclicBarrier 可以被复用。
2464 0
|
Java
Java并发编程笔记之 CountDownLatch闭锁的源码分析
JUC 中倒数计数器 CountDownLatch 的使用与原理分析,当需要等待多个线程执行完毕后在做一件事情时候 CountDownLatch 是比调用线程的 join 方法更好的选择,CountDownLatch 与 线程的 join 方法区别是什么? 日常开发中经常会遇到需要在主线程中开启多线程去并行执行任务,并且主线程需要等待所有子线程执行完毕后再进行汇总的场景,它的内部提供了一个计数器,在构造闭锁时必须指定计数器的初始值,且计数器的初始值必须大于0。
6600 0
|
Java
Java并发编程笔记之ArrayBlockingQueue源码分析
JDK 中基于数组的阻塞队列 ArrayBlockingQueue 原理剖析,ArrayBlockingQueue 内部如何基于一把独占锁以及对应的两个条件变量实现出入队操作的线程安全? 首先我们先大概的浏览一下ArrayBlockingQueue 的内部构造,如下类图: 如类图所示,可以看到ArrayBlockingQueue 内部有个数组items 用来存放队列元素,putIndex变量标示入队元素的下标,takeIndex是出队的下标,count是用来统计队列元素个数, 从定义可以知道,这些属性并没有使用valatile修饰,这是因为访问这些变量的使用都是在锁块内被用。
4652 0
|
Java 安全
Java并发编程笔记之读写锁 ReentrantReadWriteLock 源码分析
我们知道在解决线程安全问题上使用 ReentrantLock 就可以,但是 ReentrantLock 是独占锁,同时只有一个线程可以获取该锁,而实际情况下会有写少读多的场景,显然 ReentrantLock 满足不了需求,所以 ReentrantReadWriteLock 应运而生,ReentrantReadWriteLock 采用读写分离,多个线程可以同时获取读锁。
3368 0
|
Java 安全
Java并发编程笔记之ReentrantLock源码分析
ReentrantLock是可重入的独占锁,同时只能有一个线程可以获取该锁,其他获取该锁的线程会被阻塞后放入该锁的AQS阻塞队列里面。 首先我们先看一下ReentrantLock的类图结构,如下图所示: 从类图可以知道,ReentrantLock最终还是使用AQS来实现,并且根据参数决定内部是公平锁还是非公平锁,默认是非公平锁。
4694 0
|
算法 Java 容器
Java并发编程笔记之AbstractQueuedSynchronizer源码分析
为什么要说AbstractQueuedSynchronizer呢? 因为AbstractQueuedSynchronizer是JUC并发包中锁的底层支持,AbstractQueuedSynchronizer是抽象同步队列,简称AQS,是实现同步器的基础组件,并发包中锁的实现底层就是使用AQS实现,另外大多数人可能不会直接用到AQS, 但是知道其原理对于架构设计还是很有帮助的。
17323 0
|
安全 Java
Java并发编程笔记之CopyOnWriteArrayList源码分析
并发包中并发List只有CopyOnWriteArrayList这一个,CopyOnWriteArrayList是一个线程安全的ArrayList,对其进行修改操作和元素迭代操作都是在底层创建一个拷贝数组(快照)上进行的,也就是写时拷贝策略。
19746 0