CQL Workbench文件
文件目錄
開始使用

CQL Workbench 簡介

CQL Workbench 把健保給付條文拆成可以逐條審核的條件,再從審核過的邏輯產生 CQL,經 cql-engine 編譯後驗證結果。這頁說明它解決什麼問題、誰會用到,以及一條條文從貼上到匯出的流程。

這是什麼

健保給付規定是寫給人讀的條文。要讓系統自動判斷一位病人符不符合,條文得先變成程式邏輯。難處不在寫程式,而在確認寫出來的邏輯和條文一致:有沒有漏掉條件、「且」和「或」有沒有放錯、查不到資料時會不會被當成不符合。

工作台把這件事拆開,每一段都留下可以檢查的依據:

  • LLM 先從條文抄下逐字引文,再拆出原子條件和 AND/OR/NOT 群組。每個條件都指回原文的某一句,原文裡找不到的引文會標成待核。
  • 醫師在審核頁逐條件確認,對照的是條件和原文,不是程式碼。
  • CQL 由審核過的邏輯直接產生,不手寫。cql-engine 編譯之後,工作台輪流改變每個條件的值,確認 CQL 算出的結果和邏輯一致。

誰會用到

醫師與審核者在審核頁逐條件接受、退回或標為不適用,對照每個條件在原文的出處;拆錯的地方可以直接修改 AND/OR/NOT 邏輯,最後整條簽核。不需要會寫 CQL。
工程與資料團隊匯出的套件裡有 IR、CQL、ELM 和證據契約。CQL 不直接查病歷:每個條件的值由你們的資料管線填入,契約寫明了 true、false、null 各代表什麼。

帳號分成三種角色:reviewer 可以分析、審核、簽核和修改邏輯;viewer 只能檢視;admin 另外管理 LLM 設定、使用者和設定備份。細節見管理後台的使用者與角色。

一條條文的流程

工作台把一份文件的處理分成五個步驟,畫面上的進度列也是這五步:

  1. 1

    擷取文字

    建立文件時直接貼上條文,或上傳 PDF、docx 原檔,工作台會先取出其中的文字。

  2. 2

    拆解任務

    LLM 把整份文件拆成一條條獨立的給付條文,畫面上稱為「任務」。任務的標題和原文可以手動修改,也可以刪除;改了原文,該任務已有的分析會清除。

  3. 3

    分析邏輯

    每個任務由 LLM 分階段分析成 IR:先抄逐字引文,再拆原子條件,最後組成群組,每個階段之間都有程式檢查。接著每個條件再單獨覆核一次。

    分析管線 →引文驗證 →逐條件覆核 →條文與 IR →

  4. 4

    審核與驗證

    醫師逐條件審核,需要時修改邏輯,再整條簽核。每次存檔,CQL 都從 IR 重新產生,經 cql-engine 編譯後重跑消融驗證;被改動的條件,原本的審核決定會失效。

    逐條件審核 →修改邏輯 →簽核與失效 →Parameter-based CQL →

  5. 5

    匯出套件

    單一條文或整份文件都能匯出成 JSON 套件,內含 IR、CQL、ELM、證據契約與驗證結果摘要。

    證據契約 →

這些步驟用到的 LLM 由管理員在管理後台設定(見 LLM 設定):可以設多組,依優先順序輪流備援,或依權重分流。

它不是什麼

不是官方工具

CQL Workbench 不是衛福部或健保署的工具,也沒有和官方的 CQL 平台或實作指引串接。兩者的關係見台灣官方 CQL 指引。

不直接讀病歷

產生的 CQL 不查 FHIR 資料,工作台也沒有內建讀取病歷的轉接器。每個條件的值要由你的資料管線或人工提供,規格寫在證據契約裡。

不取代人工審核

LLM 拆出的條件是給審核者確認的草稿。程式能確認引文出自原文、CQL 和邏輯一致;條件拆得對不對、組合得對不對,仍要醫師逐條判斷。

從哪裡開始

第一次接觸的話,建議照這個順序讀: