论文部分内容阅读
[摘 要]针对目前区域内药品安全事件频发的现状,本文首先从业务与功能角度对药品安全预警系统进行了数据流程分析,然后结合药品安全监管业务的基本流程,提出了基于.NET框架和数据仓库的药品安全预警系统的架构方案,并就基于特尔菲法和层次分析法的药品安全指标体系的构建方法以及基于Analysis Server的药品安全数据仓库的设计与实现过程进行了阐述,最后具体介绍了基于时间序列数据挖掘技术的预测预警子系统的设计与实现过程。
[关键词]药品安全 预警系统 数据仓库 .NET框架
一、引言
随着社会主义市场经济的迅速发展,药品安全问题变得日益突出,黑龙江齐二药假药案件、安徽华源“欣弗”注射液不良事件等一系列药品安全重大事故相继发生,给人民群众身体健康和生命安全造成了严重危害。因此,在面对药品安全突发事件频频发生的严峻形势下,国家必须加快完善药品安全监管法规体系,整顿和规范药品市场秩序,建立专门的药品安全控制模式和完善的预警反应机制,并根据实际需要,不断完善,为开展高效、科学的药品安全监管工作提供强有力的支持,从而将事后控制转变为事前预防,将危害减少到最低程度。
本系统的建设目标是立足于绍兴地区药品安全管理与运行体系的基本现状,以国际上公认的药品安全最佳控制模式为基本切入点,以实现“从药厂到患者”整个药品链的预防管理为突破口,通过计算机信息网络平台,以药品安全监测数据为基础,构建药品安全数据仓库,利用数据挖掘技术分析监测数据,找出数据关联模型,对药品安全趋势做出预测和预警,为药监部门和应急反应机构的科学决策提供支持,形成一个实时的药品安全监测网络与预警管理系统,从而为区域内药品安全事件的预防与控制发挥积极的作用。
二、系统需求分析
面向区域的药品安全预警系统是一种大型的数据分布式处理系统,涉及到对数据仓库中大量数据的查找、分析和计算,比较适合用结构化分析方法,因此本文采用多层数据流程图(DFD)来描述系统的功能、输入、输出和数据存储之间的逻辑关系。药品安全预警系统第一层DFD图如图1所示。
三、系统总体架构
1. 体系结构设计
通过对目前主流体系结构设计模式的比较分析,并结合预警系统的业务需求和自身特点,预警系统采用了C/S和B/S相混合的三层体系架构。架构以Windows XP为前台操作平台,以SQL Server 2005数据库和Analysis Service数据仓库为后台服务平台,以IIS6.0为Web服务器,以IE5.5以上版本为客户浏览器;同时,在设计过程中充分考虑系统易用性、可靠性和灵活性的统一,确保系统具有稳定、可靠、安全、易重构的特点。面向区域的药品安全预警系统的体系结构如图2所示。
2. 功能结构设计
通过对药监部门和预警系统的需求分析,并参照SAS 软件的部分模型,将整个系统分为前台系统与后台系统两大部份。前台系统是整个软件系统的主体,也是实现用户功能需求,完成用户业务处理,达成用户业务目标的的部分。系统用户通过Internet/Intranet登录进入系统,按后台管理员所赋予其的角色权限,接受系统服务,进行业务功能的操作与处理,完成既定任务与目标。后台系统是整个软件系统的辅助支撑,也是系统管理员对系统进行控制与设置的功能界面。系统管理员通过客户端应用程序连接后台服务器,对用户信息、配置参数和指标数据等进行系统的设置与管理,以保障系统的正常运行。预警系统的功能结构如图3所示。
四、系统总体设计
1.指标体系的设计
进行药品安全综合评价的关键是建立一套科学的、可行的评价指标体系。科学合理的评价指标体系是建立药品安全突发事件预警系统的前提。
(1)指标体系的选取
根据完备性、最小性、重要性、协调性、可靠灵敏性和代表性的设计原则,以药品抽样检验和ADR监测数据为基础,结合预警相关领域专家的研究成果,分别建立了药品质量不安全指标、假劣药品流通指标和药品经营不规范指标3个一级指标,以及药品抽样不合格率、ADR事件增长率和假劣药品危害系数等10个二级指标。
(2)指标权重的确定
基于该指标体系中指标相关性系数较低的特点,系统主要从指标重要性角度出发用层次分析法(AHP)确定权重。在构建的层次分析模型中,目标层为药品安全突发事件预警指标,准则层为药品经营不规范指标、药品质量不安全指标、假劣药品流通指标三类,指标层为准则层下面的10个指标。分别构建准则层和指标层的判断矩阵,运算得CR=0.009,CR1=0.009,CR2=0.009,CR3=0.019,均满足一致性条件。
(3)预警警界区间的划分
根据药品市场安全状态的变化规律结合药监部门的统计资料,将监测预警的判断区域划分为无警、轻警、中警、重警和巨警五个区域,并分别用绿、蓝、黄、橙和红五种标识灯作为预警信号。同时为了不仅能从状态上了解药品市场的安全状况,而且还能地从强度上去更好地理解分析,系统还给各个指标设计了相应的警度值。
2.数据仓库的设计与实现
系统采用了基于WEB的数据仓库体系结构和基于“数据驱动”的螺旋式开发方法,以提高数据仓库的健壮性,减少数据仓库开发带来的风险。
(1)主题的分析与选取
通过对决策分析的需求研究,确定了一个分析主题,即药品监测指标数据。通过药品监测指标分析能够客观了解并把握区域内药品安全的整体状况,满足决策者决策分析的需要。
(2)数据仓库数据模型的设计
通过对时距和粒度的权衡设置,并依据星型模型和物理数据模型的转换关系,系统建立了如图4所示的物理数据模型。
(3)多维数据集的设计
采用MOLAP模式,并利用Microsoft Analysis Manager建立数据立方体和共享维度,以满足多维查询分析的需要。药品监测指标值立方体星型拓扑结构如图5所示。
3. 预测预警子系统的设计与实现
预测预警子系统是整个药品安全突发事件预警系统的核心组件,其主要功能是完成对十个二级监测指标和三个一级监测指标的短期与中长期预测,并根据预测结果进行状态评估,生成警情警报信息,供决策者参考分析。预测预警子系统主要有五个基本模块组成,即数据浏览模块、趋势判断模块、预测分析模块、状态评估模块和警情展现模块。由于各模块的设计与实现都相对复杂,限于篇幅,下面仅对预测分析核心模块的设计与实现过程做一下介绍。
根据药品监测数据以月统计的特点,我们选用一次指数平滑算法对监测指标进行短期预测(月),选用二次指数平滑算法进行中期(季度)和长期(年)预测。
(1)预测模型的设计
根据指数平滑算法的功能及特点,我们将十三个监测指标数据的时间数列作为输入,将各个指标的最初三期的实际值平均数作为初始值(预测数组的零号元素),平滑常数a为现有监测数据的训练结果值(MSE最小值)或专家给出,预测时间 T 根据将要预测的类型确定,以此对未来某一时段的监测指标值进行预测。指数平滑法预测模型如图6所示。
(2)预测算法的实现
指数平滑算法的输入参数有原始数据、平滑常数、预测时间、平滑次数,经过平滑计算和趋势调整后得到预测数据,指数平滑算法流程如图7所示。
为了方便调用,上述预测算法系统用C#编写成一个模型类(module)文件,在该模型类中定义了一个带参数的公有静态方法getPD(float a, int T, int R, int N, float p( ));同时为了实现在其它文件类中引用这个方法,系统把引用类设置同模型类一样的namespace。
(3)预测子模块的程序设计
预测子模块的程序设计比较复杂,其程序流程主要包括四个步骤,即获取预测参数、创建MDX语句、生成指标值数组和指数平滑计算,如图8所示。
五、小结
面向区域协作的药品安全预警系统是从绍兴地区药品生产、流通、销售到处方整个管理流程的实际出发,在经过广泛调研基础上进行精心设计开发的一套监测预警管理系统,目前系统已经通过测试验收,并交付给药监部门使用。由于平台技术先进、安全可靠、内容实用、成本低廉,使用方便等特点,得到了药品部门一线管理人员的认可,为现阶段预防和减少区域内药品安全事件的发生,加强区域药品安全的信息化管理等问题提供了宝贵的建设经验,具有较好的推广价值。
参考文献:
[1]谭晓东:突发性公共卫生事件预防与控制[M],武汉:湖北科学技术出版社, 2003:50-100
[2]庞开放, 李龙澍:基于.NET框架的Web应用设计与实现[J],微机发展,2005,15(3):85-88
[3]丁书耕, 张路崎, 辛艳芬:基于.NET平台的应用程序开发框架的研究[J],微机发展,2003,13(8):20-23
[4] 路红武, 尤 枫, 赵恒永:基于.net 类结构的WEB应用分层设计与实现[J],北京化工大学学报.2005,32(1):70-73
[5]李 阳, 高自友:铁路安全预警系统的研究与设计[J],中国安全科学学报,2004,14(6):36-40
[6]张维平:建立健全突发公共事件预警管理系统模型的主要设想[EB/OL],http://www.cps.com.cn/ebook/ly.asp?id=490, 2005-06-07/2007-07-01
[关键词]药品安全 预警系统 数据仓库 .NET框架
一、引言
随着社会主义市场经济的迅速发展,药品安全问题变得日益突出,黑龙江齐二药假药案件、安徽华源“欣弗”注射液不良事件等一系列药品安全重大事故相继发生,给人民群众身体健康和生命安全造成了严重危害。因此,在面对药品安全突发事件频频发生的严峻形势下,国家必须加快完善药品安全监管法规体系,整顿和规范药品市场秩序,建立专门的药品安全控制模式和完善的预警反应机制,并根据实际需要,不断完善,为开展高效、科学的药品安全监管工作提供强有力的支持,从而将事后控制转变为事前预防,将危害减少到最低程度。
本系统的建设目标是立足于绍兴地区药品安全管理与运行体系的基本现状,以国际上公认的药品安全最佳控制模式为基本切入点,以实现“从药厂到患者”整个药品链的预防管理为突破口,通过计算机信息网络平台,以药品安全监测数据为基础,构建药品安全数据仓库,利用数据挖掘技术分析监测数据,找出数据关联模型,对药品安全趋势做出预测和预警,为药监部门和应急反应机构的科学决策提供支持,形成一个实时的药品安全监测网络与预警管理系统,从而为区域内药品安全事件的预防与控制发挥积极的作用。
二、系统需求分析
面向区域的药品安全预警系统是一种大型的数据分布式处理系统,涉及到对数据仓库中大量数据的查找、分析和计算,比较适合用结构化分析方法,因此本文采用多层数据流程图(DFD)来描述系统的功能、输入、输出和数据存储之间的逻辑关系。药品安全预警系统第一层DFD图如图1所示。
三、系统总体架构
1. 体系结构设计
通过对目前主流体系结构设计模式的比较分析,并结合预警系统的业务需求和自身特点,预警系统采用了C/S和B/S相混合的三层体系架构。架构以Windows XP为前台操作平台,以SQL Server 2005数据库和Analysis Service数据仓库为后台服务平台,以IIS6.0为Web服务器,以IE5.5以上版本为客户浏览器;同时,在设计过程中充分考虑系统易用性、可靠性和灵活性的统一,确保系统具有稳定、可靠、安全、易重构的特点。面向区域的药品安全预警系统的体系结构如图2所示。
2. 功能结构设计
通过对药监部门和预警系统的需求分析,并参照SAS 软件的部分模型,将整个系统分为前台系统与后台系统两大部份。前台系统是整个软件系统的主体,也是实现用户功能需求,完成用户业务处理,达成用户业务目标的的部分。系统用户通过Internet/Intranet登录进入系统,按后台管理员所赋予其的角色权限,接受系统服务,进行业务功能的操作与处理,完成既定任务与目标。后台系统是整个软件系统的辅助支撑,也是系统管理员对系统进行控制与设置的功能界面。系统管理员通过客户端应用程序连接后台服务器,对用户信息、配置参数和指标数据等进行系统的设置与管理,以保障系统的正常运行。预警系统的功能结构如图3所示。
四、系统总体设计
1.指标体系的设计
进行药品安全综合评价的关键是建立一套科学的、可行的评价指标体系。科学合理的评价指标体系是建立药品安全突发事件预警系统的前提。
(1)指标体系的选取
根据完备性、最小性、重要性、协调性、可靠灵敏性和代表性的设计原则,以药品抽样检验和ADR监测数据为基础,结合预警相关领域专家的研究成果,分别建立了药品质量不安全指标、假劣药品流通指标和药品经营不规范指标3个一级指标,以及药品抽样不合格率、ADR事件增长率和假劣药品危害系数等10个二级指标。
(2)指标权重的确定
基于该指标体系中指标相关性系数较低的特点,系统主要从指标重要性角度出发用层次分析法(AHP)确定权重。在构建的层次分析模型中,目标层为药品安全突发事件预警指标,准则层为药品经营不规范指标、药品质量不安全指标、假劣药品流通指标三类,指标层为准则层下面的10个指标。分别构建准则层和指标层的判断矩阵,运算得CR=0.009,CR1=0.009,CR2=0.009,CR3=0.019,均满足一致性条件。
(3)预警警界区间的划分
根据药品市场安全状态的变化规律结合药监部门的统计资料,将监测预警的判断区域划分为无警、轻警、中警、重警和巨警五个区域,并分别用绿、蓝、黄、橙和红五种标识灯作为预警信号。同时为了不仅能从状态上了解药品市场的安全状况,而且还能地从强度上去更好地理解分析,系统还给各个指标设计了相应的警度值。
2.数据仓库的设计与实现
系统采用了基于WEB的数据仓库体系结构和基于“数据驱动”的螺旋式开发方法,以提高数据仓库的健壮性,减少数据仓库开发带来的风险。
(1)主题的分析与选取
通过对决策分析的需求研究,确定了一个分析主题,即药品监测指标数据。通过药品监测指标分析能够客观了解并把握区域内药品安全的整体状况,满足决策者决策分析的需要。
(2)数据仓库数据模型的设计
通过对时距和粒度的权衡设置,并依据星型模型和物理数据模型的转换关系,系统建立了如图4所示的物理数据模型。
(3)多维数据集的设计
采用MOLAP模式,并利用Microsoft Analysis Manager建立数据立方体和共享维度,以满足多维查询分析的需要。药品监测指标值立方体星型拓扑结构如图5所示。
3. 预测预警子系统的设计与实现
预测预警子系统是整个药品安全突发事件预警系统的核心组件,其主要功能是完成对十个二级监测指标和三个一级监测指标的短期与中长期预测,并根据预测结果进行状态评估,生成警情警报信息,供决策者参考分析。预测预警子系统主要有五个基本模块组成,即数据浏览模块、趋势判断模块、预测分析模块、状态评估模块和警情展现模块。由于各模块的设计与实现都相对复杂,限于篇幅,下面仅对预测分析核心模块的设计与实现过程做一下介绍。
根据药品监测数据以月统计的特点,我们选用一次指数平滑算法对监测指标进行短期预测(月),选用二次指数平滑算法进行中期(季度)和长期(年)预测。
(1)预测模型的设计
根据指数平滑算法的功能及特点,我们将十三个监测指标数据的时间数列作为输入,将各个指标的最初三期的实际值平均数作为初始值(预测数组的零号元素),平滑常数a为现有监测数据的训练结果值(MSE最小值)或专家给出,预测时间 T 根据将要预测的类型确定,以此对未来某一时段的监测指标值进行预测。指数平滑法预测模型如图6所示。
(2)预测算法的实现
指数平滑算法的输入参数有原始数据、平滑常数、预测时间、平滑次数,经过平滑计算和趋势调整后得到预测数据,指数平滑算法流程如图7所示。
为了方便调用,上述预测算法系统用C#编写成一个模型类(module)文件,在该模型类中定义了一个带参数的公有静态方法getPD(float a, int T, int R, int N, float p( ));同时为了实现在其它文件类中引用这个方法,系统把引用类设置同模型类一样的namespace。
(3)预测子模块的程序设计
预测子模块的程序设计比较复杂,其程序流程主要包括四个步骤,即获取预测参数、创建MDX语句、生成指标值数组和指数平滑计算,如图8所示。
五、小结
面向区域协作的药品安全预警系统是从绍兴地区药品生产、流通、销售到处方整个管理流程的实际出发,在经过广泛调研基础上进行精心设计开发的一套监测预警管理系统,目前系统已经通过测试验收,并交付给药监部门使用。由于平台技术先进、安全可靠、内容实用、成本低廉,使用方便等特点,得到了药品部门一线管理人员的认可,为现阶段预防和减少区域内药品安全事件的发生,加强区域药品安全的信息化管理等问题提供了宝贵的建设经验,具有较好的推广价值。
参考文献:
[1]谭晓东:突发性公共卫生事件预防与控制[M],武汉:湖北科学技术出版社, 2003:50-100
[2]庞开放, 李龙澍:基于.NET框架的Web应用设计与实现[J],微机发展,2005,15(3):85-88
[3]丁书耕, 张路崎, 辛艳芬:基于.NET平台的应用程序开发框架的研究[J],微机发展,2003,13(8):20-23
[4] 路红武, 尤 枫, 赵恒永:基于.net 类结构的WEB应用分层设计与实现[J],北京化工大学学报.2005,32(1):70-73
[5]李 阳, 高自友:铁路安全预警系统的研究与设计[J],中国安全科学学报,2004,14(6):36-40
[6]张维平:建立健全突发公共事件预警管理系统模型的主要设想[EB/OL],http://www.cps.com.cn/ebook/ly.asp?id=490, 2005-06-07/2007-07-01