医院是典型的对外服务机构,门诊、收费、药房等窗口部门员工到岗、开诊的准时性是患者满意度中的重要的一项内容,因此考勤管理对于医院既是基本要求,也是精细化管理和提高满意度的一项重要工作。而选择一套适合医院的考勤管理方案是保证医院实现考勤管理目标的重要前提。
1、医院考勤管理的需求特点
由于医院工作的复杂性,使医院对考勤系统的需求较为特殊,具有人数众多、岗位复杂、同一工作人员工作地点多(门诊、病房、手术室)等特点。
目前流行的考勤管理系统方案中,最先进和流行的当属指纹识别和人脸识别等生物识别技术方案,其中指纹识别存在交叉污染的隐患;人脸识别的技术复杂性,当职工人数达到数千人时,人脸验证效率和精度会明显下降,并不是十分适合医院使用。而且上述两种方案,在较大型的医院的建设投入至少以百万计,经济性不佳。而如果使用手机+B/S构架的形式可以解决,则无需添置其他硬件,只需支付软件研发成本,是最经济的方案。
2、验证实现机制
2.1 身份识别
2.1.1 微信绑定 微信公众平台开放的API为用户提供了多种多样接口,方便进行二次开发,为医院对外服务或对内管理均提供了非常便捷的入口和简明的身份验证机制。故而有不少医院对患者服务项目和医院对内管理应用等,均选择微信公众号作为用户端的基本入口。考勤系统可以使用微信API返回的或OpenID(也可使用UnionID)与工号进行匹配绑定,实现第一层的身份识别信息认证绑定。
2.1.2 双向绑定Token 由于每个微信账号对于同一公众号的OpenID是唯一不变的,所以仅仅使用OpenID进行身份识别,可能存在由他人登录微信代签现象。“双向Token绑定”便是避免此问题的方法。
具体实现方法为:用户首次对微信账号与工号绑定时,服务端生成一个Token作为二级验证密匙;此Token在服务端与OpenID和用户信息一同保存,同时在客户端以Cookies的形式进行保存,形成绑定关系;用户每次签到时需对OpenID和Token同时进行验证,验证通过方可认为用户身份信息有效,否则验证失败。用户签到成功后,刷新用户端Cookies(由于微信的Cookies有效期最长为1周,故每次签到后须重新进行一次Cookies写入,以防用户端Cookies丢失)。如果发生用户Cookies丢失的情况,由考勤管理人员或部门负责人通过考勤系统为用户解绑,并且须扫描考勤后台的动态二维码方可进行再次绑定。
2.1.3 设备基本信息历史比对 通过UserAgent可以取得用户手机中的以下信息:设备型号、操作系统类型及版本等,这些信息一般用户是相对稳定不变的。如用户签到历史中,上述信息频繁产生变化(如1周内设备型号多次发生变化),则用户及所在部门考勤管理人员可能存在共同舞弊的现象。如出现上述现象,可由系统向人力资源管理部门发出告警,列入重点监控,必要时暂停相关人员权限。
2.2 位置判定机制 由于医院工作的特点,在考勤管理中对窗口服务人员和其他工作人员对签到位置精度要求是不同的,故本方案设计了两种位置判定机制。对于窗口工作人员采用动态QR码验证进行位置判断,保证定位精度;对于其他工作人员,其签到区域精度要求不是非常高,故基于AP信息的位置识别足以满足对其管理的需要。
2.2.1 动态QR码验证 动态QR码是利用门诊、收费工作站作为位置信息提供设备,为签到用户提供具有短暂时效性的签到QR码,用户通过扫描QR码确认签到时间与位置的一种验证方式。这种验证方式是移动设备签到区域判断的最佳机制,其位置判断可精确到房间,而且可以有效防止多种作弊手段。
具体实现方法为:由服务器生成时间戳信息并记录在服务端,时间戳信息每30秒更新1次;提供动态QR码的工作站(简称QR码端)发起请求后,服务器返回一个包含时间戳信息和QR码端IP地址加密信息的QR码图像;用户通过签到系统公众平台触发微信扫一扫,用户手机将返回的JSON作为POST信息提交服务器;服务器对QR值解码后验证时间戳及位置有效性,确定用户签到操作是否成功,验证流程参见图1。
图1 动态二维码验证流程
由于时间戳信息每30秒更换一次,可有效防止二维码被拍照分享。动态二维码可以嵌在医生、护士的信息系统登录界面上,定位可以精确到具体房间。实施简单且可省去在特定区域布置考勤机的成本。
2.2.2 基于AP信息的位置识别 根据医院业务需求的特点,不少医院均采用自建网络覆盖作为全院wifi覆盖,故而可以利用用户无线接入信息作为位置判别手段。在B/S构架下,服务端无法利用客户端的wifi信号强度等信息进行位置判断。故只能通过IP地址配合拓扑信息查询机进行判断,因此实际情况中无线覆盖所采用组网方式不同,对位置判断的具体实现方式有所影响。
由于医疗业务无缝链接需求,大多数医院多采用二层组网的方式实现wifi覆盖。二层组网的情况下,由于用户返回的IP是移动终端的IP,此用户IP全楼漫游,这种情况下需向NMS(网络管理系统)发起查询获得用户所在位置,或者查询AC的路由表以获得用户设备的接入MAC,然后通过LLDP查询,获得目标用户设备的具体接入AP信息。此时考勤系统的区域判断信息须按照AP设备MAC进行维护,且同一区域内多个AP的MAC均需记录(见图2)。
图2二层组网模式下用户所在位置判断流程
如医院使用三层组网实现wifi覆盖,则区域判断过程大大简化,一般这种情况下,用户返回的IP是所在区域AC或胖AP的IP,根据此IP即可得知在哪个三级网络设备的覆盖范围内,从而直接得知用户所在区域。此时考勤系统区域判断信息仅须按IP地址进行管理和维护即可。
2.3 完整验证方案 综合上述技术手段,考勤系统的完整验证流程如见图3。
图3 基于微信的签到身份及位置识别机制验证流程
3、实施效果
医院采取基于上述技术的考勤管理系统后,人员按时到岗率较以往有了明显的提高,特别是对外窗口服务的准点率和患者满意度有了显著的提升,最终达到了以低投入带来高产出的管理目标。本方案的实施同时也印证了管理投入与收益同样符合边际效应递减规律,管理措施的推行,不一定要使用最先进的技术手段,因为最先进的技术手段带来的往往也是高昂的成本,成本的增加会导致投入产出比的下降。在管理过程中需要注意成本投入与管理效果之间需要取得适当的平衡,以尽可能小的投入带来尽可能高的管理效益才是关键。
4、结论
本文中所述的考勤管理身份和位置验证方法,以B/S构架实现为出发点,以微信公众平台为入口,有效利用了微信软件及其提供的API接口,简化了业务实现,同时利用医院现有资源和设备作为延伸技术手段,弥补了微信及手机端的身份验证及地理位置服务等功能的不足,使微信成为医院考勤系统的客户端,有效利用了可利用资源,降低了系统部署成本。同时该身份及位置识别实现方法不单单适用于医院考勤管理,也可作为其他系统实现相似功能的一种参考。