

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# HealthLake `$operations`の FHIR R4
<a name="reference-fhir-operations"></a>

 FHIR \$1 オペレーション (「ドルオペレーション」とも呼ばれます) は、FHIR 仕様の標準 CRUD (`Create`、、`Read``Update`、`Delete`) オペレーションを超えて拡張される特殊なサーバー側の関数です。これらのオペレーションは「\$1」プレフィックスで識別され、標準の REST API コールを使用して実行するのが困難または非効率的な複雑な処理、データ変換、一括オペレーションを可能にします。\$1 オペレーションは、システムレベル、リソースタイプレベル、または特定のリソースインスタンスで呼び出すことができ、FHIR データを操作する柔軟な方法を提供します。 は複数の FHIR AWS HealthLake をサポートします`$operations`。詳細については、以下の個々のページを参照してください。

**Topics**
+ [HealthLake の FHIR R4 `$attribution-status`オペレーション](reference-fhir-operations-attribution-status.md)
+ [を使用したリソースタイプの削除 `$bulk-delete`](reference-fhir-operations-bulk-delete.md)
+ [`$bulk-member-match` HealthLake の オペレーション](reference-fhir-operations-bulk-member-match.md)
+ [HealthLake の FHIR R4 `$confirm-attribution-list`オペレーション](reference-fhir-operations-confirm-attribution-list.md)
+ [HealthLake の FHIR R4 `$davinci-data-export`オペレーション](reference-fhir-operations-davinci-data-export.md)
+ [を使用した臨床ドキュメントの生成 `$document`](reference-fhir-operations-document.md)
+ [を使用してリソースを完全に削除する `$erase`](reference-fhir-operations-erase.md)
+ [を使用した患者データの取得 `Patient/$everything`](reference-fhir-operations-everything.md)
+ [を使用した ValueSet コードの取得 `$expand`](reference-fhir-operations-expand.md)
+ [FHIR を使用した HealthLake データのエクスポート `$export`](reference-fhir-operations-export.md)
+ [HealthLake の FHIR `$inquire`オペレーション](reference-fhir-operations-inquire.md)
+ [を使用した概念の詳細の取得 `$lookup`](reference-fhir-operations-lookup.md)
+ [`$member-add` HealthLake の オペレーション](reference-fhir-operations-member-add.md)
+ [`$member-match` HealthLake の オペレーション](reference-fhir-operations-member-match.md)
+ [`$member-remove` HealthLake の オペレーション](reference-fhir-operations-member-remove.md)
+ [を使用した患者部門リソースの削除 `$purge`](reference-fhir-operations-purge.md)
+ [HealthLake の FHIR `$questionnaire-package`オペレーション](reference-fhir-operations-questionnaire-package.md)
+ [HealthLake の FHIR `$submit`オペレーション](reference-fhir-operations-submit.md)
+ [を使用した FHIR リソースの検証 `$validate`](reference-fhir-operations-validate.md)

# HealthLake の FHIR R4 `$attribution-status`オペレーション
<a name="reference-fhir-operations-attribution-status"></a>

特定のメンバーの属性ステータスを取得し、患者に関連するすべての属性リソースを含むバンドルを返します。このオペレーションは、[FHIR メンバー属性 (ATR) リスト IG 2.1.0 実装の一部です。](https://build.fhir.org/ig/HL7/davinci-atr/spec.html)

## Endpoint
<a name="attribution-status-endpoint"></a>

```
POST [base]/Group/[id]/$attribution-status
```

## リクエストパラメーター
<a name="attribution-status-parameters"></a>

オペレーションでは、次のオプションパラメータを使用できます。


| パラメータ | Type | 説明 | 
| --- | --- | --- | 
| memberId | 識別子 | 属性ステータスがリクエストされたメンバーの MemberId  | 
| patientReference | リファレンス | プロデューサーのシステム内の患者リソースへの参照 | 

**注記**  
検証目的で`patientReference`、 `memberId`または のいずれか、または両方を指定できます。

## リクエスト例
<a name="attribution-status-request-example"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "memberId",
      "valueIdentifier": {
        "system": "http://example.org",
        "value": "MBR123456789"
      }
    },
    {
      "name": "patientReference",
      "valueReference": {
        "reference": "Patient/patient-123",
        "display": "John Doe"
      }
    }
  ]
}
```

## 応答
<a name="attribution-status-response"></a>

患者に関連する属性リソースを含むバンドルを返します。


| [リソース]  | カーディナリティ | ロケーション | 
| --- | --- | --- | 
| 患者 | 1..1 | Group.member.entity | 
| カバレッジ | 0..1 | Group.member.extension:coverageReference | 
| Organization/Practitioner/PractitionerRole | 0..1 | Group.member.extension:attributedProvider | 
| 任意のリソース | 0..1 | Group.member.extension:associatedData | 

### レスポンス例
<a name="attribution-status-response-example"></a>

```
{
  "resourceType": "Bundle",
  "id": "bundle-response",
  "meta": {
    "lastUpdated": "2014-08-18T01:43:33Z"
  },
  "type": "collection",
  "entry": [
    {
      "fullUrl": "http://example.org/fhir/Patient/12423",
      "resource": {
        "resourceType": "Patient",
        "id": "12423",
        "meta": {
          "versionId": "1",
          "lastUpdated": "2014-08-18T01:43:31Z"
        },
        "active": true,
        "name": [
          {
            "use": "official",
            "family": "Chalmers",
            "given": ["Peter", "James"]
          }
        ],
        "gender": "male",
        "birthDate": "1974-12-25"
      }
    },
    {
      "fullUrl": "http://example.org/fhir/Coverage/123456",
      "resource": {
        "resourceType": "Coverage",
        "id": "1"
        // ... additional Coverage resource details
      }
    },
    {
      "fullUrl": "http://example.org/fhir/Organization/666666",
      "resource": {
        "resourceType": "Organization",
        "id": "2"
        // ... additional Organization resource details
      }
    }
  ]
}
```

## エラー処理
<a name="attribution-status-error-handling"></a>

オペレーションは、次のエラー条件を処理します。


| エラー | HTTP ステータス | 説明 | 
| --- | --- | --- | 
| 無効なオペレーションリクエスト | 400 | 非準拠のリクエストパラメータまたは構造 | 
| グループリソースが見つかりません | 404 | 指定されたグループ ID は存在しません | 
| 患者リソースが見つかりません | 404 | 指定された患者リファレンスは存在しません | 

## 認可とセキュリティ
<a name="attribution-status-authorization"></a>

SMART スコープの要件  
クライアントには、グループリソースおよび関連する属性リソースを読み取るための適切な権限が必要です  
標準の FHIR 認可メカニズムがすべてのオペレーションに適用されます

# を使用したリソースタイプの削除 `$bulk-delete`
<a name="reference-fhir-operations-bulk-delete"></a>

AWS HealthLake は `$bulk-delete`オペレーションをサポートし、データストア内の特定のタイプのすべてのリソースを削除できます。このオペレーションは、以下が必要な場合に特に役立ちます。
+ 季節的な監査とクリーンアップを実行する
+ 大規模なデータライフサイクルの管理
+ 特定のリソースタイプを削除する
+ データ保持ポリシーに準拠する

## 使用方法
<a name="bulk-delete-usage"></a>

`$bulk-delete` オペレーションは POST メソッドを使用して呼び出すことができます。

```
POST [base]/[ResourceType]/$bulk-delete?isHardDelete=false&deleteAuditEvent=true
```

## パラメータ
<a name="bulk-delete-parameters"></a>


| パラメータ | タイプ | [Required] (必須) | デフォルト | 説明  | 
| --- | --- | --- | --- | --- | 
| isHardDelete | boolean | 不可 | false | true の場合、ストレージからリソースを完全に削除します | 
| deleteAuditEvent | boolean | なし | true | true の場合、関連する監査イベントを削除します | 
| \$1since | string | 不可 | データストアの作成時刻 | 入力すると、開始カットオフ時間を選択して、lastModified時間に基づいてリソースを検索します。開始または終了では使用できません | 
| start | string | 不可 | データストアの作成時刻 | 入力すると、カットオフ時間を選択して、lastModified時間に基づいてリソースを検索します。末尾で使用できます | 
| end | string | 不可 | ジョブの送信時間 | 入力すると、終了カットオフ時間を選択して、lastModified時間に基づいてリソースを検索します。 | 

## 例
<a name="bulk-delete-examples"></a>

**リクエストの例**  


```
POST [base]/Observation/$bulk-delete?isHardDelete=false
```

**レスポンスの例**  


```
{
      "jobId": "jobId",
      "jobStatus": "SUBMITTED"
    }
```

## ジョブのステータス
<a name="bulk-delete-job-status"></a>

一括削除ジョブのステータスを確認するには:

```
GET [base]/$bulk-delete/[jobId]
```

オペレーションはジョブステータス情報を返します。

```
{
      "datastoreId": "datastoreId",
      "jobId": "jobId",
      "status": "COMPLETED",
      "submittedTime": "2025-10-09T15:09:51.336Z"
    }
```

## 行動
<a name="bulk-delete-behavior"></a>

`$bulk-delete` オペレーション:

1. 大量のリソースを処理するために非同期的に処理する

1. データ整合性のために ACID トランザクションを維持します

1. リソース削除数を含むジョブステータスの追跡を提供します

1. ソフト削除モードとハード削除モードの両方をサポート

1. 削除アクティビティの包括的な監査ログ記録が含まれます

1. 履歴バージョンと監査イベントの選択的な削除を許可する

## 監査ログ記録
<a name="bulk-delete-audit-logging"></a>

`$bulk-delete` オペレーションは、詳細なオペレーション情報とともに StartFHIRBulkDeleteJob および DescribeFHIRBulkDeleteJobとしてログに記録されます。

## 制限事項
<a name="bulk-delete-limitations"></a>
+ `isHardDelete` が true に設定されている場合、ハード削除されたリソースは検索結果や`_history`クエリに表示されません。
+ このオペレーションで削除されるリソースは、処理中に一時的にアクセスできない場合があります。
+ ストレージ計測は履歴バージョンでのみ調整されます - deleteVersionHistory=false はデータストアストレージを調整しません

# `$bulk-member-match` HealthLake の オペレーション
<a name="reference-fhir-operations-bulk-member-match"></a>

AWS HealthLake は、複数のメンバー一致リクエストを非同期的に処理する `$bulk-member-match`オペレーションをサポートします。このオペレーションにより、医療組織は、属性情報とカバレッジ情報を 1 回の一括リクエストで使用して、さまざまな医療システム全体で何百人ものメンバーの一意の識別子を効率的に照合できます。この機能は、大規模なpayer-to-payerデータ交換、メンバー移行、CMS コンプライアンス要件に不可欠であり、FHIR [仕様](https://build.fhir.org/ig/HL7/davinci-epdx/OperationDefinition-BulkMemberMatch.html)に従います。

**注記**  
`$bulk-member-match` オペレーションは、現在実験段階にあり、変更される可能性のある基盤となる FHIR 仕様に基づいています。仕様が進化するにつれて、この API の動作とインターフェイスはそれに応じて更新されます。開発者は、AWS HealthLake リリースノートと関連する FHIR 仕様の更新をモニタリングして、統合に影響を与える可能性のある変更を常に把握することをお勧めします。

このオペレーションは、以下が必要な場合に特に役立ちます。
+ オープン登録期間中に大規模なメンバーマッチングを処理する
+ 支払者間の一括メンバー移行を容易にする
+ 大規模な CMS コンプライアンスデータ交換要件をサポート
+ 医療ネットワーク全体でメンバーコホートを効率的にマッチングする
+ API コールを最小限に抑え、大量のマッチングシナリオの運用効率を向上させる

## 使用方法
<a name="bulk-member-match-usage"></a>

`$bulk-member-match` オペレーションは、POST メソッドを使用してグループリソースで呼び出される非同期オペレーションです。

```
POST [base]/Group/$bulk-member-match
```

一括一致リクエストを送信したら、以下を使用してジョブステータスをポーリングできます。

```
GET [base]/$bulk-member-match-status/{jobId}
```

## サポートされているパラメータ
<a name="bulk-member-match-parameters"></a>

HealthLake は、次の FHIR `$bulk-member-match`パラメータをサポートしています。


| パラメータ | タイプ | 必須 | 説明 | 
| --- | --- | --- | --- | 
| `MemberPatient` | 患者 | はい | 一致するメンバーの属性情報を含む患者リソース。 | 
| `CoverageToMatch` | カバレッジ | はい | 既存のレコードとの照合に使用されるカバレッジリソース。 | 
| `CoverageToLink` | カバレッジ | いいえ | 一致するプロセス中にリンクされるカバレッジリソース。 | 
| `Consent` | 同意 | はい | 認可のための同意リソースも保存されます。これは、同意*を必要としない*個々の`$member-match`オペレーションとは異なります。 | 

## 一括メンバー一致ジョブを送信する POST リクエスト
<a name="bulk-member-match-request-example"></a>

次の例は、一括メンバー一致ジョブを送信する POST リクエストを示しています。各メンバーは、必要な `MemberPatient`、`CoverageToMatch`、および `Consent`リソースとオプションの を含む`MemberBundle`パラメータでラップされます`CoverageToLink`。

```
POST [base]/Group/$bulk-member-match
Content-Type: application/fhir+json
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "MemberBundle",
      "part": [
        {
          "name": "MemberPatient",
          "resource": {
            "resourceType": "Patient",
            "identifier": [
              {
                "system": "http://example.org/patient-id",
                "value": "patient-0"
              }
            ],
            "name": [
              {
                "family": "Smith",
                "given": ["James"]
              }
            ],
            "gender": "male",
            "birthDate": "1950-01-01"
          }
        },
        {
          "name": "CoverageToMatch",
          "resource": {
            "resourceType": "Coverage",
            "status": "active",
            "identifier": [
              {
                "system": "http://example.org/coverage-id",
                "value": "cov-0"
              }
            ],
            "subscriberId": "sub-0",
            "beneficiary": {
              "reference": "Patient/patient123"
            },
            "relationship": {
              "coding": [
                {
                  "system": "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
                  "code": "self"
                }
              ]
            },
            "payor": [
              {
                "reference": "Organization/org123"
              }
            ]
          }
        },
        {
          "name": "Consent",
          "resource": {
            "resourceType": "Consent",
            "status": "active",
            "scope": {
              "coding": [
                {
                  "system": "http://terminology.hl7.org/CodeSystem/consentscope",
                  "code": "patient-privacy"
                }
              ]
            },
            "category": [
              {
                "coding": [
                  {
                    "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
                    "code": "IDSCL"
                  }
                ]
              }
            ],
            "patient": {
              "reference": "Patient/patient123"
            },
            "performer": [
              {
                "reference": "Patient/patient123"
              }
            ],
            "sourceReference": {
              "reference": "http://example.org/DocumentReference/consent-source"
            },
            "policy": [
              {
                "uri": "http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#regular"
              }
            ],
            "provision": {
              "type": "permit",
              "period": {
                "start": "2024-01-01",
                "end": "2025-12-31"
              },
              "actor": [
                {
                  "role": {
                    "coding": [
                      {
                        "system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
                        "code": "performer"
                      }
                    ]
                  },
                  "reference": {
                    "identifier": {
                      "system": "http://hl7.org/fhir/sid/us-npi",
                      "value": "9876543210"
                    },
                    "display": "Old Health Plan"
                  }
                },
                {
                  "role": {
                    "coding": [
                      {
                        "system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
                        "code": "IRCP"
                      }
                    ]
                  },
                  "reference": {
                    "identifier": {
                      "system": "http://hl7.org/fhir/sid/us-npi",
                      "value": "0123456789"
                    },
                    "display": "New Health Plan"
                  }
                }
              ],
              "action": [
                {
                  "coding": [
                    {
                      "system": "http://terminology.hl7.org/CodeSystem/consentaction",
                      "code": "disclose"
                    }
                  ]
                }
              ]
            }
          }
        },
        {
          "name": "CoverageToLink",
          "resource": {
            "resourceType": "Coverage",
            "status": "active",
            "identifier": [
              {
                "system": "http://example.org/coverage-link-id",
                "value": "cov-link-0"
              }
            ],
            "subscriberId": "new-sub-0",
            "beneficiary": {
              "reference": "Patient/patient123"
            },
            "relationship": {
              "coding": [
                {
                  "system": "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
                  "code": "self"
                }
              ]
            },
            "payor": [
              {
                "identifier": {
                  "system": "http://hl7.org/fhir/sid/us-npi",
                  "value": "0123456789"
                },
                "display": "New Health Plan"
              }
            ]
          }
        }
      ]
    }
  ]
}
```

## 完了したジョブレスポンスと出力
<a name="bulk-member-match-response-example"></a>

ジョブが完了すると、レスポンスにはジョブメタデータと、一致結果を分類する 3 つのグループリソースを含む FHIR パラメータリソースが含まれます。

```
{
  "datastoreId": "datastoreId",
  "jobId": "jobId",
  "status": "COMPLETED",
  "submittedTime": "2026-03-20T18:45:26.321Z",
  "numberOfMembers": 3,
  "numberOfMembersProcessedSuccessfully": 3,
  "numberOfMembersWithCustomerError": 0,
  "numberOfMembersWithServerError": 0,
  "output": {
    "resourceType": "Parameters",
    "meta": {
      "profile": [
        "http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/pdex-parameters-multi-member-match-bundle-out"
      ]
    },
    "parameter": [
      {
        "name": "MatchedMembers",
        "resource": {
          "resourceType": "Group",
          "id": "group1",
          "text": {
            "status": "generated",
            "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Matched members group</div>"
          },
          "contained": [
            {
              "resourceType": "Patient",
              "id": "1",
              "identifier": [
                {
                  "system": "http://example.org/patient-id",
                  "value": "patient-0"
                }
              ],
              "name": [
                {
                  "family": "Smith",
                  "given": ["James"]
                }
              ],
              "gender": "male",
              "birthDate": "1950-01-01"
            }
          ],
          "type": "person",
          "actual": true,
          "code": {
            "coding": [
              {
                "system": "http://hl7.org/fhir/us/davinci-pdex/CodeSystem/PdexMultiMemberMatchResultCS",
                "code": "match",
                "display": "Matched"
              }
            ]
          },
          "quantity": 1,
          "member": [
            {
              "entity": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/base-ext-match-parameters",
                    "valueReference": {
                      "reference": "#1"
                    }
                  }
                ],
                "reference": "Patient/patient123"
              }
            }
          ]
        }
      },
      {
        "name": "NonMatchedMembers",
        "resource": {
          "resourceType": "Group",
          "id": "Group2",
          "text": {
            "status": "generated",
            "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Non-matched members group</div>"
          },
          "contained": [
            {
              "resourceType": "Patient",
              "id": "1",
              "identifier": [
                {
                  "system": "http://example.org/patient-id",
                  "value": "patient-501"
                }
              ],
              "name": [
                {
                  "family": "Carter",
                  "given": ["Emily"]
                }
              ],
              "gender": "female",
              "birthDate": "1985-06-15"
            }
          ],
          "type": "person",
          "actual": true,
          "code": {
            "coding": [
              {
                "system": "http://hl7.org/fhir/us/davinci-pdex/CodeSystem/PdexMultiMemberMatchResultCS",
                "code": "nomatch",
                "display": "Not Matched"
              }
            ]
          },
          "quantity": 1,
          "member": [
            {
              "entity": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/base-ext-match-parameters",
                    "valueReference": {
                      "reference": "#1"
                    }
                  }
                ],
                "reference": "Patient/patient123"
              }
            }
          ]
        }
      },
      {
        "name": "ConsentConstrainedMembers",
        "resource": {
          "resourceType": "Group",
          "id": "group3",
          "text": {
            "status": "generated",
            "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Consent constrained members group</div>"
          },
          "contained": [
            {
              "resourceType": "Patient",
              "id": "1",
              "identifier": [
                {
                  "system": "http://example.org/patient-id",
                  "value": "patient-502"
                }
              ],
              "name": [
                {
                  "family": "Nguyen",
                  "given": ["David"]
                }
              ],
              "gender": "male",
              "birthDate": "1972-11-22"
            }
          ],
          "type": "person",
          "actual": true,
          "code": {
            "coding": [
              {
                "system": "http://hl7.org/fhir/us/davinci-pdex/CodeSystem/PdexMultiMemberMatchResultCS",
                "code": "consentconstraint",
                "display": "Consent Constraint"
              }
            ]
          },
          "quantity": 1,
          "member": [
            {
              "entity": {
                "extension": [
                  {
                    "url": "http://hl7.org/fhir/us/davinci-pdex/StructureDefinition/base-ext-match-parameters",
                    "valueReference": {
                      "reference": "#1"
                    }
                  }
                ],
                "reference": "Patient/123"
              }
            }
          ]
        }
      }
    ]
  }
}
```

## 出力グループのリソース
<a name="bulk-member-match-output-groups"></a>

完了したジョブは、3 つのグループリソースを含む Parameters リソースを返します。

**MatchedMembers グループ**  
正常に一致したすべてのメンバーに対する患者参照が含まれ、同意制約として分類されません。

`Group.quantity` フィールドには、それぞれのグループのメンバーの合計数が含まれます。

**NonMatchedMembers グループ**  
一致が見つからないか、複数の一致が特定されたメンバーへの参照が含まれます。

**ConsentConstrainedMembers グループ**  
同意の制約によりデータ共有が妨げられている、正常に一致したすべてのメンバーに対する患者リファレンスが含まれます。以下の条件の両方が存在する場合、同意リソースは制約されていると見なされます。  
+ **ポリシー URI は で終わり`#sensitive`**ます。これは最も明確で直接的なシグナルです。送信側の支払者は、「このメンバーのデータは機密です — 慎重に処理してください」と明示的に述べています。

  ```
  "policy": [{ "uri": "...hrex-consent.html#sensitive" }]
  ```
