首页 > 审计之窗 > 以案释法

巧用数据库技术审计医院检验系统违规收费漏洞

来源:南宁市审计局  作者:钟铭  发布时间:2019-09-18 16:28

医疗卫生涉及千家万户,与老百姓的生活息息相关。审计机关要积极对医院进行审计,反映医院运营管理中存在的新问题和新情况,深入分析体制机制方面的原因,提出审计建议,促进医院的改革,以缓解“看病难、看病贵”的问题,保障百姓的切身利益和社会的和谐稳定。近年来,南宁市审计机关积极组织力量对全市医疗卫生部门进行审计,揭示医院在服务收费、财务资产管理等方面存在的违法违规问题,促进医疗卫生单位的规范管理和健康发展,为政府完善医疗体制改革提供参考信息和决策依据。

2017年,南宁市审计机关对某医院进行审计,重点审计该医院检验科的HIS收费系统及医院检验LIS系统。检验科是医院的重要组成部分,随着信息化程度的不断提高,检验科使用的检验信息系统(laboratory information system,LIS)成为当代医院信息化管理体系的核心部分,可对大批量的检验数据加以处理并登记存取。系统数据是医院收费的重要依据,LIS系统与医院收费系统(hospital information system,HIS)是不同的独立信息系统,两系统之间的数据交互是通过双方系统厂商相互提供信息及程序等方式实现的,在HIS系统医生为病人制定的检验医嘱会生成对应的检验条码,该条码具有唯一性,LIS系统扫描识别后,收费信息便能通过系统间的接口发送至HIS系统。

比对数据发现问题

医院检验收费的流程为:病人挂号看病,医生开具检验医嘱(生成唯一检验条码)——HIS系统扫描条码收费——检验科进行样本检验,LIS系统后台生成检验信息,并返回HIS系统。如果检验科未经HIS系统对样本进行检验,检验病人的信息就无法在HIS系统中查询,但其检验记录会自动存储在LIS系统后台数据库中。

南宁市审计人员在对该医院HIS收费系统及医院检验LIS系统进行分析时,发现两个系统是相互独立的,通过数据接口进行信息交互。为了验证两个系统之间的数据交互是否准确,是否存在系统间无法相互核对数据的情况,即检验系统对送检样本进行检验而未在医院收费系统收费,审计人员利用SQL Server数据库技术编写SQL语句对HIS及LIS系统后台数据进行比对,发现医院检验科未经医院同意使用医疗设备进行检验收费的问题。              

分步审计查找疑点

审计人员首先采集HIS系统及LIS系统后台数据查找疑点。医院HIS收费系统后台数据库为SQL server 2008,审计人员备份了基础库、门诊收费库、住院收费库、库存库4个业务数据库。同时亦对检验LIS系统后台数据进行备份,文件类型为txt文档。然后通过SQL Server数据库整理HIS系统数据,生成收费项目基础表。对SQL Server数据库恢复备份的业务数据(后缀为.BAK格式),通过“数据库”——“还原数据库”的功能将数据导入SQL Server。根据医院信息系统附带的数据字典,并抽取实例数据核对后编写SQL语句建立16张基础表。

查询语句(以门诊费用及费用明细表为例):

SELECT 'X医院'  医疗机构编码,ClinNumber 门诊收费号,SUBSTRING(ClinNumber,9,10) 门诊号,(SELECT name FROM  His_Comm.dbo.BaseEmployee WHERE id =IdDoctor) 医生编号,(SELECT name FROM  His_Comm.dbo.BaseClient WHERE id =IdOffice AND (TheType = 1)) 科室编号,RegiNumber 病人编号,PatiName 病人姓名,'' 就诊卡类型,YBKNumber 医保号码,InvoNumber 发票号,CASE WHEN IdFeeType =1 THEN '自费'WHEN IdFeeType =2 THEN '统筹'WHEN IdFeeType =3 THEN '市医保'WHEN IdFeeType =4 THEN '区医保'WHEN IdFeeType =5 THEN '银联刷卡'WHEN IdFeeType =6 THEN '支票' END  收费来源, ----BaseOtpaFeeType 1 自费2 统筹3 市医保4 区医保5 银联刷卡6 支票InvoDate 收费时间,PayAmount 金额,PayAmount 自付金额,0 自负金额,PayWay 付费方式,IdInvoOperator 结账人员,IsTemp 是否暂时保存 ,* INTO  X医院规划表.dbo.门诊_费用主表 FROM  OtpaInfo  

SELECT 'X医院'  医疗机构编码,ClinNumber 门诊收费号,SUBSTRING(ClinNumber,9,10) 门诊号,IdCharge 收费类别ID,(SELECT name FROM  His_Comm.dbo.BaseOtpaCharge WHERE id =a.IdCharge ) 收费类别, ---BaseOtpaCharge IdItem 收费项目编码,ItemName 收费项目名称,Amount 收费项目金额,PayAmount 自付金额,SelfPayAmount 自负金额,UnitMin 数量,* INTO  X医院规划表.dbo.门诊_费用明细表FROM  OtpaLeanRecipe a

接着,审计人员通过SQL Server数据库整理LIS系统数据,生成检验项目基础表。对步骤一备份的LIS系统后台备份文件(TXT文件格式)进行数据清理筛选,使用excel程序打开数据进一步整理,最后导入SQL Server数据库,形成检验项目基础表。

最后,审计人员将收费项目基础表与检验项目基础表进行比对,筛查数据。编写SQL语句,将检验项目基础表中的病人姓名与医院收费项目基础表中的病人姓名进行比对,筛选出不在医院收费项目基础表中的检验信息。

查询语句:SELECT [病人],[日期],[编码],[姓名],[部门],[性别],[年龄],[年龄],[病区],[医生],[送检日期],[送检人],[检验类型],[检验人] FROM ( SELECT * FROM [X医院AO数据包].[dbo].[检验项目] ) a WHERE [姓名] NOT IN (SELECT DISTINCT [病人姓名] FROM [X医院AO数据包].[dbo].[门诊_挂号信息表] union   ALL SELECT DISTINCT [病人姓名] FROM [X医院AO数据包].[dbo].[住院_病人信息表] union   ALL SELECT  DISTINCT  [患者姓名] FROM [X医院AO数据包].[dbo].[住院综合信息] union   ALL SELECT DISTINCT [患者姓名] FROM [X医院AO数据包].[dbo].[门诊就诊综合信息])

审计确定疑点数据

由于医院收费项目繁多,业务复杂,审计人员通过与医院人员沟通,将正常检验的数据(如学校、单位机构、公司等团体体检数据)删除,最终确定医院检验LIS系统存在检验记录而医院HIS收费系统没有收费记录的疑点数据。

根据疑点数据,审计人员分析存在此类问题的原因并延伸审计。通过分析疑点数据,审计人员发现部分异常送检记录,如送检部门为某宠物医院或私人诊所。于是,审计人员对涉及异常送检记录的单位进行延伸审计,通过与对方谈话、查阅台账等方式,发现医院检验科存在现金收取外来检验样本费用的情况。

在本案例中,审计人员巧用数据库技术进行审计,快速地校验出医院HIS收费系统与检验LIS系统的数据信息是否对接准确,是否存在LIS系统存在检验记录而HIS系统未见收费记录的情况,并且还能够准确地筛选出医院检验科未经医院同意使用医疗设备对外来样本进行检验并违规收费的疑点数据,查出医院检验系统存在违规收费的漏洞问题等,最终确定违规收费的样本检验记录1500多条,审计人员根据有关规定移送有关单位处理。

百老汇官网