iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

SMART on FHIR 開發之路:30 天做一個跨醫院的 app 系列

換一家醫院看診,檢驗常得重來;想做健康管理 app,各家醫院不同的介接規格就能讓專案陣亡。FHIR 與 SMART on FHIR 就是解法。

30 天走完一趟 SMART app 開發:FHIR 資源與環境準備、SMART 授權框架拆解、臨床資料讀寫與呈現、一套 app 服務多家醫院的架構與跨院病歷整合,最後是上線與台灣生態。

敘事軸是火線超人,我用 Rails 寫的 LINE FHIR 應用、第一屆台灣 50 優良得主。我是國軍高雄總醫院資訊室主任、健康台灣深耕計畫範疇三主持人。範例刻意用瀏覽器原生 JS 重寫:參與醫療資料互通,不必先成為醫療資訊工程師。

參賽天數 19 天 | 共 19 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11 - scope 解鎖哪些欄位

本文同步發表於個人部落格:scope 解鎖哪些欄位 昨天那份火線超人的預設清單,我們只看了前面五行: DEFAULT_SCOPES = %w[ pat...

2026-08-12 ‧ 由 Nickle 分享
DAY 12

Day12 - 解析 Launch Context

本文同步發表於個人部落格:解析 Launch Context day05 提過火線超人有一支 Smart::LaunchContextService,專門...

2026-08-13 ‧ 由 Nickle 分享
DAY 13

Day13 - 身分識別與 fhirUser

本文同步發表於個人部落格:身分識別與 fhirUser 再看一次火線超人那份預設清單的最後兩行: launch/patient openid fhirUs...

2026-08-14 ‧ 由 Nickle 分享
DAY 14

Day14 - Token 的生命週期

本文同步發表於個人部落格:Token 的生命週期 day11 說過,火線超人那份預設清單裡沒有 offline_access。 那代表它拿不到 refre...

2026-08-15 ‧ 由 Nickle 分享
DAY 15

Day15 - 第一個 SMART app

本文同步發表於個人部落格:第一個 SMART app 火線超人的專案是 2025 年 11 月 12 日開的。 前三天一行 FHIR 都沒碰。做的是 LI...

2026-08-16 ‧ 由 Nickle 分享
DAY 16

Day16 - 呈現臨床資料(一)

本文同步發表於個人部落格:呈現臨床資料(一) 火線超人有一個給病人填的表單,五個欄位:收縮壓、舒張壓、脈搏、血糖、體重。 每個欄位都是選填。病人今天只量了...

2026-08-17 ‧ 由 Nickle 分享
DAY 17

Day17 - 呈現臨床資料(二)

本文同步發表於個人部落格:呈現臨床資料(二) 火線超人有一個 LIFF 頁面,列出伺服器上的病人讓使用者挑。LIFF 就是在 LINE 裡開起來的網頁。...

2026-08-18 ‧ 由 Nickle 分享
DAY 18

Day18 - 寫回 FHIR

本文同步發表於個人部落格:寫回 FHIR 火線超人的居家回報表單,送出去的是一個 transaction Bundle。 理由很簡單。一次量測可能同時有收...

2026-08-19 ‧ 由 Nickle 分享
DAY 19

Day19 - FHIR 伺服器的處理錯誤

本文同步發表於個人部落格:FHIR 伺服器的處理錯誤 火線超人可能同時查好幾家醫院的資料。 它的規格裡有一條寫得很死。每一台伺服器的查詢都有各自的逾時上限...

2026-08-20 ‧ 由 Nickle 分享