澳紐重症醫學會資料科學黑客松心得

這次比賽要感謝北醫管院謝邦昌老師的邀請,跟著上次 TMU-MIT 黑客松的老戰友組隊前往澳洲(其實當時是以 datathon 的方向組團,結果做了醫材)。我個人對資料科學跟醫學影像處理的興趣算蠻強烈的,也做了一段時間的實戰。自從之前覺悟到人只能做重要的事情後就沒有在亂搞些前端設計或 app 類的東西。

這次比賽的單位是澳洲紐西蘭重症醫學會 ANZICS,及他們的重症資料庫(所有的澳洲 ICU 都必須連線,否則不能收住院醫師,同時也規範了各種相關的資料收集格式及法規)。他們的資料庫讓我想到臺灣外傷醫學會的資料庫,有異曲同工之妙。不過雖然 ANZICS Core 所放出的匿名資料集乾淨的程度、資料量都比美國 MIMIC 大,我們在前幾次集訓的時候都不得其門而入哈哈,所以這次還是用 Harvard-MIT 合作產出的 MIMIC-III 做起。

這次比賽的題目是由北醫醫資所的 Shabbir 教授提出的 heart rate varibility HRV,結合其他的題材來做。 本來我想做的抗生素 escalation 相關的應用,也就是何時可能要 escalation,而不需要等 blood culture 出來?又何時可以 de-escalation? 不過我們後來改成利用比較死亡病患死前兩天內到一小時內的 HRV 來預測接下來的死亡率,目標是贏過 APACHE III!

比賽的感想

  • 懂得善用已經造好的輪子 !其實像前篇貼文所說,MIT-LCP 裏面已經包含了非常多的工具,大部分都是通用的(不止用在 MIMIC 資料庫),而且快又好,例如捕捉心電圖中的 PQRS 就有 gqrs 這套有獲得學術認證的算法。我國考完希望來熟悉這些工具(並爲他們撰寫中文說明,推廣到年輕醫師間),將來若要做生醫訊號或資料庫整合,就不用苦苦的寫計劃、聘研究助理,刻一個不知道正確性的工具。
  • 遠端資料處理的重要性。這次最大的問題是四個成員的筆電都不是很適合處理。主要是 MIT-LCP 的工具在 Unix-like 的環境下才能發揮效力,而其他成員的電腦(Mac 沒有裝 xcode command line tool)或者是 Ubuntu 分割區太小裝不下,所以 HRV signal processing 還有部分的資料整合都是在我那裝了 Arch Linux 的一萬元的破爛文書機上跑。我想北醫如果想要大力的發展醫學資料科學,應該建制一套夠強大的伺服器,讓研究員不需要用比較慢速的機器負擔龐大的資料量跟處理、建模計算需求。
  • 即時求救 以及 記錄 workflow !這次跟 MIT 的工程師 Alistair 一起寫了一個下午的 shell script 就是爽,學到了不少他們愛用的工具,在 SQLite、sed & awk、Slack 等各種工具之間來去自如。這次比賽一個重要的進步就是寫我自己在處理過程中的 workflow 說明書及各種 scripting,把工具自動化串在一起,並且注意儲存的位置及檔名格式。賽中也按需求改寫了之前做 matching 的程式。
  • 找好自己團隊定位 :因爲這次比賽有 Shabbir 教授壓陣,他自己除了有 MD license 外,也有豐富的實驗設計經驗,所以這次比賽我的角色定位比較沒有發揮出來(比如說論文的 literature review、上臺 presentation 也結結巴巴的 QAQ)。這些也是賽前應該做好的項目。

這次的一個大缺憾就是太急於寫程式搞出成果,沒有去跟別組交流他們的主題。澳洲黑客松的特色就是下午五點到隔天八點之間不做?是休息時間,應該喝酒吃 pizza !希望下次還有機會可以在參加類似的比賽!