扫码支付在医院自助服务系统中的应用实践
[摘要] 该文案例通过webkit.net组件将扫码支付平台集成到医院自助服务系统已有支付模块(现金、银联、医保),提供了一种异构系统间集成的可行方案;通过增加扫码支付方式,有效提高了患者支付效率,降低了医院现金流风险,改善了患者就醫体验。
[关键词] 扫码支付;医院自助服务系统;HTML5
[中图分类号] R19 [文献标识码] A [文章编号] 1672-5654(2017)12(a)-0067-03
[Abstract] The paper integrates the scan payment platform into the established payment modules(cash, unionpay, medical insurance) in the hospital self-service system through webkit.net assembly thus providing a feasible plan of integration of heterogeneous systems, and it effectively improves the payment efficacy of patents by adding the scan payment method, thus reducing the hospital cash flow risk and improving the medical treatment experience.
[Key words] Scan payment; Hospital self-service system; HTML5
近年来伴随着移动互联网的迅猛发展,“扫码支付”给我们的支付业务带来了前所未有的方便和快捷,“扫码支付”已经深入到工作、生活支付场景的方方面面。医院自助服务系统宗旨是为患者提供方便快捷的查询、挂号、缴费等服务,该院自助服务平台已经实现现金、银联刷卡、社保个人账户等支付方式。为进一步提升系统服务水平,方便患者缴费,在自助服务平台提供“扫码支付”功能显得尤为迫切和必要。
1 医院自助服务系统简介
医院信息化建设随着信息技术的快速发展在不断地拓展和深化。该院自助服务系统建设起步较早,已完成了两次更新换代。最新版自助服务系统实现了社保卡替代院内诊疗卡,患者持全国统一发行的新版社保卡,无需办理院内诊疗卡即可完成全部就医环节。通过自助服务系统,患者可以在一台机器上完成当日挂号、预约挂号、缴费、院内各类信息查询及相关检验检查报告和门诊电子病历的打印等,避免了患者在多个业务窗口奔波和长时间排队,节约了患者就医时间,提升了患者的就医体验。该院自助服务系统现已实现现金、银联刷卡、社保卡支付等3种支付手段,患者可以自主选择合适的支付方式。随着移动支付工具的快速崛起,自助服务系统对第三方支付工具“扫码支付”的支持就显得迫在眉睫,这样患者就可以通过支付宝或微信等完成医院就诊缴费,提高支付效率,降低医院现金流风险,进一步提升自助服务系统服务患者的能力。
2 扫码支付的目标与方案选择
为了实现第三方支付工具(如微信、支付宝等)在医院自助系统中“扫码支付”,需要在自助服务系统中集成统一的扫码支付平台,满足患者“扫码支付”的需求。扫码支付平台支持支付渠道拓展,为未来新兴支付工具进入医院支付体系保留可能性。
该院自助服务系统采用微软.net平台的Winform技术开发,程序架构为C/S架构。自助机硬件设备为按需定制生产,受部分硬件驱动程序限制,自助服务系统需要在Windows XP操作系统环境下才能安全稳定的运行所有功能。二维码“扫码支付”平台为基于HTML5技术开发的移动Web系统,程序架构为B/S架构。因此,自助服务平台和扫码支付平台属于异构系统,模块功能集成相比同构系统更加困难。经过多方面的技术选型和实验,最终确定可行的方案是在原有Winfrom自助系统中嵌入“浏览器组件”实现两个系统的集成和信息互通。
3 扫码支付业务流程分析
扫码支付业务过程是患者、自助机、手机APP三方交互的过程,即患者在自助机页面人工选择欲缴费条目,自助系统通过自助机屏幕向患者返回缴费二维码,患者用相应的APP扫描该二维码完成缴费。整个扫码业务过程可以分解为以下5步完成:第1步,患者人工触发支付请求,WinForm对支付接口发起WebRequest(POST方式)请求,传递支付的就诊编号,支付结果跳转页面地址等参数。第2步,自助服务系统呈现支付二维码,通过在内嵌浏览器组件渲染呈现返回的Web扫码支付页面。第3步,用户用手机支付APP(微信、支付宝)扫描支付页面的二维码,完成支付操作。第4步,自助平台接收支付结果,Web支付页面跳转到相应的支付结果(成功、失败、超时)页面。第5步,根据支付结果跳转到下一步业务模块,支付结果页面通过JavaScript脚本函数调用,通知调用方WinFrom窗体支付结果,根据支付结果,自助服务系统进入相应的下一步处理流程。扫码支付流程如图1所示。
4 扫码支付的技术实现路线
根据自助服务平台和扫码支付平台的集成方案,选择恰当的浏览器内核和开发工具,对于扫码支付功能的实现至关重要。
4.1 浏览器内核的选型
比较并测试了当前主流的3种浏览器内核,选出了对该院自助服务平台支持最好的WebKit浏览器内核。选型内容如下:①Trident内核(代表:Internet Explorer)。优点:基于windows系统自带组件,不需要单独安装部署。缺点:IE9以下版本对HTML5、CSS3支持不好,且Windows XP系统无法安装IE8以上浏览器。②Gecko内核(代表:Mozilla Firefox)。优点:HTML5、CSS3支持度高。缺点:缺少成熟的.net封装组件,组件文件数量多,部署复杂,成功案例少,技术成熟度低。③WebKit内核(代表:Safari、Chrome)。优点:HTML5、CSS3支持友好,并且兼容XP系统基于webkit.net的组件比较成熟,对JavaScript调用支持友好。缺点:Web组件安装包体积比较大。
由于该院自助服务平台是C/S架构本地部署,Web组件大小不是问题,且WebKit内核开发资源丰富,因此最终选择了功能强大、技术成熟度高,基于WebKit内核的WebKit.Net组件进行開发。
4.2 WebKit.Net组件主要特点
WebKit.Net组件包含全部浏览器引擎功能,它提供了几乎独立浏览器可以实现的所有功能。该组件支持XCopy部署,核心引擎打包在一个单独的DLL中,无其他第三方依赖文件,不需要注册DLL和类库,简单的复制就可以使用。组件支持随意的客户化定制,可以定制上下文菜单,文件对话框,JavaScript对话框等,以适应本地应用程序的样式。
WebKit.Net具有完备的JavaScript接口,开放了浏览器V8引擎的JavaScript对象,如window,document对象等,方便开发者通过代码与浏览器完整的交互。同时,它允许开放.NET函数给JavaScript代码,实现双向调用。
4.3 扫码支付的关键实现方法
①用户点击自助机“扫码支付”按钮发起支付请求(POST方式),方法如下:
private void PayRequest(object sender, EventArgs e)
{//声明HttpRequest对象
WebBrowser.Request req=new Request(String.Empty);
//增加POST数据
req.PostData.AddValue("Parma1", "AdminId");
req.PostData.AddValue("Parma2", "Amount");
//注册回调函数
webView1.RegisterJSExtensionFunction("callParentMethod",CallParentMethod);
//通过浏览器控件发送请求,呈现返回页面。
webView1.LoadRequest(req);}
②支付结果页面事件触发函数(以支付成功页面为例),方法如下:
支付成功信息
CallParentMethod('success','Param1','Param2')
③自助系统接收并处理支付结果,方法如下:
void CallParentMethod(object sender, WebBrowser.JSExtInvokeArgs e)
{//通过e.Arguments数组返回扫码支付结果
switch(e.Arguments[0])
{case "success":
PrintVoucher();
break;
case "error":
ShowErrorInfo();
break;
case "timeout"
ShowTimeoutInfo();
break;}
5 扫码支付的实施效果
医院自助服务系统上线二维码“扫码支付”后,微信扫码支付日交易笔数超过1 500笔,支付宝扫码支付日交易笔数超过1 000笔,二者合计日交易金额近30万,位居线上支付方式的前两位。自助机开通扫码支付功能后,极大地方便了患者就医过程中的医疗缴费,实现的项目预期目的,优化了就医流程,提升了患者就医体验。图2为该院线上支付日交易数据分析表。
6 总结
随着移动互联网的快速发展,移动支付快速崛起,在生活中也将发挥越来越重要的作用。医院自助服务系统众引入扫码支付,降低了医院现金流风险,优化了患者就医环境,提升了医院运行效率和患者就医体验。自助服务系统增加扫码支付功能,也是医院信息系统迎接移动互联网时代的必然选择,移动支付安全、医院信息网络安全等都是扫码支付面临的重要问题。
[参考文献]
[1] 陈文迪,黄智勇,叶晓景.支付宝与微信扫码支付在医院的实现与应用[J].中国数字医学,2017(1):106-108.
[2] 罗自然,郭傲,严静东.医疗支付方式的演变对患者诊疗流程的影响[J].国医院管理,2015(3):19-21.
[3 赵爱美.基于HTML5和.NET的移动学习平台研究与实现[J]. 河南科技学院学报:自然科学版,2013(4):62-66.
[4] 倪建新.基于WebKit的嵌入式浏览器关键技术研究与实现[J].智能计算机与应用,2011(6):47-48,51.
(收稿日期:2017-09-09)