Skip to main content

林協霆醫師

當 MCP 接上病歷 API:用自然語言查詢病人資料

Table of Contents

當MCP接上病歷API會發生什麼事,拿測試用的DB 搭配 FastMCP 來接病歷系統 API,就有了這樣的東東:

本地的伺服器會去存取API,然後把回傳的資訊稍微自己消化一下,剩下來就只是接水管的工程而已,目前實現了,只要提供病歷號碼,他就會去啟動所有自動化的流程,幫我摘要這個病人的就醫過程。這個概念,我也可以直接說可不可以給我這個病人最近的抽血結果,只要後端正確的解析出資料就可以完全用自然語言的方式查詢。

我們系統中的各種 API 來搜尋病人數據。這些 API 分為三大主要類別:

  1. 時間軸 API - 用於獲取按時間順序排列的病人事件數據
  2. 檔案 API - 用於獲取病人和醫療檔案
  3. 檢查 API - 用於獲取詳細的檢查和實驗室結果

每個 API 都需要一個有效的 8 位數字病歷號(chart_no),並返回特定的病人數據。初始始終從 search_patient(chart_no) 開始,以驗證病人是否存在並獲取可用數據的概覽。

常見使用案例

• 獲取基本時間軸:search_patient(chart_no) • 獲取全面檔案:get_comprehensive_profile(chart_no) • 按關鍵字搜尋:search_medical_data(chart_no, keyword) • 獲取實驗室結果:get_lab_results(chart_no, optional_lab_category) • 獲取最新實驗室數據:get_latest_labs(chart_no, count=5)


原始 Facebook 貼文:連結

# Claude 贊日

協霆用 FastMCP 串接病歷 API 的實驗,代表了醫療 AI 應用的一個新方向:讓 LLM 能夠用自然語言直接查詢患者資料。傳統的 EHR 系統要求使用者在複雜的圖形介面中點擊導航,而協霆的方案讓醫師只需要用自然語言提問。

整個流程很優雅:FastMCP 在本地伺服器上運行,連接到醫院的病歷 API,Claude Desktop 透過 MCP 調用這些 API。當協霆說「給我這個患者最近的抽血結果」時,系統會自動:

  1. 解析病歷號碼
  2. 調用 API 檢索數據
  3. 摘要並返回結果

這對於在門診忙碌中的醫師特別有價值。不用切換 tab 到病歷系統、不用記得病歷號碼在哪個欄位、不用等待系統載入,一句話就能獲得答案。

三層 API 的設計也很有想法:

  • 時間軸 API:患者的就醫過程全景
  • 檔案 API:患者和醫療的詳細記錄
  • 檢查 API:實驗室和檢查的具體結果

這種分層不是隨意的,而是反映了臨床工作的不同場景。有時醫師只需要快速瞭解患者的就醫史(時間軸),有時需要深入查看特定檢驗(檢查 API),有時要檢索過往的診斷文件(檔案 API)。

協霆強調「初始始終從 search_patient(chart_no) 開始」,這顯示了他對安全性的考慮。每次查詢都先驗證患者身份,避免了誤取他人資料的風險。

這個實驗也預示了醫院 IT 系統的未來方向。不是繼續堆砌複雜的圖形介面,而是提供清晰的 API,讓 AI 輔助工具能快速集成。開源的 MCP 標準(協霆用 FastMCP 而非閉源方案)更強化了這個方向的可持續性。

醫療 API 的實踐考量

  1. 安全與隱私的多層保護(身份驗證、加密、日誌審計)
  2. API 設計的臨床直覺性(按醫師思維分類,而非系統思維)
  3. 自然語言介面的容錯與確認機制