2016年10月2日 星期日

MammoSR

前幾個月上了一堂課突然獲得資格:打國民健康署的乳房篩檢報告。這在外面的醫院幾乎是必備技能/資格,但在本院根本是賽缺中的賽缺。原因如下:
  • 在院內的報告系統(RIS)打好報告,還要在國健署專用的紙本報告(附表7的第二頁、附表12)上勾選你看到了什麼、結果是什麼,然後蓋章。同一件事情分成兩次做已經很蠢,更蠢的是把電子化的資料要化為紙本資料
  • 最蠢的是,其實國健署的系統也是電子化的啊,所以每個禮拜會有專員來把紙本的資料再key到那個系統內。無以倫比的官府效率!
  • 多做這些麻煩的事,報酬卻和一般的乳房攝影報告一樣。不同工卻同酬,而且是比外院低很多的酬,非常不公平。
  • 更慘的是,乳房攝影報告通常是胸腔影像團隊負責的,一個報告量最大、報告完成度最低、平均pay最低、離職率最高的團隊,還要接受這麼鳥的業務,落入惡性循環。(這不就是台灣的縮影嗎)
很不幸的接到了賽缺,只好想辦法讓這業務稍微不賽一點。目前的流程是「院內系統打報告→勾選表格→蓋章→交卷」,變成「AHK程式打報告→報告貼到院內系統、生出一個勾選好的網頁表單→列印→印出來的表單塞回檢查單」。詳述如下:


  • 主程式MammoSR
    • Open study
      • 從RIS的舊片清單讀舊片資料,包括日期(直接輸出到報告內文)、單號(經由Impax Context Server在Impax開啟影像)
      • 舊片清單沒有資料的話,把Comparison欄位設定為No
    • 除了breast density其他欄位為combobox,可選取預設的幾個文字選項,也可以自行輸入(修改)
    • 有意義的finding,也就是屬於BI-RADS 0, 3-6的finding,要以程式內的按鈕輸入,並在那個finding的suggestion選取相對應的處置,否則都視為一般finding。
    • 提供B1, B2按鈕,為BI-RADS 1, 2的預設報告內容,這兩個應該是最常用的
    • 不管按鈕按了什麼,輸出的報告內容可以在文字框自由修改
    • Save
      • 報告貼到RIS
      • xml檔儲存本次報告
      • 以xml檔的資料以及範本output.html,生成一個勾選好的表單html
      • 將html檔以chrome開啟,檢查是否有錯誤。html也能手動勾選後儲存變更。
    • Send:將本報告的html傳送到print server儲存
    • Print All:打了一組報告後,可以傳送列印指令,print server將列印該放射科醫師已儲存未列印的html,以傳送時間排序
    • 自動抓RIS上的資訊,包括放射師、病人姓名、檢查單號等。如果單號改變會自動存檔後reset GUI,如果有之前的存檔會自動匯入
  • output.html
    • 第一頁是每個檢查都會填寫的,就是基本的判讀結果;第二頁是BI-RADS 0, 3-6才需要勾選的finding細節,如果BI-RADS 1, 2的話第二頁是隱藏的
    • 文字輸入部分是span,以紅色底線標示表示可以手動修改(紅色底線不會印出來);其他都是checkbox input勾選符合的選項
    • 有任何變動的話,會在最底下出現Save按鈕,按Save後才能儲存變更(javascript無法儲存檔案,其實還是間接用AutoHotkey去完成的)
  • MammoSRprint
    • 將xml轉成html,主要靠output.html裡各個欄位的name屬性去修改值
    • 第二頁有些病人資料(生日、身份證字號)是靠院內portal系統去抓的
  • MammoSRprintClient
    • 將html傳送到server,或者傳送print all的指令
    • 所使用的是Socket library,用的是TCP,雖然不是最detailed的library,沒辦法做很多細部設定,但就跟ahk一樣很簡單上手
  • MammoSRprintServer
    • 接收html儲存到相對應的資料夾(放射科醫師姓名),html會加入一段開啟時列印的javascript
    • 接收到print指令,以chrome打開html來列印

待改進部分:
  • 雖然叫MammoSR但還不是很嚴謹的structure report,主要是太嚴謹的話用起來不方便,小程式還是以工作便利性優先
  • 設計表單時是以chrome的呈現結果為準,可惜網路上已經很難找到支援WinXP的portable chrome(版本49以下),目前用的是之前存在隨身碟的版本37
  • 在server端的列印還是以類似按鍵精靈的方式去點列印鍵,最佳解應該是可以在背景以command line方式執行批次列印(還沒嘗試chrome的--kiosk-printing)

沒有留言:

張貼留言