+ **最上位のプロビジョニングタイプは `deny`**です — メンバーはデータ共有を広く拒否しています。

  ```
  "provision": { "type": "deny" }
  ```

## \$1davinci-data-export との統合
<a name="bulk-member-match-davinci-integration"></a>

によって返される MatchedMembers Group リソース`$bulk-member-match`は、一括メンバーデータを取得する `$davinci-data-export`オペレーションで直接使用できます。

```
POST [base]/Group/{matched-group-id}/$davinci-data-export
GET [base]/Group/{matched-group-id}
```

この統合により、一致したメンバーを最初に一括で識別し、結果のグループリソースを使用して完全なヘルスレコードをエクスポートする効率的なワークフローが可能になります。

## パフォーマンス特性
<a name="bulk-member-match-performance"></a>

`$bulk-member-match` オペレーションは大量の処理用に設計されており、非同期的に実行されます。
+ **同時実行**数: データストアあたり最大 5 回の同時オペレーション。
+ **スケーラビリティ**: リクエストごとに最大 500 のメンバーを処理します (5 MB のペイロード制限）。
+ **並列オペレーション**: インポート、エクスポート、一括削除の同時オペレーションと互換性があります。

## Authorization
<a name="bulk-member-match-authorization"></a>

API は、以下の必要なスコープで SMART on FHIR 認可プロトコルを使用します。
+ `system/Patient.read` — 患者リソースを検索して一致させるために必要です。
+ `system/Coverage.read` — カバレッジ情報を検証するために必要です。
+ `system/Group.write` — 結果グループリソースを作成するために必要です。
+ `system/Organization.read` — 条件付き。カバレッジが組織を参照する場合は必須です。
+ `system/Practitioner.read` — 条件付き。カバレッジが実務者を参照する場合は必須です。
+ `system/PractitionerRole.read` — 条件付き、カバレッジが実務者ロールを参照する場合は必須です。
+ `system/Consent.write` — 条件付き。同意リソースが指定されている場合は必須です。

オペレーションは、プログラムによるアクセスの AWS IAM 署名バージョン 4 (SigV4) 認可もサポートしています。

## エラー処理
<a name="bulk-member-match-errors"></a>

オペレーションは、次のエラー条件を処理します。
+ **400 不正なリクエスト**: 無効なリクエスト形式、必須パラメータの欠落、またはペイロードがサイズ制限 (500 メンバーまたは 5 MB) を超えています。
+ **422 未処理のエンティティ**: ジョブ実行中の処理エラー。
+ **個々のメンバーエラー**: 特定のメンバーが処理に失敗すると、オペレーションは残りのメンバーを続行し、適切な理由コードを使用して NonMatchedMembers グループにエラーの詳細を含めます。たとえば、患者が `birthDate`パラメータを欠落`MemberBundle`している は、次のエラーを返します。

  ```
  "errors": [
    {
      "memberIndex": 1,
      "jsonBlob": {
        "resourceType": "OperationOutcome",
        "issue": [
          {
            "severity": "error",
            "code": "invalid",
            "diagnostics": "MemberPatient.birthDate is required"
          }
        ],
        "statusCode": 400
      }
    }
  ]
  ```

エラーの詳細は、ステータスポーリングエンドポイントを通じて利用でき、以下が含まれます。
+ `numberOfMembersWithCustomerError`: 検証エラーまたは入力エラーがあるメンバーの数。
+ `numberOfMembersWithServerError`: サーバー側の処理エラーがあるメンバーの数。

## 関連の オペレーション
<a name="bulk-member-match-related"></a>
+ [`$member-match` HealthLake の オペレーション](reference-fhir-operations-member-match.md) — 個々のメンバーマッチングオペレーション。
+ [HealthLake の FHIR R4 `$davinci-data-export`オペレーション](reference-fhir-operations-davinci-data-export.md) — グループリソースを使用した一括データエクスポート。
+ [HealthLake `$operations`の FHIR R4](reference-fhir-operations.md) — サポートされているオペレーションの完全なリスト。

# HealthLake の FHIR R4 `$confirm-attribution-list`オペレーション
<a name="reference-fhir-operations-confirm-attribution-list"></a>

コンシューマーが属性リストに加える変更がないことをプロデューサーに示します。このオペレーションは、リストから非アクティブなメンバーを削除し、ステータスを「最終」に変更して、オペレーションを承認することで、属性リストを確定します。このオペレーションは、[FHIR メンバー属性 (ATR) リスト IG 2.1.0 実装の一部です。](https://build.fhir.org/ig/HL7/davinci-atr/spec.html)

## Endpoint
<a name="confirm-attribution-list-endpoint"></a>

```
POST [base]/Group/[id]/$confirm-attribution-list
```

## リクエスト
<a name="confirm-attribution-list-request"></a>

パラメータは必要ありません。

```
POST [base]/Group/[id]/$confirm-attribution-list
```

## 応答
<a name="confirm-attribution-list-response"></a>

確認メッセージを含む HTTP 201 を返します。

### レスポンス例
<a name="confirm-attribution-list-response-example"></a>

```
HTTP Status Code: 201

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "message",
      "valueString": "Accepted."
    }
  ]
}
```

## 確認後のグループステータス
<a name="confirm-attribution-list-group-status"></a>

確認に成功すると、グループリソースの属性リストのステータスが「最終」に設定されます。

```
{
  "resourceType": "Group",
  "id": "fullexample",
  "extension": [
    {
      "url": "http://hl7.org/fhir/us/davinci-atr/StructureDefinition/ext-attributionListStatus",
      "valueCode": "final"
    }
  ]
  // ... other Group properties
}
```

## エラー処理
<a name="confirm-attribution-list-error-handling"></a>

オペレーションは、次のエラー条件を処理します。


| エラー | HTTP ステータス | 説明 | 
| --- | --- | --- | 
| 無効なオペレーションリクエスト | 400 | 非準拠のリクエストパラメータまたは構造 | 
| グループリソースが見つかりません | 404 | 指定されたグループ ID は存在しません | 

## 認可とセキュリティ
<a name="confirm-attribution-list-authorization"></a>

SMART スコープの要件  
クライアントには、グループリソースおよび関連する属性リソースを読み取るための適切な権限が必要です  
の場合`$confirm-attribution-list`、クライアントにはグループリソースを変更するための書き込み権限も必要です。  
標準の FHIR 認可メカニズムがすべてのオペレーションに適用されます

# HealthLake の FHIR R4 `$davinci-data-export`オペレーション
<a name="reference-fhir-operations-davinci-data-export"></a>

`$davinci-data-export` オペレーションは、医療データのエクスポートに使用できる非同期 FHIR オペレーションです AWS HealthLake。このオペレーションは、メンバー属性 (ATR)、PDex プロバイダーアクセス、Payer-to-Payer、メンバーアクセス APIs など、複数のエクスポートタイプをサポートしています。これは、DaVinci 実装ガイドの要件を満たすように設計された、標準の FHIR `$export`オペレーションの特殊なバージョンです。

## 主な機能
<a name="davinci-data-export-features"></a>
+ *非同期処理*: 標準の FHIR 非同期リクエストパターンに従います
+ *グループレベルのエクスポート*: 特定のグループリソース内のメンバーのデータをエクスポートします。
+ *複数のエクスポートタイプ*: ATR (メンバー属性）、PDex プロバイダーアクセス、Payer-to-Payer、メンバーアクセス APIsをサポート
+ *包括的なプロファイルのサポート*: US Core、CARIN Blue ボタン、PDex プロファイルが含まれます
+ *柔軟なフィルタリング*: 患者、リソースタイプ、時間範囲によるフィルタリングをサポート
+ *NDJSON 出力*: データを改行区切りの JSON 形式で提供します

## オペレーションエンドポイント
<a name="davinci-data-export-endpoint"></a>

```
GET [base]/Group/[id]/$davinci-data-export
POST [base]/Group/[id]/$davinci-data-export
```

## リクエストパラメーター
<a name="davinci-data-export-parameters"></a>


| パラメータ | カーディナリティ | 説明 | 
| --- | --- | --- | 
| patient | 0..\$1 | エクスポートするデータを持つ特定のメンバー。省略すると、グループ内のすべてのメンバーがエクスポートされます。 | 
| \$1type | 0..1 | エクスポートする FHIR リソースタイプのカンマ区切りリスト。 | 
| \$1since | 0..1 | この日時以降に更新されたリソースのみを含めます。 | 
| \$1until | 0..1 | この日時より前に更新されたリソースのみを含めます。 | 
| exportType | 0..1 | 実行するエクスポートのタイプ。有効な値は、hl7.fhir.us.davinci-atr、hl7.fhir.us.davinci-pdex、hl7.fhir.us.davinci-pdex.p2p、hl7.fhir.us.davinci-pdex.member です。デフォルト: hl7.fhir.us.davinci-atr。 | 
| \$1includeEOB2xWoFinancial | 0..1 | 財務データが削除された CARIN BB 2.x ExplanationOfBenefit リソースを含めるかどうかを指定します。デフォルト: false。 | 

### サポートされているリソースタイプ
<a name="davinci-data-export-supported-resources"></a>

サポートされているリソースタイプは、指定したエクスポートタイプによって異なります。ATR エクスポートでは、次のリソースタイプがサポートされています。
+ `Group`
+ `Patient`
+ `Coverage`
+ `RelatedPerson`
+ `Practitioner`
+ `PractitionerRole`
+ `Organization`
+ `Location`

PDex エクスポート (プロバイダーアクセス、Payer-to-Payer、メンバーアクセス) では、前述のタイプに加えて、すべての臨床リソースタイプとクレームリソースタイプがサポートされています。サポートされているリソースタイプの詳細なリストについては、[US Core Implementation Guide (STU 6.1)](https://hl7.org/fhir/us/core/STU6.1/)、[CARIN Blue Button Implementation Guide](https://hl7.org/fhir/us/carin-bb/)、[Da Vinci Prior Authorization Support Implementation Guide](https://hl7.org/fhir/us/davinci-pas/) を参照してください。

## エクスポートタイプ
<a name="davinci-data-export-types"></a>

`$davinci-data-export` オペレーションでは、次のエクスポートタイプがサポートされています。エクスポートタイプは、 `exportType`パラメータを使用して指定します。


| エクスポートタイプ | 目的 | データスコープ | 一時的な制限 | 
| --- | --- | --- | --- | 
| hl7.fhir.us.davinci-atr | メンバー属性リスト | 属性関連のリソース | なし | 
| hl7.fhir.us.davinci-pdex | プロバイダーアクセス API | 属性患者の臨床データとクレームデータ | 5 年 | 
| hl7.fhir.us.davinci-pdex.p2p | Payer-to-Payer Exchange | 保険移行の履歴メンバーデータ | 5 年 | 
| hl7.fhir.us.davinci-pdex.member | メンバーアクセス API | メンバー自身のヘルスデータ | 5 年 | 

**注記**  
PDex エクスポートの場合、5 年間の時間制限は ATR リソースタイプ (`Group`、`Patient`、、`Coverage`、、、`RelatedPerson``Practitioner``PractitionerRole`、`Organization`) には適用されません`Location`。これらのリソースは、年齢に関係なく常に含まれます。

### ATR (hl7.fhir.us.davinci-atr)
<a name="davinci-data-export-type-atr"></a>

ATR エクスポートタイプを使用すると、メンバー属性リストデータをエクスポートできます。このエクスポートタイプを使用して、グループ内のメンバーの属性関連のリソースを取得します。詳細については、[「Da Vinci ATR Export Operation](https://build.fhir.org/ig/HL7/davinci-atr/OperationDefinition-davinci-data-export.html)」を参照してください。

サポートされているリソースタイプ  
`Group`, `Patient`, `Coverage`, `RelatedPerson`, `Practitioner`, `PractitionerRole`, `Organization`, `Location`

一時フィルタリング  
一時的なフィルタリングは適用されません。一致するすべてのリソースは、日付に関係なくエクスポートされます。

### PDex エクスポートタイプ
<a name="davinci-data-export-type-pdex"></a>

すべての PDex エクスポートタイプは、サポートされている同じプロファイルとフィルタリングロジックを共有します。詳細については、[「Da Vinci PDex Provider Access API](https://build.fhir.org/ig/HL7/davinci-epdx/provider-access-api.html)」を参照してください。次のプロファイルがサポートされています。
+ US Core 3.1.1、6.1.0、および 7.0.0
+ PDex 事前認可 (メンバーアクセスではサポートされていません)
+ CARIN BB 2.x ベースプロファイル: 入院患者用、入院患者用、専門のNonClinician、口腔用、治療用

プロバイダーアクセス (`hl7.fhir.us.davinci-pdex`)  
ネットワーク内プロバイダーが属性患者の患者データを取得できるようにします。

Payer-to-Payer (`hl7.fhir.us.davinci-pdex.p2p`)  
患者が保険を変更するときに、支払者間のデータ交換を有効にします。

メンバーアクセス (`hl7.fhir.us.davinci-pdex.member`)  
メンバーが自分のヘルスデータにアクセスできるようにします。このエクスポートタイプには、クレームリソースに財務データが含まれる場合があります。

## プロファイルのサポートと包含ロジック
<a name="davinci-data-export-profile-support"></a>

PDex エクスポートの場合、 `$davinci-data-export`オペレーションは `meta.profile`要素のプロファイル宣言を使用して、エクスポートに含めるリソースを決定します。

### ExplanationOfBenefit リソース処理
<a name="davinci-data-export-carin-handling"></a>

`ExplanationOfBenefit` (EOB) リソースは、`meta.profile`宣言に基づいて PDex エクスポートに含まれるか除外されます。
+ CARIN BB 1.x プロファイルを持つ ExplanationOfBenefit リソースはエクスポートから除外されます。
+ `meta.profile` 設定されていない ExplanationOfBenefit リソースはエクスポートから除外されます。
+ CARIN BB 2.x Basis プロファイルを持つ ExplanationOfBenefit リソースは常に含まれます。
+ 財務データを含む CARIN BB 2.x プロファイルを持つ ExplanationOfBenefit リソースは、デフォルトで除外されます。`_includeEOB2xWoFinancial=true` を設定すると、それらは削除された財務データに含まれ、リソースは対応する Basis プロファイルに変換されます。
+ PDex 事前認可プロファイルを持つ ExplanationOfBenefit リソースは常に含まれます。

### 財務データ変換
<a name="davinci-data-export-financial-transformation"></a>

を設定すると`_includeEOB2xWoFinancial=true`、オペレーションは財務データを削除して [CARIN BB 2.x](https://hl7.org/fhir/us/carin-bb/) ExplanationOfBenefit リソースを対応する Basis プロファイルに変換します。たとえば、`C4BB ExplanationOfBenefit Oral`リソースは に変換され`C4BB ExplanationOfBenefit Oral Basis`、FHIR 仕様に従ってレコードから財務データが削除されます。

変換中は、次の財務データ要素が削除されます。
+ `total` 要素のすべてのスライス
+ `amounttype` スライスを含むすべての`adjudication`要素
+ 金額情報を含むすべての`item.adjudication`要素

このオペレーションは、変換中にプロファイルメタデータも更新します。
+ `meta.profile` が Basis プロファイルの正規 URL に更新されました
+ バージョンが CARIN BB 2.x Basis バージョンに更新されました
+ データストア内の既存のリソースは変更されません
+ エクスポートされたリソースはデータストアに保持されません

### プロファイル検出ルール
<a name="davinci-data-export-profile-detection"></a>

オペレーションでは、次のルールを使用してプロファイルを検出および検証します。
+ バージョン検出は`meta.profile`正規 URLsに基づいています
+ 宣言されたプロファイルのいずれかがエクスポート基準に一致する場合、リソースが含まれます。
+ プロファイルの検証はエクスポート処理中に行われます

## PDex エクスポートの 5 年間の一時フィルタリング
<a name="davinci-data-export-temporal-filtering"></a>

すべての PDex エクスポートタイプについて、HealthLake はリソースが最後に更新された日時に基づいて 5 年間の時間フィルターを適用します。時間フィルターは、経過時間に関係なく常にエクスポートされる次のコア属性リソースタイプを除くすべてのリソースに適用されます。
+ `Patient`
+ `Coverage`
+ `Organization`
+ `Practitioner`
+ `PractitionerRole`
+ `RelatedPerson`
+ `Location`
+ `Group`

これらの管理リソースと属性リソースは、エクスポートされたデータに不可欠なコンテキストを提供するため、除外されます。ATR エクスポートは一時的なフィルタリングの対象ではありません。

## リクエスト例
<a name="davinci-data-export-examples"></a>

次の例は、さまざまなエクスポートタイプのエクスポートジョブを開始する方法を示しています。

*ATR エクスポート*

```
GET https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Group,Patient,Coverage,Practitioner,Organization&exportType=hl7.fhir.us.davinci-atr

POST https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Group,Patient,Coverage,Practitioner,Organization&exportType=hl7.fhir.us.davinci-atr
Content-Type: application/json

{
  "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role",
  "JobName": "attribution-export-job",
  "OutputDataConfig": {
    "S3Configuration": {
      "S3Uri": "s3://your-export-bucket/EXPORT-JOB",
      "KmsKeyId": "arn:aws:kms:region:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }
  }
}
```

*ExplanationOfBenefit 財務データの削除によるプロバイダーアクセスのエクスポート*

```
GET https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Patient,Observation,Condition,MedicationRequest,ExplanationOfBenefit&exportType=hl7.fhir.us.davinci-pdex&_includeEOB2xWoFinancial=true
```

*Payer-to-Payer エクスポート*

```
GET https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Patient,Coverage,ExplanationOfBenefit,Condition,Procedure&exportType=hl7.fhir.us.davinci-pdex.p2p&_includeEOB2xWoFinancial=true
```

*特定の患者のメンバーアクセスエクスポート*

```
GET https://healthlake.{region}.amazonaws.com/datastore/{datastoreId}/r4/Group/example-group/$davinci-data-export?_type=Patient,Observation,Condition,ExplanationOfBenefit,MedicationRequest&exportType=hl7.fhir.us.davinci-pdex.member&patient=Patient/example-patient-id
```

## レスポンス例
<a name="davinci-data-export-sample-response"></a>

```
{
  "datastoreId": "eaee622d8406b41eb86c0f4741201ff9",
  "jobStatus": "SUBMITTED",
  "jobId": "48d7b91dae4a64d00d54b70862f33f61"
}
```

## リソース関係
<a name="davinci-data-export-resource-relationships"></a>

オペレーションは、メンバー属性リスト内の関係に基づいてリソースをエクスポートします。

```
Group (Attribution List)
├── Patient (Members)
├── Coverage → RelatedPerson (Subscribers)
├── Practitioner (Attributed Providers)
├── PractitionerRole → Location
└── Organization (Attributed Providers)
```

### リソースソース
<a name="davinci-data-export-resource-sources"></a>


| [リソース]  | ソースの場所 | 説明 | 
| --- | --- | --- | 
| Patient | Group.member.entity | 属性リストのメンバーである患者 | 
| Coverage | Group.member.extension:coverageReference | 患者メンバーシップにつながるカバレッジ | 
| Organization | Group.member.extension:attributedProvider | 患者が属する組織 | 
| Practitioner | Group.member.extension:attributedProvider | 患者が属する個々の実務者 | 
| PractitionerRole | Group.member.extension:attributedProvider | 患者が属するプラクティショナーロール | 
| RelatedPerson | Coverage.subscriber | カバレッジのサブスクライバー | 
| Location | PractitionerRole.location | プラクティショナーロールに関連付けられた場所 | 
| Group | 入力エンドポイント | 属性リスト自体 | 

## ジョブ管理
<a name="davinci-data-export-job-management"></a>

ジョブのステータスを確認する  
`GET [base]/export/[job-id]`

ジョブをキャンセルする  
`DELETE [base]/export/[job-id]`

### ジョブのライフサイクル
<a name="davinci-data-export-job-lifecycle"></a>
+ `SUBMITTED` - ジョブが受信およびキューに入れられました
+ `IN_PROGRESS` - ジョブはアクティブに処理中です
+ `COMPLETED` - ジョブが正常に終了し、ダウンロード可能なファイル
+ `FAILED` - ジョブでエラーが発生しました

## [Output Format] (出力形式)
<a name="davinci-data-export-output-format"></a>
+ *ファイル形式*: NDJSON (Newline Delimited JSON)
+ *File Organization*: リソースタイプごとにファイルを区切ります。
+ *ファイル拡張*子: .ndjson
+ *場所*: 指定された S3 バケットとパス

## エラー処理
<a name="davinci-data-export-error-handling"></a>

オペレーションは、以下の条件で HTTP 400 Bad Request with an OperationOutcome を返します。

認可エラー  
で指定された IAM ロールには、エクスポートオペレーションを実行するための十分なアクセス許可`DataAccessRoleArn`がありません。必要な S3 および KMS アクセス許可の完全なリストについては、[「エクスポートジョブのアクセス許可の設定](getting-started-setting-up.md#setting-up-export-permissions)」を参照してください。

パラメータ検証エラー  
+ `patient` パラメータは としてフォーマットされていません `Patient/id,Patient/id,...`
+ 1 つ以上の患者参照が無効であるか、指定されたグループに属していません
+ `exportType` パラメータ値はサポートされているエクスポートタイプではありません
+ `_type` パラメータには、指定されたエクスポートタイプでサポートされていないリソースタイプが含まれています
+ `_type` パラメータに`hl7.fhir.us.davinci-atr`エクスポートタイプに必要なリソースタイプ (`Group`、`Patient`、`Coverage`) がありません
+ `_includeEOB2xWoFinancial` パラメータ値が有効なブール値ではありません

リソース検証エラー  
+ 指定されたグループリソースがデータストアに存在しません
+ 指定されたグループリソースにはメンバーがありません
+ 1 人以上のグループメンバーが、データストアに存在しない患者リソースを参照する

## セキュリティと認可
<a name="davinci-data-export-security"></a>
+ 標準の FHIR 認可メカニズムが適用されます
+ データアクセスロールには、S3 および KMS オペレーションに必要な IAM アクセス許可が必要です。必要なアクセス許可の完全なリストについては、[「エクスポートジョブのアクセス許可の設定](getting-started-setting-up.md#setting-up-export-permissions)」を参照してください。

## ベストプラクティス
<a name="davinci-data-export-best-practices"></a>
+ *リソースタイプの選択*: エクスポートサイズと処理時間を最小限に抑えるために必要なリソースタイプのみをリクエストする
+ *時間ベースのフィルタリング*: 増分エクスポートに `_since`パラメータを使用する
+ *患者のフィルタリング*: 特定のメンバーのデータのみが必要な場合は、 `patient`パラメータを使用します。
+ *ジョブのモニタリング*: 大規模なエクスポートのジョブステータスを定期的にチェックする
+ *エラー処理*: 失敗したジョブに適切な再試行ロジックを実装する
+ *テンポラルフィルターの認識*: PDex エクスポートの場合は、リソースタイプを選択するときに 5 年間のテンポラルフィルターを検討してください。
+ *財務データの削除*: 財務情報のないクレームデータ`_includeEOB2xWoFinancial=true`が必要な場合に使用します。
+ *プロファイル管理*: リソースに適切なプロファイル宣言があることを確認し、取り込み前にターゲットプロファイルと照合して検証し、プロファイルのバージョニングを使用してエクスポート動作を制御します。

## 制限事項
<a name="davinci-data-export-limitations"></a>
+ `patient` パラメータでは最大 500 人の患者を指定できます
+ エクスポートはグループレベルのオペレーションのみに制限されます
+ は、エクスポートタイプごとに事前定義されたリソースタイプのセットのみをサポートします。
+ 出力は常に NDJSON 形式です
+ PDex のエクスポートは、5 年間の臨床データとクレームデータに制限されます。
+ 財務データ変換は、CARIN BB 2.x ExplanationOfBenefit プロファイルにのみ適用されます。

## その他のリソース
<a name="davinci-data-export-additional-resources"></a>
+ [Da Vinci メンバー属性リスト IG](https://build.fhir.org/ig/HL7/davinci-atr/)
+ [Da Vinci Payer Data Exchange IG](https://hl7.org/fhir/us/davinci-pdex/)
+ [CARIN コンシューマー向け支払者データ交換 IG](https://build.fhir.org/ig/HL7/carin-bb/)
+ [US Core 実装ガイド](https://www.hl7.org/fhir/us/core/)
+ [FHIR バルクデータアクセス仕様](https://hl7.org/fhir/uv/bulkdata/)

# を使用した臨床ドキュメントの生成 `$document`
<a name="reference-fhir-operations-document"></a>

AWS HealthLake は Composition リソースの `$document`オペレーションをサポートするようになりました。これにより、Composition と参照されるすべてのリソースを 1 つのまとまりのあるパッケージにバンドルすることで、完全な臨床ドキュメントを生成できます。このオペレーションは、以下を必要とするヘルスケアアプリケーションにとって不可欠です。
+ 標準化された臨床文書を作成する
+ 完全な患者レコードを交換する
+ 包括的な臨床ドキュメントを保存する
+ 関連するすべてのコンテキストを含むレポートを生成する

## 使用方法
<a name="document-usage"></a>

`$document` オペレーションは、GET メソッドと POST メソッドの両方を使用して Composition リソースで呼び出すことができます。

**サポートされているオペレーション**  


```
GET/POST [base]/Composition/[id]/$document
```

## サポートされているパラメータ
<a name="document-parameters"></a>

HealthLake は、次の FHIR `$document`パラメータをサポートしています。


| パラメータ | タイプ | [Required] (必須) | デフォルト | 説明  | 
| --- | --- | --- | --- | --- | 
| persist | boolean | 不可 | false | サーバーが生成されたドキュメントバンドルを保存するかどうかを示すブール値 | 

## 例
<a name="document-examples"></a>

**GET リクエスト**  


```
GET [base]/Composition/180f219f-97a8-486d-99d9-ed631fe4fc57/$document?persist=true
```

**パラメータを使用した POST リクエスト**  


```
POST [base]/Composition/180f219f-97a8-486d-99d9-ed631fe4fc57/$document
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "persist",
      "valueBoolean": true
    }
  ]
}
```

**レスポンス例**  
オペレーションは、コンポジションと参照されるすべてのリソースを含む「ドキュメント」タイプの Bundle リソースを返します。

```
{
  "resourceType": "Bundle",
  "id": "180f219f-97a8-486d-99d9-ed631fe4fc57",
  "type": "document",
  "identifier": {
    "system": "urn:ietf:rfc:3986",
    "value": "urn:uuid:0c3151bd-1cbf-4d64-b04d-cd9187a4c6e0"
  },
  "timestamp": "2024-06-21T15:30:00Z",
  "entry": [
    {
      "fullUrl": "http://example.org/fhir/Composition/180f219f-97a8-486d-99d9-ed631fe4fc57",
      "resource": {
        "resourceType": "Composition",
        "id": "180f219f-97a8-486d-99d9-ed631fe4fc57",
        "status": "final",
        "type": {
          "coding": [
            {
              "system": "http://loinc.org",
              "code": "34133-9",
              "display": "Summary of Episode Note"
            }
          ]
        },
        "subject": {
          "reference": "Patient/example"
        },
        "section": [
          {
            "title": "Allergies",
            "entry": [
              {
                "reference": "AllergyIntolerance/123"
              }
            ]
          }
        ]
      }
    },
    {
      "fullUrl": "http://example.org/fhir/Patient/example",
      "resource": {
        "resourceType": "Patient",
        "id": "example",
        "name": [
          {
            "family": "Smith",
            "given": ["John"]
          }
        ]
      }
    },
    {
      "fullUrl": "http://example.org/fhir/AllergyIntolerance/123",
      "resource": {
        "resourceType": "AllergyIntolerance",
        "id": "123",
        "patient": {
          "reference": "Patient/example"
        },
        "code": {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "418689008",
              "display": "Allergy to penicillin"
            }
          ]
        }
      }
    }
  ]
}
```

## 行動
<a name="document-behavior"></a>

`$document` オペレーション:

1. 指定されたコンポジションリソースをドキュメントの基盤として使用します。

1. コンポジションによって直接参照されるすべてのリソースを識別して取得します

1. コンポジションと参照されるすべてのリソースを「document」タイプのバンドルにパッケージ化します

1. 永続パラメータが true に設定されている場合、生成されたドキュメントバンドルをデータストアに保存します。

1. 包括的なドキュメント生成のために コンポジションによって間接的に参照されるリソースを識別して取得します

`$document` オペレーションは現在、次の形式のリソースリファレンスの取得をサポートしています。

1. 

   ```
   GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
   ```

1. リソース/ID

コンポジションリソース内のサポートされていないリソース参照は、生成されたドキュメントから除外されます。

## エラー処理
<a name="document-error-handling"></a>

オペレーションは、次のエラー条件を処理します。
+ 400 不正なリクエスト: 無効な`$document`オペレーション (非準拠リクエスト）、または永続化が true に設定されている場合に参照が除外されたために結果のドキュメントが FHIR 検証に失敗した場合
+ 404 Not Found: コンポジションリソースが見つかりません

`$document` オペレーション仕様の詳細については、[FHIR R4 コンポジション`$document`](https://www.hl7.org/fhir/R4/composition-operation-document.html)ドキュメントを参照してください。

# を使用してリソースを完全に削除する `$erase`
<a name="reference-fhir-operations-erase"></a>

AWS HealthLake は `$erase`オペレーションをサポートし、特定のリソースとその履歴バージョンを完全に削除できます。このオペレーションは、以下が必要な場合に特に役立ちます。
+ 個々のリソースを完全に削除する
+ 特定のバージョン履歴を削除する
+ 個々のリソースライフサイクルを管理する
+ 特定のデータ削除要件に準拠する

## 使用方法
<a name="erase-usage"></a>

`$erase` オペレーションは 2 つのレベルで呼び出すことができます。

**リソースインスタンスレベル**  


```
POST [base]/[ResourceType]/[ID]/$erase?deleteAuditEvent=true
```

**バージョン固有のレベル**  


```
POST [base]/[ResourceType]/[ID]/_history/[VersionID]/$erase
```

## パラメータ
<a name="erase-parameters"></a>


| パラメータ | タイプ | [Required] (必須) | デフォルト | 説明  | 
| --- | --- | --- | --- | --- | 
| deleteAuditEvent | boolean | 不可 | false | true の場合、関連する監査イベントを削除します | 

## 例
<a name="erase-examples"></a>

**リクエストの例**  


```
POST [base]/Patient/example-patient/$erase
```

**レスポンスの例**  


```
{
      "jobId": "5df47e2f51ff3c731847678cb8cad48e",
      "jobStatus": "SUBMITTED"
    }
```

## ジョブのステータス
<a name="erase-job-status"></a>

消去ジョブのステータスを確認するには:

```
GET [base]/$erase/[jobId]
```

オペレーションはジョブステータス情報を返します。

```
{
      "datastoreId": "36622996b1fcecb7e12ee2ee085308d3",
      "jobId": "5df47e2f51ff3c731847678cb8cad48e",
      "status": "COMPLETED",
      "submittedTime": "2025-10-30T16:39:24.160Z"
    }
```

## 行動
<a name="erase-behavior"></a>

`$erase` オペレーション:

1. 非同期的に処理してデータの整合性を確保する

1. ACID トランザクションを維持します

1. ジョブステータスの追跡を提供します

1. 指定されたリソースとそのバージョンを完全に削除します

1. 削除アクティビティの包括的な監査ログ記録が含まれます

1. 監査イベントの選択的な削除をサポート

## 監査ログ記録
<a name="erase-audit-logging"></a>

`$erase` オペレーションは、ユーザー ID、タイムスタンプ、リソースの詳細とともに DeleteResource としてログに記録します。

## 制限事項
<a name="erase-limitations"></a>
+ `$erased` リソースは検索結果や`_history`クエリに表示されません。
+ 消去されるリソースは、処理中に一時的にアクセスできない場合があります。
+ リソースが完全に削除されるとすぐにストレージ計測が調整されます

# を使用した患者データの取得 `Patient/$everything`
<a name="reference-fhir-operations-everything"></a>

 `Patient/$everything` オペレーションは、FHIR `Patient`リソースとその に関連する他のリソースをクエリするために使用されます`Patient`。オペレーションを使用して、レコード全体へのアクセスを患者に提供したり、プロバイダーが患者に関連する一括データダウンロードを実行したりできます。HealthLake は、特定の患者の `Patient/$everything`をサポートします`id`。

`Patient/$everything` は、以下の例に示すように呼び出すことができる FHIR REST API オペレーションです。

------
#### [ GET request ]

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything
```

------

**注記**  
応答するリソースは、リソースタイプとリソース でソートされます`id`。  
レスポンスには常に が入力されます`Bundle.total`。

## `Patient/$everything` 個のパラメータ
<a name="patient-everything-query-params"></a>

HealthLake は、次のクエリパラメータをサポートしています。


| パラメータ | Details | 
| --- | --- | 
|  開始  |  指定された開始日より後にすべての`Patient`データを取得します。  | 
|  end  |  指定された終了日より前にすべての`Patient`データを取得します。  | 
|  since  |  指定された日付以降に更新されたすべての`Patient`データを取得します。  | 
|  \$1type  |  特定のリソースタイプの`Patient`データを取得します。  | 
|  \$1count  |  `Patient` データを取得し、ページサイズを指定します。  | 

**Example - 指定された開始日以降にすべての患者データを取得する**  
`Patient/$everything` は、`start`フィルターを使用して、特定の日付より後のデータのみをクエリできます。  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?start=2024-03-15T00:00:00.000Z
```

**Example - 指定された終了日より前にすべての`Patient`データを取得する**  
患者 \$1すべての は、`end`フィルターを使用して、特定の日付より前のデータのみをクエリできます。  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?end=2024-03-15T00:00:00.000Z
```

**Example - 指定された日付以降に更新されたすべての`Patient`データを取得する**  
`Patient/$everything` は、`since`フィルターを使用して、特定の日付以降に更新されたデータのみをクエリできます。  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?since=2024-03-15T00:00:00.000Z
```

**Example - 特定のリソースタイプの`Patient`データを取得する**  
患者 \$1Everything は`_type`フィルターを使用して、レスポンスに含める特定のリソースタイプを指定できます。複数のリソースタイプをカンマ区切りリストで指定できます。  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?_type=Observation,Condition
```

**Example - `Patient` データを取得し、ページサイズを指定する**  
患者 \$1すべての は、 `_count` を使用してページサイズを設定できます。  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id/$everything?_count=15
```

## `Patient/$everything`  `start` および `end` 属性
<a name="reference-patient-everything-start-end-attributes"></a>

HealthLake は、 `Patient/ $everything``start`および `end`クエリパラメータに対して次のリソース属性をサポートしています。


| [リソース]  | リソースエレメント | 
| --- | --- | 
| アカウント | Account.servicePeriod.start | 
| AdverseEvent | AdverseEvent.date | 
| AllergyIntolerance | AllergyIntolerance.recordedDate | 
| 予約 | Appointment.start | 
| AppointmentResponse | AppointmentResponse.start | 
| AuditEvent | AuditEvent.period.start | 
| Basic | Basic.created | 
| BodyStructure | NO\$1DATE | 
| CarePlan | CarePlan.period.start | 
| CareTeam | CareTeam.period.start | 
| ChargeItem | ChargeItem.occurrenceDateTime,ChargeItem.occurrencePeriod.start,ChargeItem.occurrenceTiming.event | 
| Claim | Claim.billablePeriod.start | 
| ClaimResponse | ClaimResponse.created | 
| ClinicalImpression | ClinicalImpression.date | 
| コミュニケーション | Communication.sent | 
| CommunicationRequest | CommunicationRequest.occurrenceDateTime,CommunicationRequest.occurrencePeriod.start | 
| コンポジション | Composition.date | 
| Condition | Condition.recordedDate | 
| 同意 | consent.dateTime | 
| カバレッジ | Coverage.period.start | 
| CoverageEligibilityRequest | CoverageEligibilityRequest.created | 
| CoverageEligibilityResponse | CoverageEligibilityResponse.created | 
| DetectedIssue | DetectedIssue.identified | 
| DeviceRequest | DeviceRequest.authoredOn | 
| DeviceUseStatement | DeviceUseStatement.recordedOn | 
| DiagnosticReport | DiagnosticReport.effective | 
| DocumentManifest | DocumentManifest.created | 
| DocumentReference | DocumentReference.context.period.start | 
| エンカウンター | Encounter.period.start | 
| EnrollmentRequest | EnrollmentRequest.created | 
| EpisodeOfCare | EpisodeOfCare.period.start | 
| ExplanationOfBenefit | ExplanationOfBenefit.billablePeriod.start | 
| FamilyMemberHistory | NO\$1DATE | 
| フラグ | Flag.period.start | 
| 目標 | Goal.statusDate | 
| Group | NO\$1DATE | 
| ImagingStudy | ImagingStudy.started | 
| イミュナイゼーション | Immunization.recorded | 
| ImmunizationEvaluation | ImmunizationEvaluation.date | 
| ImmunizationRecommendation | ImmunizationRecommendation.date | 
| Invoice | Invoice.date | 
| リスト | List.date | 
| MeasureReport | MeasureReport.period.start | 
| メディア | Media.issued | 
| MedicationAdministration | MedicationAdministration.effective | 
| MedicationDispense | MedicationDispense.whenPrepared | 
| MedicationRequest | MedicationRequest.authoredOn | 
| MedicationStatement | MedicationStatement.dateAsserted | 
| MolecularSequence | NO\$1DATE | 
| NutritionOrder | NutritionOrder.dateTime | 
| 監視結果 | 観測効果 | 
| 患者 | NO\$1DATE | 
| 個人 | NO\$1DATE | 
| 手順 | Procedure.perform | 
| プロベナンス | Provenance.occurredPeriod.start,Provenance.occurredDateTime | 
| QuestionnaireResponse | QuestionnaireResponse.authored | 
| RelatedPerson | NO\$1DATE | 
| RequestGroup | RequestGroup.authoredOn | 
| ResearchSubject | ResearchSubject.period | 
| RiskAssessment | RiskAssessment.occurrenceDateTime, RiskAssessment.occurrencePeriod.start | 
| スケジュール | Schedule.planningHorizon | 
| ServiceRequest | ServiceRequest.authoredOn | 
| 標本 | ".receivedTime | 
| SupplyDelivery | SupplyDelivery.occurrenceDateTime, SupplyDelivery.occurrencePeriod.start, SupplyDelivery.occurrenceTiming.event | 
| SupplyRequest | SupplyRequest.authoredOn | 
| VisionPrescription | VisionPrescription.dateWritten | 

# を使用した ValueSet コードの取得 `$expand`
<a name="reference-fhir-operations-expand"></a>

AWS HealthLake は、顧客として取り込まれた ValueSets の `$expand`オペレーションをサポートするようになりました。これにより、それらの ValueSet リソースに含まれるコードの完全なリストを取得できます (複数可）。このオペレーションは、以下が必要な場合に特に役立ちます。
+ 検証目的で可能なすべてのコードを取得する
+ ユーザーインターフェイスで使用可能なオプションを表示する
+ 特定の用語コンテキスト内で包括的なコード検索を実行する

## 使用方法
<a name="expand-usage"></a>

`$expand` オペレーションは、GET メソッドと POST メソッドの両方を使用して ValueSet リソースで呼び出すことができます。

**サポートされているオペレーション**  


```
GET/POST [base]/ValueSet/[id]/$expand
GET [base]/ValueSet/$expand?url=http://example.com
POST [base]/ValueSet/$expand
```

## サポートされているパラメータ
<a name="expand-parameters"></a>

HealthLake は、FHIR R4 `$expand`パラメータのサブセットをサポートしています。


| パラメータ | タイプ | 必須 | 説明 | 
| --- | --- | --- | --- | 
| url | uri | 不可 | 拡張する ValueSet の正規 URL | 
| id | id | 不可 | 拡張する ValueSet リソース ID (GET または POST オペレーションの場合) | 
| filter | string | 不可 | コード拡張結果をフィルタリングする | 
| count | integer | 不可 | 返されるコードの数 | 
| offset | integer | 不可 | 戻る前にスキップする一致するコードの数。フィルタリング後、元の ValueSet の完全なフィルタリングされていないコンテンツではなく、一致するコードにのみ適用されます。 | 

## 例
<a name="expand-examples"></a>

**ID による GET リクエスト**  


```
GET [base]/ValueSet/example-valueset/$expand
```

**フィルターを使用した URL による GET リクエスト**  


```
GET [base]/ValueSet/$expand?url=http://example.com/ValueSet/my-valueset&filter=male&count=5
```

**パラメータを含む POST リクエスト (ID 別)**  


```
POST [base]/ValueSet/example-valueset/$expand
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "count",
      "valueInteger": 10
    },
    {
      "name": "filter",
      "valueString": "admin"
    }
  ]
}
```

**パラメータを含む POST リクエスト (URL による)**  


```
POST [base]/ValueSet/$expand
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "url",
      "valueUri": "http://hl7.org/fhir/ValueSet/administrative-gender"
    },
    {
      "name": "count",
      "valueInteger": 10
    }
  ]
}
```

**レスポンス例**  
オペレーションは、展開されたコードを含む `expansion`要素を持つ ValueSet リソースを返します。

```
{
  "resourceType": "ValueSet",
  "id": "administrative-gender",
  "status": "active",
  "expansion": {
    "identifier": "urn:uuid:12345678-1234-1234-1234-123456789abc",
    "timestamp": "2024-01-15T10:30:00Z",
    "total": 4,
    "parameter": [
      {
        "name": "count",
        "valueInteger": 10
      }
    ],
    "contains": [
      {
        "system": "http://hl7.org/fhir/administrative-gender",
        "code": "male",
        "display": "Male"
      },
      {
        "system": "http://hl7.org/fhir/administrative-gender",
        "code": "female",
        "display": "Female"
      },
      {
        "system": "http://hl7.org/fhir/administrative-gender",
        "code": "other",
        "display": "Other"
      },
      {
        "system": "http://hl7.org/fhir/administrative-gender",
        "code": "unknown",
        "display": "Unknown"
      }
    ]
  }
}
```

レスポンスは以下のとおりです。
+ expansion.total: 展開された ValueSet のコードの合計数
+ expansion.contains: システム、コード、および表示値を含む拡張コードの配列
+ expansion.parameter: 拡張リクエストで使用されるパラメータ

`$expand` オペレーション仕様の詳細については、[FHIR R4 ValueSet `$expand`](https://build.fhir.org/valueset-operation-expand.html) ドキュメントを参照してください。

# FHIR を使用した HealthLake データのエクスポート `$export`
<a name="reference-fhir-operations-export"></a>

FHIR \$1export オペレーションを使用して、HealthLake データストアからデータを一括エクスポートできます。HealthLake は、 `POST`および `GET`リクエスト`$export`を使用した FHIR をサポートしています。でエクスポートリクエストを行うには`POST`、必要なアクセス許可を持つ IAM ユーザー、グループ、またはロールがあり、リクエスト`$export`の一部として を指定し、リクエスト本文に必要なパラメータを含める必要があります。

**注記**  
FHIR を使用して行われたすべての HealthLake エクスポートリクエスト`$export`は `ndjson`形式で返され、Amazon S3 バケットにエクスポートされます。各 Amazon S3 オブジェクトには 1 つの FHIR リソースタイプのみが含まれます。  
 AWS アカウントサービスクォータごとにエクスポートリクエストをキューに入れることができます。詳細については、「[Service Quotas](reference-healthlake-endpoints-quotas.md#reference-healthlake-quotas)」を参照してください。

HealthLake は、次の 3 種類の一括エクスポートエンドポイントリクエストをサポートしています。


**HealthLake バルク`$export`タイプ**  

| エクスポートタイプ | 説明 | 構文 | 
| --- | --- | --- | 
| システム | HealthLake FHIR サーバーからすべてのデータをエクスポートします。 | `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/$export`  | 
| すべての患者 | 患者リソースタイプに関連付けられたリソースタイプを含む、すべての患者に関連するすべてのデータをエクスポートします。 | `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export` `GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export` | 
| 患者のグループ | グループ ID で指定された患者のグループに関連するすべてのデータをエクスポートします。 | `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export` `GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export` | 

## [開始する前に]
<a name="export-rest-before-you-begin"></a>

HealthLake 用の FHIR REST API を使用してエクスポートリクエストを行うには、次の要件を満たします。
+ エクスポートリクエストを行うために必要なアクセス許可を持つユーザー、グループ、またはロールを設定しておく必要があります。詳細については[`$export` リクエストの承認](#export-rest-auth)を参照してください。
+ データをエクスポートする Amazon S3 バケットへの HealthLake アクセスを許可するサービスロールを作成しておく必要があります。サービスロールでは、サービスプリンシパルとして HealthLake も指定する必要があります。アクセス許可の設定の詳細については、「」を参照してください[エクスポートジョブのアクセス許可の設定](getting-started-setting-up.md#setting-up-export-permissions)。

## `$export` リクエストの承認
<a name="export-rest-auth"></a>

FHIR REST API を使用してエクスポートリクエストを成功させるには、IAM または OAuth2.0. サービスロールも必要です。

**IAM を使用したリクエストの承認**  
`$export` リクエストを行うときは、ユーザー、グループ、またはロールに IAM アクションがポリシーに含まれている必要があります。詳細については、「[エクスポートジョブのアクセス許可の設定](getting-started-setting-up.md#setting-up-export-permissions)」を参照してください。

**SMART on FHIR (OAuth 2.0) を使用したリクエストの承認**  
SMART on FHIR 対応 HealthLake データストアに`$export`リクエストを行うときは、適切なスコープを割り当てる必要があります。詳細については、「[HealthLake の FHIR リソーススコープに関する SMART](reference-smart-on-fhir-oauth-scopes.md#smart-on-fhir-scopes-rest)」を参照してください。

**注記**  
`GET` リクエスト`$export`を含む FHIR では、ファイルのエクスポートと取得をリクエストするために、同じ認証方法またはベアラートークン (SMART on FHIR の場合) が必要です。`$export` で FHIR を使用してエクスポートされたファイルは`GET`、48 時間ダウンロードできます。

## `$export` リクエストを行う
<a name="export-rest-request"></a>

このセクションでは、FHIR REST API を使用してエクスポートリクエストを行うときに必要な手順について説明します。

 AWS アカウントで誤って課金されないように、`$export`構文を指定せずにリクエストを実行して`POST`リクエストをテストすることをお勧めします。

リクエストを行うには、以下を実行する必要があります。

1. サポートされているエンドポイント`$export`の`POST`リクエスト URL で を指定します。

1. 必要なヘッダーパラメータを指定します。

1. 必要なパラメータを定義するリクエスト本文を指定します。

### ステップ 1: サポートされている[エンドポイント](reference-healthlake-endpoints-quotas.md#reference-healthlake-endpoints)`$export`の`POST`リクエスト URL で を指定します。
<a name="export-rest-request-step-1"></a>

HealthLake は、3 種類の一括エクスポートエンドポイントリクエストをサポートしています。一括エクスポートリクエストを行うには、サポートされている 3 つのエンドポイントのいずれかに対して `POST`ベースのリクエストを行う必要があります。次の例は、リクエスト URL `$export`で を指定する場所を示しています。
+ `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/$export`
+ `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/$export`
+ `POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/id/$export`

`POST` リクエスト文字列では、以下のサポートされている検索パラメータを使用できます。

#### サポートされている検索パラメータ
<a name="export-rest-query-parameters"></a>

HealthLake は、一括エクスポートリクエストで次の検索修飾子をサポートしています。

次の例には、リクエストを送信する前にエンコードする必要がある特殊文字が含まれています。


| 名前 | 必須? | 説明 | 例 | 
| --- | --- | --- | --- | 
| \$1outputFormat | いいえ | リクエストされたバルクデータファイルを生成する形式。使用できる値は、application/fhir\$1ndjson、application/ndjson、 ですndjson。 |  | 
| \$1type | いいえ | エクスポートジョブに含めるカンマ区切りの FHIR リソースタイプの文字列。すべてのリソースをエクスポートするとコストがかかる\$1type可能性があるため、 を含めることをお勧めします。 | &\$1type=MedicationStatement, Observation | 
| \$1since | いいえ | 日付タイムスタンプ以降に変更されたリソースタイプ。リソースタイプに最終更新時刻がない場合、レスポンスに含まれます。 | &\$1since=2024-05-09T00%3A00%3A00Z | 
| \$1until | いいえ | 日付タイムスタンプ以前に変更されたリソースタイプ。と組み合わせて使用\$1sinceして、エクスポートする特定の時間範囲を定義します。リソースタイプに最終更新時刻がない場合、レスポンスから除外されます。 | &\$1until=2024-12-31T23%3A59%3A59Z | 

### ステップ 2: 必要なヘッダーパラメータを指定する
<a name="export-rest-request-step-2"></a>

FHIR REST API を使用してエクスポートリクエストを行うには、次のヘッダーパラメータを指定する必要があります。
+ Content-Type：`application/fhir+json`
+ 優先: `respond-async`

次に、リクエスト本文で必要な要素を指定する必要があります。

### ステップ 3: で必要なパラメータを定義するリクエスト本文を指定します。
<a name="export-rest-request-step-3"></a>

エクスポートリクエストには、 `JSON`形式の本文も必要です。本文には、次のパラメータを含めることができます。


| Key | 必須? | 説明 | 値 | 
| --- | --- | --- | --- | 
| DataAccessRoleArn | はい | HealthLake サービスロールの ARN。使用するサービスロールは、サービスプリンシパルとして HealthLake を指定する必要があります。 | arn:aws:iam::444455556666:role/your-healthlake-service-role | 
| JobName | いいえ | エクスポートリクエストの名前。 | your-export-job-name | 
| S3Uri | はい | OutputDataConfig キーの一部。エクスポートされたデータがダウンロードされる送信先バケットの S3 URI。 | s3://amzn-s3-demo-bucket/EXPORT-JOB/ | 
| KmsKeyId | はい | OutputDataConfig キーの一部。Amazon S3 バケットの保護に使用される AWS KMS キーの ARN。 | arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab | 

**Example FHIR REST API を使用して行われたエクスポートリクエストの本文**  
FHIR REST API を使用してエクスポートリクエストを行うには、次に示すように本文を指定する必要があります。  

```
{
  "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role",
  "JobName": "your-export-job",
  "OutputDataConfig": {
    "S3Configuration": {
      "S3Uri": "s3://amzn-s3-demo-bucket/EXPORT-JOB",
      "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }
  }
}
```

リクエストが成功すると、次のレスポンスを受け取ります。

*レスポンスヘッダー*

```
content-location: https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-job-id
```

*レスポンス本文*

```
{
  "datastoreId": "your-data-store-id",
  "jobStatus": "SUBMITTED",
  "jobId": "your-export-request-job-id"
}
```

## エクスポートリクエストの管理
<a name="export-rest-management"></a>

エクスポートリクエストが成功したら、 を使用して現在のエクスポートリクエストのステータスを`$export`記述し、現在のエクスポートリクエストをキャンセル`$export`して、リクエストを管理できます。

REST API を使用してエクスポートリクエストをキャンセルすると、キャンセルリクエストを送信した時点までにエクスポートされたデータの一部に対してのみ課金されます。

以下のトピックでは、現在のエクスポートリクエストのステータスを取得またはキャンセルする方法について説明します。

### エクスポートリクエストのキャンセル
<a name="export-rest-management-describe"></a>

エクスポートリクエストをキャンセルするには、`DELETE`リクエストを行い、リクエスト URL にジョブ ID を指定します。

```
DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-job-id
```

リクエストが成功すると、以下が表示されます。

```
{
  "exportJobProperties": {
    "jobId": "your-original-export-request-job-id",
    "jobStatus": "CANCEL_SUBMITTED",
    "datastoreId": "your-data-store-id"
  }
}
```

リクエストが成功しない場合、次の情報が表示されます。

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "not-supported",
      "diagnostics": "Interaction not supported."
    }
  ]
}
```

### エクスポートリクエストの説明
<a name="export-rest-management-describe"></a>

エクスポートリクエストのステータスを取得するには、 `export`と を使用して`GET`リクエストを行います`export-request-job-id`。

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/export/your-export-request-id
```

JSON レスポンスには `ExportJobProperties` オブジェクトが含まれます。これには、次のキーと値のペアが含まれる場合があります。


| 名前 | 必須? | 説明 | 値 | 
| --- | --- | --- | --- | 
| DataAccessRoleArn | いいえ | HealthLake サービスロールの ARN。使用するサービスロールは、サービスプリンシパルとして HealthLake を指定する必要があります。 | arn:aws:iam::444455556666:role/your-healthlake-service-role | 
| SubmitTime | いいえ | エクスポートジョブが送信された日付。 | Apr 21, 2023 5:58:02 | 
| EndTime | いいえ | エクスポートジョブが完了した時刻。 | Apr 21, 2023 6:00:08 PM | 
| JobName | いいえ | エクスポートリクエストの名前。 | your-export-job-name | 
| JobStatus | いいえ |  | 次の値を指定できます。<pre>SUBMITTED | IN_PROGRESS | COMPLETED_WITH_ERRORS | COMPLETED |<br />      FAILED</pre> | 
| S3Uri | はい | [OutputDataConfig](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_OutputDataConfig.html) オブジェクトの一部。エクスポートされたデータがダウンロードされるレプリケート先バケットの Amazon S3 URI。 | s3://amzn-s3-demo-bucket/EXPORT-JOB/ | 
| KmsKeyId | はい | [OutputDataConfig](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_OutputDataConfig.html) オブジェクトの一部。Amazon S3 バケットの保護に使用される AWS KMS キーの ARN。 | arn:aws:kms:region-of-bucket:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab | 

**Example : FHIR REST API を使用して行われた describe エクスポートリクエストの本文**  
成功すると、次の JSON レスポンスが表示されます。  

```
{
  "exportJobProperties": {
    "jobId": "your-export-request-id",
    "JobName": "your-export-job",
    "jobStatus": "SUBMITTED",
    "submitTime": "Apr 21, 2023 5:58:02 PM",
    "endTime": "Apr 21, 2023 6:00:08 PM",
    "datastoreId": "your-data-store-id",
    "outputDataConfig": {
      "s3Configuration": {
        "S3Uri": "s3://amzn-s3-demo-bucket/EXPORT-JOB",
        "KmsKeyId": "arn:aws:kms:region-of-bucket:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab""
      }
    },
    "DataAccessRoleArn": "arn:aws:iam::444455556666:role/your-healthlake-service-role",
  }
}
```

# HealthLake の FHIR `$inquire`オペレーション
<a name="reference-fhir-operations-inquire"></a>

`$inquire` オペレーションを使用すると、以前に送信された事前承認リクエストのステータスを確認できます。このオペレーションでは、[Da Vinci 事前認可サポート (PAS) 実装ガイド](https://hl7.org/fhir/us/davinci-pas/)を実装し、現在の認可決定を取得するための標準化された FHIR ベースのワークフローを提供します。

## 仕組み
<a name="inquire-how-it-works"></a>
+ **問い合わせの送信**: 確認したいクレームとサポート情報を含む FHIR バンドルを送信する
+ **検索**: HealthLake は、データストア内の対応する ClaimResponse を検索します。
+ **取得**: 最新の認可ステータスが取得されます
+ **応答**: 現在の認可ステータス (キューに入れられた、承認された、拒否されたなど) の即時応答を受け取ります。

**注記**  
`$inquire` は、既存の認可ステータスを取得する**読み取り専用オペレーション**です。データストア内のリソースは変更または更新されません。

## API エンドポイント
<a name="inquire-api-endpoint"></a>

```
POST /datastore/{datastoreId}/r4/Claim/$inquire  
Content-Type: application/fhir+json
```

## リクエスト構造
<a name="inquire-request-structure"></a>

### バンドルの要件
<a name="inquire-bundle-requirements"></a>

リクエストは、以下を含む FHIR Bundle リソースである必要があります。
+ **Bundle.type**: である必要があります `"collection"`
+ **Bundle.entry**: 以下を含むクレームリソースを **1** つだけ含める必要があります。
  + `use = "preauthorization"`
  + `status = "active"`
+ **参照リソース**: クレームによって参照されるすべてのリソースをバンドルに含める必要があります

**Query-by-Example**  
入力バンドルのリソースは検索テンプレートとして機能します。HealthLake は、提供された情報を使用して、対応する ClaimResponse を見つけます。

### 必要なリソース
<a name="inquire-required-resources"></a>


| [リソース]  | カーディナリティ | プロファイル | 説明 | 
| --- | --- | --- | --- | 
| クレーム | 1 | PAS クレームの照会 | 照会する以前の認可 | 
| 患者 | 1 | PAS 受取人患者 | 患者の人口統計情報 | 
| 組織 (保険者) | 1 | PAS 保険会社組織 | 保険会社 | 
| 組織 (プロバイダー) | 1 | PAS リクエスト組織 | リクエストを送信した医療プロバイダー | 

### 重要な検索条件
<a name="inquire-search-criteria"></a>

HealthLake は、以下を使用して ClaimResponse を検索します。
+ クレームからの**患者リファレンス** 
+ クレームからの**保険者リファレンス** 
+ クレームからの**プロバイダーリファレンス** 
+ クレームから**作成日** (時間フィルターとして)

**患者固有のクエリのみ**  
すべての問い合わせは、特定の患者に関連付ける必要があります。患者識別を使用しないシステム全体のクエリは許可されません。

## リクエスト例
<a name="inquire-example-request"></a>

```
POST /datastore/example-datastore/r4/Claim/$inquire  
Content-Type: application/fhir+json  
Authorization: Bearer <your-token>  
  
{  
  "resourceType": "Bundle",  
  "id": "PASClaimInquiryBundleExample",  
  "meta": {  
    "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-inquiry-request-bundle"]  
  },  
  "identifier": {  
    "system": "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER",  
    "value": "5269368"  
  },  
  "type": "collection",  
  "timestamp": "2005-05-02T14:30:00+05:00",  
  "entry": [  
    {  
      "fullUrl": "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample",  
      "resource": {  
        "resourceType": "Claim",  
        "id": "MedicalServicesAuthorizationExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim-inquiry"]  
        },  
        "status": "active",  
        "type": {  
          "coding": [{  
            "system": "http://terminology.hl7.org/CodeSystem/claim-type",  
            "code": "professional"  
          }]  
        },  
        "use": "preauthorization",  
        "patient": {  
          "reference": "Patient/SubscriberExample"  
        },  
        "created": "2005-05-02T11:01:00+05:00",  
        "insurer": {  
          "reference": "Organization/InsurerExample"  
        },  
        "provider": {  
          "reference": "Organization/UMOExample"  
        }  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Patient/SubscriberExample",  
      "resource": {  
        "resourceType": "Patient",  
        "id": "SubscriberExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary"]  
        },  
        "name": [{  
          "family": "SMITH",  
          "given": ["JOE"]  
        }],  
        "gender": "male"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Organization/UMOExample",  
      "resource": {  
        "resourceType": "Organization",  
        "id": "UMOExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor"]  
        },  
        "name": "Provider Organization"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Organization/InsurerExample",  
      "resource": {  
        "resourceType": "Organization",  
        "id": "InsurerExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer"]  
        },  
        "name": "Insurance Company"  
      }  
    }  
  ]  
}
```

## レスポンスの形式
<a name="inquire-response-format"></a>

### 成功レスポンス (200 OK)
<a name="inquire-success-response"></a>

PAS Inquiry Response Bundle には、以下が含まれています。
+ 現在の認可ステータスの **ClaimResponse**。検索条件に一致する場合は複数の **ClaimResponse** 
+ リクエストのすべての元のリソース (エコーバック)
+ レスポンスがアセンブルされた時刻のタイムスタンプ

**考えられる ClaimResponse の結果**  



| 結果 | 説明 | 
| --- | --- | 
| queued | 承認リクエストはまだレビュー保留中です | 
| complete | 認可の決定が行われました (承認/拒否dispositionを確認してください) | 
| error | 処理中にエラーが発生しました | 
| partial | 部分的な認可が付与されました | 

```
{  
  "resourceType": "Bundle",  
  "identifier": {  
        "system": "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER",  
        "value": "5269367"  
  },  
  "type": "collection",  
  "timestamp": "2005-05-02T14:30:15+05:00",  
  "entry": [  
    {  
      "fullUrl": "http://example.org/fhir/ClaimResponse/InquiryResponseExample",  
      "resource": {  
        "resourceType": "ClaimResponse",  
        "id": "InquiryResponseExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claimresponse-inquiry"]  
        },  
        "status": "active",  
        "type": {  
          "coding": [{  
            "system": "http://terminology.hl7.org/CodeSystem/claim-type",  
            "code": "professional"  
          }]  
        },  
        "use": "preauthorization",  
        "patient": {  
          "reference": "Patient/SubscriberExample"  
        },  
        "created": "2005-05-02T11:05:00+05:00",  
        "insurer": {  
          "reference": "Organization/InsurerExample"  
        },  
        "request": {  
          "reference": "Claim/MedicalServicesAuthorizationExample"  
        },  
        "outcome": "complete",  
        "disposition": "Approved",  
        "preAuthRef": "AUTH12345"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample",  
      "resource": {  
        "resourceType": "Claim",  
        "id": "MedicalServicesAuthorizationExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim-inquiry"]  
        },  
        "status": "active",  
        "type": {  
          "coding": [{  
            "system": "http://terminology.hl7.org/CodeSystem/claim-type",  
            "code": "professional"  
          }]  
        },  
        "use": "preauthorization",  
        "patient": {  
          "reference": "Patient/SubscriberExample"  
        },  
        "created": "2005-05-02T11:01:00+05:00",  
        "insurer": {  
          "reference": "Organization/InsurerExample"  
        },  
        "provider": {  
          "reference": "Organization/UMOExample"  
        }  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Patient/SubscriberExample",  
      "resource": {  
        "resourceType": "Patient",  
        "id": "SubscriberExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary"]  
        },  
        "name": [{  
          "family": "SMITH",  
          "given": ["JOE"]  
        }],  
        "gender": "male"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Organization/UMOExample",  
      "resource": {  
        "resourceType": "Organization",  
        "id": "UMOExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor"]  
        },  
        "name": "Provider Organization"  
      }  
    },  
    {  
      "fullUrl": "http://example.org/fhir/Organization/InsurerExample",  
      "resource": {  
        "resourceType": "Organization",  
        "id": "InsurerExample",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer"]  
        },  
        "name": "Insurance Company"  
      }  
    }  
  ]  
}
```

## エラーレスポンス
<a name="inquire-error-responses"></a>

### 400 Bad Request
<a name="inquire-400-error"></a>

リクエスト形式が無効であるか、検証が失敗した場合に返されます。

```
{  
    "resourceType": "OperationOutcome",  
    "issue": [  
        {  
            "severity": "error",  
            "code": "required",  
            "diagnostics": "Reference 'Patient/SubscriberExample' at path 'patient' for 'CLAIM' resource not found(at Bundle.entry[0].resource)"  
        }  
    ]  
}
```

### 401 Unauthorized
<a name="inquire-401-error"></a>

認証情報がないか無効である場合に返されます。

```
{  
    "resourceType": "OperationOutcome",  
    "issue": [  
        {  
            "severity": "error",  
            "code": "forbidden",  
            "diagnostics": "Invalid authorization header"  
        }  
    ]  
}
```

### 403 Forbidden
<a name="inquire-403-error"></a>

認証されたユーザーに、リクエストされたリソースへのアクセス許可がない場合に返されます。

```
{  
    "resourceType": "OperationOutcome",  
    "issue": [  
        {  
            "severity": "error",  
            "code": "exception",  
            "diagnostics": "Insufficient SMART scope permissions."  
        }  
    ]  
}
```

### 400 見つからない場合
<a name="inquire-400-none-found"></a>

問い合わせに一致する ClaimResponse が見つからない場合に返されます。

```
{  
  "resourceType": "OperationOutcome",
  "issue": [{
    "severity": "error",
    "code": "not-found",
    "diagnostics": "Resource not found. No ClaimResponse found from the input Claim that matches the specified Claim properties patient, insurer, provider, and created(at Bundle.entry[0].resource)"
  }]
}
```

### 415 サポートされていないメディアタイプ
<a name="inquire-415-error"></a>

Content-Type ヘッダーが application/fhir\$1json でない場合に返されます。

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "value",  
    "diagnostics": "Incorrect MIME-type. Update request Content-Type header."  
  }]  
}
```

### 429 Too Many Requests
<a name="inquire-429-error"></a>

レート制限を超えたときに返されます。

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "throttled",  
    "diagnostics": "Rate limit exceeded. Please retry after some time."  
  }]  
}
```

## 検証ルール
<a name="inquire-validation-rules"></a>

HealthLake は、問い合わせに対して包括的な検証を実行します。

### バンドルの検証
<a name="inquire-bundle-validation"></a>
+ PAS 照会リクエストバンドルプロファイルに準拠する必要があります
+ `Bundle.type` は である必要があります `"collection"`
+ クレームリソースを 1 つだけ含める必要があります
+ 参照されるすべてのリソースをバンドルに含める必要があります

### クレームの検証
<a name="inquire-claim-validation"></a>
+ PAS クレーム照会プロファイルに準拠する必要があります
+ `Claim.use` は である必要があります `"preauthorization"`
+ `Claim.status` は である必要があります `"active"`
+ 必須フィールド: `patient`、`insurer`、`provider`、 `created`

### リソースの検証
<a name="inquire-resource-validation"></a>
+ すべてのリソースは、それぞれの PAS 問い合わせプロファイルに準拠する必要があります
+ 必要なサポートリソースが存在する必要があります (「」、「保険組織」、「プロバイダー組織」)
+ クロスリファレンスは、バンドル内で有効で解決可能である必要があります

## パフォーマンス仕様
<a name="inquire-performance-specs"></a>


| メトリクス |  の仕様 | 
| --- | --- | 
| リソース数の制限 | バンドルあたり 500 リソース | 
| バンドルサイズ制限 | 最大 5 MB | 

## 必要なアクセス許可
<a name="inquire-required-permissions"></a>

`$inquire` オペレーションを使用するには、IAM ロールに次のものがあることを確認します。
+ `healthlake:InquirePreAuthClaim` - オペレーションを呼び出すには

**FHIR スコープでの SMART**  
**最低限必要なスコープ:**
+ **SMART v1**: `user/ClaimResponse.read`
+ **SMART v2**: `user/ClaimResponse.s`

## 重要な実装上の注意事項
<a name="inquire-implementation-notes"></a>

### 検索動作
<a name="inquire-search-behavior"></a>

問い合わせを送信すると、HealthLake は以下を使用して ClaimResponse を検索します。
+ 入力クレームからの**患者リファレンス** 
+ 入力クレームからの**保険者リファレンス** 
+ 入力クレームからの**プロバイダーリファレンス** 
+ 入力クレームから**作成日** (タイムフィルターとして)

**複数の一致**: 複数の ClaimResponses が検索条件に一致する場合、HealthLake は一致するすべての結果を返します。最新の`ClaimResponse.created`ステータスを特定するには、最新のタイムスタンプを使用する必要があります。

### クレームの更新
<a name="inquire-updated-claims"></a>

同じ事前承認 (クレーム v1.1、v1.2、v1.3 など) に複数の更新を送信した場合、`$inquire`オペレーションは提供された検索条件に基づいて**最新バージョン**に関連付けられた ClaimResponse を取得します。

### 読み取り専用オペレーション
<a name="inquire-read-only"></a>

`$inquire` オペレーション:
+ 既存の認可ステータス****を取得します
+ 最新の ClaimResponse ****を返します
+ リソースを変更または更新**しない** 
+ 新しいリソースを作成し**ない** 
+ 新しい認可処理**をトリガーしない** 

## ワークフローの例
<a name="inquire-workflow-example"></a>

**一般的な事前認可照会ワークフロー**  


```
1. Provider submits PA request  
   POST /Claim/$submit  
   → Returns ClaimResponse with outcome="queued"  
  
2. Payer reviews request (asynchronous)  
   → Updates ClaimResponse status internally  
  
3. Provider checks status  
   POST /Claim/$inquire  
   → Returns ClaimResponse with outcome="queued" (still pending)  
  
4. Provider checks status again later  
   POST /Claim/$inquire  
   → Returns ClaimResponse with outcome="complete", disposition="Approved"
```

## 関連の オペレーション
<a name="inquire-related-operations"></a>
+ `Claim/$submit` - 新しい事前承認リクエストを送信するか、既存の承認リクエストを更新します。
+ `Patient/$everything` - 事前認可コンテキストの包括的な患者データを取得する

# を使用した概念の詳細の取得 `$lookup`
<a name="reference-fhir-operations-lookup"></a>

AWS HealthLake は CodeSystem リソースの `$lookup`オペレーションをサポートするようになりました。これにより、コードなどの識別情報を提供することで、コードシステム内の特定の概念に関する詳細を取得できます。このオペレーションは、以下が必要な場合に特に役立ちます。
+ 特定の医療コードに関する詳細情報を取得する
+ コードの意味とプロパティを検証する
+ アクセス概念の定義と関係
+ 正確な用語データで臨床上の意思決定をサポートする

## 使用方法
<a name="lookup-usage"></a>

`$lookup` オペレーションは、GET メソッドと POST メソッドの両方を使用して CodeSystem リソースで呼び出すことができます。

**サポートされているオペレーション**  


```
GET [base]/CodeSystem/$lookup?system=http://snomed.info/sct&code=73211009&version=20230901
POST [base]/CodeSystem/$lookup
```

## サポートされているパラメータ
<a name="lookup-parameters"></a>

HealthLake は、FHIR R4 `$lookup`パラメータのサブセットをサポートしています。


| パラメータ | タイプ | 必須 | 説明 | 
| --- | --- | --- | --- | 
| code | コード | はい | 検索する概念コード (SNOMED CT の「71620000」など) | 
| system | uri | はい | コードシステムの正規 URL (「[http://snomed.info/sct](http://snomed.info/sct)」など) | 
| version | string | 不可 | コードシステムの特定のバージョン | 

## 例
<a name="lookup-examples"></a>

**GET リクエスト**  


```
GET [base]/CodeSystem/$lookup?system=http://snomed.info/sct&code=71620000&version=2023-09
```

**POST リクエスト**  


```
POST [base]/CodeSystem/$lookup
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "system",
      "valueUri": "http://snomed.info/sct"
    },
    {
      "name": "code",
      "valueCode": "71620000"
    },
    {
      "name": "version",
      "valueString": "2023-09"
    }
  ]
}
```

**レスポンス例**  
オペレーションは、概念の詳細を含む Parameters リソースを返します。

```
{
    "resourceType": "Parameters",
    "parameter": [{
            "name": "name",
            "valueString": "SNOMED CT Fractures"
        },
        {
            "name": "version",
            "valueString": "2023-09"
        },
        {
            "name": "display",
            "valueString": "Fracture of femur"
        },
        {
            "name": "property",
            "part": [{
                    "name": "code",
                    "valueCode": "child"
                },
                {
                    "name": "value",
                    "valueCode": "263225007"
                },
                {
                    "name": "description",
                    "valueString": "Fracture of neck of femur"
                }
            ]
        },
        {
            "name": "property",
            "part": [{
                    "name": "code",
                    "valueCode": "child"
                },
                {
                    "name": "value",
                    "valueCode": "263227004"
                },
                {
                    "name": "description",
                    "valueString": "Fracture of shaft of femur"
                }
            ]
        }
    ]
}
```

## レスポンスパラメータ
<a name="lookup-response-parameters"></a>

レスポンスには、使用可能な場合、次のパラメータが含まれます。


| パラメータ | Type | 説明 | 
| --- | --- | --- | 
| name | string | コードシステムの名前 | 
| version | string | コードシステムのバージョン | 
| display | string | 概念の表示名 | 
| designation | BackboneElement | この概念の追加表現。 | 
| property | BackboneElement | 概念の追加プロパティ (定義、関係など) | 

## 行動
<a name="lookup-behavior"></a>

`$lookup` オペレーション:

1. 必要なパラメータを検証します (`code` および `system`)

1. データストアに保存されている指定されたコードシステム内の概念を検索します。

1. 表示名、指定、プロパティなど、詳細な概念情報を返します。

1. `version` パラメータが指定されている場合のバージョン固有のルックアップをサポート

1. HealthLake データストアに明示的に保存されているコードシステムでのみ動作します

## エラー処理
<a name="lookup-error-handling"></a>

オペレーションは、次のエラー条件を処理します。
+ 400 不正なリクエスト: 無効な`$lookup`オペレーション (非準拠のリクエストまたは必須パラメータの欠落)
+ 404 Not Found: コードシステムが見つからないか、指定されたコードシステムでコードが見つかりません

## 注意
<a name="lookup-caveats"></a>

このリリースでは、以下はサポートされていません。
+ `$lookup` 外部用語サーバーを呼び出して オペレーションを実行する
+ `$lookup` HealthLake によって管理されているが、データストアに明示的に保存されていない CodeSystems での オペレーション

`$lookup` オペレーション仕様の詳細については、[FHIR R4 CodeSystem `$lookup`](https://www.hl7.org/fhir/R4/codesystem-operation-lookup.html) ドキュメントを参照してください。

# `$member-add` HealthLake の オペレーション
<a name="reference-fhir-operations-member-add"></a>

FHIR `$member-add`オペレーションは、メンバー (患者) をグループリソース、特にメンバー属性リストに追加します。このオペレーションは DaVinci メンバー属性実装ガイドの一部であり、メンバー属性を管理するための調整プロセスをサポートしています。

## オペレーションエンドポイント
<a name="member-add-endpoint"></a>

```
POST [base]/datastore/{datastoreId}/r4/Group/{groupId}/$member-add
Content-Type: application/json
```

## パラメータ
<a name="member-add-parameters"></a>

オペレーションは、次のパラメータの組み合わせを持つ FHIR Parameters リソースを受け入れます。

### パラメータオプション
<a name="member-add-parameter-options"></a>

次のいずれかのパラメータの組み合わせを使用できます。

オプション 1: メンバー ID \$1 プロバイダー NPI  
`memberId` \$1 `providerNpi`  
`memberId` \$1 `providerNpi` \$1 `attributionPeriod`

オプション 2: 患者リファレンス \$1 プロバイダーリファレンス  
`patientReference` \$1 `providerReference`  
`patientReference` \$1 `providerReference` \$1 `attributionPeriod`

### パラメータの詳細
<a name="member-add-parameter-details"></a>

memberId (オプション)  
グループに追加するメンバーの識別子。  
タイプ: Identifier  
システム: 患者識別子システム  

```
{
  "name": "memberId",
  "valueIdentifier": {
    "system": "http://example.org/patient-id",
    "value": "patient-new"
  }
}
```

providerNpi (オプション)  
属性プロバイダーの国民プロバイダー識別子 (NPI)。  
タイプ: Identifier  
システム: http://terminology.hl7.org/CodeSystem/NPI  

```
{
  "name": "providerNpi",
  "valueIdentifier": {
    "system": "http://terminology.hl7.org/CodeSystem/NPI",
    "value": "1234567890"
  }
}
```

patientReference (オプション)  
追加する患者リソースへの直接参照。  
タイプ: リファレンス  

```
{
  "name": "patientReference",
  "valueReference": {
    "reference": "Patient/patient-123"
  }
}
```

providerReference (オプション)  
プロバイダーリソースへの直接参照。  
タイプ: リファレンス  

```
{
  "name": "providerReference",
  "valueReference": {
    "reference": "Practitioner/provider-456"
  }
}
```

attributionPeriod (オプション)  
患者がプロバイダーに属している期間。  
タイプ: Period  

```
{
  "name": "attributionPeriod",
  "valuePeriod": {
    "start": "2024-07-15",
    "end": "2025-07-14"
  }
}
```

## リクエストの例
<a name="member-add-examples"></a>

### メンバー ID とプロバイダー NPI の使用
<a name="member-add-example-id-npi"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "memberId",
      "valueIdentifier": {
        "system": "http://example.org/patient-id",
        "value": "patient-new"
      }
    },
    {
      "name": "providerNpi",
      "valueIdentifier": {
        "system": "http://terminology.hl7.org/CodeSystem/NPI",
        "value": "1234567890"
      }
    },
    {
      "name": "attributionPeriod",
      "valuePeriod": {
        "start": "2024-07-15",
        "end": "2025-07-14"
      }
    }
  ]
}
```

### 患者とプロバイダーのリファレンスの使用
<a name="member-add-example-references"></a>

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "patientReference",
      "valueReference": {
        "reference": "Patient/patient-123"
      }
    },
    {
      "name": "providerReference",
      "valueReference": {
        "reference": "Practitioner/provider-456"
      }
    },
    {
      "name": "attributionPeriod",
      "valuePeriod": {
        "start": "2024-07-15",
        "end": "2025-07-14"
      }
    }
  ]
}
```

## レスポンスの形式
<a name="member-add-response"></a>

### 追加応答の成功
<a name="member-add-success-response"></a>

```
HTTP Status: 200 OK
Content-Type: application/fhir+json

{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "success",
      "code": "informational",
      "details": {
        "text": "Member Patient/patient-new successfully added to the Member Attribution List."
      }
    }
  ]
}
```

### エラーレスポンス
<a name="member-add-error-responses"></a>

無効なリクエスト構文  
HTTP ステータス: 400 Bad Request  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "invalid",
      "details": {
        "text": "Invalid parameter combination provided"
      }
    }
  ]
}
```

リソースが見つかりません  
HTTP ステータス: 404 Not Found  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "not-found",
      "details": {
        "text": "Resource not found."
      }
    }
  ]
}
```

バージョンの競合  
HTTP ステータス: 409 競合  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "conflict",
      "details": {
        "text": "Resource version conflict detected"
      }
    }
  ]
}
```

無効な属性ステータス  
HTTP ステータス: 422 Unprocessable Entity  

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "business-rule",
      "details": {
        "text": "Cannot add member to Attribution List with status 'final'. Status must be 'draft' or 'open'."
      }
    }
  ]
}
```

## ビジネスルール
<a name="member-add-business-rules"></a>

属性ステータスの検証  
オペレーションは、グループの属性ステータスが次の場合にのみ実行できます。  
+ `draft`
+ `open`
ステータスが の場合、オペレーションは許可されません`final`。

重複メンバーの防止  
システムは、次の一意の組み合わせに基づいて重複したメンバーを追加することを防ぎます。  
+ メンバー識別子
+ 支払者識別子
+ カバレッジ識別子

カバレッジ期間の検証  
`attributionPeriod` を指定する場合、メンバーのカバレッジ期間の範囲内にある必要があります。システムは以下を行います。  
+ メンバーのカバレッジリソースを検索する
+ 複数の が存在する場合は、最新のカバレッジ (最高の versionId) を使用する
+ 属性期間がカバレッジ期間を超えないことを確認する

リファレンスの検証  
ID と参照の両方が同じリソース (患者またはプロバイダー) に提供されると、システムはそれらが同じリソースに対応していることを検証します。  
ID フィールドと reference.identifier フィールドの両方が同じリソース (患者またはプロバイダー) に提供されると、エラーがスローされます。

## 認証と認可
<a name="member-add-auth"></a>

オペレーションでは、以下に対して SMART on FHIR 認可が必要です。
+ 読み取りアクセス許可 - 患者、プロバイダー、およびグループのリソースを検証するには
+ 検索アクセス許可 - 識別子でリソースを検索するには
+ アクセス許可を更新する - グループリソースを変更するには

## 運用上の動作
<a name="member-add-behavior"></a>

リソースの更新  
+ グループリソースバージョン ID を更新します。
+ オペレーションの前に、元のリソース状態の履歴エントリを作成します。
+ 以下を使用して Group.member 配列にメンバー情報を追加します。
  + entity.reference での患者リファレンス
  + 期間の属性期間
  + 拡張フィールドのカバレッジとプロバイダー情報

検証ステップ  
+ パラメータの検証 - 有効なパラメータの組み合わせを確認します
+ リソースの存在 - 患者、プロバイダー、グループリソースが存在することを検証します
+ 属性ステータス - グループステータスが変更を許可することを確認します
+ 重複チェック - 既存のメンバーの追加を防止
+ カバレッジ検証 - アトリビューション期間がカバレッジ範囲内であることを確認します

## 制限事項
<a name="member-add-limitations"></a>
+ 参照されるすべてのリソースは、同じデータストア内に存在する必要があります
+ オペレーションはメンバー属性リストグループのリソースでのみ機能します
+ アトリビューション期間はカバレッジ範囲内である必要があります
+ 「最終」ステータスのグループは変更できません

# `$member-match` HealthLake の オペレーション
<a name="reference-fhir-operations-member-match"></a>

AWS HealthLake は、患者リソースの `$member-match`オペレーションをサポートするようになりました。これにより、医療組織は人口統計情報とカバレッジ情報を使用して、さまざまな医療システム全体でメンバーの一意の識別子を見つけることができます。このオペレーションは、CMS コンプライアンスを達成し、患者のプライバシーを維持しながらpayer-to-payerデータ交換を促進するために不可欠です。

このオペレーションは、以下が必要な場合に特に役立ちます。
+ 組織間の安全な医療データ交換を有効にする
+ さまざまなシステムにわたる患者のケアの継続性を維持する
+ CMS コンプライアンス要件のサポート
+ 医療ネットワーク全体で正確なメンバー識別を容易にする

## 使用方法
<a name="member-match-usage"></a>

`$member-match` オペレーションは、POST メソッドを使用して患者リソースで呼び出すことができます。

```
POST [base]/Patient/$member-match
```

## サポートされているパラメータ
<a name="member-match-parameters"></a>

HealthLake は、次の FHIR `$member-match`パラメータをサポートしています。


| パラメータ | タイプ | [Required] (必須) | デフォルト | 説明  | 
| --- | --- | --- | --- | --- | 
| MemberPatient | 患者 | はい | — | 一致するメンバーの属性情報を含む患者リソース | 
| CoverageToMatch | カバレッジ | はい | — | 既存のレコードとの照合に使用されるカバレッジリソース | 
| CoverageToLink | カバレッジ | 不可 | — | マッチングプロセス中にリンクされるカバレッジリソース | 
| 同意 | 同意 | 不可 | — | 認可のための同意リソース | 

## 例
<a name="member-match-examples"></a>

### パラメータを使用した POST リクエスト
<a name="member-match-request-example"></a>

```
POST [base]/Patient/$member-match
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "MemberPatient",
      "resource": {
        "resourceType": "Patient",
        "name": [
          {
            "family": "Jones",
            "given": ["Sarah"]
          }
        ],
        "gender": "female",
        "birthDate": "1985-05-15"
      }
    },
    {
      "name": "CoverageToMatch",
      "resource": {
        "resourceType": "Coverage",
        "status": "active",
        "beneficiary": {
          "reference": "Patient/1"
        },
        "relationship": {
          "coding": [
            {
              "system": "http://terminology.hl7.org/CodeSystem/subscriber-relationship",
              "code": "self",
              "display": "Self"
            }
          ]
        },
        "payor": [
          {
            "reference": "Organization/payer456"
          }
        ]
      }
    },
    {
      "name": "Consent",
      "resource": {
        "resourceType": "Consent",
        "status": "active",
        "scope": {
          "coding": [
            {
              "system": "http://terminology.hl7.org/CodeSystem/consentscope",
              "code": "patient-privacy"
            }
          ]
        },
        "category": [
          {
            "coding": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
                "code": "IDSCL"
              }
            ]
          }
        ],
        "patient": {
          "reference": "Patient/1"
        },
        "performer": [
          {
            "reference": "Patient/patient123"
          }
        ],
        "sourceReference": {
          "reference": "Document/someconsent"
        },
        "policy": [
          {
            "uri": "http://hl7.org/fhir/us/davinci-hrex/StructureDefinition-hrex-consent.html#regular"
          }
        ]
      }
    }
  ]
}
```

### レスポンス例
<a name="member-match-response-example"></a>

オペレーションは、一致する結果を含む Parameters リソースを返します。

```
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "MemberIdentifier",
      "valueIdentifier": {
        "system": "http://hospital.org/medical-record-number",
        "value": "MRN-123456"
      }
    },
    {
      "name": "MemberId",
      "valueReference": {
        "reference": "Patient/patient123"
      }
    },
    {
      "name": "matchAlgorithm",
      "valueString": "DEMOGRAPHIC_MATCH"
    },
    {
      "name": "matchDetails",
      "valueString": "Demographic match: DOB + Name"
    },
    {
      "name": "matchedFields",
      "valueString": "given,birthdate,gender,family"
    }
  ]
}
```

## レスポンスパラメータ
<a name="member-match-response-parameters"></a>

一致が見つかった場合、レスポンスには次のパラメータが含まれます。


| パラメータ | Type | 説明 | 
| --- | --- | --- | 
| MemberIdentifier | 識別子 | 一致したメンバーの一意の識別子 | 
| MemberId | リファレンス | 患者リソースへの参照 | 
| matchAlgorithm | String | 使用される一致アルゴリズムのタイプ (EXACT\$1MATCH、STRONG\$1MATCH、または DEMOGRAPHIC\$1MATCH) | 
| matchDetails | String | マッチングプロセスに関する詳細情報 | 
| matchedFields | String | 正常に一致した特定のフィールドのリスト | 

## 一致するアルゴリズム
<a name="member-match-algorithms"></a>

`$member-match` API は、正確なメンバー識別を確保するために、多層マッチングアプローチを採用しています。

EXACT\$1MATCH  
Coverage SubscriberId と組み合わせて患者識別子を使用します  
メンバーマッチングの最高信頼度を提供します

STRONG\$1MATCH  
最小カバレッジ情報で患者識別子を使用します  
完全一致基準が満たされない場合に高い信頼性を提供します

DEMOGRAPHIC\$1MATCH  
基本的な属性情報に依存する  
識別子ベースのマッチングができない場合に使用されます。

## 行動
<a name="member-match-behavior"></a>

`$member-match` オペレーション:
+ 患者属性、カバレッジの詳細、およびオプションの同意情報を入力として受け入れます
+ 後続のインタラクションに使用できる一意のメンバー識別子を返します。
+ 多層マッチング (完全、強力、属性) を実装し、さまざまな医療システム全体で正確なメンバー識別を確保します
+ 将来の認可のために提供された同意情報を保存します
+ 患者のプライバシーを維持しながら、安全なpayer-to-payerデータ交換をサポート
+ 医療データ交換の CMS 要件に準拠

## Authorization
<a name="member-match-authorization"></a>

API は、以下の必要なスコープで SMART on FHIR 認可プロトコルを使用します。
+ `system/Patient.read`
+ `system/Coverage.read`
+ `system/Organization.read` (条件付き)
+ `system/Practitioner.read` (条件付き)
+ `system/PractitionerRole.read` (条件付き)
+ `system/Consent.write` (条件付き)

## エラー処理
<a name="member-match-error-handling"></a>

オペレーションは、次のエラー条件を処理します。
+ `400 Bad Request`: 無効な`$member-match`オペレーション (非準拠のリクエストまたは必須パラメータの欠落)
+ `422 Unprocessable Entity`: 一致する または複数の一致する が見つかりません

# `$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`

## パラメータ
<a name="member-remove-parameters"></a>

オペレーションは、以下のオプションパラメータを持つ FHIR Parameters リソースを受け入れます。


| パラメータ | カーディナリティ | 型 | 説明 | 
| --- | --- | --- | --- | 
| 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` only - 指定されたメンバーのすべての属性を削除します
+ `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"
    }
  ]
}
```

## 行動
<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>
+ *特定のパラメータを使用する*: 可能な場合は、最も具体的なパラメータの組み合わせを使用して、意図しない削除を回避します。
+ *リストステータスのチェック*: 削除を試みる前に属性リストのステータスを確認します
+ *エラーを適切に処理する*: 考えられるすべてのエラー条件に対して適切なエラー処理を実装する
+ *リファレンスの検証*: リクエストを行う前に、参照されるすべてのリソースが存在することを確認します。

# を使用した患者部門リソースの削除 `$purge`
<a name="reference-fhir-operations-purge"></a>

AWS HealthLake は `$purge`オペレーションをサポートし、患者の区画内のすべてのリソースを完全に削除できます。このオペレーションは、以下が必要な場合に特に役立ちます。
+ 患者に関連付けられているすべてのデータを削除する
+ 患者データの削除リクエストへの準拠
+ 患者データのライフサイクルを管理する
+ 包括的な患者レコードのクリーンアップを実行する

## 使用方法
<a name="purge-usage"></a>

`$purge` オペレーションは、患者リソースで呼び出すことができます。

```
POST [base]/Patient/[ID]/$purge?deleteAuditEvent=true
```

## パラメータ
<a name="purge-parameters"></a>


| パラメータ | タイプ | [Required] (必須) | デフォルト | 説明  | 
| --- | --- | --- | --- | --- | 
| deleteAuditEvent | boolean | 不可 | false | true の場合、関連する監査イベントを削除します | 
| \$1since | string | 不可 | データストアの作成時刻 | 入力すると、開始カットオフ時間を選択して、lastModified時間に基づいてリソースを検索します。開始または終了では使用できません | 
| start | string | 不可 | データストアの作成時刻 | 入力すると、カットオフ時間を選択して、lastModified時間に基づいてリソースを検索します。末尾で使用できます | 
| end | string | 不可 | ジョブの送信時間 | 入力すると、終了カットオフ時間を選択して、lastModified時間に基づいてリソースを検索します。 | 

## 例
<a name="purge-examples"></a>

**リクエストの例**  


```
POST [base]/Patient/example-patient/$purge?deleteAuditEvent=true
```

**レスポンスの例**  


```
{
  "resourceType": "OperationOutcome",
  "id": "purge-job",
  "issue": [
    {
      "severity": "information",
      "code": "informational",
      "diagnostics": "Purge job started successfully. Job ID: 12345678-1234-1234-1234-123456789012"
    }
  ]
}
```

## ジョブのステータス
<a name="purge-job-status"></a>

パージジョブのステータスを確認するには:

```
GET [base]/$purge/[jobId]
```

オペレーションはジョブステータス情報を返します。

```
{
      "datastoreId": "36622996b1fcecb7e12ee2ee085308d3",
      "jobId": "3dd1c7a5b6c0ef8c110f566eb87e2ef9",
      "status": "COMPLETED",
      "submittedTime": "2025-10-31T18:43:21.822Z"
    }
```

## 行動
<a name="purge-behavior"></a>

`$purge` オペレーション:

1. 複数のリソースを処理するために非同期的に処理する

1. データ整合性のために ACID トランザクションを維持します

1. リソース削除数を含むジョブステータスの追跡を提供します

1. 患者区画内のすべてのリソースを完全に削除します

1. 削除アクティビティの包括的な監査ログ記録が含まれます

1. 監査イベントの選択的な削除をサポート

## 監査ログ記録
<a name="purge-audit-logging"></a>

`$purge` オペレーションは、詳細なオペレーション情報を StartFHIRBulkDeleteJob および DescribeFHIRBulkDeleteJob としてログに記録します。

## 制限事項
<a name="purge-limitations"></a>
+ 消去されたリソースは検索レスポンスに表示されません
+ 消去されるリソースは、処理中に一時的にアクセスできない場合があります
+ 患者区画内のすべてのリソースが完全に削除されます

# HealthLake の FHIR `$questionnaire-package`オペレーション
<a name="reference-fhir-operations-questionnaire-package"></a>

`$questionnaire-package` オペレーションは、FHIR アンケートとそのアンケートのレンダリングと処理に必要なすべての依存関係を含む包括的なバンドルを取得します。このオペレーションでは、[Da Vinci ドキュメントテンプレートとルール (DTR) 実装ガイド](https://hl7.org/fhir/us/davinci-dtr/OperationDefinition-questionnaire-package.html)を実装し、ヘルスケアワークフローのドキュメント要件の動的フォームレンダリングを有効にします。

## 仕組み
<a name="questionnaire-package-how-it-works"></a>
+ **リクエスト**: カバレッジと注文コンテキストとともに、必要なアンケート (複数可) を識別するパラメータを送信します。
+ **取得**: HealthLake はアンケートとすべての依存関係 (ValueSets、CQL ライブラリなど) を収集します。
+ **パッケージ**: すべてのリソースは標準化された形式でバンドルされます
+ **応答**: レンダリングとデータ収集の準備ができた完全なパッケージが届きます。

**ユースケース**  

+ **事前認可ドキュメント**: 事前認可リクエストに必要な臨床情報を収集する
+ **カバレッジ要件**: 支払者カバレッジ要件を満たすために必要なドキュメントを収集する
+ **臨床データ交換**: 支払者に送信するための臨床データを構築する
+ **動的フォーム**: 事前入力された患者データと条件付きロジックを使用してアンケートをレンダリングする

## API エンドポイント
<a name="questionnaire-package-api-endpoint"></a>

```
POST /datastore/{datastoreId}/r4/Questionnaire/$questionnaire-package  
Content-Type: application/fhir+json
```

## リクエストパラメータ
<a name="questionnaire-package-request-parameters"></a>

### 入力パラメータ
<a name="questionnaire-package-input-parameters"></a>

リクエスト本文には、次のパラメータを含む FHIR Parameters リソースが含まれている必要があります。


| パラメータ | タイプ | カーディナリティ | 説明 | 
| --- | --- | --- | --- | 
| coverage | カバレッジ | 1..\$1 (必須) | ドキュメントのメンバーとカバレッジを確立するためのカバレッジリソース (複数可) | 
| questionnaire | canonical | 0..\$1 | 返す特定のアンケートの正規 URL (複数可) (バージョンを含む場合があります) | 
| order | [リソース]  | 0..\$1 | コンテキストを確立するためにリソース (DeviceRequest、ServiceRequest、MedicationRequest、Encounter、Appointment) を注文する | 
| changedSince | dateTime | 0..1 | 存在する場合、このタイムスタンプの後に変更されたリソースのみを返す | 

### パラメータ検証ルール
<a name="questionnaire-package-parameter-validation"></a>

**次のいずれかを指定する必要があります** (必須 に加えて`coverage`)。
+ 1 つ以上の`questionnaire`正規 URLs
+ 1 つ以上の`order`リソース

**有効なリクエストの組み合わせ:**  

+ `coverage` \$1 `questionnaire`
+ `coverage` \$1 `order`
+ `coverage` \$1 `questionnaire` \$1 `order`

## リクエスト例
<a name="questionnaire-package-example-request"></a>

```
POST /datastore/example-datastore/r4/Questionnaire/$questionnaire-package  
Content-Type: application/fhir+json  
Authorization: Bearer <your-token>  
  
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": {  
        "resourceType": "Coverage",  
        "id": "example-coverage",  
        "status": "active",  
        "beneficiary": {  
          "reference": "Patient/example-patient"  
        },  
        "payor": [{  
          "reference": "Organization/example-payer"  
        }],  
        "class": [{  
          "type": {  
            "coding": [{  
              "system": "http://terminology.hl7.org/CodeSystem/coverage-class",  
              "code": "group"  
            }]  
          },  
          "value": "12345"  
        }]  
      }  
    },  
    {  
      "name": "questionnaire",  
      "valueCanonical": "http://example.org/fhir/Questionnaire/home-oxygen-therapy|2.0"  
    },  
    {  
      "name": "order",  
      "resource": {  
        "resourceType": "ServiceRequest",  
        "id": "example-service-request",  
        "status": "active",  
        "intent": "order",  
        "code": {  
          "coding": [{  
            "system": "http://www.ama-assn.org/go/cpt",  
            "code": "94660",  
            "display": "Continuous positive airway pressure ventilation (CPAP)"  
          }]  
        },  
        "subject": {  
          "reference": "Patient/example-patient"  
        }  
      }  
    },  
    {  
      "name": "changedSince",  
      "valueDateTime": "2024-01-01T00:00:00Z"  
    }  
  ]  
}
```

## レスポンスの形式
<a name="questionnaire-package-response-format"></a>

### 成功レスポンス (200 OK)
<a name="questionnaire-package-success-response"></a>

オペレーションは、1 つ以上の**パッケージバンドル**を含む FHIR Parameters リソースを返します。各パッケージバンドルには以下が含まれます。


| エントリタイプ | カーディナリティ | 説明 | 
| --- | --- | --- | 
| アンケート | 1 | レンダリングするアンケート | 
| QuestionnaireResponse | 0..1 | 事前入力済みまたは部分的に完了したレスポンス (該当する場合) | 
| [Library] (ライブラリ) | 0..\$1 | 事前入力と条件付きロジックを含む CQL ライブラリ | 
| ValueSet | 0..\$1 | 拡張 ValueSets (<40 拡張の回答選択の場合) | 

**Example レスポンスの例**  

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "PackageBundle",  
      "resource": {  
        "resourceType": "Bundle",  
        "id": "questionnaire-package-example",  
        "meta": {  
          "profile": ["http://hl7.org/fhir/us/davinci-dtr/StructureDefinition/DTR-QPackageBundle"]  
        },  
        "type": "collection",  
        "timestamp": "2024-03-15T10:30:00Z",  
        "entry": [  
          {  
            "fullUrl": "http://example.org/fhir/Questionnaire/home-oxygen-therapy",  
            "resource": {  
              "resourceType": "Questionnaire",  
              "id": "home-oxygen-therapy",  
              "url": "http://example.org/fhir/Questionnaire/home-oxygen-therapy",  
              "version": "2.0",  
              "status": "active",  
              "title": "Home Oxygen Therapy Documentation",  
              "item": [  
                {  
                  "linkId": "1",  
                  "text": "Patient diagnosis",  
                  "type": "choice",  
                  "answerValueSet": "http://example.org/fhir/ValueSet/oxygen-diagnoses"  
                }  
              ]  
            }  
          },  
          {  
            "fullUrl": "http://example.org/fhir/Library/oxygen-prepopulation",  
            "resource": {  
              "resourceType": "Library",  
              "id": "oxygen-prepopulation",  
              "url": "http://example.org/fhir/Library/oxygen-prepopulation",  
              "version": "1.0",  
              "type": {  
                "coding": [{  
                  "system": "http://terminology.hl7.org/CodeSystem/library-type",  
                  "code": "logic-library"  
                }]  
              },  
              "content": [{  
                "contentType": "text/cql",  
                "data": "bGlicmFyeSBPeHlnZW5QcmVwb3B1bGF0aW9u..."  
              }]  
            }  
          },  
          {  
            "fullUrl": "http://example.org/fhir/ValueSet/oxygen-diagnoses",  
            "resource": {  
              "resourceType": "ValueSet",  
              "id": "oxygen-diagnoses",  
              "url": "http://example.org/fhir/ValueSet/oxygen-diagnoses",  
              "status": "active",  
              "expansion": {  
                "timestamp": "2024-03-15T10:30:00Z",  
                "contains": [  
                  {  
                    "system": "http://hl7.org/fhir/sid/icd-10",  
                    "code": "J44.0",  
                    "display": "COPD with acute lower respiratory infection"  
                  },  
                  {  
                    "system": "http://hl7.org/fhir/sid/icd-10",  
                    "code": "J96.01",  
                    "display": "Acute respiratory failure with hypoxia"  
                  }  
                ]  
              }  
            }  
          },  
          {  
            "fullUrl": "http://example.org/fhir/QuestionnaireResponse/example-prepopulated",  
            "resource": {  
              "resourceType": "QuestionnaireResponse",  
              "id": "example-prepopulated",  
              "questionnaire": "http://example.org/fhir/Questionnaire/home-oxygen-therapy|2.0",  
              "status": "in-progress",  
              "subject": {  
                "reference": "Patient/example-patient"  
              },  
              "basedOn": [{  
                "reference": "ServiceRequest/example-service-request"  
              }],  
              "item": [  
                {  
                  "linkId": "1",  
                  "text": "Patient diagnosis",  
                  "answer": [{  
                    "valueCoding": {  
                      "system": "http://hl7.org/fhir/sid/icd-10",  
                      "code": "J44.0",  
                      "display": "COPD with acute lower respiratory infection"  
                    }  
                  }]  
                }  
              ]  
            }  
          }  
        ]  
      }  
    },  
    {  
      "name": "Outcome",  
      "resource": {  
        "resourceType": "OperationOutcome",  
        "issue": [{  
          "severity": "information",  
          "code": "informational",  
          "details": {  
            "text": "Successfully retrieved questionnaire package"  
          }  
        }]  
      }  
    }  
  ]  
}
```

## オペレーションワークフロー
<a name="questionnaire-package-operation-workflow"></a>

**HealthLake がリクエストを処理する方法**  
を呼び出すと`$questionnaire-package`、HealthLake は次のステップを実行します。

1. **患者と支払い者を特定する**: `coverage`パラメータから患者と保険組織を抽出します。

1. **適切なアンケートを見つけます**。
   + ** パラメータ****の場合**`questionnaire`: 指定した正規 URL を使用します
   + ** パラメータ****付き**`order`: 注文コード (CPT/HCPCS/LOINC) と支払者を照合して、適切なアンケートを見つけます

1. **依存関係の収集**: アンケートのレンダリングに必要なすべてを自動的に取得します。
   + **CQL ライブラリ** - 事前入力と条件付き質問のロジック
   + **ValueSets** - 選択肢への回答 (<40 オプションの場合は自動的に展開)
   + **QuestionnaireResponse** - 進行中の既存のレスポンスまたは完了したレスポンス

1. **すべてをまとめてパッケージ**化:
   + すべてのリソースをバンドルします (各リソースは 1 回のみ含まれます)
   + 指定した場合の`changedSince`タイムスタンプによるフィルタリング
   + `Outcome` リソースがない場合に警告を に追加します

**結果**: レンダリング可能な完全で自己完結型のパッケージ。

## エラーレスポンス
<a name="questionnaire-package-error-responses"></a>

### 400 Bad Request
<a name="questionnaire-package-400-error"></a>

リクエストの検証が失敗したときに返されます。

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "required",  
    "details": {  
      "text": "At least one of 'questionnaire' or 'order' must be provided along with 'coverage'"  
    }  
  }]  
}
```

### 424 失敗した依存関係
<a name="questionnaire-package-424-error"></a>

依存リソースを取得できない場合に返されます。

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "warning",  
    "code": "not-found",  
    "details": {  
      "text": "Referenced Library 'http://example.org/fhir/Library/missing-library' could not be retrieved"  
    }  
  }]  
}
```

### 401 Unauthorized
<a name="questionnaire-package-401-error"></a>

認証情報がないか無効である場合に返されます。

### 403 Forbidden
<a name="questionnaire-package-403-error"></a>

認証されたユーザーに、リクエストされたリソースへのアクセス許可がない場合に返されます。

### 406 使用できません
<a name="questionnaire-package-406-error"></a>

リクエストされたコンテンツタイプを指定できない場合に返されます。

### 409 Conflict
<a name="questionnaire-package-409-error"></a>

バージョンまたは同時実行の競合がある場合に返されます。

### 410 終了
<a name="questionnaire-package-410-error"></a>

リクエストされたリソースが完全に削除されたときに返されます。

### 429 Too Many Requests
<a name="questionnaire-package-429-error"></a>

レート制限を超えたときに返されます。

### 500 Internal Server Error
<a name="questionnaire-package-500-error"></a>

予期しないサーバーエラーが発生した場合に返されます。

### 501 未実装
<a name="questionnaire-package-501-error"></a>

リクエストされたオペレーションがまだ実装されていない場合に返されます。

## 検証ルール
<a name="questionnaire-package-validation-rules"></a>

### 入力の検証
<a name="questionnaire-package-input-validation"></a>
+ `coverage` パラメータ**は必須です** (1..\$1 基数)
+ 少なくとも 1 つの `questionnaire`または を指定`order`する必要があります
+ すべてのカバレッジリソースは有効な FHIR リソースである必要があります
+ すべての注文リソースは有効な FHIR リソースである必要があります
+ 正規 URLs適切にフォーマットする必要があります
+ `changedSince` は有効な ISO 8601 dateTime である必要があります

### QuestionnaireResponse の検証
<a name="questionnaire-package-response-validation"></a>
+ `status` は適切である必要があります (`in-progress`、`completed`、`amended`)
+ 構造は参照されるアンケートと一致する必要があります
+ `basedOn` は有効な注文リソースを参照する必要があります
+ `subject` は有効な患者リソースを参照する必要があります

### リソース重複排除
<a name="questionnaire-package-resource-dedup"></a>
+ 各リソースはバンドルに 1 回のみ表示されます。
+ 例外: 同じリソースの異なるバージョンの両方が含まれる場合があります
+ リソースは正規 URL とバージョンによって識別されます

## パフォーマンス仕様
<a name="questionnaire-package-performance-specs"></a>


| メトリクス |  の仕様 | 
| --- | --- | 
| リソース数の制限 | バンドルあたり 500 リソース | 
| バンドルサイズ制限 | 最大 5 MB | 

## 必要なアクセス許可
<a name="questionnaire-package-required-permissions"></a>

`$questionnaire-package` オペレーションを使用するには、IAM ロールに次のものがあることを確認します。
+ `healthlake:QuestionnairePackage` - オペレーションを呼び出すには
+ `healthlake:ReadResource` - アンケートと依存リソースを取得するには
+ `healthlake:SearchWithPost` - QuestionnaireResponse および関連リソースを検索するには

**FHIR スコープでの SMART**  
**最低限必要なスコープ:**
+ **SMART v1**: `user/Questionnaire.read user/Library.read user/ValueSet.read user/QuestionnaireResponse.read`
+ **SMART v2**: `user/Questionnaire.rs user/Library.rs user/ValueSet.rs user/QuestionnaireResponse.rs`

## 重要な実装上の注意事項
<a name="questionnaire-package-implementation-notes"></a>

### リソース取得戦略
<a name="questionnaire-package-retrieval-strategy"></a>

**アンケート識別の優先度:**  

+ **正規 URL** (`questionnaire`パラメータが指定されている場合) - 最高優先度
+ **注文分析** ( `order` パラメータが指定されている場合):
  + 注文コード (CPT、HCPCS、LOINC) を支払い医療ポリシーと照合する
  + カバレッジ支払者を使用して支払者固有のアンケートをフィルタリングする
  + 追加のコンテキストの理由コードを検討する

### 依存関係の解決
<a name="questionnaire-package-dependency-resolution"></a>

**CQL ライブラリ:**  

+ アンケートリソースの `cqf-library` 拡張機能を介して取得
+ 依存ライブラリを タイプ`Library.relatedArtifact`で再帰的に取得する `depends-on`
+ すべてのライブラリの依存関係がパッケージに含まれています

**ValueSets:**  

+ 40 未満の概念が含まれている場合、自動的に拡張されます
+ より大きな ValueSets は拡張なしで含まれます
+ アンケートリソースとライブラリリソースの両方で参照される ValueSets が含まれています

### QuestionnaireResponse の事前入力
<a name="questionnaire-package-prepopulation"></a>

オペレーションは、次の場合に事前入力されたデータを含む QuestionnaireResponse を返す場合があります。
+ 既存の進行中または完了したレスポンスが見つかった
+ 関連するライブラリの CQL ロジックは、患者レコードからデータを抽出できます
+ レスポンスが関連する注文とカバレッジにリンクされている

**QuestionnaireResponse の検索条件:**  



| 検索パラメータ | FHIR パス | 説明 | 
| --- | --- | --- | 
| based-on | QuestionnaireResponse.basedOn | ServiceRequest または CarePlan へのリンク | 
| patient | QuestionnaireResponse.subject | 対象である患者 | 
| questionnaire | QuestionnaireResponse.questionnaire | 回答中のアンケート | 

### 変更されたリソースのフィルタリング
<a name="questionnaire-package-changed-filtering"></a>

`changedSince` パラメータが指定されている場合:
+ 指定されたタイムスタンプ**後に**変更されたリソースのみが含まれます
+ リソースが変更されていない場合、 は空のパッケージ`200 OK`で を返します。
+ 増分更新とキャッシュ戦略に役立ちます
+ タイムスタンプ比較でリソース`meta.lastUpdated`フィールドを使用する

### 複数のパッケージバンドル
<a name="questionnaire-package-multiple-bundles"></a>

オペレーションは、次の場合に**複数のパッケージバンドル**を返す場合があります。
+ 正規 URLs
+ 複数の注文で異なるアンケートが必要
+ 同じアンケートの異なるバージョンが適用される

各パッケージバンドルは、必要なすべての依存関係を含む自己完結型です。

## 一般的なユースケース
<a name="questionnaire-package-common-use-cases"></a>

### ユースケース 1: 事前承認ドキュメント
<a name="questionnaire-package-use-case-1"></a>

**シナリオ**: プロバイダーは、住宅用人工鼻の事前認可に関するドキュメントを収集する必要があります。

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Patient's insurance coverage */ }  
    },  
    {  
      "name": "order",  
      "resource": {  
        "resourceType": "ServiceRequest",  
        "code": {  
          "coding": [{  
            "system": "http://www.ama-assn.org/go/cpt",  
            "code": "94660"  
          }]  
        }  
      }  
    }  
  ]  
}
```

**結果**: EHR から患者のバイタルと診断コードがあらかじめ入力されている、O2 度治療用アンケートを含むパッケージを返します。

### ユースケース 2: 特定のアンケートバージョンを取得する
<a name="questionnaire-package-use-case-2"></a>

**シナリオ**: コンプライアンスのためにプロバイダーに特定のバージョンのアンケートが必要です。

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Coverage resource */ }  
    },  
    {  
      "name": "questionnaire",  
      "valueCanonical": "http://example.org/fhir/Questionnaire/dme-request|3.1.0"  
    }  
  ]  
}
```

