2024年5月29日发(作者:)
SQL Server 2000在医院收费审计的运用
我局在对某医院原院长进行任期经济责任审计时,利用SQL Server数据库技术对该院
的医疗收费、药品收费等情况进行了辅助审计,查出该院在收费方面存在自立项目收费、
分解项目收费、合并项目收费、收费项目不明确、收费标准超规定等问题,取得了较好的
效果。现将运用SQL语言对该院住院部收费电子数据进行查询、统计的方法介绍如下,以
期能为审计同行起到抛砖引玉之效。
一、审计医院的医疗收费项目,检查其是否符合文件规定
1. 运行“SQL查询分析器”
依次打开“开始—>程序—>Microsoft SQL server—>查询分析器”,弹出“连接到
SQL Server”,如果您在安装时未设置密码,直接点击“确定”进入“SQL查询分析器”
窗口,这时系统默认连接到“master”数据库,必须将此连接更改为连接到“XX医院医
疗收费查证”数据库,才可以运行SQL查询语言来对“XX医院医疗收费查证”数据库进
行查询等操作。方法是用鼠标点击“master”右方的下拉箭头,选择下方出现的“XX医
院医疗收费查证”数据库并单击。当工具栏“更改数据库”窗口中显示的是“XX医院医疗
收费查证”数据库后,说明更改成功。如图:
2. 查看从医院数据库中导入的那6张项目表,研究估测其各个字段的含义、字段之间
以及项目表之间的逻辑关系,进而得出其收费项目是否符合规定的结论。
第一步,查看“SFLB(中立意思:收费列表)”项目表,在查询窗口中输入“select *
from sflb”语句,然后按下键盘上的F5快捷键,或用鼠标点击工具栏上的绿色小三角符号来
运行这个查询语句。其运行结果如图:
这张表共29行,从表的内容看,应该为各个主要收费项目,其字段名中“BH”、“MC”
等字段名的含义为“编号”、“名称”的可能性最大。
第二步,查看“SFXMBZB(中文含义:收费项目标准表)”项目表,在查询窗口中输
入“select * from SFXMBZB”语句,然后按F5快捷键运行,其运行结果如图:
这张表共有2701行,22个字段,其部分字段名的含义可以猜出,如:BH(编号),
MC(名称),PYJM(拼音简码),WBJM(五笔简码),DJ(单价),YYDJ(医院单价),
DW(单位),SFLB(收费列表)等,有一些字段名我们猜不出其含义,也用不上,就不去
管它。这时我们发现,这张项目表中的“SFLB”字段下的字段值与“SFLB” 项目表中的
“BH”字段下的字段值一样,而“SFXMBZB” 项目表中再也找不倒“SFLB” 项目表中
的收费名称,这要求我们对这两张表进行关联。
第三步,用关键字段将两张表中的相关有用信息提取出来并组合成一张新的项目表,
命名为“XX医院电脑收费计价依据表”,为便于使用,在生成新表时将相关字段名改为易
于理解的中文名称,并根据“SFLB” 项目表中“BH”字段的字段值按照从小到大的顺序
来排序。在查询窗口中输入“SELECT AS 收费详细编号, AS
收费详细名称,DJ AS 单价,DW AS 单位, AS 所属项目编号, AS
所属项目名称 INTO XX医院电脑收费计价依据表 FROM SFXMBZB INNER JOIN SFLB
ON = ORDER BY 所属项目编号 ASC”并运行,数十秒钟后,新
项目表“XX医院电脑收费计价依据表”就生成了。如图:
第四步,在查询窗口中输入“SELECT * from XX医院电脑收费计价依据表”查看表的
内容,如图:
再输入“SELECT * from XX医院电脑收费计价依据表 WHERE 所属项目名称='护理
费'”语句并运行来查看护理费的计费依据,如图:
从这些表中可以看出,这所医院未执行《安徽省物价局、安徽省卫生厅关于改革我省
医疗服务价格的通知》皖价费〔2003〕220号文件的规定,未按照《安徽省物价局、安徽
省卫生厅关于改革我省医疗服务价格的通知》所列的项目编码、项目名称等实行医疗收费,
而是违背文件规定自行编制收费项目编码和项目名称,此外还存在自立项目、分解项目、
合并项目、收费标准超规定等行为。
二、分析、统计该院2004年度住院收费的违规详情
1. 查看“SFD_2” 项目表和“SJH” 项目表的内容,找出其相互关系。
在查询窗口中输入“SELECT * FROM SFD_2”并运行,可以查看这张项目表。其结果
如图:
该表有100.76万条记录,包含2004年5月1日至2005年12月8日的所有住院收
费记录,表中共32列,其中对审计有用的字段有:ZYH(住院号,即住院病人编号),SFLB
(收费列表,从字段值上可以看出是收费项目的编号),SFBZBH(收费标准编号,从字段
值上可以看出是收费详细项目的编号),DW(单位),DJ(单价),SL(数量),SJFY(实
际费用,即每次录入数据时实际收取的费用),RQ(日期,即收费日期),表中找不到住院病
人的名称、收费细目的名称。这就又要求我们必须将这张表与其它的表进行关联。当我们
在查询窗口中“SELECT * FROM sjh”并运行后,可以看到这个名为“SJH”的项目表有
56列,其中的SJH(收据号),ZYH(住院号),XM(姓名)等字段与“SFD_2”项目表
的字段定义一致,可用于与“SFD_2”联接。
2. 通过创建中间表来获取该院2004年的医疗收费详细信息。
第一步,创建一个名为“住院部04年收费信息中间表”的项目表。
为便于以后的工作,我们需要将SFD2与SJH两张表中的有用信息提取出并生成一张
新的项目表,并将表名定义为“住院部04年收费信息中间表”。在查询窗口中输入“SELECT
AS 收据号码, AS 住院号,XM AS 住院病人姓名,SFBZBH AS 收费细目
编号,SFLB AS 所属项目编号,RQ AS 收费日期,DW AS 单位,DJ AS 单价,SL AS 数
量,SJFY AS 收费金额 INTO 住院部04年收费信息中间表 FROM SFD_2 INNER JOIN
SJH ON SFD_= WHERE YEAR(SFD_)=2004” 并运行,如图:
数十秒钟后,系统从那100余万条记录中提取出2004年的收费记录共38.3万条,并
根据关键字ZYH将住院病人的住院号与姓名,收费收据号码联接起来。
我们在查询窗口中输入“SELECT * FROM 住院部04年收费信息中间表 ORDER BY
收费日期 DESC”并运行,让这张表根据“收费日期”字段的时间顺序从后向前排列以便
于查看,结果如图:
第二步,将这张中间表与“XX医院电脑收费计价依据表”进行联接,生成名为“XX
医院住院部04年收费情况详细表”,并按收费详细编号的顺序从小到大排序。
在查询窗口中输入“SELECT 住院病人姓名,收费详细名称,所属项目名称,住院部04年
收费信息中间表.单价,住院部04年收费信息中间表.单位,数量,收费金额,收费日期,收费详细
编号,收据号码,住院号,住院部04年收费信息中间表.所属项目编号 INTO XX医院住院部
04年收费情况详细表 FROM XX医院电脑收费计价依据表 INNER JOIN 住院部04年收
费信息中间表 ON XX医院电脑收费计价依据表.收费详细编号=住院部04年收费信息中
间表.收费细目编号 ORDER BY 收费详细编号 ASC”,如图:
在查询窗口中输入“SELECT * FROM XX医院住院部04年收费情况详细表”并运行,
其医疗收费记录共22.25万条,从“住院部04年收费信息中间表”中过滤了16万余条,
其原因我将在后面说明。运行结果如图:
第三步,在“XX医院住院部04年收费情况详细表”查找各种性质相同的收费项目收
费的例数、单位及总金额,生成“审计XX医院04年住院收费情况表”,以获取其分项目
收费情况。
在查询窗口中输入“SELECT 收费详细编号,收费详细名称 AS 收费名目,所属项目名
称 AS 所属项目,单价,SUM(数量) AS 例数,SUM(收费金额) AS 收费总额 FROM XX医院
住院部04年收费情况详细表 GROUP BY 收费详细编号,收费详细名称,所属项目名称,单价
ORDER BY 收费总额 DESC”并运行,这样电脑将根据收费明细项目分类,并按各类收费
总额从大到小的顺序排列,分1436行显示各类收费的详细情况,如图:
我们在上述SQL语句中的“FROM”单词前加上“INTO 审计XX医院04年住院收
费情况表”字样,让程序生成一个名为“审计XX医院04年住院收费情况表”的项目表,
以便于日后的查询。
如果考虑到重要性水平,我们还可以缩小查找的范围,如审查收费总额在1万元以上
的收费项目的违规情况,则在查询窗口中输入“SELECT * FROM 审计XX医院04年住院
收费情况表 WHERE 收费总额>=10000”,这时将得到76项数据,程序将收费总额在
10000元以下的收费共1360项给过滤了,我们可将这76项数据作为重点审计对象。如
图:
3. 将查询结果复制到EXCEL工作表中,对照有关收费文件对医院的收费项目、单位、
价格、收费例数、收费金额等进行逐项审查,并计算出其违规收费的详细金额。
复制数据的方法是:单击“显示结果窗格”中 “行标1”上的那个小方格,选中整张
表格,再右击鼠标选“复制”,回到EXCEL工作表中选“粘贴”,之后再将SQL SERVER 项
目表“显示结果窗格”中的相应字段名输入到EXCEL工作表中即可,之后我们可以在EXCEL
工作表中进行各种计算了。
三、审计医院的药品收费是否违规
我们在创建“XX医院住院部04年收费情况详细表”时,SQL Server程序从“住院
部04年收费信息中间表”中过滤了16万余条的记录,这省缺的16万条记录是药品收费。
原因是“XX医院电脑收费计价依据表”中没有这些药品的收费详细编号,“SQL Server 查
询分析器”在联接两张表时就将这一部分过滤了。经查看“XX医院电脑收费计价依据表”
时得知,该表“所属项目编号”中编号为“1300”、“1400”、“1500”的分别代表“西药”、
“中成药”、“中草药”,我们可以通过输入“SELECT * FROM 住院部04年收费信息中间
表 WHERE (所属项目编号='1300' OR 所属项目编号='1400' OR 所属项目编号='1500')
ORDER BY 收费细目编号”来查看,共16万余条记录,如图:
也可以在上述SQL语句中的“FROM”单词前加上“INTO 住院部04年药品收费情
况表”将其创建为名为“住院部04年药品收费情况表”的中间表,以备审计医院药品收费
情况时能够及时调用。当然审计药品收费时还需要与MZ_CFD(中文意思:门诊_处方单),
MZ_CFh(中文:门诊_处方号),MZ_SFD(中文:门诊_收费单)等项目表配合使用,其
方法基本等同于审计住院医疗收费。
此外,我们还可以将医院的住院收费与门诊收费项目表合并在一起进行归类、汇总,
由于从医院数据库中导入的“SFD_2”和“MZ_SFD”等项目表的部分字段不允许空值,
所以必须先建一张空的项目表,再运用“INSERT INTO”等语句将项目表中的相关字段值
导入。
发布评论