

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 FHIR 上使用 SMART 入门
<a name="reference-smart-on-fhir-getting-started"></a>

以下主题介绍如何开始使用 SMART on FHIR 授权。 AWS HealthLake它们包括必须在 AWS 账户中预置的资源、在 FHIR 上启用 SMART HealthLake 的数据存储的创建，以及一个 SMART on FHIR 客户端应用程序如何与授权服务器和数据存储交互的示例。 HealthLake 

**Topics**
+ [在 FHIR 上为 SMART 设置资源](#smart-on-fhir-resources)
+ [FHIR 上的 SMART 的客户端应用程序工作流程](#smart-on-fhir-client-app-workflow)

## 在 FHIR 上为 SMART 设置资源
<a name="smart-on-fhir-resources"></a>

以下步骤定义了如何处理 SMART on FHIR 请求 HealthLake 以及成功处理请求所需的资源。以下元素在工作流程中协同工作，以提出 SMART on FHIR 请求：
+ **最终用户**：通常，患者或临床医生使用第三方 SMART on FHIR 应用程序访问数据存储中的HealthLake 数据。
+ **SMART on FHIR 应用程序（称为客户端应用程序）**：想要访问在数据存储中HealthLake 找到的数据的应用程序。
+ **授权服务器**：符合 OpenID Connect 标准的服务器，能够对用户进行身份验证并颁发访问令牌。
+ ** HealthLake 数据存储**：支持 SMART on FHIR HealthLake 的数据存储，它使用 Lambda 函数来响应提供不记名令牌的 FHIR REST 请求。

要使这些元素协同工作，必须创建以下资源。

**注意**  
我们建议在设置授权服务器、在其上定义必要的[范围](reference-smart-on-fhir-oauth-scopes.md)并创建处理[令牌](reference-smart-on-fhir-token-validation.md)自省的 AWS Lambda 函数之后，在启用 FHIR HealthLake 的数据存储上创建 SMART。

**1. 设置授权服务器端点**  
要使用 SMART on FHIR 框架，您需要设置一个第三方授权服务器，该服务器可以验证在数据存储上发出的 FHIR REST 请求。有关更多信息，请参阅 [HealthLake FHIR 上的 SMART 的身份验证要求](reference-smart-on-fhir-authentication.md)。

**2. 在授权服务器上定义范围以控制 HealthLake 数据存储访问级别**  
SMART on FHIR 框架使用 OAuth 作用域来确定经过身份验证的请求可以访问哪些 FHIR 资源以及访问的范围。定义作用域是一种针对最低权限进行设计的方法。有关更多信息，请参阅 [支持的 FHIR OAuth 2.0 瞄准镜上的 SMART HealthLake](reference-smart-on-fhir-oauth-scopes.md)。

**3. 设置一个能够执行令牌内省的 AWS Lambda 函数**  
客户端应用程序在启用 SMART on FHIR 的数据存储上发送的 FHIR REST 请求包含 JSON Web 令牌 (JWT)。有关更多信息，请参阅[解码 JWT](reference-smart-on-fhir-token-validation.md)。

**4. 在启用 FHIR 时创建 SMART HealthLake 数据存储**  
要在 FHIR 上创建 SMART HealthLake 数据存储，您需要提供一个。`IdentityProviderConfiguration`有关更多信息，请参阅 [创建 HealthLake 数据存储](managing-data-stores-create.md)。

## FHIR 上的 SMART 的客户端应用程序工作流程
<a name="smart-on-fhir-client-app-workflow"></a>

以下部分说明了如何在 SMART on FHIR 的上下文中启动客户端应用程序并在 HealthLake 数据存储上成功发出 FHIR REST 请求。

**1. 使用客户端应用程序向众所周知的统一资源标识符`GET`发出请求**  
启用 SMART 的客户端应用程序必须`GET`请求查找 HealthLake 数据存储的授权端点。这是通过众所周知的统一资源标识符 (URI) 请求完成的。有关更多信息，请参阅 [正在获取 SMART on FHIR 发现文档](reference-smart-on-fhir-discovery-document.md)。

**2. 请求访问权限和范围**  
客户端应用程序使用授权服务器的授权端点，以便用户可以登录。此过程对用户进行身份验证。作用域用于定义客户端应用程序可以访问 HealthLake 数据存储中的哪些 FHIR 资源。有关更多信息，请参阅 [支持的 FHIR OAuth 2.0 瞄准镜上的 SMART HealthLake](reference-smart-on-fhir-oauth-scopes.md)。

**3. 访问令牌**  
现在，用户已通过身份验证，客户端应用程序将收到来自授权服务器的 JWT 访问令牌。此令牌是在客户端应用程序向发送 FHIR REST 请求时提供的。 HealthLake有关更多信息，请参阅 [令牌验证](reference-smart-on-fhir-token-validation.md)。

**4. 在启用 HealthLake FHIR 的数据存储上在 SMART 上发出 FHIR REST API 请求**  
现在，客户端应用程序可以使用授权服务器提供的访问令牌向 HealthLake 数据存储端点发送 FHIR REST API 请求。有关更多信息，请参阅 [在支持 Smart 的数据存储上发出 FHIR REST HealthLake API 请求](reference-smart-on-fhir-request-example.md)。

**5. 验证 JWT 访问令牌**  
要验证在 FHIR REST 请求中发送的访问令牌，请使用 Lambda 函数。有关更多信息，请参阅 [使用令牌验证 AWS Lambda](reference-smart-on-fhir-token-validation.md)。