◆戴 燕
关于省市两级药品采购平台的接口设计与实现
◆戴 燕
(芜湖市药品医用耗材管理中心 安徽 241000)
目的:实现芜湖市药品供应链信息管理系统与安徽省医药集中采购平台的采购配送数据对接共享。方法:根据省平台数据需求,采用VPN和构建中间库方式实现数据上传,同时为确保数据上传的完整性,相应增强了系统平台的数据校验。结果:接口实现以来,能够定时定向完整的向省平台自动上传芜湖市市属八家公立医院的采购数据以及对应的配送数据,有效减少了医院和配送企业系统操作人员工作量,极大的提高了工作效率,减少人力成本。结论:芜湖市级平台与省级平台接口的数据对接在安徽省范围内尚属首例,由于其适用性广、兼容性强、具有可在全省推广的应用前景。
接口药品采购;数据共享;平台
自全国深化医药卫生体制改革以来,我国卫生信息化建设步伐加快。大力推进医药卫生信息化建设,建立实用共享的医药卫生信息系统,已成为医改目前现阶段的重要任务之一。以推进公共卫生、医疗、医保、药品、财务监管信息化建设为着力点,完善药品供应保障系统,强化政府监管,整合资源,对于有效落实医改措施、降低医药费用具有重要的战略意义[1]。2015至2016年,我市按照国家和安徽省卫生信息化建设总体要求,以互联互通、资源共享为目标,整合现有药品供应链信息系统和数据资源,研究实现省市平台药品采购配送数据的对接与共享。
1.1 芜湖市药品供应链信息管理系统概况
芜湖市作为国家首批医改试点城市之一,为切实配合芜湖市药改工作需求,于2012年开发完成了基于互联网的政府采购监管平台——芜湖市药品供应链信息管理系统(以下简称“市供应链系统”),利用信息化监管手段对传统的医院药品采购配送模式进行优化,实现对市属八家公立医院药品采购和配送的集中统一监管。
从整个业务流程看,市供应链系统最大特点就是通过WebService接口方式,实现了医院HIS、政府和配送企业ERP三方系统数据的无缝对接和信息互通。即:市属八家公立医院可以在HIS系统直接编制药品采购计划并自动上传至市供应链系统;政府机构在市供应链系统审核采购计划,通过后自动传至配送企业;配送企业在企业ERP系统中下载医院采购计划并直接转换为配送订单,在完成线下配送后可直接在ERP系统中填写并自动上传电子发票至市供应链系统;最后,医院在HIS系统中下载到票信息并完成药品验收入库。
市供应链系统的信息化管理方式,不仅降低了人力成本、提高了工作效率,更有效控制了采购配送周期,加强了政府的监管职能。
1.2 安徽省医药集中采购平台概况
安徽省为加强对全省公立医疗机构药品采购管理,发挥带量采购优势,降低虚高药价,建立了省医药集中采购平台(以下简称“省平台”)。省平台主要包括药品招标系统、药品交易系统和药品监管系统。其中,药品交易系统功能围绕医院和企业的交易需求展开,主要包括:医院用户选择采购目录、建立采购单、提交采购单;企业用户确认订单、配送订单;医院用户验收入库;企业用户开具发票;医院用户回款;企业确认收款。整个采购配送流程均由医院用户和企业用户在省平台上操作完成。
1.3 省市两级平台对接的必要性
为促进省市平台数据资源整合、避免信息孤岛,省市两级平台数据对接势在必行,其必要性具体有以下三点:
一是政策文件要求。按照《安徽省公立医疗机构药品耗材带量采购指导意见》(皖卫药〔2015〕7号)文件要求:“全省所有公立医疗机构实行药品、耗材网上集中采购,所有交易在平台上运行,严禁平台之外交易。各级药品、耗材集中采购监管机构通过省医药采购平台,加强对所辖医疗机构药品采购行为实时监控。”[2]这意味着所有公立医疗机构和配送企业必须在省平台上操作完成药品采购和配送的流程确认。
二是现有采购模式需求。芜湖市按照“政府主导、量价挂钩、招采合一、遴选配送、市场运作”的工作思路,通过遴选药品配送企业,统一市属公立医疗机构药品采购目录,依托市供应链系统对各医院药品采购计划进行逐级审核,以及相关数据分析,实现了对市属八家公立医院药品采购配送的集中管理和统一监管。如果跳过市供应链系统,由各医院和配送企业在省平台直接交易,那么芜湖市级的监管将形同虚设,这显然与政府工作思路相违背,与现有采购模式不符。如果在不改变现有模式基础上,要求医院和企业在省平台再进行一次流程操作,一方面将大大增加操作人员对采购和配送信息的重复录入工作,严重影响工作效率;另一方面可能会造成市供应链系统和省平台数据相脱节,由于系统平台之间的功能规范和数据规范不统一,会对今后数据统计工作造成一定困难。
三是对接难易程度需求。目前市属各公立医院使用的HIS系统仅限于医院内部,医院之间HIS系统是各自封闭的,并且各医院HIS系统也存在着一定程度差异。如果将医院HIS系统与省平台做接口,一方面需要调动各医院信息科的主观能动性,与省平台进行对接工作协商;同时还需要与HIS开发商洽谈开发成本、提供技术支持。对于省平台来说,缺乏政府层面主导、对接接口太多,工作繁杂,实现起来有一定困难。而市供应链系统于2012年已经完成了与市属公立医院HIS系统和配送企业ERP系统的接口实现,数据平稳对接至今,若能在此基础上,由政府层面牵头,依托市级供应链系统与省平台的接口设计,便能实现市属公立医院的药品采购和配送相关数据的打包上传。
基于以上因素考虑,采取市供应链系统与省平台对接方式,能够减轻基层工作量、提高工作效率,进一步提高数据信息资源整合度和利用率,充分实现省市两级平台的区域化协同和互补互通。
2.1 VPN技术
市供应链系统现有数据库服务器两台,应用WEB服务器一台,均置于芜湖金医专网中,各医院用户可直接通过专网访问;在外网交换机上部署防火墙,作为政府用户和企业用户外网访问入口。由于省平台要求对数据进行加密传输,决定采用VPN方式实现数据专网传输,即:在公用互联网络中建立专用网络进行加密通讯,通过对数据包的加密和数据包目标地址的转换实现远程访问,以确保数据传输的保密性和完整性。网络架构如图1所示。
图1 网络架构图
2.2 数据接口方式选择
市药品供应链系统采用Oracle 11g数据库,使用IIS作为应用服务器,为实现数据传输有两种接口方式可供选择:
(1)中间数据库方式
中间数据库方式就是在两个系统之间建立一个新的数据库,用来存放临时数据[3]。采用中间库接口方式,需要省平台搭建中间数据库,市供应链系统通过DBLINK方式连接到省平台,并将药品采购配送数据插入到中间库指定的数据表中。
(2)WebService方式
WebService是一种采用服务的发布及调用来实现信息交换的数据接口方式。它是一种远程调用接口,是一种自描述、自包含以及模块化的应用,能够进行发布和定位,并以Web方式实现数据的调用[4]。采用WebService接口方式,需要双方约定WebService提供的方法和数据结构,由省平台提供WebService,市供应链系统开发对接程序,将药品采购配送数据通过WebService上传至省平台;或者由市供应链系统提供WebService,由省平台开发对接程序获取市供应链系统的采购配送数据。
通过比较两种接口方式,中间数据库方式在进行数据处理和查询时更为简单,通过对表的定义和权限控制,可以明确交互内容,便于问题定位。鉴于实际业务需求以及开发经验,决定采用中间数据库的接口方式进行对接。
3.1 VPN配置步骤
市供应链系统的数据库服务器采用的是RED HAT 的Linux操作系统,首先登录Linux并进入目录,在命令行输入ip link show,查看并记录相应接口的MAC 地址。然后打开相应的配置文件,对文件进行修改,在文件中添加IPADDR=172.16.240.4,NETMASK=255.255.255.0,如图2所示。
图2 修改配置文件界面
最后添加软路由,将凡是访问192.168.102.0/24 网络的,下一跳配置到172.16.240.1,如图3所示。配置完成后输入命令services network restart重启本机network服务,输入ip route show命令查看本机路由表是否配置正确,确保服务器与VPN的LAN口在同一个VLAN内,测试能够ping通省平台IP即表示配置成功。
图3 配置软路由界面
3.2 中间数据库的构建
3.2.1 确定数据表结构
省市平台均采用Oracle数据库,首先由省平台提供医院和配送企业代码作为唯一标识符,市供应链系统中的药品目录按照省平台药品目录的“省流水号”字段进行对应匹配,将“省流水号”字段作为药品品规的唯一标识符。省市平台经过协商,最后确定了中间数据库的三张数据表结构:药品采购订单主表TB_PURCHASEORDER(如表1所示)、药品采购订单明细表TB_PURCHASEORDERDETAIL(如表2所示)、药品配送信息表TB_DISTRIBUTION(如表3所示)。
表1 药品采购订单主表
表2 药品采购订单明细表
表3 药品配送信息表
3.2.2 数据校验
为确保上传数据的正确性和完整性,针对市供应链系统上传的药品采购数据需要进行一系列数据校验,具体内容包括:判断药品流水号是否存在药品目录中、采购单价是否与省平台价格一致、药品配送数量不能超过采购数量、采购配送时间是否符合逻辑要求、订单和发票总金额是否正确等,部分源代码如下。
——检查药品流水号是否存在系统中
update tb_purchaseorder@a199_2016link set ord_screason =ord_screason||';订单中存在无效的流水号异常数据'
whereorderid in(
SELECT distinct orderid FROM TB_PURCHASEORDERDE TAIL@a199_2016link WHERE PROCURECATALOGID
not IN(SELECT GOODSID FROM tb_procurecatalog where sortsource in(20,21,22,23,24,100))AND ORDdel_SCSTATE=0
)AND ORD_SCSTATE=0;
——验证采购价不能高于医保支付参考价
update tb_purchaseorder@a199_2016link set ord_screason=ord_screason||';订单中存在采购价高于医保支付参考价的异常数据'
whereorderid in(
select distinct orderid from tb_purchaseorderdetail@a199_2016 link b,tb_procurecatalog a
whereb.procurecatalogid=a.goodsid and
nvl(a.procureprice,'10000000') )AND ORD_SCSTATE=0; ——采购数量、配送数量、入库数量等判断 update tb_purchaseorder@a199_2016link set ord_screason= ord_screason||';订单中存在配送(入库)数量大于采购数量或者入库数量大于配送数量的异常数据' whereorderid in( select distinct orderid from tb_purchaseorderdetail@a199_2016 link b join( selectsum(distributecount)discount, orderdetailidfrom tb_distribution@a199_2016link c wheredis_scstate=0group by orderdetailid )a on b.orderdetailid=a.orderdetailid andorddel_scstate=0 and (a.discount>b.purchasecount or b.distributecount>b. purchasecount orb.warehousecount>b.purchasecount orb.warehousecount>a.discount or b.warehousecount>b. distributecount ) ); 3.2.3 数据对接实现 市供应链系统与省平台的数据接口于2016年3月正式启用,通过数据接口,经校验无误的药品采购数据和配送入库数据均顺利上传到省平台,具体见图4、图5。 图4 省平台药品采购单页面 图5 省平台药品入库页面 对市供应链系统与省平台的数据接口设计与实现,为我市公立医院药品采购人员和配送企业提供了极大的方便。接口实现前,药品采购人员在进行一次药品采购时,需要分别在HIS系统和省平台制作两次相同的计划,而企业配送人员也要相应的在ERP和省平台操作两次配送确认和发票确认,相同数据的重复录入不仅毫无意义、影响工作效率,给省市两级的数据统计也造成一定的口径差异。接口实现后,不仅有效减少了一倍的工作量,此外,芜湖市作为省内首个尝试将市级平台与省级平台实现数据接口对接,这为省内其他地市提供了一次实例参考,为今后进一步实现区域信息化协同奠定了初步基础。 [1]中华人民共和国国家卫生和计划生育委员会.关于加强卫生信息化建设的指导意见[S],2012. [2]安徽省卫生计生委安徽省医改办安徽省财政厅安徽省人力资源社会保障厅安徽省物价局安徽省食品药品监管局.安徽省公立医疗机构药品耗材带量采购指导意见[S],2015. [3]彭玢代洁.基于中间库与WebService平台信息交互接口设计[J],2013. [4]李春林,周根鸿,刘建辉,张文体.医保新农合接口系统嵌入式改造[J],2015.4 小结与展望