1. 建立新的 Dashboard
在 Grafana 主畫面 → 點擊左側「+」 → New Dashboard
命名為:
Patient Health Report
2. 區塊設計建議
我們可以將整份報告分成4個主要區塊
區塊 1:基本資料區
查詢語法:
SELECT DISTINCT patient_id FROM cancer_patients;
在 Grafana 上方使用 Text Panel 或 Stat Panel 顯示:
● 病人代碼:$patient_id
● 最近一次檢查日期
● 系統產出日期
(這些可以用 now() 或最新的 record_date 顯示)
區塊 2:近 30 天 AFP / ALT 趨勢
查詢語法:
SELECT
record_date AS "time",
afp AS "AFP Actual",
alt AS "ALT Actual",
afp_pred AS "AFP Predicted",
alt_pred AS "ALT Predicted"
FROM cancer_patients
WHERE patient_id = '$patient_id'
AND record_date >= NOW() - INTERVAL '30 days'
ORDER BY record_date;
顯示成折線圖 (Time Series Panel)。
圖例標註清楚:
🔵 AFP (實際)
🟠 AFP (AI預測)
🟢 ALT (實際)
🔴 ALT (AI預測)
區塊 3:健康摘要(趨勢與狀態)
在 Grafana 用 Stat Panel 顯示:
● AFP 趨勢(上升中 / 穩定 / 下降)
● ALT 趨勢(上升中 / 穩定 / 下降)
查詢語法:
SELECT afp_trend, alt_trend
FROM cancer_patients
WHERE patient_id = '$patient_id'
ORDER BY record_date DESC
LIMIT 1;
在 Value Mappings 裡設定:
上升中 → 🔴 + “需注意”
穩定 → 🟡 + “正常範圍內”
下降中 → 🟢 + “改善中”
區塊 4:AI 預測摘要(智能解讀)
這一區可以用 Text Panel 產生報告式文字。
Grafana 支援簡易 HTML 樣式,讓報告更正式。
AI 預測摘要:
● 模型預測下次 AFP 可能上升 8.5%。
● 最近三次檢查 AFP 波動穩定,但 ALT 有輕微上升趨勢。
● 綜合評估:🟡 建議持續追蹤,三週後複檢。
你可以用 Python 自動產生這些文字,然後以 Promtail 送入 Grafana(或直接寫入資料庫欄位 ai_summary)。
3. 匯出為 PDF / 分享報告
Grafana 提供兩種方法讓你「匯出」報表:
方法 1:內建 PDF Export
(1) 打開 Dashboard
(2) 點右上角「Share」
(3) 選擇「Export as PDF」
就能匯出成正式報告,方便交給醫療團隊或用於研究。
方法 2:Dashboard Snapshot
(1) 點右上角「Share」
(2) 選擇「Snapshot」
(3) 選「Local Snapshot」
(4) 產生可分享的唯讀網址
這樣病人或醫師就能直接線上查看,不會洩露後端資料。
4. 成果
完成後的「病人健康報告」介面如下概念
------------------------------------------------
病人報告頁面 (Patient Health Report)
------------------------------------------------
病人 ID:001
最近檢查:2025-09-15
AFP 趨勢:上升中 🔴
ALT 趨勢:穩定 🟡
------------------------------------------------
AFP / ALT 實際值與 AI 預測折線圖(30天)
------------------------------------------------
AI 預測摘要:
「AFP 預測將上升 8%,建議密切追蹤。」
------------------------------------------------
匯出報告 PDF | 分享 Dashboard Snapshot
------------------------------------------------