HealthLake 的 FHIR R4 $davinci-data-export操作 - AWS HealthLake

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

HealthLake 的 FHIR R4 $davinci-data-export操作

$davinci-data-export 操作是一種非同步 FHIR 操作,可啟用從中匯出成員屬性清單資料 AWS HealthLake。此操作是標準 FHIR $export操作的特殊版本,專為符合 DaVinci 成員屬性 (ATR) 清單實作指南的要求而設計。

主要功能

  • 非同步處理:遵循標準 FHIR 非同步請求模式

  • 群組層級匯出:匯出特定屬性清單中成員的資料 (群組)

  • 專業資源處理:專注於與歸因相關的資源

  • 彈性篩選:支援依病患、資源類型和時間範圍進行篩選

  • NDJSON 輸出:以換行分隔的 JSON 格式提供資料

操作端點

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

請求參數

參數 基數 描述
病患 0..* 應匯出其資料的特定成員。省略時,會匯出群組中的所有成員
_類型 0..1 要匯出的以逗號分隔的 FHIR 資源類型清單
_since 0..1 僅包含在此日期/時間之後更新的資源
exportType 0..1 要執行的匯出類型 (預設:hl7.fhir.us.davinci-atr)

支援的資源類型

使用 _type 參數時,僅支援下列資源類型:

  • Group (分組)

  • 病患

  • 涵蓋範圍

  • RelatedPerson

  • 從業人員

  • PractitionerRole

  • 組織

  • 位置

請求範例

啟動匯出任務

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/example-group/$davinci-data-export?_type=Group,Patient,Coverage&exportType=hl7.fhir.us.davinci-atr or POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Group/example-group/$davinci-data-export?_type=Group,Patient,Coverage&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" } } }

回應範例

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

資源關係

操作會根據其在成員屬性清單中的關係匯出資源:

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

資源來源

資源 來源位置 描述
病患 Group.member.entity 屬於屬性清單成員的患者
涵蓋範圍 Group.member.extension:coverageReference 導致病患成員資格的涵蓋範圍
組織 Group.member.extension:attributedProvider 組織患者歸因於
從業人員 Group.member.extension:attributedProvider 個別從業人員患者歸因於
PractitionerRole Group.member.extension:attributedProvider 患者所屬的從業人員角色
RelatedPerson Coverage.subscriber 涵蓋範圍的訂閱者
位置 PractitionerRole.location 與從業人員角色相關聯的位置
Group (分組) 輸入端點 屬性清單本身

任務管理

檢查任務狀態

GET [base]/export/[job-id]

取消任務

DELETE [base]/export/[job-id]

任務生命週期

  • SUBMITTED - 已收到任務並排入佇列

  • IN_PROGRESS - 任務正在主動處理

  • COMPLETED - 任務成功完成,檔案可供下載

  • FAILED - 任務發生錯誤

輸出格式

  • 檔案格式:NDJSON (換行分隔 JSON)

  • 檔案組織:每個資源類型的個別檔案

  • 副檔名:.ndjson

  • 位置:指定的 S3 儲存貯體和路徑

錯誤處理

針對下列情況, 操作會傳回 HTTP 400 錯誤請求與 OperationOutcome:

授權錯誤
  • 無效或沒有足夠的資料存取許可

  • S3 儲存貯體存取問題

  • KMS 金鑰存取問題

參數驗證錯誤
  • patient 參數未格式化為「病患/id、病患/id、...」

  • 無效的患者參考或不屬於群組的患者

  • exportType hl7.fhir.us.davinci-atr 以外的值

  • _type 參數包含不支援的資源類型

  • _type 參數缺少 exportType of hl7.fhir.us.davinci-atr 所需的最低類型 (群組、病患、涵蓋範圍)

資源驗證錯誤
  • 請求的群組資源不存在

  • 群組有空的成員清單

  • 群組成員不參考有效的病患資源

安全性和授權

  • 適用標準 FHIR 授權機制

  • 用戶端必須具有群組和相關資源的適當讀取許可

  • 輸出位置所需的 S3 儲存貯體寫入許可

  • 如果指定加密,則需要 KMS 金鑰許可

最佳實務

  • 資源類型選擇:僅請求所需的資源類型,以將匯出大小和處理時間降至最低

  • 時間為基礎的篩選:使用_since參數進行增量匯出

  • 病患篩選:當您只需要特定成員的資料時,請使用 patient 參數

  • 任務監控:定期檢查大型匯出的任務狀態

  • 錯誤處理:針對失敗的任務實作適當的重試邏輯

限制

  • 參數中最多可指定 512 名病患 patient

  • 匯出僅限於群組層級操作

  • 僅支援一組預先定義的屬性相關資源類型

  • 輸出一律為 NDJSON 格式