FHIR 上的 SMART 入門 - AWS HealthLake

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

FHIR 上的 SMART 入門

下列主題說明如何開始使用 AWS HealthLake 的 FHIR 授權上的 SMART。其中包括您必須在 AWS 帳戶中佈建的資源、在啟用 FHIR 的 HealthLake 資料存放區上建立 SMART,以及 FHIR 用戶端應用程式如何與授權伺服器和 HealthLake 資料存放區互動的範例。

在 FHIR 上為 SMART 設定資源

下列步驟定義 HealthLake 如何處理 FHIR 請求上的 SMART,以及成功所需的資源。下列元素在工作流程中共同運作,以在 FHIR 請求上建立 SMART:

  • 最終使用者:通常,在 FHIR 上使用第三方 SMART 來存取 HealthLake 資料存放區中的資料的患者或臨床醫生。

  • FHIR 上的 SMART 應用程式 (稱為用戶端應用程式):想要存取 HealthLake 資料存放區中找到之資料的應用程式。

  • 授權伺服器:符合 OpenID Connect 標準的伺服器,能夠驗證使用者並發出存取權杖。

  • HealthLake 資料存放區:啟用 FHIR 的 SMART HealthLake存放區,使用 Lambda 函數回應提供承載字符的 FHIR REST 請求。

若要讓這些元素一起運作,您必須建立下列資源。

注意

我們建議您在設定授權伺服器、定義必要的範圍,並建立 AWS Lambda 函數來處理權杖自我檢查之後,在啟用 FHIR 的 HealthLake 資料存放區上建立您的 SMART。

1. 設定授權伺服器端點

若要在 FHIR 架構上使用 SMART,您需要設定第三方授權伺服器,以驗證對資料存放區提出的 FHIR REST 請求。如需詳細資訊,請參閱FHIR 上 SMART 的 HealthLake 身分驗證要求

2. 在授權伺服器上定義範圍,以控制 HealthLake 資料存放區存取層級

FHIR 上的 SMART 架構使用 OAuth 範圍來判斷已驗證請求可存取的 FHIR 資源,以及存取程度。定義範圍是針對最低權限進行設計的一種方式。如需詳細資訊,請參閱HealthLake 支援的 FHIR OAuth 2.0 範圍上的 SMART

3. 設定能夠執行權杖自我檢查的 AWS Lambda 函數

用戶端應用程式在啟用 FHIR 的 SMART 資料存放區上傳送的 FHIR REST 請求包含 JSON Web Token (JWT)。如需詳細資訊,請參閱解碼 JWT

4. 在啟用 FHIR 的 HealthLake 資料存放區上建立 SMART

若要在 FHIR HealthLake 資料存放區上建立 SMART,您需要提供 IdentityProviderConfiguration。如需詳細資訊,請參閱建立 HealthLake 資料存放區

FHIR 上適用於 SMART 的用戶端應用程式工作流程

下一節說明如何在 FHIR 上的 SMART 內容中啟動用戶端應用程式,並在 HealthLake 資料存放區上成功提出 FHIR REST 請求。

1. 使用用戶端應用程式向 Well-Known Uniform Resource Identifier 提出GET請求

已啟用 SMART 的用戶端應用程式必須提出GET請求,才能尋找 HealthLake 資料存放區的授權端點。這是透過 Well-Known Uniform Resource Identifier (URI) 請求來完成的。如需詳細資訊,請參閱在 FHIR 探索文件上擷取 SMART

2. 請求存取和範圍

用戶端應用程式使用授權伺服器的授權端點,讓使用者可以登入。此程序會驗證使用者。範圍用於定義用戶端應用程式可在 HealthLake 資料存放區中存取的 FHIR 資源。如需詳細資訊,請參閱HealthLake 支援的 FHIR OAuth 2.0 範圍上的 SMART

3. 存取字符

現在使用者已通過身分驗證,用戶端應用程式會從授權伺服器接收 JWT 存取字符。當用戶端應用程式傳送 FHIR REST 請求給 HealthLake 時,會提供此字符。如需詳細資訊,請參閱字符驗證

4. 在啟用 FHIR 的 HealthLake 資料存放區上對 SMART 提出 FHIR REST API 請求

用戶端應用程式現在可以使用授權伺服器提供的存取權杖,將 FHIR REST API 請求傳送至 HealthLake 資料存放區端點。如需詳細資訊,請參閱在已啟用 SMART 功能的 HealthLake 資料存放區上提出 FHIR REST API 請求

5. 驗證 JWT 存取權杖

若要驗證 FHIR REST 請求中傳送的存取權杖,請使用 Lambda 函數。如需詳細資訊,請參閱使用 驗證權杖 AWS Lambda