您当前的位置:首页 >> 审计学会 >> 审计学会 >> 内容
 
巧用SQL语句检查医院医疗收费和信息系统漏洞
发布日期:2018-04-10    来源:交通局  浏览次数:  字号:〖
 

一、审计背景和目标

日前,笔者参与了对某医院的财务收支审计工作。审计组紧扣医院业务流程,通过运用SQL查询语句的方式,检查医院药品及医疗服务项目收费的合法性、合规性和医疗信息系统数据的真实性、准确性,有针对性地提出改进的意见和建议,促使医院加强内部管理,规范收费行为,完善信息系统,为老百姓提供质优价廉的医疗服务。

二、所需数据资料

门诊处方明细库(MZCFMXK),门诊处方库(MZCFK),产地目录库(YPCDMLK),收费大项目库(SFDXMK),年处方明细库(NCFMXK),年门诊处方库(NMZCFK),门诊病人结算库(MZBRJSK),年门诊病人结算库(NBRJSK),病人首页库(BRSYK),科室编码库(KSBMK),病区代码库(BQDMK),病人结算主表(BRJSK),收费小项目库(SFXXMK)

三、主要审计过程

(一)审查是否存在超剂量开药行为

审计步骤:审计人员将门诊处方明细库、门诊处方库、产地目录库、收费大项目库、年处方明细库、年门诊处方库等相关表,通过关键字段关联,生成审计中间表,并对审计中间表进行查询,提取出单张处方单种药品销售数量高于50的记录。

适用法规:《处方管理办法》(2007年卫生部令第53号)第四章第十九条“处方一般不得超过7日用量;急诊处方一般不得超过3日用量;对于某些慢性病、老年病或特殊情况,处方用量可适当延长,但医师应当注明理由”。

SQL查询语句为:

Select a.xh,d.name dxmmc,c.ypdm,c.dydm,c.ypmc,c.ypgg,c.ykdw,a.ylsj,sum(a.ypsl*a.ts*a.cfts/a.ykxs) ypsl,sum(a.ypsl*a.ts*a.cfts*a.ylsj/a.ykxs) zje

into #temp1

from VW_MZCFMXK a,VW_MZCFK b,YK_YPCDMLK c,YY_SFDXMK d

where b.lrrq like '2016%' and a.cfxh=b.xh

and a.cd_idm>0 and a.dxmdm=d.id and a.cd_idm=c.idm

group by a.xh,d.name,c.ypdm,c.dydm,c.ypmc,c.ypgg,c.ykdw,a.ylsj

insert into #temp1

select a.xh,d.name dxmmc,c.ypdm,c.dydm,c.ypmc,c.ypgg,c.ykdw,a.ylsj,sum(a.ypsl*a.ts*a.cfts/a.ykxs) ypsl,sum(a.ypsl*a.ts*a.cfts*a.ylsj/a.ykxs) zje

from THIS4_HIS..SF_NCFMXK a,THIS4_HIS..SF_NMZCFK b,YK_YPCDMLK c,YY_SFDXMK d

where b.lrrq like '2016%' and a.cfxh=b.xh

and a.cd_idm>0 and a.dxmdm=d.id and a.cd_idm=c.idm

group by a.xh,d.name,c.ypdm,c.dydm,c.ypmc,c.ypgg,c.ykdw,a.ylsj

select xh,dxmmc,ypdm,dydm,ypmc,ypgg,ykdw,ylsj,convert(numeric(12,2),sum(ypsl)) ypsl,convert(numeric(12,2),sum(zje)) zje

into #temp2

from #temp1 a

group by xh,dxmmc,ypdm,dydm,ypmc,ypgg,ykdw,ylsj

order by dxmmc

delete #temp2 where abs(ypsl)<50

select * from #temp2

(二)审查单张门急诊处方开药是否超过5种

审计步骤:审计人员通过将门诊处方库、门诊处方明细库、年门诊处方库、年处方明细库、门诊病人结算库、年门诊病人结算库等相关表关联的方式,提取出单张门急诊处方开药超过5种的记录。

适用法规:《处方管理办法》(2007年卫生部令第53号)第二章第六条“处方书写应当符合下列规则:(七)开具西药、中成药处方,每一种药品应当另起一行,每张处方不得超过5种药品”和《卫生部关于印发〈医院处方点评管理规范(试行)〉的通知》(卫医管发〔2010〕28号)第四章第十七条“有下列情况之一的,应当判定为不规范处方:(十一)单张门急诊处方超过五种药品的”。

SQL查询语句为:

select a.xh,count(distinct b.cd_idm) sl

into #temp1

from VW_MZCFK a,VW_MZCFMXK b

where a.lrrq like '2016%'

and a.xh=b.cfxh

and a.jlzt=0

and b.cd_idm>0

group by a.xh

insert into #temp1

select a.xh,count(distinct b.cd_idm) sl

from THIS4_HIS..SF_NMZCFK a,THIS4_HIS..SF_NCFMXK b

where a.lrrq like '2016%'

and a.xh=b.cfxh

and a.jlzt=0

and b.cd_idm>0

group by a.xh

delete #temp1 where sl<=5

select * from #temp1

select a.sjh,a.fph,a.hzxm,a.sfrq,a.zje,c.sl

from VW_MZBRJSK a,VW_MZCFK b,#temp1 c

where a.sjh=b.jssjh and b.xh=c.xh

union all

select a.sjh,a.fph,a.hzxm,a.sfrq,a.zje,c.sl

from THIS4_HIS..SF_NBRJSK a,THIS4_HIS..SF_NMZCFK b,#temp1 c

where a.sjh=b.jssjh and b.xh=c.xh

(三)审查医疗服务项目是否超标准收费

