tw-opendata-health — 健康衛福資料
Corpus 概況
| 主管機關 | dataset 數量 (~) | 典型內容 |
|---|---|---|
| 健保署 (NHIA) | 200+ | 特約醫院/藥局/牙醫/檢驗所列表、藥品給付、診療項目、醫療費用統計 |
| 疾管署 (CDC) | 300+ | 法定傳染病週/月/年報、COVID-19/流感/登革熱/腸病毒/結核病、疫苗接種率 |
| 食藥署 (TFDA) | 400+ | 藥品許可證、化妝品許可證、保健食品、食品違規/召回、藥物動物實驗 |
| 國民健康署 | 100+ | 癌症登記、四癌篩檢、孕產婦保健、菸害防制、口腔健康 |
| 中醫藥司 | 50+ | 中藥材、製劑、藥商 |
| 心理健康司 | 30+ | 精神醫療、心理諮商機構、自殺通報 |
| 涵蓋更新頻率 | — | 每日 (COVID、急診壅塞) / 每週 (傳染病) / 每月 (健保) / 每季 / 每年 |
何時用本 skill
「健保 / 藥局 / 醫院 / 診所 / 牙醫 / 疾管 / COVID / 流感 / 疫苗 / 食藥署 / 食品安全 / 化妝品 / 保健食品 / 癌症 / 健檢 / 衛福部」相關時優先載入. 不適用於: 個別病歷 (個資不公開)、醫師執照細節 (專業團體)、私人保險 (商業).
MCP Tools
v1.23 Tier-D 專屬 tool (純 DuckDB SQL, 無 embedding)
對打 Taiwan-Health-MCP 的 ICD / drug / food / supplement 群組. 4-6 個高頻 use case 從通用 query 升級成業務 tool.
lookup_icd10(code?, keyword?, limit=20) — ICD-10-CM 中文/英文查詢
96,803 個 ICD-10-CM/PCS code (衛福部健保署 v2023 翻譯, dataset 177507).
lookup_icd10(code="I10") # 高血壓 code
lookup_icd10(keyword="糖尿病", limit=30) # 所有糖尿病 code
lookup_icd10(keyword="diabetes") # 英文也行
search_drug(name?, indication?, license_no?, active_only=True, limit=20) — TFDA 藥品許可證
71,836 件全部藥品許可證 (dataset 9122, 28 欄).
search_drug(name="普拿疼")
search_drug(indication="高血壓", active_only=True, limit=30)
search_drug(license_no="衛署藥製字第046823號")
get_drug_details(license_no) — 單一藥品 28 欄全文
含 主成分略述 / 用法用量 / 包裝 / 國際條碼 / 製造廠廠址 / 製造廠國別.
get_drug_details("衛署藥製字第046823號")
query_food_nutrition(food_name?, nutrient?, limit=20) — 食品營養成分
226,825 行 (每食材 × 每營養素一筆), 含 每 100g + 每單位 (份/顆/片) 含量.
query_food_nutrition(food_name="雞蛋", nutrient="蛋白質")
query_food_nutrition(nutrient="鈉", limit=50) # 高鈉食物 sort
query_food_nutrition(food_name="rice")
search_health_supplements(name?, function_keyword?, active_only=True, limit=20) — 健康食品
562 件正式「健康食品 (健字號)」TFDA 認證 (dataset 6951).
search_health_supplements(function_keyword="調節血脂")
search_health_supplements(name="燕麥", active_only=True)
v1.23.2 增 2 tool — 藥品仿單結構化 (整合 twinkle-ai/tw-drug-labels-vision)
我們自家 HF dataset twinkle-ai/tw-drug-labels-vision (CC-BY-4.0, ~72k 藥品)
已把 TFDA 仿單 PDF 跑 OCR + LLM 結構化成 17 個欄位 (適應症 / 禁忌 / 警語 /
副作用 / 交互作用 / 用法用量 / 主成分 ...). 用 license_id 跟 dataset 9122
1:1 join. get_drug_details 自動 enrich; 另加 2 個專屬 tool:
search_drug_label(keyword, field="indications", limit=20) — 仿單結構化欄位搜尋
比 search_drug(indication=...) 更全面 — 可指定搜「禁忌 / 警語 / 副作用 /
交互作用 / 用法用量」等仿單欄位 (不只適應症).
search_drug_label(keyword="妊娠", field="contraindications") # 孕婦禁用的藥
search_drug_label(keyword="心律不整", field="adverse_reactions") # 副作用含心律不整
search_drug_label(keyword="warfarin", field="drug_interactions") # 跟 warfarin 衝突
check_drug_interaction(license_nos: list[str]) — 多藥交互作用初步篩查
對打 Taiwan-Health-MCP check_medical_conflict. 不是臨床決策工具 — naive
substring scan over 各藥仿單的「交互作用」欄位 (不接 SNOMED / RxNorm).
check_drug_interaction([
"衛署藥製字第046823號",
"衛署藥輸字第023624號",
])
⚠️ 圖片不在 corpus 內. HF dataset 含 vision binary (1-373 張/藥品) 但
我們不存圖檔本身, 只透過 source_urls 指向原始 TFDA PDF 連結. agent
想看藥品外觀 / 仿單彩圖請點 source_urls 內 mcp.fda.gov.tw 連結 (PDF 本身
含彩圖). 未來若開放 vision tool, 再從 HF 重 pull binary.
通用 catalog query (其餘 health datasets 用此)
search_datasets(query, agency?, domain?, limit?)
search_datasets(query="健保特約藥局", agency="衛生福利部中央健康保險署", limit=10)
get_dataset(dataset_id, sample_rows=3) / query_rows(dataset_id, where?, columns?, limit)
query_rows(
dataset_id="31000",
where="city='台北市' AND district='信義區'",
columns=["organ_id","name","address","phone"],
limit=50,
)
範例 query (繁體中文)
| 使用者問題 | 對應做法 |
|---|---|
| 「台北市信義區的健保特約藥局」 | search_datasets("健保特約藥局", agency="中央健康保險署") → 拿 id → query_rows(... WHERE city='台北市' AND district='信義區') |
| 「2024 COVID 19 病例週報」 | search_datasets("COVID 病例", agency="疾病管制署") |
| 「最近一週流感類流感病例」 | search_datasets("類流感 監測", agency="疾病管制署") |
| 「藥品 X 的健保給付」 | search_datasets("藥品給付", agency="健保署") → query_rows filter 藥品名稱 |
| 「食藥署最近召回的進口食品」 | search_datasets("食品 召回 違規", agency="食品藥物管理署") |
| 「乳癌篩檢率縣市排名」 | search_datasets("乳癌 篩檢", agency="國民健康署") |
| 「全國精神醫療機構列表」 | search_datasets("精神 醫療機構", agency="衛生福利部") |
機關名稱速查(catalog 中常見全名)
衛生福利部中央健康保險署 (健保署 NHIA)
衛生福利部疾病管制署 (疾管署 CDC)
衛生福利部食品藥物管理署 (食藥署 TFDA)
衛生福利部國民健康署 (國健署 HPA)
衛生福利部社會及家庭署
衛生福利部中央健康保險署
衛生福利部護理及健康照護司
衛生福利部心理健康司
衛生福利部中醫藥司
衛生福利部所屬醫院 (XX 部醫院, e.g. 台北醫院, 桃園醫院)
最佳實踐
- agency 用全名: 「健保署」抓不到, 用「衛生福利部中央健康保險署」(或先 search_datasets 用模糊 query 試水溫)
- 疫情數據 lag 1-2 週: 傳染病週報通常隔週才有最終確診數
- 個案級別不公開: 「某某人住院紀錄」抓不到, 政府只開放統計
- 健保特約: 4-5 萬家醫療院所, 用 city + district + organ_type 篩選
- 食藥署許可證: 一個藥廠多筆 (每藥品一張), 用 manufacturer 過濾彙整
- 「即時資料」常 stale: 警政署 A1/A2 即時事故 lag 2-3 週類似, COVID 也 5-7 天 lag
注意事項
- 健保資料完全去識別化, 不要嘗試 deanonymize 個案
- COVID 統計 2023 後降為週報, 不再每日 push
- 中醫藥資料常用繁體 + 古字 (e.g. 「黃耆」「茯苓」), search 時繁體不要打簡體
- 部分數據是「人次」非「人數」(同一人多次看診算多次), 解釋時要區分
與其他 skill 的邊界
- 健康相關訴訟 (醫療糾紛判決) →
tw-opendata-judicial, search query「醫療糾紛」或案由「侵權行為損害賠償」 - 健保特約地點 + 經緯度查附近 →
tw-opendata-geo(cross-skill 用 lat/lon) - 醫藥業政府採購 →
tw-opendata-pcc(e.g. 衛福部疫苗採購) - 疫苗 / 醫藥相關專利 →
tw-opendata-patent(TIPO IPC A61 醫藥) - 食品 / 藥品法規本身 →
tw-opendata-general(法務部全國法規)