第三方移动支付接入“军卫一号”系统的实践与思考
导读:搭建安全、快捷和高效的移动支付服务,降低排队时间,方便患者就诊。以我院信息系统为例,介绍第三方移动支付和医院信息化系统对接时的网络架构搭建、接口和业务实现。在充分考虑安全和速度前提下,成功搭建移动支付平台,广受患者欢迎,取得良好效果。移动医疗目前发展迅速,信息化技术和手段层出不穷,使得医疗信息化建设任重而道远。
在“互联网+医疗”的大背景下,我院积极与第三方合作,相继推出掌上长海、趣医院、微信公众号、支付宝生活号等为患者服务的项目。患者通过手机即可实现预约、挂号、缴费和报告查询等就诊服务,尤其是可以通过微信或支付宝在线上支付费用,无需再去窗口排队,有效改善了就医体验。 移动支付的最大挑战就是信息安全,如何防止黑客、木马的入侵,保护患者隐私数据不被泄露,成为十分棘手的难题。从2013年开始,我们先后尝试了通过串口、USB等方式进行内外网数据交互,但始终无法解决传输速度慢和系统稳定性差等问题,用户体验不佳。对此,我们从网络搭建、接口封装、业务改造等网间数据交互的关键环节进行了精心设计,实现了较为安全可靠的第三方移动支付平台。 在网络搭建方面,最重要的是内外网数据交互的实现方式。我们采用网闸技术将内外网进行分隔,实现内网前置机和外网前置机的数据交互。为保证数据的安全,网闸配置策略是:仅允许内网抓取外网数据,外网数据不可写入内网,从而做到数据只出不进。 患者在手机端使用医院微信公众号和支付宝生活号进行挂号或付费的过程是:患者通过手机获得号表和费用明细,然后进行微信或支付宝支付后,业务请求数据首先通过互联网专线,进入医院内部。穿过医院内部防火墙,防火墙上设置白名单IP,进入患者移动服务平台,该平台上部署安全中间件和应用服务。患者发起的请求写入医院对外的web服务端,也就是外网前置机,外网前置机上部署webservice接口以及数据库。经过网闸,设置内网前置机,内网前置机上部署内网轮询程序,每隔1秒从外网数据库中抓取请求数据进行业务处理,并将业务数据写入HIS数据库完成业务,成功后,将结果写回外网数据库中。若业务失败,则返回失败代码,返还患者已扣费用。 通过上述的网络搭建,虽然充分的保证了数据安全,却由于中间的数据摆渡耗时降低了传输速度。为了解决速度问题,我们在内网前置机的轮询上做了改造: (1)硬件配置:2个CPU、主频2.4GHz,八核;硬盘1T;内存32G;网卡为千兆双网卡;操作系统Windows Server 2008 R2。 (2)软件方面:采用多进程并行处理模式。外网端请求数据写入时,根据先后顺序进行排序并编号,记录在外网数据库中。内网轮询程序部署多个进程,从外网数据库中抓取数据时,采用取余的方式进行抓取。假设外网数据库中有150个挂号和收费请求,序号为0-149,内网部署5个进程,0号至4号。当内网轮询程序抓取外网请求时,若请求序号通过mod(序号,5)计算等于0,则由0号轮询进程处理,若mod(序号,5)计算等于1,则由1号轮询程序处理,以此类推。这样做,既能够平均分配请求数,加快时间,又能够保证一个请求不会被重复抓取。当然,进程部署的个数并不是越多越好,并行的进程越多,资源消耗也会增大,速度也会变慢。所以要根据硬件性能和业务量的大小,通过测试,获得最优的进程数。 2 接口封装 外网服务器主要用途是处理移动端请求,并将请求数据记录在数据库中,是web服务端。在这个web服务端,我们部署了一套webservice接口。 挂号的接口主要有: 另外,在接口的书写中,还有很多需要注意的细节,如科室列表的过滤、专家的过滤、专家号的限号、停诊和号满的显示和标识、医保和自费患者的区分、业务失败后线上费用的处理等。线上费用处理的及时性是很重要的,尽量线上收线上退,既保证患者利益,减少纠纷,也减少人工窗口麻烦。 3 业务改造 3.1轮询程序 轮询程序部署在内网前置机上,用于处理外网数据库中的挂号和收费请求,完成挂号和收费业务,并将数据写入HIS数据库。挂号业务的主要内容包含科室列表的显示、科室内各号表的显示、挂号费用分摊的显示和挂号确认成功的显示。收费业务的主要内容包含当天开单的显示,开单明细的显示、收费费用分摊的显示和收费确认成功的显示。 另外,轮询程序处理业务需要分配专门操作人号和特殊的结账标识。由于轮询程序采用多进程处理,为避免冲突,收据号的产生机制可采用序号发生器模式。 3.2结账 在结账方面,手机端挂号和收费与人工窗口的挂号收费有很大的不同。首先,人工窗口的收费员每天日结个人当天费用,而手机端产生的费用需要专人进行统一结账。第二,人工窗口的每位收费员日结时,重点核对的是现金,即报表现金和实际收取现金的额度是否一致,而手机端是微信和支付宝收入,无现金金额,需财务人员进行线上核对。 3.3对账 对账主要有业务对账和银行来款对账。业务对账主要是HIS中业务与线上的每一笔流水进行对账。银行来款对账是指微信和支付宝T+1天转入银行账户金额和银行来款单进行对账。 使用效果 我院移动平台上线后,取得了很好地效果。从图3中可以看出:自2016年7月移动平台上线后,线上支付人次除春节期间有所下降外,整体处于上升趋势。为窗口排队进行分流,缓解压力。 另外,由于受医保等各方面原因的限制,目前线上平台付费仅限于自费患者。若医保后期可以开放线上交易接口,实现医保患者的手机端缴费,相信使用效果还会更好。 医疗行业的互联网化、移动化近几年发展迅速,这既依赖于政策的支持,也依赖于移动设备的发展和信息技术的提高。这不仅给医院的整体发展带来了全新的体验,也为医院的信息化建设带来了巨大的挑战。 现在,医院内部系统普遍存在历史悠久、架构陈旧和扩展性差的问题。在现有的系统中嫁接移动医疗,面临很多困难和风险。与移动医疗对接,难点在于内部改造和内外网安全对接,怎样既能保证内部数据的安全,又不影响患者的使用、提高效率和增加满意度,是对系统改造者的一大挑战。另外,一些地区医保脱卡支付、床边缴费等实现手段突破,也充分说明,医疗信息化建设任重而道远。