HealthLake 支援的 FHIR OAuth 2.0 範圍上的 SMART - AWS HealthLake

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

HealthLake 支援的 FHIR OAuth 2.0 範圍上的 SMART

HealthLake 使用 OAuth 2.0 做為授權通訊協定。在授權伺服器上使用此通訊協定,可讓您為用戶端應用程式可存取的 FHIR 資源定義 HealthLake 資料存放區許可 (建立、讀取、更新、刪除和搜尋)。

FHIR 上的 SMART 架構定義一組可以從授權伺服器請求的範圍。例如,僅設計為允許患者檢視其實驗室結果或檢視其聯絡詳細資訊的用戶端應用程式,應僅獲授權請求read範圍。

注意

HealthLake 同時支援 FHIR V1 和 V2 上的 SMART,如下所述。建立資料存放區時,SMART on FHIR AuthorizationStrategy會設定為下列三個值之一:

  • SMART_ON_FHIR_V1 – 僅支援 FHIR V1 上的 SMART,其中包含 read(讀取/搜尋) 和 write(create/update/delete許可。

  • SMART_ON_FHIR – 支援 FHIR V1 和 V2 上的 SMART,其中包括 createreadupdatedeletesearch許可。

  • AWS_AUTH – default AWS HealthLake 授權策略;與 FHIR 上的 SMART 無關。

獨立啟動範圍

HealthLake 支援獨立啟動模式範圍 launch/patient

在獨立啟動模式中,用戶端應用程式會請求存取病患的臨床資料,因為用戶端應用程式不知道使用者和病患。因此,用戶端應用程式的授權請求會明確請求傳回病患範圍。身分驗證成功後,授權伺服器會發出存取字符,其中包含請求的啟動病患範圍。所需的患者內容會在授權伺服器的回應中與存取字符一起提供。

支援的啟動模式範圍
範圍 描述

launch/patient

OAuth 2.0 授權請求中的參數,請求在授權回應中傳回該病患資料。

HealthLake 的 FHIR 資源範圍上的 SMART

HealthLake 在 FHIR 資源範圍上定義三個層級的 SMART。

  • patient 範圍會授予單一病患特定資料的存取權。

  • user 範圍會授予使用者可存取的特定資料的存取權。

  • system 範圍會授予 HealthLake 資料存放區中所有 FHIR 資源的存取權。

下列各節列出使用 FHIR V1 上的 SMART 或 FHIR V2 上的 SMART 建構 FHIR 資源範圍的語法。

注意

建立資料存放區時,會設定 FHIR 上的 SMART 授權策略。如需詳細資訊,請參閱 AWS HealthLake API 參考AuthorizationStrategy中的 。

HealthLake 支援的 FHIR V1 範圍上的 SMART

在 FHIR V1 上使用 SMART 時,用於建構 HealthLake 的 FHIR 資源範圍的一般語法如下。若要在下列範例中檢視整個 URL 路徑,請捲動至複製按鈕。

('patient' | 'user' | 'system') '/' (fhir-resource | '*') '.' ('read' | 'write' | '*')
FHIR v1 支援的授權範圍上的 SMART
範圍語法 範例範圍 結果

patient/(fhir-resource | '*').('read' | 'write' | '*')

patient/AllergyIntolerance.* 病患用戶端應用程式具有所有記錄的區分的執行個體層級讀取/寫入存取權。

user/(fhir-resource | '*').('read' | 'write' | '*')

user/Observation.read 使用者用戶端應用程式具有所有記錄觀察的執行個體層級讀取/寫入存取權。
system/('read' | 'write' | *) system/*.* 系統用戶端應用程式具有所有 FHIR 資源資料的讀取/寫入存取權。

HealthLake 支援的 FHIR V2 範圍上的 SMART

在 FHIR V2 上使用 SMART 時,用於建構 HealthLake 的 FHIR 資源範圍的一般語法如下。若要在下列範例中檢視整個 URL 路徑,請捲動至複製按鈕。

('patient' | 'user' | 'system') '/' (fhir-resource | '*') '.' ('c' | 'r' | 'u' | 'd' | 's')
注意

若要在 FHIR V2 上使用 SMART,您必須將值傳入permission-v2中繼資料capabilities字串,這是 IdentityProviderConfiguration 資料類型的成員。

HealthLake 支援精細範圍。如需詳細資訊,請參閱 FHIR 美國核心實作指南支援的精細範圍

FHIR V2 支援的授權範圍上的 SMART
範圍語法 範例 V1 範圍 結果

patient/Observation.rs

user/Observation.read 讀取和搜尋目前病患Observation資源的許可。

system/*.cruds

system/*.* 系統用戶端應用程式具有所有 FHIR 資源資料的完整create/read/update/刪除/搜尋存取權。