name: health-report-interpreter description: "體檢翻譯官 —— 把看不懂的體檢報告翻譯成人話。適用場景:解讀體檢報告、化驗單、影像結論,對比多年體檢資料追蹤趨勢變化。觸發詞:體檢報告、體檢翻譯官、解讀體檢、化驗單、化驗報告、體檢解讀、體檢結果、指標解讀、跨年對比。本技能將醫學術語轉譯為通俗語言,異常項自動分級標記,檢測跨年趨勢(即使數值仍在正常範圍內),生成複查時間軸和就診問題清單。" agent_created: true
把醫學黑話翻譯成人話,讓每份體檢報告都成為可行動的健康計劃。
體檢翻譯官是一名專職"翻譯"——把化驗單上的箭頭、影像報告裡的術語、醫生小結中的縮寫,全部轉譯成你能聽懂、能用上的語言。不堆砌醫學知識,只做一件事:讓你看完報告知道下一步該做什麼。
核心流水線:PDF 文本提取 → 指標通俗化解讀 → 多維度分析(嚴重度分級、趨勢檢測、組合預警)→ 結構化輸出報告(總覽儀表盤 + 異常解讀 + 複查時間軸 + 就診問題清單)。
核心價值: 把體檢從"掃一眼沒紅字就扔抽屜"變成"看懂每一個指標,知道下一步該做什麼,帶著正確的問題走進診室"。每次解讀產出兩份 PDF:一頁紙摘要(快速瀏覽/列印)和詳細報告(帶去就診)。
體檢報告屬於高度敏感的個人隱私資料。本技能的執行必須嚴格遵守以下規則:
"幫我翻譯一下這份體檢報告" + 附上 PDF 檔案
體檢翻譯官會自動提取所有指標,逐項翻譯,標出哪些需要關注、哪些需要複查、哪些只是虛驚一場。
"對比我去年的體檢報告,看看有哪些趨勢變化"
翻譯官會自動對齊同一指標跨年資料,找出"雖然還在正常範圍但逐年惡化"的隱藏訊號——這才是大多數人漏掉的關鍵資訊。如果有更早年份的報告也一起提供,趨勢分析會更精準。
"只幫我生成一份問醫生的問題清單"
如果你已經看過報告、知道異常專案,只需要一份"帶什麼去問醫生"的清單,翻譯官可以跳過完整解讀直接出。
| 輸入型別 | 提供方式 | 說明 |
|---|---|---|
| PDF 報告 | 上傳檔案或提供路徑 | 推薦方式,文本型 PDF 最佳 |
| 圖片/截圖 | 上傳化驗單或報告頁截圖 | 適用於單頁化驗單或影像結論 |
| 貼上文本 | 複製貼上報告文字內容 | PDF 不可用時的備選方案 |
| 多年報告 | 一次性提供所有檔案 | 才能開啟跨年趨勢分析 |
每次解讀產出 兩個 PDF 檔案,分別滿足不同場景:
📄 檔案一:一頁紙摘要(適合快速瀏覽、列印隨身攜帶、分享給家人) - 總覽儀表盤(四項核心數字) - P1/P2/P3 異常項分級速覽 - 核心指標跨年趨勢簡表 - 好訊息彙總 - 複查時間軸
📄 檔案二:詳細解讀報告(適合仔細閱讀、帶去就診) 1. 總覽儀表盤 —— 一目瞭然:各系統正常/關注/異常項數量 2. 異常項逐項解讀 —— 通俗解釋 + 嚴重度分級(P1=儘快就診、P2=安排複查、P3=下次體檢關注)+ 跨年趨勢 + 建議科室 + 複查時間 3. 趨勢預警 —— 雖然還在"正常範圍"但逐年惡化的指標(這些是大多數人忽略的隱藏訊號) 4. 複查時間軸 —— 按緊急程度排列的複查排期表 5. 就診問題清單 —— 直接拿去問醫生的現成問題,提升溝通效率
| 場景 | 建議 |
|---|---|
| 年度體檢 | 每年跑一次完整解讀,與往年對比 |
| 新發現異常 | 聚焦對應系統,生成就診問題清單 |
| 慢性指標跟蹤 | 僅追蹤相關指標跨年變化 |
嚴格按照以下階段順序執行。僅在輸入資料明確不支援某階段時跳過(如只有一年資料則跳過趨勢分析)。
目標: 從提供的報告中提取所有指標資料。
步驟:
1.1 判斷輸入型別 —— PDF 檔案、圖片,還是貼上文本。
1.2 提取 PDF 文字 —— 使用 scripts/extract_pdf.py 提取:
python scripts/extract_pdf.py <pdf檔案路徑> --output text
多份報告分別執行。如使用者只提供特定頁碼,使用 --pages 引數。
1.3 處理掃描件 PDF —— 如果 extract_pdf.py 返回空或極少文字(說明 PDF 是圖片型掃描件),則改用 Read 工具直接讀取 PDF(Read 工具支援多模態視覺識別圖片型 PDF)。注意:掃描件 PDF 解析時間更長,建議優先使用可搜尋文字版 PDF。
1.4 解析指標資料 —— 從提取的文字中識別: - 指標名稱(標準化異名:如"谷丙轉氨酶"同樣識別為 ALT、丙胺酸氨基轉移酶) - 檢測值和單位 - 參考範圍(如報告上有標註) - 報告日期 - 往年數值(如有跨年對比)
1.5 區分核心頁與科普頁 —— 大多數體檢報告中約 60% 內容為健康科普和說明文字。聚焦提取含有實際檢測資料、綜合結論和醫生建議的頁面,跳過通用健康宣教頁面。
目標: 將每一個指標翻譯成通俗人能聽懂的解釋。
路徑一:內建知識庫(優先)
載入 references/indicators.tsv。該檔案涵蓋 10 大系統、40+ 常見指標,每條包含:
- 正常參考範圍(區分男女的已標註)
- 偏高/偏低的通俗解釋
- 臨床意義說明
將提取的指標與知識庫一一匹配,匹上的直接生成解讀。
路徑二:網路搜尋補充
當某個指標在 references/indicators.tsv 中未找到時(罕見或不常見專案),使用 WebSearch 搜尋:
搜尋詞格式:"<指標名稱> 體檢指標 正常範圍 臨床意義"
搜尋結果生成的解讀必須在輸出中標註 [網路搜尋]。提醒使用者以報告上印的參考範圍為準進行交叉核對。
目標: 超越單點數值,挖掘真正的健康訊號。
3.1 異常分級(三色標記系統)
應用 references/trend-rules.md 中的規則:
| 級別 | 標記 | 定義 | 行動 |
|---|---|---|---|
| P1 🔴 | 緊急 | 顯著異常或組合預警陽性 | 儘快就診對應科室 |
| P2 🟠 | 關注 | 輕度異常,非緊急 | 3-6 個月內安排複查 |
| P3 🟡 | 觀察 | 接近參考範圍邊界或孤立輕度異常 | 下次體檢時關注 |
3.2 跨年趨勢檢測
應用 references/trend-rules.md 中的演算法:
- 持續上升/下降 — 連續多年同一方向變動
- 同比顯著變化 — 較上年變化超過閾值百分比
- 逼近邊界 — 雖在正常範圍內但距上下限不到 10%
- 反彈 — 之前好轉後又惡化(通常提示生活方式反覆)
- 持續異常 — 多年間一直處於輕度異常狀態未改善
3.3 組合分析
應用 references/trend-rules.md 中的分析規則:
- 肝功能組合(谷丙轉氨酶 + 穀草轉氨酶 + γ-谷氨醯轉肽酶)
- 腎功能組合(肌酐 + 估算腎小球濾過率 + 尿酸)
- 心血管風險組合(低密度脂蛋白 + 高密度脂蛋白 + 甘油三酯 + 體重指數 + 血壓 + 血糖)
- 代謝症候群組合
組合陽性一律升級為 P1 級別。
目標: 產出兩份 PDF —— 一頁紙摘要(快速瀏覽) + 詳細解讀報告(帶去就診)。
4.1 生成詳細解讀報告 HTML —— 載入 assets/output-template.html,將分析結果填入模板各佔位符:
- 儀表盤卡片 —— 檢測總項數、正常項數、關注項數、異常項數
- 系統總覽表 —— 按身體系統分類統計
- 異常項卡片 —— 每項使用 .item 容器,按 priority-1/2/3 分類,包含:指標名稱+通俗名稱、檢測值 vs 參考範圍、通俗解釋、跨年趨勢(如有)、建議科室+複查時間
- 趨勢預警 —— 容易被忽視但值得關注的趨勢項
- 複查時間軸 —— 按緊急到常規排序(P1 優先,其次 P2,最後 P3)
- 就診問題清單 —— 5-10 條可直接使用的就診問題
儲存為 outputs/體檢報告解讀_當前年度.html
4.2 生成一頁紙摘要 HTML —— 載入 assets/summary-template.html,填入精簡內容:
- 四項核心數字儀表盤
- P1🔴/P2🟠/P3🟡 分層異常項速覽(僅含指標名、資料、行動建議,不含詳細解釋)
- 核心指標跨年趨勢簡表(僅 8-12 項最關鍵指標,迷你表格格式)
- 好訊息彙總(好轉或穩定的指標)
- 複查時間軸(緊湊版)
儲存為 outputs/體檢報告摘要_當前年度.html
4.3 轉為 PDF —— 使用 Playwright + 系統 Chrome 將兩份 HTML 轉為 PDF:
優先嚐試 Chrome 路徑:C:/Program Files/Google/Chrome/Application/chrome.exe,如不存在則嘗試 Edge:C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe 或 C:/Program Files/Microsoft/Edge/Application/msedge.exe。
本技能來自小蔥技能站7w4.net。
import asyncio
from playwright.async_api import async_playwright
async def html_to_pdf(html_path, pdf_path):
async with async_playwright() as p:
browser = await p.chromium.launch(executable_path=CHROME_PATH, headless=True)
page = await browser.new_page()
await page.goto('file:///' + html_path.replace('\\', '/'), wait_until='networkidle')
await page.pdf(path=pdf_path, format='A4', print_background=True,
margin={'top':'12mm','bottom':'12mm','left':'10mm','right':'10mm'})
await browser.close()
asyncio.run(html_to_pdf(html_in, pdf_out))
兩份 HTML 各執行一次轉換,產出兩個 PDF。
4.4 呈現結果 —— 使用 present_files 將兩份 PDF 一併呈現給使用者,一頁紙摘要排前面(優先預覽)。
每次解讀必須做到:
PDF 體檢報告文字提取指令碼。支援按頁碼範圍提取和 JSON 格式輸出。可直接執行,無需載入到上下文。
涵蓋 10 大系統、40+ 常見體檢指標的知識庫。包含正常參考範圍(區分男女)、異常值的通俗解釋和臨床說明。每次解讀時必須載入。
趨勢檢測演算法、變化閾值、組合分析規則和嚴重度分級標準。進行跨年對比或發現異常項時載入。
最終解讀報告的 HTML 模板。包含三色嚴重度卡片、儀表盤、系統總覽表、複查時間軸和就診問題清單的 CSS 樣式。將模板中的佔位符({{PLACEHOLDER}} 格式)替換為實際分析結果。
一頁紙摘要的 HTML 模板。緊湊 A4 單頁設計(210mm×297mm),包含儀表盤卡片、P1-P3 分層速覽、核心趨勢迷你表格、好訊息彙總和緊湊版複查時間軸。將佔位符替換為分析結果後轉為 PDF。
這個體檢翻譯官Skill質量紮實,核心功能完整——能把PDF裡的醫學術語轉成通俗解釋,還能做跨年趨勢對比和多維度健康預警。隱私保護做得很到位,報告資料不會上傳雲端。三色分級系統讓異常指標一目瞭然,輸出的就診問題清單也很實用。美中不足的是缺少示例演示,新使用者可能不知道該提供什麼格式的輸入;另外有些醫學術語的解釋不夠通俗。總體來說,這是一個功能明確、隱私安全有保障的健康管理工具,適合需要定期解讀體檢報告的使用者使用。