药品流向数据清洗之医院名称匹配原理
一、前言
不同的商业流向平台导出的药品流向数据格式千差万别,其中医院名称(终端)
叫法不统一,使得数据处理起来变得非常麻烦。把千奇百怪的医院名称转换为标准的医疗机构名称,也就是所谓的数据清洗
。当然,数据清选还包括产品名称,规格等字段的处理,甚至还包括计量单位转换。如果采用纯人工处理,工作量将会非常巨大。在[琪乐药品流向数据查询管理系统]:https://www.qipanet.com/project/279.html中有提到系统支持数据清洗,那么系统的数据清洗具体是怎么实现的呢?本文将以医院名称
为例,做一个简单的处理过程介绍。
二、实现原理
首先需要知道医院的标准名称,并建立终端名称档案,里面包含所有已知的医院名称信息。其次,需要做数据映射 表,如上图所示,【系统中客户名称】,正是我们定义的标准医院名称。对于不同商业配送单位提供的流向数据,对应匹配表字段【流向中客户名称】。当我们采集平台的流向数据,在保存数据前,将优先到这个匹配表里查找,如果存在【流向中客户名称】与平台给的医院名称一致,那么就会将下载的这条流向数据中的医院名称映射到我们的标准医院名称档案。
图中【商业单位】与【系统中的上级客户】一般是一致的,但是有特殊的情况。比如我们从重庆医药有限公司总部拿到的所有分公司的流向数据,这时【商业单位】应该是重庆医药有限公司,而【系统中的上级客户】应该是各重药的各分公司。
除了下载时自动匹配医院名称,还可以手动在【流向中的客户匹配】这个模块里选中对应的记录,然后批量匹配选中的记录。这是为了对已采集的流向数据做重新匹配,实际应用中经常遇到数据已经采集了,但此前未做数据匹配管理或者匹配指向有误,所以需要能手工匹配。
在【流向中的客户匹配】模块中,未启用的记录是不参与匹配工作的,已匹配过的记录,修改其状态为未启用,对于此前已匹配的记录不受影响。
在本模块中,实际主要使用了【流向中的客户名称】与【系统中的客户名称】,其他字段都是做辅助的。正如上面提到的,有些是为了做预留。防止哪天甲方爸爸要求严格的数据匹配,那时再改代码,可就麻烦很多了!:smile:
三、总结
系统的数据清洗功能可以帮助用户自动化处理各种非标准数据,并且处理过程有迹可循,最终呈现给用户规范可靠的数据。需要指出的是,该功能依赖于规范的医院名称以及匹配档案的准确程度。由于医院名称随时可能调整,如果基础档案不精准,最终的结果将有较大误差,甚至是灾难性的。所以,数据清洗配合人工复核或抽检的方式,及时发现问题并维护档案,能降低数据误差风险。而不是像某些厂商吹的数据清洗功能多么完善,忽视了客观因素的影响。
评论已关闭