2013年7月4日 星期四

心電圖資料電子化

因為工作的關係會接觸到醫療資訊的東西,最近遇到一個需求是要將心電圖機的紀錄檔案數位化並上傳至醫院的電子病例系統中,這牽扯到幾個關鍵,首先心電圖機必須有檔案輸出的功能,如果完全無輸出就需要看這篇了。

目前碰到的是FX-8322這款機器,有內建RJ-45的乙太網路接頭可以採用FTP連線上傳檔案(不過V01.04版本韌體的FTP功能是不支援WINDOWS系統的FTP,Bug在工程版已修正),可以輸出的格式為FUKUDA自己的ECG格式、MFER(日系的規格)、FDA XML(美規,某些地方會寫HL7 aECG),因為這幾種輸出格式都是資料數值,而非圖形化的心電圖波形,所以無法直接轉入電子病歷(目前多數醫院的認知:電子病例=紙本掃描,只是將紙本改成顯示在螢幕上而已,與資料再利用或電腦分析無關),所以需要將這些原始數值資料轉換為圖像資訊。

而在醫療領域圖像資訊標準為DICOM,DICOM包含檔案格式與傳輸模式兩個部分,可以利用「C# ECG Toolkit」這工具先將FDA XML轉換成DICOM格式檔案(可用呼叫外部命令的方式),再利用「Fellow Oak DICOM for .NET」將資料上傳至遠端的主機上,因為FX-8322使用FTP上傳檔案,所以必須有一台FTP Server接收這些FDA XML,在利用程式去偵測是否有新的上傳檔案,有的話就轉檔案並作後續的上傳,為了避免人為介入,可以將整個程式寫成背景執行服務來運作。

可使用.net的FileSystemWatcher來偵測目錄內的檔案變動


C# ECG Toolkit
http://sourceforge.net/projects/ecgtoolkit-cs/


Fellow Oak DICOM for .NET
https://github.com/rcd/fo-dicom


Watching Folder Activity in C# .NET
http://www.codeproject.com/Articles/25443/Watching-Folder-Activity-in-C-NET


ITC DICOMpiler
http://itc.wustl.edu/DICOMpiler/index.htm


PACS (醫療影像儲傳系統)
https://zh.wikipedia.org/wiki/%E9%86%AB%E7%99%82%E5%BD%B1%E5%83%8F%E5%84%B2%E5%82%B3%E7%B3%BB%E7%B5%B1


(在此只是提出一個可行的方案的可行性評估,並未實作請不要來要Code)