要送健保事前審查(TWPAS),你得產出符合官方 IG 的 FHIR。
自己串 FHIR:啃完整本健保 IG、填對 40+ 個 profile 與每個固定值、 跟 TW Core 術語坑纏鬥、自己除到官方 validator 0 錯 —— 做完還是沒有送前核刪自查。
用這個 framework:給一筆白話案子(不碰 FHIR), 直接拿到 0-errors 的 Bundle + 會不會被核刪的預測。IG 的髒活我們替你做完、而且對得上官方。
C90.00(骨髓瘤)BC27730100)主要疾病之 ICD 代碼未使用 C50(骨髓瘤≠乳癌)「這對不對?」全部可自己驗:產出的 Bundle 對照官方範例 Bundle-bun-1、能拿官方 validator 驗到 0 錯;
CQL 用的是官方公開規則。
官方來源 → 健保事前審查 IG ·
官方 CQL 規則 IG
# 零設定(只需 .NET 8):48 綠 = 每個輸出 byte-for-byte 對得上 # 官方驗證過的 reference bundle git clone https://github.com/tm731531/nhi-pas-fhir cd nhi-pas-fhir dotnet test impl/csharp/NhiPasFhir.sln # 想親自過官方 HL7 validator?先抓驗證資產(較大),再驗: tools/fetch_validation_assets.sh # validator + IG package dotnet run --project impl/csharp/samples/Emit # → build/*.json tools/validate.sh impl/csharp/build/pa-bundle.cs.json # Success: 0 errors
或不裝任何東西,直接開 互動流程圖 看每一站對應的真實程式。
你系統已有這筆資料 → 填成中性的 PACase(不碰 FHIR)→ 呼叫一行。上面例子的程式就是:
var c = new PACase(CaseType:"cancer-drug", /* 病人/醫院/vitals */ Data: new(){ ["drug_code"]="BC27730100", ["diagnosis_icd"]="C90.00" }); var r = await Pipeline.RunAsync(c, cql: check); // 產 FHIR + 送前 CQL 自查 if (r.Blocked) show(r.Cql); // 會被核刪/補件 → 先修 else submit(r.Bundle); // r.Bundle 可直接送
長照怎麼用? 長照是同一套 TW Core 地基上的另一本 IG,接法跟上面一樣、只換 CaseType ——
但誠實說:長照組裝器在路線圖上,尚未實作。目前實作的是健保事前審查。
C# 主實作、Python 參考、CQL 引擎、demo
▶ CQL 是什麼16 個問答,不需先懂 FHIR
▶ CQL 怎麼串一張圖看它怎麼接進框架
▶ 官方健保 IG我們對齊的權威來源
Taiwan NHI · 健保 · 事前審查 · TWPAS · Prior Authorization · FHIR R4 · Da Vinci PAS · TW Core · 長照 · HL7 · CQL · ELM · CQF-Ruler · ClaimResponse · 核刪 · reference implementation · C# / Firely SDK · Python · healthcare interoperability. · Apache-2.0.