**結果**: すべての依存関係を持つ DME リクエストアンケートのバージョン 3.1.0 を正確に返します。

### ユースケース 3: 更新を確認する
<a name="questionnaire-package-use-case-3"></a>

**シナリオ**: プロバイダーは、前回の取得以降に更新されたアンケートリソースがあるかどうかを確認したいと考えています。

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Coverage resource */ }  
    },  
    {  
      "name": "questionnaire",  
      "valueCanonical": "http://example.org/fhir/Questionnaire/medication-request"  
    },  
    {  
      "name": "changedSince",  
      "valueDateTime": "2024-03-01T00:00:00Z"  
    }  
  ]  
}
```

**結果**: 2024 年 3 月 1 日以降に変更されたリソースのみ、または何も変更されていない場合は空のパッケージを返します。

### ユースケース 4: 複数の注文
<a name="questionnaire-package-use-case-4"></a>

**シナリオ**: プロバイダーは、異なるアンケートを必要とする可能性のある複数のサービスリクエストを送信します。

```
{  
  "resourceType": "Parameters",  
  "parameter": [  
    {  
      "name": "coverage",  
      "resource": { /* Coverage resource */ }  
    },  
    {  
      "name": "order",  
      "resource": { /* ServiceRequest for imaging */ }  
    },  
    {  
      "name": "order",  
      "resource": { /* ServiceRequest for DME */ }  
    }  
  ]  
}
```

**結果**: 該当するアンケートごとに 1 つずつ、複数のパッケージバンドルを返します。

## 他の Da Vinci IGs との統合
<a name="questionnaire-package-integration"></a>

### カバレッジ要件検出 (CRD)
<a name="questionnaire-package-crd-integration"></a>

**ワークフロー統合:**  

+ プロバイダーが EHR でサービスを注文する
+ CRD フックの起動、カバレッジ要件の確認
+ 支払者がドキュメントが必要であることを示す応答
+ プロバイダーが `$questionnaire-package`を呼び出してドキュメントフォームを取得する
+ プロバイダーがアンケートを完了する
+ ドキュメントが PAS または CDex 経由で送信される

### 事前認可サポート (PAS)
<a name="questionnaire-package-pas-integration"></a>

**ワークフロー統合:**  

+ `$questionnaire-package` を使用してドキュメント要件を取得する
+ 必要な臨床データを使用して QuestionnaireResponse を完了する
+ 記入済みの QuestionnaireResponse `Claim/$submit` で を使用して事前認可を送信する
+ を使用してステータスを確認する `Claim/$inquire`

### 臨床データ交換 (CDex)
<a name="questionnaire-package-cdex-integration"></a>

**ワークフロー統合:**  

+ 支払者がクレームの追加ドキュメントをリクエストする
+ プロバイダーが `$questionnaire-package`を使用して構造化データ収集フォームを取得する
+ プロバイダーが QuestionnaireResponse を完了する
+ ドキュメントは CDex アタッチメントワークフローを介して支払者に送信されます

## トラブルシューティングガイド
<a name="questionnaire-package-troubleshooting"></a>

### 問題: アンケートが返されない
<a name="questionnaire-package-no-questionnaire"></a>

**考えられる原因:**  

+ 正規 URL がデータストア内のアンケートと一致しません
+ 注文コードが支払者の医療ポリシーのアンケートにマッピングされない
+ カバレッジ支払者にアンケートが関連付けられていない

**解決方法:**  

+ 正規 URL が正しく、アンケートが存在することを確認する
+ 注文コード (CPT/HCPCS) が正しく指定されていることを確認します。
+ 支払者の組織にアンケートが設定されていることを確認します。

### 問題: パッケージに依存関係がない
<a name="questionnaire-package-missing-dependencies"></a>

**考えられる原因:**  

+ 参照ライブラリまたは ValueSet がデータストアに存在しません
+ ライブラリ参照が壊れているか正しくない
+ ValueSet の拡張に失敗しました

**解決方法:**  

+ 不足しているリソースに関する警告については、 `Outcome`パラメータを確認してください。
+ 参照されるすべてのリソースがデータストアに存在することを確認する
+ ValueSet URLs が正しく解決可能であることを確認する

### 問題: changedSince のパッケージが空
<a name="questionnaire-package-empty-package"></a>

**考えられる原因:**  

+ これは予想される動作です - 指定されたタイムスタンプ以降にリソースが変更されていません

**解決方法:**  

+ キャッシュされたバージョンのパッケージを使用する
+ `changedSince` パラメータを削除して完全なパッケージを取得する

### 問題: QuestionnaireResponse が事前に入力されていません
<a name="questionnaire-package-not-prepopulated"></a>

**考えられる原因:**  

+ 既存の QuestionnaireResponse が見つかりません
+ CQL ライブラリロジックが必要なデータを抽出できませんでした
+ 患者データが欠落しているか不完全である

**解決方法:**  

+ これは想定されている場合があります。すべてのアンケートに事前入力ロジックがあるわけではありません。
+ データストアに患者データが存在することを確認する
+ データ抽出要件について CQL ライブラリロジックを確認する

## ベストプラクティス
<a name="questionnaire-package-best-practices"></a>

### 1. バージョンで正規 URLs を使用する
<a name="questionnaire-package-bp-versions"></a>

特定のアンケートをリクエストするときは、常にバージョン番号を指定します。

```
{  
  "name": "questionnaire",  
  "valueCanonical": "http://example.org/fhir/Questionnaire/dme|2.1.0"  
}
```

**理由**: 一貫性を確保し、アンケートが更新されたときの予期しない変更を防ぎます。

### 2. changedSince for Performance を活用する
<a name="questionnaire-package-bp-changed-since"></a>

頻繁にアクセス`changedSince`されるアンケートの場合は、 を使用してデータ転送を最小限に抑えます。

```
{  
  "name": "changedSince",  
  "valueDateTime": "2024-03-10T15:30:00Z"  
}
```

**理由**: 更新されたリソースのみを取得することで、レイテンシーと帯域幅の使用量を削減します。

### 3. 完全なカバレッジ情報を含める
<a name="questionnaire-package-bp-coverage"></a>

アンケートを正しく選択できるように、包括的なカバレッジの詳細を提供します。

```
{  
  "name": "coverage",  
  "resource": {  
    "resourceType": "Coverage",  
    "beneficiary": { "reference": "Patient/123" },  
    "payor": [{ "reference": "Organization/payer-abc" }],  
    "class": [{ /* Group/plan information */ }]  
  }  
}
```

**理由**: HealthLake が支払者固有のアンケートと要件を特定するのに役立ちます。

## 関連の オペレーション
<a name="questionnaire-package-related-operations"></a>
+ `Claim/$submit` - 完成したドキュメントを使用して事前承認リクエストを送信する
+ `Claim/$inquire` - 送信された事前認可のステータスを確認する
+ `ValueSet/$expand` - ValueSets を展開して回答を選択する

# HealthLake の FHIR `$submit`オペレーション
<a name="reference-fhir-operations-submit"></a>

`$submit` オペレーションを使用すると、事前承認リクエストを支払者に送信して承認を受けることができます。このオペレーションでは、[Da Vinci 事前認可サポート (PAS) 実装ガイド](https://hl7.org/fhir/us/davinci-pas/)を実装し、事前認可送信用の標準化された FHIR ベースのワークフローを提供します。

## 仕組み
<a name="submit-how-it-works"></a>
+ **送信**: 以前の承認リクエストとサポートする臨床データを含む FHIR バンドルを送信する
+ **検証**: HealthLake は PAS 要件に照らして送信を検証します
+ **永続**化: すべてのリソースが HealthLake データストアに保存されます。
+ **応答: **「キューに入れられた」ステータスの即時応答を受け取ります。
+ **プロセス**: 承認決定は支払者によって非同期的に処理されます

## API エンドポイント
<a name="submit-api-endpoint"></a>

```
POST /datastore/{datastoreId}/r4/Claim/$submit  
Content-Type: application/fhir+json
```

## リクエスト構造
<a name="submit-request-structure"></a>

### バンドルの要件
<a name="submit-bundle-requirements"></a>

リクエストは、以下を含む FHIR Bundle リソースである必要があります。
+ **Bundle.type**: である必要があります `"collection"`
+ **Bundle.entry**: で 1 **つの**クレームリソースのみを含める必要があります `use = "preauthorization"`
+ **参照リソース**: クレームによって参照されるすべてのリソースをバンドルに含める必要があります

### 必要なリソース
<a name="submit-required-resources"></a>


| [リソース]  | カーディナリティ | プロファイル | 説明 | 
| --- | --- | --- | --- | 
| クレーム | 1 | PAS クレーム | 以前の認可リクエスト | 
| 患者 | 1 | PAS 患者 | 患者の人口統計情報 | 
| 組織 (保険者) | 1 | PAS 保険会社 | 保険会社 | 
| 組織 (プロバイダー) | 1 | PAS リクエスタ | リクエストを送信する医療プロバイダー | 
| カバレッジ | 1 つ以上 | PAS カバレッジ | 保険範囲の詳細 | 

### オプションのリソース
<a name="submit-optional-resources"></a>


| [リソース]  | カーディナリティ | プロファイル | 説明 | 
| --- | --- | --- | --- | 
| プラクティショナー | 0 以上 | PAS プラクティショナー | 医療関係者 | 
| PractitionerRole | 0 以上 | PAS PractitionerRole | プラクティショナーロール | 
| ServiceRequest | 0 以上 | PAS ServiceRequest | リクエストされた医療サービス | 
| DeviceRequest | 0 以上 | PAS DeviceRequest | リクエストされた医療デバイス | 
| MedicationRequest | 0 以上 | PAS MedicationRequest | リクエストされた薬剤 | 
| DocumentReference | 0 以上 | PAS DocumentReference | サポートされている臨床ドキュメント | 

## リクエスト例
<a name="submit-example-request"></a>

```
POST /datastore/example-datastore/r4/Claim/$submit  
Content-Type: application/fhir+json  
Authorization: Bearer <your-token>  
  
