周笑宇
(中国人民解放军联勤保障部队第九六三医院,黑龙江佳木斯 154002)
在当今社会,随着科技水平的不断发展和智能手机的全面普及,人们在支付过程中的主流支付方式已经从现金支付转变成了使用手机等进行扫码线上支付。而从医院的角度而言,移动支付可以大大缓解收费窗口的压力,在现金支付为主流的时代,收费员不仅需要进行录入费用等一系列的操作,而且还需要对收到的钱币进行清点和校验,确定钱币的真伪,之后可能还需要进行找给患者钱币等。这样就大大降低收费窗口的效率。当医院接入移动支付后,收费员只需要关注费用是否收取进相应的账户即可,节省了相当多的步骤,大大地缩减了和患者之间的交互时间;从患者的角度而言,在现金支付为主流的时代,患者在和收费员交互的过程中,可能会产生许多不必要的交涉,比如:患者支付后是否找取货币,找取的货币金额是否正确等。当医院接入移动支付后,患者只需要关注支付的金额是否正确即可,也大大地缩减了患者在收费窗口前的交互时间和等待时间。所以,医院接入移动支付是非常必要的。
门诊移动支付主要解决现金收费方式等待时间长,流程冗余等问题。在此场景下应该注意以下几个问题:①支付流程的简化,对于主扫和被扫两种支付方式,笔者建议采取被扫的方式,因为被扫可以大大的简化患者的操作步骤,只需要打开相应的界面即可进行支付。②支付流程的安全性,整个支付过程必须完全保证交易的安全,所以务必要考虑数据传输过程的安全和隔离性。③接口的规范性和可拓展性,为未来可能进行的接口拓展等打下坚实的基础[1]。
为确保交易的安全性,需要在前置服务器和医院内网和HIS服务器和收费终端之间部署网闸,同时应在前置服务器和支付平台之间设置防火墙,避免支付平台被攻击,造成问题数据[2]。该架构如图1所示。
图1 门诊移动支付总体架构
实现门诊全流程移动支付主要需要分为以下部分进行改造:对于院内收费业务,需要改造以下几个模块:①门诊挂号收费模块;②门诊退号退费模块;③门诊收费划价模块;④门诊退库退费模块;⑤全流程异常处理模块。对于院内硬件平台,需要在HIS服务器等与支付前置服务器之间增设网闸,以确保院内网络的安全性,且需要在支付前置机服务器和支付平台之间增设防火墙,以确保支付过程中上传数据时和反馈数据时数据的安全性。
在医院实际运行中,患者首先要进行的步骤就是挂号,当患者在就诊医院拥有了本次就诊独一无二的身份标识后,才可以进行其他的操作,本部分以挂号和退号为例,进行门诊部分移动支付的介绍。
2.3.1 挂号收费模块流程
使用移动支付挂号收费时,需要对于门诊收费功能进行改进,首先需要增加选择支付方式的界面,根据选择的支付方式弹出相应的提示,此时收费员根据提示引导患者进行扫码支付,待患者扫码后,将当前支付信息提交到前置机上,前置机进行转发,至支付平台进行支付处理,支付平台处理完毕后,进行反馈结果,若反馈成功,系统将自动进行打印票据等一系列操作,若反馈失败,则收费员操作关闭订单,该流程如图2所示。
图2 门诊移动支付流程
2.3.2 挂号收费模块相关代码
案例系统以PowerBuilder9.0 进行开发,通过PowerBuilder 自带的oleobject 进行服务器交互,并使用Msxml2.XMLHTTP 进行数据传输,提交方式为post,传输数据格式为json[4],部分代码如下:
2.3.3 退号退费模块流程
退号时,在系统中输入需要退费的收据号后,系统调用退费流程。首先调用门诊系统的退费模块,此时门诊系统从HIS 相关表中读取支付订单号等信息,将退费请求和包含支付订单号的数据串等转发给前置机服务器,由前置机服务器经过处理后转发给支付平台,支付平台处理后,将结果反馈给门诊系统。该流程如图3所示。
图3 退号退费流程
2.3.4 退号退费相关代码
案例系统以PowerBuilder9.0 进行开发,通过PowerBuilder 自带的oleobject 进行服务器交互,并使用Msxml2.XMLHTTP 进行数据传输,提交方式为post,传输数据格式为json,结构体形成相应的数据串与请求头一起进行数据传输,部分代码如下:
住院移动支付主要解决在住院预交金缴纳、支付、退费等过程中,因金额普遍相对较大,患者携带大额金额不方便的问题。在此场景下应该注意以下几个问题:①支付流程的安全性,由于住院业务金额普遍较大,所以相比门诊业务而言,更需要注意数据传输过程中的安全性。②预交金额的准确性问题,因住院业务的特殊性,患者在住院前、住院中等多个时间节点都可能需要进行预交金的充值,这就务必确保支付流程在HIS服务器中写表的准确性。③接口的规范性和可拓展性,为未来可能进行的接口拓展等打下坚实的基础[3]。
实现住院全流程移动支付主要需要分为以下部分进行改造:对于院内收费业务,需要改造以下几个模块:①住院费用预交金缴纳模块;②住院费用结算补收费用模块;③住院费用结算退费模块。对于财务对账业务,需要相应的配套对账系统。本部分以住院费用预交金缴纳模块和住院费用退费模块为例,介绍一下住院业务实现流程:
3.2.1 住院费用预交金缴纳流程及代码
使用移动支付进行住院费用预交金缴纳时,首先应在相应的支付方式中添加移动支付相关的类别,如:微信支付,支付宝支付,银行卡支付等。其次应对预交金缴纳模块的保存功能进行改造,在确保预交金缴纳的整个流程中,应在保证HIS 写表成功的前提下,再通过调用移动支付接口进行缴费,同时在患者缴费成功后,进行移动支付相关的写表操作,当整个支付流程全部成功后,再进行数据库事务的提交操作,以免造成数据错误等。该流程如图4所示。
图4 预交金缴纳流程
3.2.2 住院费用预交金缴纳相关代码
案例系统以PowerBuilder9.0 进行开发,通过PowerBuilder自带的oleobject 进行服务器交互,并使用Msxml2.XMLHTTP 进行数据传输,提交方式为post,传输数据格式为json,结构体形成相应的数据串与请求头一起进行数据传输,部分代码如下:
3.2.3 住院费用结算退费流程
住院费用退费时,在系统中输入需要退费的收据号后,系统调用退费流程。首先调用住院结算系统的退费模块,此时住院结算系统在确认退费金额正确后,在HIS相关表中插入相应的退费金额,并从HIS相关表中读取支付订单号等信息,当HIS结算信息写表成功后,将退费请求和包含支付订单号的数据串等转发给前置机服务器,由前置机服务器经过处理后转发给支付平台,支付平台经过处理后,将结果反馈给住院收费系统。该流程如图5所示。
图5 住院费用退费流程
3.2.4 住院费用结算退费相关代码
案例系统以PowerBuilder9.0 进行开发,通过PowerBuilder自带的oleobject 进行服务器交互,并使用Msxml2.XMLHTTP 进行数据传输,提交方式为post,传输数据格式为json,结构体形成相应的数据串与请求头一起进行数据传输,部分代码如下:
在医院使用移动支付的过程中,一定要确保第三方平台的稳定运行,以门诊为例,当业务量非常庞大时,服务器的宕机或者医院的意外断网等,都会导致瞬时产生大量的异常信息,比如在门诊挂号或者缴费的场景下,服务器的宕机或者医院的意外断网会导致患者的等待时间过长等问题,因为在此场景下,必须要达到设定的停止轮询时间,支付过程才会终止,从而严重地影响整体的支付效率;在门诊退费或住院退费的场景下,服务器的宕机或者医院的意外断网会导致HIS写表已经完成,但是患者并未收到退款的问题,此时就需要调用异常处理模块,甚至需要人为手工进行退费,这样也会大大地加长患者的等待时间。所以在移动支付上线之初,建议尽量选择能提供稳定服务的平台和优质的运营商,既方便患者就医,又会减少医院日常应用和维护的工作量。
要确保整个网络系统的安全运行环境,同时一定要尽量杜绝医院院内网与互联网交叉。对于杜绝院内网和互联网的交叉问题,建议使用网闸进行隔绝,阻断互联网对医院院内网潜在攻击的一切可能连接,使外部攻击者无法直接入侵、攻击或破坏内网,保障了内部主机的安全。同时,建议在第三方平台提供的前置机和平台之间再加一道防火墙,确保数据链路传输过程中的安全,防止关键数据被窃取或攻击。
要注意建立相应的财务对账系统,建立财务对账系统有以下几个好处:①平台数据较为直观,可准确的看出移动支付每天的收益,方便相关人员结合现金账目进行数据分析和处理。②可确保第三方平台和医院院方财务收入的一致性,若出现长短款,方便相关人员及时处理,大大地降低财务风险[5]。
要注意保护患者的隐私,患者通过移动支付进行缴费或退费等操作,都会将其个人信息写入到医院的HIS 系统中,若该部分信息被网络攻击或窃取,会导致患者的隐私被侵犯,易引起医院院方和患者的纠纷,给双方带来不便。
本文首先通过对移动支付的分析,阐述了医院引进移动支付的可操作性和必要性。之后详细地介绍了移动支付流程和部分关键代码,最后浅谈了一些关于移动支付的思考。下一步需要进一步完善移动支付相关的业务流程,减少冗余流程,加快患者的就诊效率,进一步提升医院的信息化水平。