本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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、...」無效的患者參考或不屬於群組的患者
exportTypehl7.fhir.us.davinci-atr 以外的值_type參數包含不支援的資源類型_type參數缺少 exportType of hl7.fhir.us.davinci-atr 所需的最低類型 (群組、病患、涵蓋範圍)
- 資源驗證錯誤
-
請求的群組資源不存在
群組有空的成員清單
群組成員不參考有效的病患資源
安全性和授權
適用標準 FHIR 授權機制
用戶端必須具有群組和相關資源的適當讀取許可
輸出位置所需的 S3 儲存貯體寫入許可
如果指定加密,則需要 KMS 金鑰許可
最佳實務
資源類型選擇:僅請求所需的資源類型,以將匯出大小和處理時間降至最低
以時間為基礎的篩選:使用
_since參數進行增量匯出病患篩選:當您只需要特定成員的資料時,請使用
patient參數任務監控:定期檢查大型匯出的任務狀態
錯誤處理:針對失敗的任務實作適當的重試邏輯
限制
參數中最多可指定 512 名病患
patient匯出僅限於群組層級操作
僅支援一組預先定義的屬性相關資源類型
輸出一律為 NDJSON 格式