劉冬生 歐陽菊香 王爾笑 利強
廣東省佛山市第一人民醫院質控科(528000)
基于SQL的重點疾病和重點手術查詢統計
劉冬生 歐陽菊香 王爾笑 利強
廣東省佛山市第一人民醫院質控科(528000)
目的 為三級醫院評審提供便捷的重點疾病和重點手術查詢統計方法,更好地服務于臨床和醫療質量管理。方法 運用SQL語言編寫腳本,將全部重點疾病和重點手術的查詢統計方法分別集成在一個程序中,供用戶使用。結果 可以輸出任意日期范圍內的重點疾病和重點手術的醫療質量與安全監測指標,方便快捷。結論 應用SQL可以有效提高病案首頁信息利用的效率和準確性,更好地為醫院管理服務。
SQL 國際疾病分類 手術操作分類 查詢統計
衛計委于2011 年4 月發布了《三級綜合醫院評審標準(2011 年版)》(以下簡稱《評審標準》),開始了新一輪的醫院等級評審工作。新一輪評審標準是在全面總結過去醫院評審經驗教訓的基礎上,借鑒國際上先進的醫院評審理念與有效做法,重點突出了“醫療安全與質量”這個核心主題。該書第七章“日常統計學評價”中包含了十八種重點疾病和十八類手術的質量與安全監測指標[1]。
這些疾病和手術都是用ICD-10或ICD-9-CM3編碼來標識的,一般來說,臨床科室無法對其進行查詢和統計,只能由病案統計人員完成。通常病案統計人員是根據病案首頁管理軟件的查詢功能將一個個病種或手術查出來的。這樣不但工作量大、效率低,而且有些指標(如重返類指標)是很難查出來的,因此,有必要探討一種便捷的方式來完成這些復雜的任務。
1.審定ICD-10和ICD-9-CM3編碼
雖然《評審標準》指定了所有重點疾病和重點手術的編碼,但在實際應用當中,醫院某些編碼可能會有一定差別,因此要審定本院使用的編碼是否和指定的編碼一致,不一致的則要調整。例如,腹腔鏡下膽囊切除術,正確編碼為51.23,而有的醫院則可能編兩個碼:51.22+54.21(膽囊切除術+腹腔鏡探查術)。
2.熟悉數據庫表結構
只有熟悉病案首頁數據庫表結構,才能運用SQL查詢。以廣東省病案統計管理系統4.0版為例,需要熟悉的表有主表tpatientvisit、診斷表tdiagnose和手術表toperation,它們之間以住院號(fprn)+住院次數(ftimes)作為關聯字段。其中主表存儲病人基本信息,每次住院產生一條記錄;診斷表存儲病人診斷信息,每條記錄代表一個診斷;手術表存儲病人手術信息,每條記錄表示一項手術或操作。需要用到的字段還有年齡(fage)、出院日期(fcydate)、住院天數(fdays)、總費用(fsum1)、ICD10編碼(ficdm)、診斷類型(fzdlx,若=1則為主要診斷)、手術操作碼(fopcode)、離院方式(flyfs)。
3.編寫SQL語句
SQL(structured query language)即結構化查詢語言,是一種數據庫查詢和程序設計語言。在SQL數據庫當中,在底層數據結果完全不同的數據庫系統當中,也可以使用相同的SQL語言擔當起數據輸入與管理的端口[2]。
《評審標準》要求每季度做一次分析,監測重點疾病的總例數、死亡例數、2周與1月內再住院例數、平均住院日與平均住院費用。現以第一種重點疾病“急性心肌梗死”2014年1季度的數據為例說明SQL的編寫過程。其主要診斷ICD-10:I21-122編碼為急性心肌梗死的非產婦出院患者,排除編碼為心臟手術的18歲以上患者。
(1)出院總例數
select count(1)總例數 from(select distinct t.fprn,t.ftimes from tpatientvisit t,tdiagnose d where t.fprn=d.fprn and t.ftimes=d.ftimes and fcydate between ‘2014/01/01’and ‘2014/03/31’and left(fage,1)=‘Y’and substring(fage,2,3)>=18 and d.fzdlx=‘1’and d.ficdm between ‘121’and ‘I22.999’)a where not exists(select * from(select distinct t.fprn,t.ftimes from tpatientvisit t,tdiagnose d,toperation o where t.fprn=d.fprn and t.ftimes=d.ftimes and t.fprn=o.fprn and t.ftimes=o.ftimes and o.fopcode like ‘36.1%’and fcydate between ‘2014/01/01’and ‘2014/03/31’and left(fage,1)=‘Y’and substring(fage,2,3)>=18 and d.fzdlx=‘1’and d.ficdm between ‘121’and ‘I22.999’)b where a.fprn=b.fprn and a.ftimes=b.ftimes)
這里年齡fage是以字符形式存儲的,“Y20”代表20歲,“M8”代表8個月。心臟手術的編碼為36.1,實施了這一手術的病例需要被排除。
(2)死亡例數
在總例數的查詢語句中再增加一個限制條件:主表的離院方式flyfs=‘死亡’即可。
(3)平均住院日
select avg(cast(fdays as float))平均住院日 from(select distinct t.fprn,t.ftimes,fdays from tpatientvisit t,tdiagnose d where t.fprn=d.fprn and t.ftimes=d.ftimes and fcydate between ‘2014/01/01’and ‘2014/03/31’and left(fage,1)=‘Y’and substring(fage,2,3)>=18 and d.fzdlx=‘1’and d.ficdm between ‘121’and ‘122.999’)a where not exists(select * from(select distinct t.fprn,t.ftimes from tpatientvisit t,tdiagnose d,toperation o where t.fprn=d.fprn and t.ftimes=d.ftimes and t.fprn=o.fprn and t.ftimes=o.ftimes and o.fopcode like ‘36.1%’and fcydate between ‘2014/01/01’and ‘2014/03/31’and left(fage,1)=‘Y’and substring(fage,2,3)>=18 and d.fzdlx=‘1’and d.ficdm between ‘121’and ‘122.999’)b where a.fprn=b.fprn and a.ftimes=b.ftimes)
(4)平均費用
把平均住院日的查詢語句中的住院日fdays替換為總費用fsum1即可。
4、SQL語句集成
我們將全部重點疾病和重點手術的SQL語句集成在兩個ASP程序中,并提供用戶界面,用戶輸入指定出院日期即可輸出全部結果,整個過程只需數分鐘。
查詢統計結果以Excel的格式輸出,如表1和表2所示。
按照《評審標準》的要求,重返手術應當是非預期重返,而這僅僅根據首頁數據是無法判斷的,因此我們輸出了重返手術的住院號和次數,便于臨床科室鑒別。并發癥也存在一個在其他院發生并發癥后轉來本院住院的問題,這種情況不應該算做本院發生的并發癥,因此,也輸出了住院號和次數供臨床科室鑒別。
隨著醫院信息化的發展,信息資源不斷豐富,管理部門對信息工作也提出了更多、更高的要求。由于需求繁雜多樣,現有的病案統計軟件無法滿足,這就要求病案統計人員加強學習,掌握檢索數據的工具,實現網絡化信息系統條件下查詢統計工作方式的轉變[3]。SQL是一種功能強大、入門容易、使用方便的工具,非計算機專業人員也可以掌握一些常用的使用技巧,能幫助我們完成許多非常規性的工作,從而提升信息服務水平,更好地滿足管理部門的需求。
[1]中國醫院協會.三級綜合醫院評審標準條款評價要素與方法說明.人民衛生出版社,2011:390-395.
[2]沈海峰.關于如何優化SQL數據庫的性能的幾點分析.電腦知識與技術,2012,8(3):517-518.
[3]屠海波.應用SQL語言進行數據查詢與統計.中國衛生統計,2007,24(4):424-425.
(責任編輯:鄧 妍)