翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
$member-add HealthLake の オペレーション
FHIR $member-addオペレーションは、メンバー (患者) をグループリソース、特にメンバー属性リストに追加します。このオペレーションは DaVinci メンバー属性実装ガイドの一部であり、メンバー属性を管理するための調整プロセスをサポートしています。
オペレーションエンドポイント
POST [base]/datastore/{datastoreId}/r4/Group/{groupId}/$member-add Content-Type: application/json
パラメータ
オペレーションは、以下のパラメータの組み合わせを持つ FHIR Parameters リソースを受け入れます。
パラメータオプション
次のいずれかのパラメータの組み合わせを使用できます。
- オプション 1: メンバー ID + プロバイダー NPI
-
memberId+providerNpimemberId+providerNpi+attributionPeriod - オプション 2: 患者リファレンス + プロバイダーリファレンス
-
patientReference+providerReferencepatientReference+providerReference+attributionPeriod
パラメータの詳細
- 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" } }
リクエストの例
メンバー ID とプロバイダー NPI の使用
{ "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" } } ] }
患者とプロバイダーのリファレンスの使用
{ "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" } } ] }
レスポンスの形式
追加レスポンスの成功
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." } } ] }
エラーレスポンス
- 無効なリクエスト構文
-
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'." } } ] }
ビジネスルール
- 属性ステータスの検証
-
オペレーションは、グループの属性ステータスが次の場合にのみ実行できます。
draftopen
ステータスが の場合、オペレーションは許可されません
final。 - 重複メンバーの防止
-
システムは、次の一意の組み合わせに基づいて重複したメンバーを追加しないようにします。
メンバー識別子
支払者識別子
カバレッジ識別子
- カバレッジ期間の検証
-
attributionPeriodを指定する場合、メンバーのカバレッジ期間の範囲内にある必要があります。システムは以下を行います。メンバーのカバレッジリソースを検索する
複数の が存在する場合は、最新のカバレッジ (最高の versionId) を使用する
帰属期間がカバレッジ期間を超えないことを確認する
- リファレンスの検証
-
ID と参照の両方が同じリソース (患者またはプロバイダー) に提供されると、システムはそれらが同じリソースに対応していることを検証します。
ID フィールドと reference.identifier フィールドの両方が同じリソース (患者またはプロバイダー) に提供されると、エラーがスローされます。
認証と認可
オペレーションでは、以下に対して SMART on FHIR 認可が必要です。
読み取りアクセス許可 - 患者、プロバイダー、グループのリソースを検証するには
検索アクセス許可 - 識別子でリソースを検索するには
アクセス許可を更新する - グループリソースを変更するには
運用上の動作
- リソースの更新
-
グループリソースバージョン ID を更新します。
オペレーションの前に、元のリソース状態の履歴エントリを作成します。
以下を使用して Group.member 配列にメンバー情報を追加します。
entity.reference での患者リファレンス
期間の属性期間
拡張フィールドのカバレッジとプロバイダー情報
- 検証ステップ
-
パラメータの検証 - 有効なパラメータの組み合わせを確認します
リソースの存在 - 患者、プロバイダー、グループリソースが存在することを確認します
属性ステータス - グループステータスが変更を許可することを確認します
重複チェック - 既存のメンバーの追加を防止
カバレッジ検証 - アトリビューション期間がカバレッジ範囲内であることを確認します
制限
参照されるすべてのリソースは、同じデータストア内に存在する必要があります
オペレーションはメンバー属性リストグループのリソースでのみ機能します
アトリビューション期間はカバレッジ範囲内である必要があります
「最終」ステータスのグループは変更できません