首頁 智慧醫療 TxGNN 老藥新用

醫療 AI · 開源 · 國際上架

TxGNN 老藥新用

知識圖譜 × 圖神經網路,30+ 國 FDA 藥品自動化預測 · 開源

30+
FDA 藥品涵蓋
142K+
AI 候選藥物
16.7K
藥物頁面 / FHIR 資源
~28.6K
證據包

老藥新用(Drug Repurposing)是把已上市的藥物用於原本未核准的新適應症 —— 因為已通過安全性驗證,研發成本與時間遠低於開發新藥。 我們以哈佛大學 TxGNN 模型為基礎, 把它從台灣擴展到 30 個國家, 並把預測流程與 EHR 系統打通,讓臨床端能在病患用藥當下即時看到老藥新用建議。

本平台已上架 SMART on FHIR App Gallery,由 SMART Health IT(哈佛醫學院孵化的開源組織)審核, 相容 Epic、Cerner 等主流電子病歷系統。

Dual Engines

雙引擎方法論

知識圖譜走快、深度學習走準,兩條結果再融合成複合信心度

KG

知識圖譜方法 — 快速

  1. 1載入 FDA 藥品資料
  2. 2過濾有效藥品(移除已撤銷、停產)
  3. 3成分映射到 DrugBank(synonym_map 標準化)
  4. 4適應症映射到標準疾病代碼
  5. 5基於知識圖譜關係,找出未核准但有潛力的藥物-疾病配對
~4,889
候選
1,507
藥物
166
疾病
DL

深度學習方法 — 精準

  1. 1啟動 Conda 環境(PyTorch + DGL)
  2. 2載入 TxGNN 預訓練圖神經網路模型
  3. 3建構藥物-疾病圖結構
  4. 4對所有藥物-疾病組合推論,計算 0-1 信心分數
  5. 5過濾保留 score ≥ 0.5 的高分候選
~3.1M
候選
1,507
藥物
166
疾病

Confidence Levels

信心度分級

合併 KG + DL 結果後,每筆預測獲得四級信心標記

very_high
2,995

KG + DL 雙方支持,且 score ≥ 0.9

high
~940.9K

KG + DL 雙方支持的候選

medium

僅 KG 或僅 DL 單方支持

low

分數較低,僅作為參考

Coverage Map

30 國 × 9 Phase 即時健康狀態

由 check_all.sh 自動更新,每環為一個 Phase,每色塊為一國

OK 進行中 / 警告 錯誤 未啟動

Pipeline

完整 8 階段流程

從原始 FDA 資料到 EHR 系統整合,全流程自動化

1

資料準備階段

下載並處理所有必要的原始資料:TxGNN 知識圖譜 + 各國 FDA 詞彙表

資料來源
TxGNN 知識圖譜
node.csv(129,375 節點) + kg.csv(~8.0M 關係)
處理流程
詞彙表提取 (prepare_external_data.py)
提取 DrugBank 藥品詞彙、疾病詞彙表、藥物-疾病關係
輸出
External 資料
drugbank_vocab.csv / disease_vocab.csv / drug_disease_relations.csv
子流程
各國 FDA 資料處理 (process_fda_data.py)
TFDA / PMDA / EMA / FDA …→ {country}_fda_drugs.json
2

預測執行階段

雙引擎並行:知識圖譜(快速)+ 深度學習(精準)

KG 引擎
知識圖譜方法(5 步驟,快速)
載入 FDA → 過濾有效藥品 → 成分映射到 DrugBank → 適應症映射到疾病 → 找老藥新用候選
KG 結果
repurposing_candidates.csv
~4,889 候選 / 1,507 藥物 / 166 疾病
DL 引擎
深度學習方法(5 步驟,精準)
Conda + PyTorch/DGL → 載入 model.pt → 建構圖 → 推論 → 過濾 score ≥ 0.5
DL 結果
txgnn_dl_predictions.csv
~3.1M 候選 / 1,507 藥物 / 166 疾病
3

整合階段

合併兩種預測方法的結果,計算複合信心度

處理流程
預測整合 (integrate_predictions.py)
合併 KG + DL 結果、計算複合信心度、標記預測來源
輸出
integrated_predictions.csv
very_high (KG+DL, score≥0.9): 2,995 筆 · high (KG+DL 支持): ~940.9K 筆 · medium / low
4

輸出生成階段

產生網站、FHIR 資源和搜尋索引

FHIR
generate_fhir_resources.py
MedicationKnowledge / ClinicalUseDefinition
頁面
generate_drug_pages.py
每藥物一頁 Markdown,產出 16.7K 藥物頁面
搜尋
generate_search_index.py
search-index.json(給站內搜尋使用)
交互作用
藥物交互作用資料整合
DDI ~302.5K · DFI 857 · DHI 35 · DDSI 8,359
5

證據收集與驗證

從外部資料源收集支持預測的證據

資料源
PubMed (check_pubmed.py)
搜尋相關醫學文獻,~386.8K 筆引用
資料源
ClinicalTrials (check_clinicaltrials.py)
搜尋進行中/已完成的臨床試驗,~242.9K 筆
處理
batch_collect_bundles.py
為每個藥物建立證據包
輸出
Evidence Bundle
data/bundles/{drug}/drug_bundle.json,共 28.6K 個證據包
6

監控與自動更新

GitHub Actions 自動化工作流程

排程
news-monitor.yml
每小時抓取健康新聞,關鍵字匹配藥物/疾病
排程
check-new-evidence.yml
定期檢查 PubMed/CT,發現新證據自動更新
部署
deploy-jekyll.yml
自動建構 Jekyll,部署到 GitHub Pages,30/30 Actions OK
7

SMART on FHIR 整合

與電子病歷系統(Epic / Cerner)整合,提供臨床決策支援

EHR
OAuth 啟動 (launch.html)
PKCE 認證流程,相容 Epic、Cerner 等主流 EHR
讀取
讀取病人用藥
MedicationRequest / MedicationStatement
映射
藥物映射 (smart-fhir-mapper.js)
RxNorm → DrugBank
輸出
老藥新用建議
依病患現有用藥,顯示潛在新適應症與證據
8

在地化 (i18n)

15 種語言、30 個國家

偵測
語言偵測
自動檢查 lang 標籤(首頁、藥物頁、免責聲明)
翻譯
批次翻譯
7,000+ 藥物頁面 × 15 種語言
驗證
p8_i18n_check.sh
在地化驗證 29/30 OK

Evidence

不只預測,每一筆都有證據

PubMed 文獻 + ClinicalTrials 試驗自動關聯,每個藥物頁面都附帶證據包

~386.8K
PubMed 文獻

每日自動檢索新發表,與預測藥物-疾病對自動匹配

~242.9K
ClinicalTrials 試驗

追蹤進行中與已完成的臨床試驗,提供強佐證

~28.6K
Evidence Bundle

每藥物一個證據包,含 drug_bundle.json + 文獻摘要

想討論技術合作?

老藥新用、TxGNN 模型在地化、EHR / FHIR 整合 — 任何技術討論都歡迎透過 LINE 私訊。

討論技術合作

Issue Tracking

TxGNN 老藥新用 議題追蹤

自動追蹤與本服務相關的最新議題,由 AI 蒐集公開新聞並對照本系統的設計觀點。

看全部議題追蹤
回 智慧醫療