2014年12月21日 星期日

HL7 v2.6學習心得–第二章 訊息的應用與追蹤

我們一路走來學會一些HL7的專有名詞,感覺上還是很空洞。畢竟還是要能用才行呀。只是「要能用」有兩個階段。「標準設計階段」與「標準實作階段」
  • 標準設計階段:是從應用流程情境著手,也就是說「為什麼要病歷交換」。當然,決定不要,那就什麼都不用做下去了。如果決定要,那就先把交換目的、參與者、訊息流程搞清楚。有了訊息流程,我們就可以來參考既有的標準中所公告的驅動事件中是否有符合的。有符合就直接拿來用,沒有符合就得走入自定訊息的範疇。選定要用哪個訊息之後,就是完成了動態階段。接著就依據這個驅動事件所見的區段欄位進行「標準實作指引書」的編寫。完成後,就交付給系統開發人員,進入了標準實作階段。
  • 標準實作階段:是從資料來源與程式寫作的角度來著手。實作者被要求參考某特定應用情境的「標準實作指引書」,然後觀察訊息要求的欄位內容與資料型態後,進而思考,這些被要求的內容,要從哪裡生出來(資料來源)。生不出來的,就要去決定處理模式。緊接著就是決定要用什麼方式實作囉。如果訊息很簡單的話,直接寫程式,頂多採用一些HL7 API來方便發展。如果發現訊息結構與資料來源很複雜,甚至覺得後續還會有擴充,那建議就去找一個SOA的平台來處理這塊。每家的產品個有其優缺點,這個都需要依據自身條件仔細評估。
細講這些內容前,我覺得還是要把整個HL7的訊息結構跑一遍,讓感覺更踏實一點比較好。如果你有購買原版的光碟片,或者是某協會的會員,你可以下載的HL7標準書的壓縮檔,解壓縮之後,會有這麼多檔案。

目前我們只有開啟過第一章、第二章與第二.A章。而且第一章沒細看,後面兩章沒看完。後面還這麼多章,算了,放棄了。哈~別讓我傷心難過。搞定第二章,就天下太平了啦。假設我們已經搞定了第二章,我們就可以挑一個應用情境,選擇我們要使用的驅動事件,就可以決定區段欄位,接著就可以來實作訊息,寫程式了。我先講這篇的目的,是怕大家陷入第二章無聊、乏味的資料內容裡,最後紛紛掛冠求去,最後又是落的我一人自言自語了(哈~現在就是在自言自語呀)
假設今天有一個情境,就是甲病人在B醫院就診,而B醫院的醫師需要調閱甲病人在A醫院的出院病歷摘要做參考。當然B醫院的醫師,在甲病人的授權下,透過HL7訊息(是哪一個?)來向A醫院索取。B醫院接收到訊息後,如果A醫院要求的是enhance model,那B醫院就趕快發個訊息(ACK)給對方說我收到了。A醫院這邊的系統就都一個訊息給診間的醫師說,對方已收到訊息,處理中。當然,也有一種情境,A醫院直接回應說因當時病人並未授權將此資料轉給其他醫療院所,所以拒絕提供。這個就像是你辦金融卡的時候,她會問你要不要跨行,如果你當初勾不跨行,當然就不可以跨行,這個是在一開始時病人要自行評估的事情。(怎麼,現在變成強迫病人了呢)
A醫院基於B醫院所的訊息要求,處理後(如果病人當初沒有簽同意書,就拒絕囉)將此病患的出院病歷摘要調出來了(拜託這時候才是CDA R2的檔案,而且簽不簽章根本不重要)然後附在HL7訊息中回給了B醫院(為什麼知道要回給B醫院?唉唷,是回當初的訊息啦,當初的訊息是指向B醫院,所以,誰跟我調重不重要,不重要,重點是要不要回應這個訊息)。B醫院收到訊息後,就回給A醫院說收到了。A醫院端就把這次的訊息交換轉到Log去,一切都結束了。B醫院就發個通知給診間的醫師說,所調閱的病歷收到了。醫師當然可以經由這個通知直接開取,或到某個功能表中(外部參考文件,因為有可能同時向多家醫院調閱)讀取文件。
好,到底是哪一個訊息呢?是第9章 Medical Records / Information Management的範疇嗎?喔,這章是用在文件有新文件之通知,或文件增修,取消等通知。那是第11章嗎?第11章是講轉診/轉檢,好像勉強可以,可是,你會發現到這個只能用於單一目的的調閱文件,我不能夠在訊息中指定一些條件,來規範我所需要調閱的病歷文件。想想應該是是第5章Query比較好。
你說怎麼會知道,唉唷~你不研究怎麼會知道。我有研究的人,卻被要求閉嘴。那好吧,我用寫的總可以吧。
打開第5章一看,要看什麼?不用一字一字看啦,除非你對Query要深入研究。我大概只會先看目錄,查看trigger event有沒有感覺可以用的。

注意第5.4.4有個好玩的東西QSB create subscription,哈~HL7訊息也可以訂閱制。例如說,LIS就是定期要發報告到HIS,就可以用這種訊息。
那我們要用哪一個呢?原則上就是前面三個,但是要決定是哪一個時又得先知道這三個回應模式的區別。
  • Segment:傳統的作法,就是把資料又區段來攜帶。
  • Tabular:資料用表格化方式回應。
  • Display:資料直接已列印格式,或人可讀的格式回應。
那是用哪一個呢?我沒有答案耶,要先問你的病歷交換情境是什麼?已剛剛舉的例子而言,我就要問B醫院你在不在意所拿到的出院病歷摘要一定要當時的,還是你可以接受由A醫院整理後最新的資料給你。如果是這樣子那就採QBP/RDY,因為你也只是看看資料就好,你又沒有要保存那份資料。但是,B醫院就是很在意的話,那你就得要求對方以夾帶文件的方式回應,那就是用到QBP/RSP這著驅動事件了呀。

相對地A醫院也有自己的作業模式吧。所以,到底是哪一種,要大家來討論囉。但是我知道,起碼不是現在的作法。那現在的作法對不對呢?只要大老們說對,那就是對了。

沒有留言:

張貼留言