WFU

2019年1月2日 星期三

健保資料庫(NHIRD)之資料庫串聯


文章作者:林星帆
本文為重新編輯 2014/10 發表在晨晰統計部落格的文章,這裡這裡





前言


前一篇文章中,我們已將健保資料庫所涵蓋的幾個主要檔案作了初步的介紹,接著我們介紹該如何「串檔」。

所謂的串檔就是將同一個人在不同檔案的就醫資訊作串聯,例如我們收案條件(Enrollment)是診斷糖尿病(從門診 CD 檔擷取),欲探討糖尿病人之後的醫療耗用(Utilization)及預後(Prognosis),由於病人有可能會住院進而產生費用及後續的診斷(住院費用跟診斷是 DD 檔),因此我們需要把某個病人的 CD 檔跟 DD 檔作串聯,這就是所謂的串檔,是健保資料庫最富挑戰性的部分。


譯碼簿


在開始串聯各個檔案來源之前,首要之務就要先知道每個檔案有哪些欄位,這部分國衛院有作了非常詳盡的譯碼簿(Coding book),譯碼簿又分成「資料描述」及「代碼說明」兩個部分,以下將詳細說明。

國衛院譯碼簿的下載網址在此


資料描述


資料描述的部分,列出每一個檔案來源的各個欄位名稱說明與資料型態,我們舉 CD 檔為例,下面列出 CD 第一頁(共四頁)的部分欄位內容。





首先是「序號」,指的是欄位的編號。接著是國衛院建議的英文欄位與中文欄位的名稱。

資料型態「C」為文字型態(Character),N 為數字型態(Numeric)。長度指的是這個變項的字元數,例如就醫日期(FUNC_DATE)的長度是 8,因為它是 YYYYMMDD 的格式,一共 8 個字元。

最右邊的資料描述則是一些補充說明,有時候下方會有註解說明,或是要再對照「代碼說明」,後續會再說明。

由於光 CD 檔的資料描述就有四頁之多,以下列出幾個比較常用到的欄位。

下表列出 CD 檔比較常用到的欄位說明,其中序號 1~6 是用在於跟醫令檔(OO檔)串聯使用,除此之外並無其他用途。





就醫科別(FUNC_TYPE)也不是很常用,不過因為這個欄位剛好可以與「代碼說明」作對照,因此作展示使用。

關於診斷碼部分(ACODE_ICD9_1~ ACODE_ICD9_3),雖然列了三個,但在每一次的門診中,醫師不一定會把三個診斷都填滿,或許只會有一個診斷碼或甚至完全沒有診斷碼也有可能。

手術/處置碼(ICD_OP_CODE)也是不一定會有,例如只是看個感冒,醫師可能沒有作任何的手術(例如開刀)及處置(例如氣管鏡)。

不過要稍微注意一點,由於健保資料庫從 1996 年就開始,在這麼長的一段期間有一些欄位的字元數(長度)在一開始可能認為 1 個字元就足夠,但後來可能發現不敷使用而改為 2 個字元,因此在讀取健保資料庫時要注意到即使是一樣多的變項,但是總長度可能不同,例如 CD 檔就有兩組年份,但其實差別只在於其中一個欄位的長度不同,因此讀取資料的時候要稍微注意一下。


代碼說明


在健保資料庫中,有些欄位有相對應的編碼,例如我們以上述例子中的就醫科別(FUNC_TYPE)為例,我們想知道這次門診是到什麼科就診的,可由「代碼說明」檔案中找到「就醫科別及細分科」的對照表,下圖列出其中幾種科別。





若是我們到腸胃內科看診,FUNC_TYPE 就是 02 或 AA 都有可能。


各檔案之間的關聯-舉例說明


總覽


在串聯資料之前,最重要的是要先知道各個檔案之間的關鍵變數(一般稱之 key variable)為何,才能夠將各個不同檔案來源予以串聯。

下圖為國衛院製作的各檔案間串檔變項說明,每一個文字方塊代表的是不同的檔案來源,文字方塊左上角的字體為筆者加上去的檔案英文縮寫名稱,沒有標示縮寫名稱是筆者經驗中比較少用到的檔案。





按照筆者經驗,大致上關鍵變數可以分成幾種類型,首先為身份證字號(ID),可用來直接串聯 CD/DD/ID/HV 等檔案、再者為用來串聯醫令檔(門診或住院)的六個關鍵變數、最後則是其他關鍵變數,以下再作說明。


利用 ID(身份證字號)串檔


首先是可以利用 ID(身份證字號)直接串檔的資料來源有 CD、DD、HV及 ID 檔等,因為這四個檔案皆有該對象的身份證字號與出生年月日。因此直接以身份證字號與出生年月日就可以將這四種不同來源的資料予以串聯。


與醫令(Order code)串檔


之前有提過,如果要作比較細部的分析,例如要瞭解是否有使用某一種用藥或某一種手術/處置,或是需要得知更細的費用分析,必須使用到醫令檔。

以門診費用明細檔(CD)而言,每一次門診所申請的醫令可能包括醫師診察費、處置費、藥費,其中包括費用與數量皆記載在醫令檔中(OO),而 CD 與 OO 之間的串聯關鍵變數並不是病人的身份證字號,而是由六個欄位組合而成的關鍵變數,如下表所示。





倘若將這六個欄位合併成一個欄位之後,CD 檔中不會找到重複的資料,因為這六個欄位代表的是獨一無二的就診資料,然而其相對應的 OO 記錄可能會有很多筆,因為每一筆 OO 記錄代表某一種藥物/處置/明細。





其他串檔:醫院 ID、醫師 ID


再來還有一些其他串檔的關鍵變數,如果我們想知道這一次門診/住院是在什麼等級的醫事機構就診,那麼就是要用 CD/DD 檔跟 HOSB(醫事機構基本資料檔)檔做串聯,關鍵變數即為醫院 ID(欄位為:HOSP_ID)。

倘若我們想知道關於本次主治醫師的一些特性,例如年資或科別,就是要以用 CD/DD 檔跟 DOC 檔(專科醫師證書主檔)檔做串聯,此時的關鍵變數為醫生 ID(欄位為:PRSN_ID)。