审计步骤:审计人员通过将门诊处方明细库、门诊处方库、收费小项目库、收费大项目库、年处方明细库、年门诊处方库等相关表关联的方式,提取出单价高于100元的医疗服务项目数据,并与物价部门提供的《医疗服务价格项目规范》等文件资料电子版进行交叉比对,发现诊疗服务项目收费单价高于物价部门核定标准的记录。

适用法规:国家发改委办公厅《关于医药卫生服务价格检查有关政策界限的通知》(发改办价监〔2011〕3156号)“医疗服务价格方面……(三)关于不按规定提供服务而收费的问题……医疗卫生机构应严格按照《全国医疗服务价格项目规范(试行)》,以及卫生、中医药部门制定的临床诊疗规范临床和路径,以及文书记录规范等规定,向患者提供检查、护理、治疗等服务”。

SQL查询语句为:

select d.name dxmmc,c.id,c.dydm,c.name,c.xmgg,c.xmdw,a.ylsj,sum(a.ypsl*a.ts*a.cfts/a.ykxs) ypsl,sum(a.ypsl*a.ts*a.cfts*a.ylsj/a.ykxs) zje

into #temp1

from VW_MZCFMXK a,VW_MZCFK b,YY_SFXXMK c,YY_SFDXMK d

where b.lrrq like '2016%' and a.cfxh=b.xh

and abs(a.ylsj)>100

and a.cd_idm=0

and a.ypdm=c.id and c.dxmdm=d.id and a.dxmdm=d.id

group by d.name,c.id,c.dydm,c.name,c.xmgg,c.xmdw,a.ylsj

insert into #temp1

select d.name dxmmc,c.id,c.dydm,c.name,c.xmgg,c.xmdw,a.ylsj,sum(a.ypsl*a.ts*a.cfts/a.ykxs) ypsl,sum(a.ypsl*a.ts*a.cfts*a.ylsj/a.ykxs) zje

from THIS4_HIS..SF_NCFMXK a,THIS4_HIS..SF_NMZCFK b,YY_SFXXMK c,YY_SFDXMK d

where b.lrrq like '2016%' and a.cfxh=b.xh

and abs(a.ylsj)>100

and a.cd_idm=0

and a.ypdm=c.id and c.dxmdm=d.id and a.dxmdm=d.id

group by d.name,c.id,c.dydm,c.name,c.xmgg,c.xmdw,a.ylsj

select dxmmc,id,dydm,name,xmgg,xmdw,ylsj,convert(numeric(12,2),sum(ypsl)),convert(numeric(12,2),sum(zje))

from #temp1 a

group by dxmmc,id,dydm,name,xmgg,xmdw,ylsj

order by dxmmc

(四)审查HIS系统自身存在的问题

1.数据是否存在逻辑错误

审计步骤:审计人员通过将病人首页库、科室编码库、病区代码库等相关表关联的方式,提取出同一个住院号病人入院日期晚于出院日期,存在逻辑错误的记录。

适用法规:江苏省卫计委《关于印发江苏省实施电子病历基本规范(试行)细则的通知》(苏卫医〔2010〕57号)第二十条“医疗机构电子病历系统运行应当符合以下要求:(六)电子病历使用的术语、编码、模板和标准数据应当符合有关规范要求”和第二十一条“数据准确可靠,数据之间应相互关联、相互制约”。

SQL查询语句为:

select blh,hzxm,sex,birth,b.name,c.name,a.ryrq,a.rqrq,a.cqrq

from ZY_BRSYK a,YY_KSBMK b,ZY_BQDMK c

where ryrq>cqrq

and cqrq like '2016%'

and brzt in (2,3,4,8)

and a.ksdm=b.id and a.bqdm=c.id

2.数据表间是否缺少必要的勾稽关系

审计步骤:审计人员通过将病人首页库、病人结算主表、科室编码库、病区代码库等相关表关联的方式,提取出同一个住院号病人实际住院天数与结算住院天数不一致的记录。

适用法规:江苏省卫计委《关于印发江苏省实施电子病历基本规范(试行)细则的通知》(苏卫医〔2010〕57号)第二十条“医疗机构电子病历系统运行应当符合以下要求:(六)电子病历使用的术语、编码、模板和标准数据应当符合有关规范要求”和第二十一条“数据准确可靠,数据之间应相互关联、相互制约”。

SQL查询语句为:

select syxh,ryrq,cqrq,convert(numeric(12,2),0) zyts,convert(numeric(12,2),0) zyts1

into #temp1

from ZY_BRSYK

where cqrq like '2016%'

and brzt in (2,3,4,8)

update #temp1 set zyts=b.zyts

from #temp1 a,(SELECT a.syxh,sum(b.zyts) zyts from #temp1 a,ZY_BRJSK b where a.syxh=b.syxh and b.jlzt =0 group by a.syxh) b

where a.syxh=b.syxh

update #temp1 set zyts1=datediff(day,substring(ryrq,1,8),substring(cqrq,1,8))

select blh,hzxm,sex,birth,b.name,c.name,a.ryrq,a.rqrq,a.cqrq,d.zyts,d.zyts1

from ZY_BRSYK a,YY_KSBMK b,ZY_BQDMK c,#temp1 d

where d.zyts<>d.zyts1

and a.ksdm=b.id and a.bqdm=c.id

and a.syxh=d.syxh

drop table #temp1

四、小结


审计人员通过上述审计方法筛选出疑点数据后,还需通过走访医保管理中心、物价部门,咨询专家和部分住院患者,查阅相关资料等方式,剔除合理因素,根据核实后的结果确认问题,准确定性。(常州市审计局  王晴川)

 
主办单位:常州市审计局 网站地图
地址:龙城大道1280号1号楼B座12楼 电话:0519-85682658
苏公网安备32041102000483号  网站标识码:3204000054  苏ICP备05003616号