{  
  "resourceType" : "Bundle",  
  "id" : "MedicalServicesAuthorizationBundleExample",  
  "meta" : {  
    "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-pas-request-bundle"]  
  },  
  "identifier" : {  
    "system" : "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER",  
    "value" : "5269367"  
  },  
  "type" : "collection",  
  "timestamp" : "2005-05-02T11:01:00+05:00",  
  "entry" : [{  
    "fullUrl" : "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample",  
    "resource" : {  
      "resourceType" : "Claim",  
      "id" : "MedicalServicesAuthorizationExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim"]  
      },  
      "identifier" : [{  
        "system" : "http://example.org/PATIENT_EVENT_TRACE_NUMBER",  
        "value" : "111099"   
      }],  
      "status" : "active",  
      "type" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/claim-type",  
          "code" : "professional"  
        }]  
      },  
      "use" : "preauthorization",  
      "patient" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "created" : "2005-05-02T11:01:00+05:00",  
      "insurer" : {  
        "reference" : "Organization/InsurerExample"  
      },  
      "provider" : {  
        "reference" : "Organization/UMOExample"  
      },  
      "priority" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/processpriority",  
          "code" : "normal"  
        }]  
      },  
      "insurance" : [{  
        "sequence" : 1,  
        "focal" : true,  
        "coverage" : {  
          "reference" : "Coverage/InsuranceExample"  
        }  
      }],  
      "item" : [{  
        "extension" : [{  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-serviceItemRequestType",  
          "valueCodeableConcept" : {  
            "coding" : [{  
              "system" : "https://codesystem.x12.org/005010/1525",  
              "code" : "IN",  
              "display" : "Initial Medical Services Reservation"  
            }]  
          }  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-certificationType",  
          "valueCodeableConcept" : {  
            "coding" : [{  
              "system" : "https://codesystem.x12.org/005010/1322",  
              "code" : "I",  
              "display" : "Initial"  
            }]  
          }  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-authorizationNumber",  
          "valueString" : "1122344"  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-administrationReferenceNumber",  
          "valueString" : "33441122"  
        }],  
        "sequence" : 1,  
        "category" : {  
          "coding" : [{  
            "system" : "https://codesystem.x12.org/005010/1365",  
            "code" : "1",  
            "display" : "Medical Care"  
          }]  
        },  
        "productOrService" : {  
          "coding" : [{  
            "system" : "http://www.cms.gov/Medicare/Coding/HCPCS​ReleaseCodeSets",  
            "code" : "99212",  
            "display" : "Established Office Visit"  
          }]  
        },  
        "servicedDate" : "2005-05-10",  
        "locationCodeableConcept" : {  
          "coding" : [{  
            "system" : "https://www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set",  
            "code" : "11"  
          }]  
        }  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Organization/UMOExample",  
    "resource" : {  
      "resourceType" : "Organization",  
      "id" : "UMOExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor"]  
      },  
      "identifier" : [{  
        "system" : "http://hl7.org/fhir/sid/us-npi",  
        "value" : "8189991234"  
      }],  
      "active" : true,  
      "type" : [{  
        "coding" : [{  
          "system" : "https://codesystem.x12.org/005010/98",  
          "code" : "X3"  
        }]  
      }],  
      "name" : "DR. JOE SMITH CORPORATION",  
      "address" : [{  
        "line" : ["111 1ST STREET"],  
        "city" : "SAN DIEGO",  
        "state" : "CA",  
        "postalCode" : "92101",  
        "country" : "US"  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Organization/InsurerExample",  
    "resource" : {  
      "resourceType" : "Organization",  
      "id" : "InsurerExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer"]  
      },  
      "identifier" : [{  
        "system" : "http://hl7.org/fhir/sid/us-npi",  
        "value" : "1234567893"  
      }],  
      "active" : true,  
      "type" : [{  
        "coding" : [{  
          "system" : "https://codesystem.x12.org/005010/98",  
          "code" : "PR"  
        }]  
      }],  
      "name" : "MARYLAND CAPITAL INSURANCE COMPANY"  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Coverage/InsuranceExample",  
    "resource" : {  
      "resourceType" : "Coverage",  
      "id" : "InsuranceExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-coverage"]  
      },  
      "status" : "active",  
      "subscriberId" : "1122334455",  
      "beneficiary" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "relationship" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/subscriber-relationship",  
          "code" : "self"  
        },  
        {  
          "system" : "https://codesystem.x12.org/005010/1069",  
          "code" : "18"  
        }]  
      },  
      "payor" : [{  
        "reference" : "Organization/InsurerExample"  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Patient/SubscriberExample",  
    "resource" : {  
      "resourceType" : "Patient",  
      "id" : "SubscriberExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-subscriber"]  
      },  
      "extension" : [{  
        "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-militaryStatus",  
        "valueCodeableConcept" : {  
          "coding" : [{  
            "system" : "https://codesystem.x12.org/005010/584",  
            "code" : "RU"  
          }]  
        }  
      }],  
      "identifier" : [{  
        "type" : {  
          "coding" : [{  
            "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",  
            "code" : "MB"  
          }]  
        },  
        "system" : "http://example.org/MIN",  
        "value" : "12345678901"  
      }],  
      "name" : [{  
        "family" : "SMITH",  
        "given" : ["JOE"]  
      }],  
      "gender" : "male"  
    }  
  }]  
}
```

## レスポンスの形式
<a name="submit-response-format"></a>

### 成功レスポンス (200 OK)
<a name="submit-success-response"></a>

以下を含む PAS レスポンスバンドルが届きます。
+ `outcome: "queued"` と を使用した **ClaimResponse** `status: "active"`
+ リクエストのすべての元のリソース
+ 受信を確認するタイムスタンプ

```
{  
  "resourceType" : "Bundle",  
  "identifier": {  
        "system": "http://example.org/SUBMITTER_TRANSACTION_IDENTIFIER",  
        "value": "5269367"  
  },  
  "type" : "collection",  
  "timestamp" : "2005-05-02T11:02:00+05:00",  
  "entry" : [{  
    "fullUrl" : "http://example.org/fhir/ClaimResponse/PractitionerRequestorPendingResponseExample",  
    "resource" : {  
      "resourceType" : "ClaimResponse",  
      "id" : "PractitionerRequestorPendingResponseExample",  
      "meta" : {  
        "profile" : ["http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claimresponse"]  
      },  
      "identifier" : [{  
        "system" : "http://example.org/PATIENT_EVENT_TRACE_NUMBER",  
        "value" : "111099"  
      }],  
      "status" : "active",  
      "type" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/claim-type",  
          "code" : "professional"  
        }]  
      },  
      "use" : "preauthorization",  
      "patient" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "created" : "2005-05-02T11:02:00+05:00",  
      "insurer" : {  
        "reference" : "Organization/InsurerExample"  
      },  
      "requestor" : {  
        "reference" : "PractitionerRole/ReferralPractitionerRoleExample"  
      },  
      "request" : {  
        "reference" : "Claim/MedicalServicesAuthorizationExample"  
      },  
      "outcome" : "queued"  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Claim/MedicalServicesAuthorizationExample",  
    "resource" : {  
      "resourceType" : "Claim",  
      "id" : "MedicalServicesAuthorizationExample",  
      "meta" : {  
        "profile": [  
            "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim",  
            "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim|2.1.0"  
        ]  
      },  
      "identifier" : [{  
        "system" : "http://example.org/PATIENT_EVENT_TRACE_NUMBER",  
        "value" : "111099"  
        }  
      }],  
      "status" : "active",  
      "type" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/claim-type",  
          "code" : "professional"  
        }]  
      },  
      "use" : "preauthorization",  
      "patient" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "created" : "2005-05-02T11:01:00+05:00",  
      "insurer" : {  
        "reference" : "Organization/InsurerExample"  
      },  
      "provider" : {  
        "reference" : "Organization/UMOExample"  
      },  
      "priority" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/processpriority",  
          "code" : "normal"  
        }]  
      },  
      "insurance" : [{  
        "sequence" : 1,  
        "focal" : true,  
        "coverage" : {  
          "reference" : "Coverage/InsuranceExample"  
        }  
      }],  
      "item" : [{  
        "extension" : [{  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-serviceItemRequestType",  
          "valueCodeableConcept" : {  
            "coding" : [{  
              "system" : "https://codesystem.x12.org/005010/1525",  
              "code" : "IN",  
              "display" : "Initial Medical Services Reservation"  
            }]  
          }  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-certificationType",  
          "valueCodeableConcept" : {  
            "coding" : [{  
              "system" : "https://codesystem.x12.org/005010/1322",  
              "code" : "I",  
              "display" : "Initial"  
            }]  
          }  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-authorizationNumber",  
          "valueString" : "1122344"  
        },  
        {  
          "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-administrationReferenceNumber",  
          "valueString" : "33441122"  
        }],  
        "sequence" : 1,  
        "category" : {  
          "coding" : [{  
            "system" : "https://codesystem.x12.org/005010/1365",  
            "code" : "1",  
            "display" : "Medical Care"  
          }]  
        },  
        "productOrService" : {  
          "coding" : [{  
            "system" : "http://www.cms.gov/Medicare/Coding/HCPCS​ReleaseCodeSets",  
            "code" : "99212",  
            "display" : "Established Office Visit"  
          }]  
        },  
        "servicedDate" : "2005-05-10",  
        "locationCodeableConcept" : {  
          "coding" : [{  
            "system" : "https://www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set",  
            "code" : "11"  
          }]  
        }  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Organization/UMOExample",  
    "resource" : {  
      "resourceType" : "Organization",  
      "id" : "UMOExample",  
      "meta" : {  
        "profile": [  
            "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor",  
            "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-requestor|2.1.0"  
        ]  
      },  
      "identifier" : [{  
        "system" : "http://hl7.org/fhir/sid/us-npi",  
        "value" : "8189991234"  
      }],  
      "active" : true,  
      "type" : [{  
        "coding" : [{  
          "system" : "https://codesystem.x12.org/005010/98",  
          "code" : "X3"  
        }]  
      }],  
      "name" : "DR. JOE SMITH CORPORATION",  
      "address" : [{  
        "line" : ["111 1ST STREET"],  
        "city" : "SAN DIEGO",  
        "state" : "CA",  
        "postalCode" : "92101",  
        "country" : "US"  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Organization/InsurerExample",  
    "resource" : {  
      "resourceType" : "Organization",  
      "id" : "InsurerExample",  
      "meta" : {  
           "profile": [  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer",  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-insurer|2.1.0"  
            ]  
      },  
      "identifier" : [{  
        "system" : "http://hl7.org/fhir/sid/us-npi",  
        "value" : "1234567893"  
      }],  
      "active" : true,  
      "type" : [{  
        "coding" : [{  
          "system" : "https://codesystem.x12.org/005010/98",  
          "code" : "PR"  
        }]  
      }],  
      "name" : "MARYLAND CAPITAL INSURANCE COMPANY"  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Coverage/InsuranceExample",  
    "resource" : {  
      "resourceType" : "Coverage",  
      "id" : "InsuranceExample",  
      "meta": {  
            "profile": [  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-coverage",  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-coverage|2.1.0"  
            ]  
        },  
      "status" : "active",  
      "subscriberId" : "1122334455",  
      "beneficiary" : {  
        "reference" : "Patient/SubscriberExample"  
      },  
      "relationship" : {  
        "coding" : [{  
          "system" : "http://terminology.hl7.org/CodeSystem/subscriber-relationship",  
          "code" : "self"  
        },  
        {  
          "system" : "https://codesystem.x12.org/005010/1069",  
          "code" : "18"  
        }]  
      },  
      "payor" : [{  
        "reference" : "Organization/InsurerExample"  
      }]  
    }  
  },  
  {  
    "fullUrl" : "http://example.org/fhir/Patient/SubscriberExample",  
    "resource" : {  
      "resourceType" : "Patient",  
      "id" : "SubscriberExample",  
      "meta": {  
            "profile": [  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-subscriber",  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary",  
                "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary|2.1.0"  
            ]  
        },  
      "extension" : [{  
        "url" : "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-militaryStatus",  
        "valueCodeableConcept" : {  
          "coding" : [{  
            "system" : "https://codesystem.x12.org/005010/584",  
            "code" : "RU"  
          }]  
        }  
      }],  
      "identifier" : [{  
        "type" : {  
          "coding" : [{  
            "system" : "http://terminology.hl7.org/CodeSystem/v2-0203",  
            "code" : "MB"  
          }]  
        },  
        "system" : "http://example.org/MIN",  
        "value" : "12345678901"  
      }],  
      "name" : [{  
        "family" : "SMITH",  
        "given" : ["JOE"]  
      }],  
      "gender" : "male"  
    }  
  }]  
}
```

## エラーレスポンス
<a name="submit-error-responses"></a>

### 400 Bad Request
<a name="submit-400-error"></a>

リクエスト形式が無効または形式が間違っている場合に返されます。

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "invalid",  
    "diagnostics": "The provided payload was invalid and could not be parsed correctly."  
  }]  
}
```

### 412 Precondition Failed
<a name="submit-412-error"></a>

同じ以前の承認リクエストがすでに送信されている場合 (重複した送信が検出された場合) に返されます。

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "processing",  
    "diagnostics": "PreAuth Claim already exists"  
  }]  
}
```

**べき等性**  
`$submit` オペレーションはべき等です。同じリクエストを複数回送信しても、以前の承認リクエストが重複することはありません。代わりに、 `$inquire`を使用して元の送信のステータスを確認するように指示する 412 エラーが表示されます。

### 422 未処理のエンティティ
<a name="submit-422-error"></a>

FHIR 検証が失敗したときに返されます。

```
{  
  "resourceType": "OperationOutcome",  
  "issue": [{  
    "severity": "error",  
    "code": "required",  
    "diagnostics": "Bundle contains more than one preauthorization claim"  
  }]  
}
```

## 検証ルール
<a name="submit-validation-rules"></a>

HealthLake は、送信に対して包括的な検証を実行します。

### バンドルの検証
<a name="submit-bundle-validation"></a>
+ PAS リクエストバンドルプロファイルに準拠する必要があります
+ `Bundle.type` は である必要があります `"collection"`
+ 複数のクレームリソースを含めることができます
+ ただし、 には、事前承認の使用を含むクレームリソースが 1 つだけ含まれている必要があります。
  + また、このクレームリソースはバンドルの最初のエントリである必要があります。
+ 参照されるすべてのリソースをバンドルに含める必要があります

### クレームの検証
<a name="submit-claim-validation"></a>
+ PAS クレームプロファイルに準拠する必要があります
+ `Claim.use` は である必要があります `"preauthorization"`
+ 必須フィールド: `patient`、`insurer`、`provider`、`created`、 `priority`
+ ビジネス識別子が存在し、有効である必要があります

### リソースの検証
<a name="submit-resource-validation"></a>
+ すべてのリソースは、それぞれの PAS プロファイルに準拠する必要があります
+ 必要なサポートリソースが存在する必要があります (学生、カバレッジ、組織)
+ クロスリファレンスは、バンドル内で有効で解決可能である必要があります

## パフォーマンス仕様
<a name="submit-performance-specs"></a>


| メトリクス |  の仕様 | 
| --- | --- | 
| バンドルサイズ制限 | 最大 5 MB | 
| リソース数の制限 | バンドルあたり 500 リソース | 

## 必要なアクセス許可
<a name="submit-required-permissions"></a>

`$submit` オペレーションを使用するには、FHIR で AWS Sigv4 または SMART のいずれかを使用できます。
+ IAM ロールに `healthlake:SubmitPreAuthClaim`- オペレーションを呼び出すには

**FHIR スコープでの SMART**  
**最低限必要なスコープ:**
+ **SMART v1**: `user/Claim.write & <all_resourceTypes_in_Bundle>.write`
+ **SMART v2**: `user/Claim.c & <all_resourceTypes_in_Bundle>.c or system/*.*`

## 重要な実装上の注意事項
<a name="submit-implementation-notes"></a>

### リソースの永続性
<a name="submit-resource-persistence"></a>
+ すべてのバンドルエントリは、データストア内の個々の FHIR リソースとして保持されます。
+ お客様が指定した IDs は、指定されたときに保持されます。
+ バージョン履歴は監査目的で維持されます
+ 重複検出によりリソースの競合を防止

### 処理動作
<a name="submit-processing-behavior"></a>
+ 有効な送信ごとに、`"queued"`結果を含む 1 つの ClaimResponse のみが生成されます。
+ 無効な送信は、詳細なエラー情報を含む 400 または 422 のステータスコードを返す
+ システムエラーが適切な 5xx ステータスコードを返す
+ すべての送信が成功すると、200 ステータスが返され、ClaimResponse が保留されます。

### バンドルの要件
<a name="submit-bundle-requirements-impl"></a>
+ `Bundle.entry.fullUrl` 値は REST URLs または`"urn:uuid:[guid]"`形式である必要があります
+ すべての GUIDs は送信間で一意である必要があります (同じリソースインスタンスを除く)
+ 参照されたリソースはバンドル内に存在するか、解決可能である必要があります

## 関連の オペレーション
<a name="submit-related-operations"></a>
+ `Claim/$inquire` - 送信された以前の承認リクエストのステータスをクエリする
+ `Patient/$everything` - 事前認可コンテキストの包括的な患者データを取得する

# を使用した FHIR リソースの検証 `$validate`
<a name="reference-fhir-operations-validate"></a>

AWS HealthLake は FHIR リソースの `$validate`オペレーションをサポートするようになりました。これにより、ストレージオペレーションを実行せずに、FHIR 仕様に照らしてリソースを検証し、指定されたプロファイルまたはベースリソース定義への準拠を確認できます。このオペレーションは、以下が必要な場合に特に役立ちます。
+ FHIR CMS コンプライアンス要件を検証する
+ 本番環境で使用する前にリソースをテストする
+ ユーザーが臨床データを編集するときに、リアルタイムの検証フィードバックを提供する
+ APIs を作成および更新するために無効なデータ送信を減らす

## 使用方法
<a name="validate-usage"></a>

`$validate` オペレーションは、POST メソッドを使用して FHIR リソースで呼び出すことができます。

**サポートされているオペレーション**  


```
POST [base]/[type]/[id]/$validate
POST [base]/[type]/$validate
```

## サポートされているペイロード
<a name="validate-payloads"></a>

**パラメータリソース**  


HealthLake は、次の FHIR `$validate`パラメータをサポートしています。


| パラメータ | タイプ | 必須 | 説明 | 
| --- | --- | --- | --- | 
| resource | [リソース]  | はい | 検証するリソース | 
| profile | canonical | 不可 | 検証するプロファイルの正規 URL | 
| mode | コード | 不可 | 検証モード: create、または update | 

**クエリパラメータを使用した直接リソース**  



| パラメータ | タイプ | 必須 | 説明 | 
| --- | --- | --- | --- | 
| profile | canonical | 不可 | 検証するプロファイルの正規 URL | 
| mode | コード | 不可 | 検証モード: create、または update | 

## 例
<a name="validate-examples"></a>

**ID およびパラメータペイロードを持つリソースの POST リクエスト**  


```
POST [base]/Patient/example-patient/$validate
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "resource",
      "resource": {
        "resourceType": "Patient",
        "id": "example-patient",
        "name": [
          {
            "family": "Smith",
            "given": ["John"]
          }
        ],
        "gender": "male",
        "birthDate": "1990-01-01"
      }
    },
    {
      "name": "profile",
      "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
    },
    {
      "name": "mode",
      "valueString": "create"
    }
  ]
}
```

**リソースタイプとパラメータペイロードの POST リクエスト**  


```
POST [base]/Patient/$validate
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "resource",
      "resource": {
        "resourceType": "Patient",
        "name": [
          {
            "family": "Doe",
            "given": ["Jane"]
          }
        ],
        "gender": "female",
        "birthDate": "1985-05-15"
      }
    },
    {
      "name": "profile",
      "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
    },
    {
      "name": "mode",
      "valueString": "update"
    }
  ]
}
```

**ID と直接リソースペイロードを持つリソースの POST リクエスト**  


```
POST [base]/Patient/example-patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json

{
    "resourceType": "Patient",
    "id": "example-patient",
    "name": [
        {
        "family": "Smith",
        "given": ["John"]
        }
    ],
    "gender": "male",
    "birthDate": "1990-01-01"
}
```

**リソースタイプと直接リソースペイロードの POST リクエスト**  


```
POST [base]/Patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json

{
    "resourceType": "Patient",
    "id": "example-patient",
    "name": [
        {
        "family": "Smith",
        "given": ["John"]
        }
    ],
    "gender": "male",
    "birthDate": "1990-01-01"
}
```

**レスポンス例**  
オペレーションは、検証結果を含む OperationOutcome リソースを返します。

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "information",
      "code": "informational",
      "diagnostics": "Validation successful"
    }
  ]
}
```

**検証エラーによるレスポンスの例**  


```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "required",
      "details": {
        "text": "Missing required element"
      },
      "diagnostics": "Patient.identifier is required by the US Core Patient profile",
      "location": [
        "Patient.identifier"
      ]
    },
    {
      "severity": "warning",
      "code": "code-invalid",
      "details": {
        "text": "Invalid code value"
      },
      "diagnostics": "The provided gender code is not from the required value set",
      "location": [
        "Patient.gender"
      ]
    }
  ]
}
```

## 行動
<a name="validate-behavior"></a>

`$validate` オペレーション:

1. FHIR 仕様とベースリソース定義に照らしてリソースを検証します

1. `profile` パラメータが指定されている場合、指定されたプロファイルへの準拠をチェックします

1. 指定されたモード (`create` または `update`) に基づいて検証します。

1. エラー、警告、情報メッセージなど、詳細な検証結果を返します。

1. ストレージオペレーションを実行しない - 検証のみ

1. 検証の問題が見つかったかどうかに関係なく、検証を実行できるときに HTTP 200 OK を返します

## 検証モード
<a name="validate-modes"></a>
+ **create**: 作成中であるかのようにリソースを検証します (新しいリソース)
+ **update**: リソースが更新されているかのように検証します (既存のリソース)

## エラー処理
<a name="validate-error-handling"></a>

オペレーションは以下を返します。
+ 200 OK: 検証が正常に実行されました (検証結果に関係なく)
+ 400 不正なリクエスト: 無効なリクエスト形式またはパラメータ
+ 404 Not Found: リソースタイプまたはプロファイルが見つかりません

`$validate` オペレーション仕様の詳細については、[FHIR R4 リソース`$validate`](https://www.hl7.org/fhir/R4/operation-resource-validate.html)ドキュメントを参照してください。