

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

# CMS 合規功能
<a name="reference-compliance-cms"></a>

AWS HealthLake 提供 功能，協助您符合 CMS (Centers for Medicare & Medicaid Services) 互通性和合規要求。這些功能可讓您依 CMS 類別追蹤 API 用量，然後基於合規目的報告用量指標。

**Topics**
+ [CMS 互通性端點](#cms-interoperability-endpoints)
+ [CMS 合規的增強型 CloudWatch 指標](#cms-cloudwatch-metrics)

## CMS 互通性端點
<a name="cms-interoperability-endpoints"></a>

### 概觀
<a name="cms-endpoints-overview"></a>

HealthLake 提供四個對應於 CMS 指定 API 類別的 CMS 互通性端點。HealthLake 資料存放區的基礎 URL 不會變更。這些端點僅提供針對 CMS 報告目的分類和追蹤 API 呼叫的方法。

### 用途
<a name="cms-endpoints-purpose"></a>

這些互通性端點的主要目的是讓客戶能夠：
+ 依 CMS 類別**輕鬆追蹤** API 交易
+ **自動報告** CMS 合規的用量指標
+ 以最少的變更**維護**現有的 FHIR 工作流程

無論您使用互通性端點或標準 FHIR 端點，所有 API 呼叫的功能都相同 - 唯一的區別是如何在 CloudWatch 指標中分類交易。

### 支援的 CMS 互通性端點
<a name="cms-supported-endpoints"></a>


| CMS 類別 | 互通性端點 | 使用範例 | 
| --- | --- | --- | 
| 病患存取 | /patientaccess/v2/r4 | baseURL/patientaccess/v2/r4/Patient/123 | 
| 提供者存取 | /​provideraccess/v2/r4 | baseURL/​provideraccess/v2/r4/Observation?patient=123 | 
| 付款人到付款人 | /payertopayerdx/v2/r4 | baseURL/payertopayerdx/v2/r4/Practitioner/456 | 
| 先前的驗證服務 | /priorauthservice/v2/r4 | baseURL/priorauthservice/v2/r4/ExplanationOfBenefit?patient=789 | 

### 互通性端點的運作方式
<a name="cms-endpoints-how-it-works"></a>

**標準 HealthLake API 呼叫：**

```
baseURL/resourceType/[id]
baseURL/resourceType?[parameters]
```

**使用 CMS 互通性端點：**

```
baseURL/interoperability-endpoint/resourceType/[id]
baseURL/interoperability-endpoint/resourceType?[parameters]
```

互通性端點路徑只會插入您的基本 URL 和資源類型之間。互通性端點路徑之後的所有內容都與您目前的 API 呼叫完全相同。

### 使用範例
<a name="cms-endpoints-examples"></a>

#### 範例 1：病患存取 API
<a name="cms-example-patient-access"></a>

**目前的 API 呼叫 （仍然有效）：**

```
curl -X GET \
  https://healthlake.us-east-1.amazonaws.com/datastore/abc123/r4/Patient/123 \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/fhir+json"
```

**使用病患存取互通性端點 （用於 CMS 追蹤）：**

```
curl -X GET \
  https://healthlake.us-east-1.amazonaws.com/datastore/abc123/patientaccess/v2/r4/Patient/123 \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/fhir+json"
```

**重點：**
+ 保留基本 URL： `https://healthlake.us-east-1.amazonaws.com/datastore/abc123`
+ 插入的互通性端點： `/patientaccess/v2/r4`
+ 資源路徑不變： `/Patient/123`
+ **兩個呼叫都會傳回相同的回應**
+ CloudWatch `URIType=patient-access`中的 會自動追蹤互通性端點呼叫
+ POST、PUT、PATCH、DELETE 操作的運作方式相同。
+ 請求內文保持不變。

### 端點轉譯參考
<a name="cms-endpoint-translation"></a>


| 互通性端點 | 轉換為 | CMS 類別 | 
| --- | --- | --- | 
| baseURL/patientaccess/v2/r4/Patient | baseURL/r4/Patient | 病患存取 | 
| baseURL/​provideraccess/v2/r4/Observation | baseURL/r4/Observation | 提供者存取 | 
| baseURL/payertopayerdx/v2/r4/Practitioner/456 | baseURL/r4/Practitioner/456 | 付款人對付款人資料交換 | 
| baseURL/priorauthservice/v2/r4/ExplanationOfBenefit?patient=789 | baseURL/r4/ExplanationOfBenefit?patient=789 | 預先授權 | 

### 重要說明
<a name="cms-endpoints-important-notes"></a>
+ **沒有功能差異**：互通性端點和標準 FHIR 端點會傳回相同的回應，並支援相同的操作
+ **基本 URL 未變更**：您的 HealthLake 資料存放區端點保持不變
+ **簡易整合**：在您的基本 URL 和資源類型之間插入互通性端點路徑
+ **自動追蹤**：CloudWatch 指標會依使用的互通性端點自動分類呼叫
+ **回溯相容**：沒有互通性端點的現有 API 呼叫會繼續正常運作

## CMS 合規的增強型 CloudWatch 指標
<a name="cms-cloudwatch-metrics"></a>

### 概觀
<a name="cms-metrics-overview"></a>

當您使用 CMS 互通性端點時，HealthLake 會自動發出具有額外維度的增強型 CloudWatch 指標，以支援 CMS 報告需求。這些指標會依呼叫者身分、應用程式和 CMS 特定的 URI 類型追蹤 API 用量，**而不需要任何其他組態**。

### 運作方式
<a name="cms-metrics-how-it-works"></a>

當您使用互通性端點進行 API 呼叫時：

```
# This call...
curl https://healthlake.us-east-1.amazonaws.com/datastore/abc123/patientaccess/v2/r4/Patient/123

# Automatically generates metrics with:
# - URIType: "patient-access"
# - Sub: extracted from your bearer token (SMART on FHIR datastores only)
# - ClientId: extracted from your bearer token (SMART on FHIR datastores only)
# - Plus all standard dimensions (DatastoreId, Operation, etc.)
```

**不需要額外的程式碼或組態。**只需使用互通性端點，即可自動擷取增強型指標。

**注意**  
對於 FHIR 資料存放區上的非 SMART，仍會擷取`URIType`維度，讓您可以依 CMS 類別追蹤 API 用量。只有在 FHIR 身分驗證上使用 SMART 搭配包含這些宣告的承載字符時，才能使用 `Sub`和 `ClientId`維度。

### 新的指標維度
<a name="cms-metrics-dimensions"></a>

除了現有的維度 (`DatastoreId`、`DatastoreType`、`Operation`) 之外，使用互通性端點時也會自動新增下列維度：


| 維度 | Description | 範例數值 | 來源 | 
| --- | --- | --- | --- | 
| URIType | CMS 合規類別 | patient-access, provider-access, payer-to-payer, prior-authorization | 從互通性端點路徑自動確定 | 
| 子 | 來電者身分 | 使用者/實體識別符 | 從承載字符sub宣告擷取 | 
| ClientId | 應用程式識別符 | portal\$1app, ehr\$1system | 從承載字符client\$1id宣告擷取 | 

### 可用的指標
<a name="cms-available-metrics"></a>

所有現有的 HealthLake 指標現在都包含使用互通性端點時的額外維度：
+ **CallCount** - API 呼叫總數
+ **延遲** - API 回應時間，以毫秒為單位
+ **UserErrors** - 4xx 用戶端錯誤計數
+ **SystemErrors** - 5xx 伺服器錯誤的計數
+ **限流** - 限流請求的計數
+ **SuccessfulRequests** - 成功 API 呼叫的計數

### 在 CloudWatch 中查詢指標
<a name="cms-querying-metrics"></a>

#### CloudWatch Insights 查詢範例
<a name="cms-cloudwatch-insights-example"></a>

**依應用程式查詢所有病患存取 API 呼叫：**

```
SELECT SUM(CallCount)
FROM "AWS/HealthLake"
WHERE DatastoreId = '75c1cf9b0d71cd38fec8f7fb317c4c1a'
    AND URIType = 'patient-access'
GROUP BY ClientId
```