本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新 FHIR 資源
FHIR update互動會為現有資源建立新的目前版本,如果指定的 尚不存在資源,則會建立初始版本id。如需詳細資訊,請參閱 FHIR R4 RESTful API 文件update
更新 FHIR 資源
-
收集 HealthLake
region和datastoreId值。如需詳細資訊,請參閱取得資料存放區屬性。 -
決定
Resource要更新並收集相關聯id值的 FHIR 類型。如需詳細資訊,請參閱資源類型。 -
使用 HealthLake
region和 的收集值來建構請求的 URLdatastoreId。同時包含 FHIRResource類型及其相關聯的id。若要在下列範例中檢視整個 URL 路徑,請捲動至複製按鈕。PUT https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id -
為請求建構
JSON內文,指定要進行的 FHIR 資料更新。基於此程序的目的,請將檔案儲存為update-patient.json。{ "id": "2de04858-ba65-44c1-8af1-f2fe69a977d9", "resourceType": "Patient", "active": true, "name": [ { "use": "official", "family": "Doe", "given": [ "Jane" ] }, { "use": "usual", "given": [ "Jane" ] } ], "gender": "female", "birthDate": "1985-12-31" } -
傳送 請求。FHIR
update互動使用具有AWS 簽章第 4 版或 FHIR 授權上的 SMART 的PUT請求。下列curl範例會更新 HealthLake 中的Patient資源。若要檢視整個範例,請捲動至複製按鈕。
根據條件更新 FHIR 資源
條件式更新可讓您根據某些識別搜尋條件更新現有資源,而不是透過邏輯 FHIR id。當伺服器處理更新時,它會針對 資源類型使用其標準搜尋功能執行搜尋,目標是解決請求id的單一邏輯。
伺服器採取的動作取決於找到多少相符項目:
-
沒有相符項目,未在請求內文
id中提供:伺服器會建立 FHIR 資源。 -
沒有相符項目,
id提供和資源尚不存在於id:伺服器會將互動視為更新為建立互動。 -
沒有相符項目,
id已提供且已存在:伺服器拒絕更新並顯示409 Conflict錯誤。 -
One Match,未
id提供資源 OR (id提供的資源,且與找到的資源相符):伺服器會針對相符的資源執行更新,如上所述,如果資源已更新,伺服器 SHALL 會傳回200 OK。 -
One Match,
id提供的資源,但不符合找到的資源:伺服器傳回409 Conflict錯誤,指出用戶端 ID 規格是 的問題OperationOutcome -
多個相符項目:伺服器傳回
412 Precondition Failed錯誤,指出用戶端的條件不夠選擇性,最好使用 OperationOutcome
下列範例會更新名稱為 peter Patient的資源,出生日期為 2000 年 1 月 1 日,電話號碼為 1234567890。
PUT https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?name=peter&birthdate=2000-01-01&phone=1234567890
設定資源更新的驗證層級
更新 FHIR 資源時,您可以選擇指定 x-amzn-healthlake-fhir-validation-level HTTP 標頭來設定資源的驗證層級。 AWS HealthLake 目前支援下列驗證層級:
-
strict:資源會根據資源的設定檔元素進行驗證,如果沒有設定檔,則為 R4 規格。這是 的預設驗證層級 AWS HealthLake。 -
structure-only:資源會根據 R4 驗證,忽略任何參考的設定檔。 -
minimal:最少驗證資源,忽略某些 R4 規則。搜尋/分析所需的結構檢查失敗的資源將更新為包含稽核警告。
使用最低驗證層級更新的資源可能會擷取至資料存放區,即使搜尋索引所需的驗證失敗。在這種情況下,資源將更新為包含 Healthlake 特定的延伸,以記錄上述失敗:
{ "url": "http://healthlake.amazonaws.com/fhir/StructureDefinition/validation-issue", "valueString": "{\"resourceType\":\"OperationOutcome\",\"issue\":[{\"severity\":\"error\",\"code\":\"processing\",\"details\":{\"text\":\"FHIR resource in payload failed FHIR validation rules.\"},\"diagnostics\":\"FHIR resource in payload failed FHIR validation rules.\"}]}" }
此外,以下 HTTP 回應標頭會包含在「true」的值中:
x-amzn-healthlake-validation-issues : true
注意
請注意,如果出現這些錯誤,根據 R4 規格格式不正確擷取的資料可能無法如預期搜尋。