VII.IG實戰
今天要進入倒數第二個章節了,實際看一個IG在做什麼,需要什麼資料內容,
今天要介紹的主要是兩個官方正在推行的IG -> TWPAS與TWCI
先從TWPAS開始談起,TWPAS的全名為臺灣健保癌症用藥事前審查實作指引,主要是將衛福部健保署的事前審查用藥機制以FHIR的方式來申請提交,
用更直白的方法來解釋就是,今天某個病人要用某種健保給付的藥,但這種藥的給付使用必須經過申請與審核,FHIR介入了原先以CDA等格式的申請單結構,
申請人將IG所需的資訊填入Bundle中,透過健保署的上傳方式即可完成申請。
https://nhicore.nhi.gov.tw/pas/
另一個則是TWCI,全名為臺灣重大傷病實作指引,跟前面的事前審查指引相同,是為了讓原先的重大傷病流程申請FHIR化。
https://build.fhir.org/ig/TWNHIFHIR/ci/index.html
其實官方現在推行FHIR本身就是想將政府與醫事機構端的溝通以FHIR做橋樑,
作為示範效果,希望各機關單位都能夠因應這個趨勢也將自己的內部系統改成FHIR架構。
才怪,原來的作業流程幾乎都是綁死的,為了FHIR從資料庫、前後端架構、I/O端軟硬體整合全部都要重來,
我相信以臺灣的企業或機構布局來說短期內不會也不可能這樣做,
這也就是繞回來系列文的最開頭,為什麼要搞轉換這件事。情非得已身不由己。
結合最前面的知識點,我們知道該如何閱讀IG的內容,
筆者個人在設計FUME Mapping的第一步是先去翻要申請提交的Bundle範例,先看一下Bundle Profile裡面要了哪些東西
https://nhicore.nhi.gov.tw/pas/Bundle-bun-1.json.html
請注意,這只是範例中的其中一個Bundle範例,針對不同的應用情景會有差異,謹以此說明。
我會先拿TWPAS來做講解,因為TWCI的IG結構相較TWPAS來說簡單一些,我們放到後面談。
在這個範例JSON的第一步,我會去把Bundle Profile也順便打開,
可以選擇開meta.profile的uri或是直接去找結構定義,
筆者自己不太喜歡看視覺化邏輯模型,在閱讀上並沒有單純看JSON來的易懂。
再來,因為申請的Resource都是Bundle,所以要先注意一下Bundle的type,不同的type對使用的集成Resource有不同的限制,
但通常會作為申請表單的大概都是collection、document或是transaction。
在確定完Bundle基本的布局之後,接下來就是先將這些Bundle的屬性項先行放入FUME來編纂了。
到這一步之後其實我們可以開始來歸納整理一下TWPAS Bundle中需要哪些子Resource了
Bundle Resource中總共需要的子Resource如下:
$claim 事前審查表單
$encounter 就醫科別
$patient 病人資訊
$practitioner 醫事人員
$organization 醫事機構
$organizationGen 基因檢測機構
$diagnosticReportImage 影像報告
$imageStudy DICOM影像
$media 非DICOM影像
$observationCancerStage 癌症分期量表
$diagnosticReport 檢查報告
$observationDiagnostic 基因資訊
$specimen 檢體
$documentReference 報告文件
$observationLaboratoryResult 生化檢驗
$observationPatientAssessment 病患評估
$medicationRequestTreat 過往用藥
$procedure 放射/手術
$substance 放射劑量
$observationTreatmentAssessment 預後評估
$medicationRequestApply 申請用藥
$coverage 健保
$claimResponse 申請回覆
$organizationOrg 健保機構
嗯,接下來就是一個蘿蔔一個坑,把上面的所有資料都寫完對應就好了,
你說這樣很多,到這一步來說算是簡單的部分了
這邊要注意一下Profile中提到的Cardinality,實作的時候要特別注意該Resource/屬性項允許的數量範圍
還有$exists()的使用,
當然其實不想寫FLASH,也可以用JSON的模式包裝起來,但可讀性會降低一些。
明天我會把這之中的一些Resource的內容列出來,有興趣的讀者現在可以打開FUME Designer Playground開始動手作了,
這個時候一定會遇到非常多疑問跟設計不出來的東西,在TWPAS的範圍內筆者被折磨的很深,可以在明天列出來我自己的思維。
另外就是這章的內容編排上有一點小變動,原先的內容篇幅有點太少了,沒辦法精準涵蓋到背後的那些坑,
主要是會想在這裡談一下為了做簡化輸入還有Debug上做了那些調整。