

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

# `$member-remove` HealthLake 的 操作
<a name="reference-fhir-operations-member-remove"></a>

`$member-remove` 操作可讓您從 FHIR 成員屬性清單 （群組資源） 中移除成員 AWS HealthLake。此操作是 DaVinci 成員屬性實作指南的一部分，並支援管理成員屬性的調校程序。

## 先決條件
<a name="member-remove-prerequisites"></a>
+ AWS HealthLake FHIR 資料存放區
+ HealthLake 操作的適當 IAM 許可
+ 草稿或開啟狀態的成員屬性清單 （群組資源）

## 操作詳細資訊
<a name="member-remove-endpoint"></a>

Endpoint  
`POST /Group/{id}/$member-remove`

內容類型  
`application/fhir+json`

## Parameters
<a name="member-remove-parameters"></a>

操作接受具有下列選用參數的 FHIR 參數資源：


| 參數 | 基數 | Type | 說明 | 
| --- | --- | --- | --- | 
| memberId | 0..1 | 識別符 | 要移除之成員的業務識別符 | 
| providerNpi | 0..1 | 識別符 | 屬性提供者的 NPI | 
| patientReference | 0..1 | 參考資料 | 直接參考 病患資源 | 
| providerReference | 0..1 | 參考資料 | 直接參考提供者資源 (Practitioner、PractitionerRole 或 Organization) | 
| coverageReference | 0..1 | 參考資料 | 涵蓋範圍資源的參考 | 

### 支援的參數組合
<a name="member-remove-parameter-combinations"></a>

支援下列參數組合：
+ `memberId` 僅限 - 移除指定成員的所有屬性
+ `memberId` \$1 `providerNpi` - 移除特定成員提供者組合的屬性
+ `patientReference` 僅限 - 移除指定病患的所有屬性
+ `patientReference` \$1 `providerReference` - 移除特定患者提供者組合的屬性
+ `patientReference` \$1 `providerReference` \$1 `coverageReference` - 根據病患、提供者和涵蓋範圍移除特定歸因

## 請求範例
<a name="member-remove-examples"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "patientReference",
      "valueReference": {
        "reference": "Patient/12345"
      }
    },
    {
      "name": "providerReference",
      "valueReference": {
        "reference": "Practitioner/67890"
      }
    }
  ]
}
```

## 回應
<a name="member-remove-response"></a>

### 成功回應
<a name="member-remove-success-response"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "result",
      "valueBoolean": true
    },
    {
      "name": "effectiveDate",
      "valueDate": "2024-06-30"
    },
    {
      "name": "status",
      "valueCode": "inactive"
    },
    {
      "name": "message",
      "valueString": "Member successfully removed from attribution list"
    }
  ]
}
```

## Behavior (行為)
<a name="member-remove-behavior"></a>

狀態需求  
操作僅適用於狀態為 `draft`或 的屬性清單 `open`  
`final` 狀態為 的清單將拒絕 422 錯誤的 操作

成員移除程序  
*草稿狀態清單*：成員標示為非作用中 (`inactive: true`)，且其`changeType`延伸項目已更新為 `changed`  
*開啟狀態清單*：類似草稿狀態的行為  
*最終狀態清單*：操作遭拒

驗證  
驗證參考以確保它們存在於 HealthLake 資料存放區中  
如果同時為相同的資源類型提供識別符和參考，它們必須對應至相同的資源  
根據支援的模式驗證參數組合

## 錯誤處理
<a name="member-remove-error-handling"></a>

### 常見錯誤回應
<a name="member-remove-common-errors"></a>

找不到資源 (404)  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "not-found",
      "details": {
        "text": "Patient with identifier 'http://example.org/fhir/identifiers|99999' not found in system"
      },
      "diagnostics": "Cannot remove member from attribution list. Verify patient identifier and try again.",
      "expression": ["memberId"]
    }
  ]
}
```

屬性清單最終狀態 (422)  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "business-rule",
      "details": {
        "coding": [
          {
            "system": "http://hl7.org/fhir/us/davinci-atr/CodeSystem/atr-error-codes",
            "code": "list-final",
            "display": "Attribution list is final and cannot be modified"
          }
        ]
      },
      "diagnostics": "Cannot modify attribution list with status 'final'. List modifications are not permitted after finalization.",
      "expression": ["Group.status"]
    }
  ]
}
```

無效操作 (400)  
當參數組合無效或格式不正確時傳回。

找到多個相符項目 (412)  
當提供的參數符合屬性清單中的多個成員時傳回。  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "processing",
      "diagnostics": "Multiple members found matching the criteria"
    }
  ]
}
```

## 最佳實務
<a name="member-remove-best-practices"></a>
+ *使用特定參數*：盡可能使用最特定的參數組合，以避免意外移除
+ *檢查清單狀態*：嘗試移除之前，請先驗證屬性清單狀態
+ *正常處理錯誤*：針對所有可能的錯誤條件實作適當的錯誤處理
+ *驗證參考*：確定所有參考的資源都存在，然後再提出請求