

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

# `$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 数据存储库
+ 相应的 IAM HealthLake 操作权限
+ 处于草稿或开放状态的成员归因列表（群组资源）

## 操作详情
<a name="member-remove-endpoint"></a>

端点  
`POST /Group/{id}/$member-remove`

内容类型  
`application/fhir+json`

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

该操作接受带有以下可选参数的 FHIR 参数资源：


| 参数 | 基数 | Type | 说明 | 
| --- | --- | --- | --- | 
| memberId | 0.. 1 | 标识符 | 要移除的成员的企业标识符 | 
| ProviderNPI | 0.. 1 | 标识符 | 归因提供商的 NPI | 
| 患者参考 | 0.. 1 | 参考 | 直接参考患者资源 | 
| 提供者参考 | 0.. 1 | 参考 | 直接引用提供者资源（从 PractitionerRole业者或组织） | 
| 保险范围参考 | 0.. 1 | 参考 | 对覆盖范围资源的引用 | 

### 支持的参数组合
<a name="member-remove-parameter-combinations"></a>

支持以下参数组合：
+ `memberId`only-删除指定成员的所有属性
+ `memberId`\$1 `providerNpi`-移除特定成员-提供者组合的归因
+ `patientReference`only-移除指定患者的所有归因
+ `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"
    }
  ]
}
```

## 行为
<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>
+ *使用特定参数*：如果可能，请使用最具体的参数组合，以避免意外删除
+ *检查列表状态*：在尝试移除之前验证归因列表状态
+ *优雅地处理错误*：对所有可能的错误情况实施适当的错误处理
+ *验证引用*：在提出请求之前，请确保所有引用的资源都存在