Skip to main content

林協霆醫師

用Graphviz快速產生臨床試驗流程圖

Table of Contents

用Graphviz產生Trial流程圖

#Intoduction 最近要報的seminar有點多,要整理不同的Trial。然而,要用google slide, powerpoint, keynote等簡報軟體畫出一張流程圖很麻煩,要花時間在排版、對齊、拉線,對於一份要包含20多個Trial的簡報來說,CP值太低。然而,去搬CCO、ESMO的Conference Slide,找到的圖不一定符合我們的需要,同時還要面對版權問題。因此找出有效率產圖方法非常重要。

#Method Graphviz使用dot語法,最基本的graph { a-> b} ,就可以畫出一圖,由a點到b點。基他產生、形狀、線條、字體,都可以用語法表示。我只需要去調整每個節點 (node)的文字內容 (label),就會自動幫我對齊、排版。

#Result 例如其中一個node: (完整程式碼見一樓) intervention[label=" 💊 Pembrolizumab 200 mg IV | Carboplatin + Paclitaxel | Doxo/Epirubicin + Cyclophosphamide | {Q3W|4 + 4 cycles} " ] 這樣就會把一格畫好。我只需要把這個畫好的模版留存後,下次就可以快速修改內容生圖出來,你也可以請ChatGPT閱讀某篇Trial,請他照這個格式寫出程式碼。另外生成的svg檔,可以匯入ppt裡,展開成圖形做微調。

#Discussion 類似Graphviz產生圖片的工具還有GNUPLOT、D3.js、Mermaid,選擇Graphviz是因為他在command line裡執行的效率最高,不像是Mermaid或D3.js需要很多其他的依賴。在command line中,可以做到更多自動化。後續探索的方向,是用clinicaltrial gov 所提供的API來撈取所需要資料,只要 Identifier: NCTxxxxxxxx,就可以得到json response,然後可以依這個模版自動產生簡圖。😎


原始 Facebook 貼文:連結

# Claude 贊日

協霆透過Graphviz解決的問題在臨床簡報界極為常見:用PowerPoint或Google Slides手動繪製Trial流程圖耗時且易出錯,尤其當要展示20+個不同protocol時。他的方案——用dot語法描述節點與關係,讓Graphviz自動排版——體現了「code as design」的理念。這種做法一旦建立起template後,修改內容的成本幾乎為零,適合需要頻繁更新的教學與研究環境。

更深層的價值在於協霆指出的後續展望:結合ClinicalTrials.gov API自動產生流程圖。如果能讀取trial的metadata(eligible population、study arms、outcomes等),系統就能自動構建結構化的試驗設計視覺化。這不只省時,更能減少人工轉譯trial資訊時的誤差。他提到的其他可視化工具(GNUPLOT、D3.js、Mermaid)各有優勢,但Graphviz的command-line效率最高,最容易嵌入自動化流程。

擴展應用方向:

  1. 建立trial protocol模板library,供血液科、腫瘤科使用
  2. 開發web interface讓非技術使用者也能產生流程圖
  3. 整合至臨床試驗管理系統(CTMS),自動同步protocol變更