本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
$member-add HealthLake 的 操作
FHIR $member-add操作會將成員 (病患) 新增至群組資源,特別是成員屬性清單。此操作是 DaVinci 成員屬性實作指南的一部分,並支援管理成員屬性的調校程序。
操作端點
POST [base]/datastore/{datastoreId}/r4/Group/{groupId}/$member-add Content-Type: application/json
Parameters
操作接受具有下列參數組合的 FHIR 參數資源:
參數選項
您可以使用下列其中一個參數組合:
- 選項 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
系統:https://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(選用)
-
病患歸因於提供者的期間。
類型:期間
{ "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 錯誤的請求
{ "resourceType": "OperationOutcome", "issue": [ { "severity": "error", "code": "invalid", "details": { "text": "Invalid parameter combination provided" } } ] } - 找不到資源
-
HTTP 狀態:找不到 404
{ "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 無法處理的實體
{ "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 欄位時,會擲回錯誤。
身分驗證與授權
此操作需要對下列項目進行 FHIR 上的 SMART 授權:
讀取許可 - 驗證患者、提供者和群組資源
搜尋許可 - 依識別符尋找資源
更新許可 - 修改群組資源
操作行為
- 資源更新
-
更新群組資源版本 ID
在操作之前建立具有原始資源狀態的歷史記錄項目
使用 新增成員資訊至 Group.member 陣列:
entity.reference 中的病患參考
以期間為單位的屬性期間
延伸欄位中的涵蓋範圍和提供者資訊
- 驗證步驟
-
參數驗證 - 確保有效的參數組合
資源存在 - 驗證存在的患者、提供者和群組資源
屬性狀態 - 確認群組狀態允許修改
重複檢查 - 防止新增現有成員
涵蓋範圍驗證 - 確保歸因期間在涵蓋範圍內
限制
所有參考的資源都必須存在於相同的資料存放區中
操作僅適用於成員屬性清單群組資源
屬性期間必須在涵蓋範圍內
無法修改具有「最終」狀態的群組