隨著政府越來越重視國際醫療資訊標準HL7 FHIR,醫院也開始動起來要導入。為降低門檻,臺灣開源社群5年前就打造一款低程式碼通用FHIR轉換工具,只需寫短短幾行程式碼,就能將CSV、XML、JSON、SQL/NoSQL等來源資料,轉換為任意版本的FHIR資料,還支援臺灣FHIR核心實作指引(TW Core IG)。後來,該工具新添了無程式碼功能,使用者用GUI介面定義設定檔、不必寫任何程式碼,就能轉換FHIR資料,再次降低轉換技術門檻。
政府力推FHIR,不只建立TW Core IG,也推FHIR癌藥事審
衛福部近年力推FHIR,先是成立專案辦公室,負責設置符合臺灣醫療情境的TW Core IG核心實作指引,去年也開始鼓勵醫院用FHIR進行癌藥事前審查。
甚至,在總統賴清德提出的健康臺灣深耕計畫中,健保署就針對其「導入智慧科技醫療」範疇,提出短期和中長期的FHIR目標,比如短期要導入癌症治療相關資訊設備、且以FHIR為標準來傳送資料,中長期則是健保業務全面以FHIR常規傳送。(如下圖)
FHIR究竟有什麼好處,值得政府力推?
FHIR是國際HL7協會開發的醫療資訊交換標準,目標是提高醫療系統的互通性和效率,來解決醫療系統間「語言不通」的問題,讓醫療系統可以結構化方式交換電子病歷、用藥紀錄、生命徵象等各類健康資料。
中華民國軟體自由協會(簡稱軟自協)理事長楊宇凡點出,採用FHIR有幾種好處,比如藉由統一資料格式和交換規範,來讓不同醫療系統交換資料、打破資料孤島;以及貼近實務需求,因為FHIR涵蓋醫療流程中的各種資料,能滿足實際應用的各種需求,還能支援行動裝置接入。再加上,FHIR採用現代網路標準進行資料交換,如HTTP、REST API、JSON、XML等,因此對開發人員來說,更好上手、更容易開發醫療應用。
採用FHIR還有不少附加價值,比如各種量測數據都能使用單一API送進後端AI,甚至只要是符合SMART on FHIR框架的AI應用,都能直接串接醫院系統,不必大幅更動現行的醫療資訊系統(HIS)。而且,用符合FHIR標準的結構化資料來訓練AI模型,就能省下清洗資料的大量時間。
社群開源通用轉換工具,支援多種來源資料和FHIR版本
不過,即便政府推廣FHIR數年,許多醫院仍對FHIR卻步。這是因為,醫院系統多年來疊床架屋,導致資料標記(Schema)非常複雜,要整理資料、轉換成FHIR,也就變得困難。
為降低門檻,坊間出現許多開源FHIR轉換工具,但這些開源工具有些共通缺點,比如大多只支援標準間的轉換,像是只能將CDA R2轉成FHIR。
為此,楊宇凡及其團隊5年前就打造一款開源的通用轉換工具Project FHIR Universal Conversion Kit(簡稱Project F.U.C.K.),主打開發者可將任意格式資料(如CSV、XML、JSON、SQL/NoSQL等),轉換為符合FHIR標準的結構化資料,而且不限FHIR版本,並支援臺灣本地的TW Core IG實作指引。
楊宇凡點出,這款工具不只能轉檔,還能在轉換後自動執行資料驗證、直接上傳至FHIR Server。此外,Project F.U.C.K.也能透過設定,來進行資料前處理(如欄位轉換、正規化或去識別化)和後處理(如結果重整、附加欄位)。醫院也能根據需求,來自行擴充工具模組,或結合Terminology Server 、 OAuth Gateway等其他工具,來打造完整的資料解決方案。
在操作上,使用者可以用2種方式使用這套工具。一是作為Node.js函式庫(Library)使用,只要將設定檔(Config)定義好,就能用convert指令來自動完成轉換,「整個過程不需10行程式碼。」(如下圖)
另一種使用方式是,設定檔設定好後,透過Project F.U.C.K.的API介面,去呼叫封裝好的網頁伺服器來進行FHIR資料轉換。(如下圖)
設定檔是轉換關鍵,除了Low-code還新添No-code設定功能
這個設定檔很重要,使用者可以用它來定義FHIR轉換的流程,包括資料來源格式、轉換規則、前處理和後處理規則,以及驗證規則。使用者可建立.js檔案來新增設定檔。
舉例來說,來源資料轉換前,會先經過全域資料處理器,使用者可設定簡單的資料清洗,像是移除不需要的欄位等等。接著,使用者可設定來源資料和FHIR產出版本的映射關係,以及更細緻的欄位客製化調整(如對生日或身份證字號去識別化)。(如下圖)
楊宇凡說明,使用者也能根據需求,在資料夾內新增多個設定檔,比如抽血資料設定檔、癌藥事審設定檔,轉換時帶入設定檔名稱,工具就會根據該設定檔內的規則自動轉換資料。如此一來,醫院可以把F.U.C.K.工具當作中央轉換器,不必為每個轉換需求再各自寫一套轉換工具。
以FHIR癌藥事審為例,醫院使用者可以先到健保署的臺灣健保癌症用藥事前審查實作指引網站,點擊邏輯模型,來了解FHIR癌藥事審需要哪些欄位資料,就可以從醫院資料庫撈出這些資料。
在使用F.U.C.K.設定檔進行欄位映射前,使用者可以設定資料前處理規則,比如將來源資料特定欄位的雙引號或單引號移除。接著進行欄位映射,將來源資料欄位對應到輸出目標欄位,如hosp ID對應到OrganizationHospital.identifier。(如下圖)
除了自己寫JavaScript設定檔,這套工具還有更便利的使用方式,不必寫程式碼,直接透過GUI設定檔產生器,就能快速轉換FHIR。
也就是說,使用者可在F.U.C.K.的config_builder資料夾中,找到GUI介面,來生成設定檔。生成過程中,使用者還能即時預覽設定檔,有誤可以馬上修改(如下圖)。
完成後,使用者再將設定檔放到config資料夾、就能進行FHIR轉換,大幅降低使用門檻。