Cloud Healthcare API 中的 FHIR 儲存庫支援多個版本的快速醫療照護互通資源 (FHIR) 規格,這些規格是由 Health Level 7 International (HL7) 發布。
v1 API 支援下列版本:
- R5 5.0.0 版 (第 5 版)
- R4 4.0.1 版 (第 4 版)
- STU3 3.0.1 版 (第 3 版 - 試用標準)
- DSTU2 1.0.2 版 (草案試用標準)
建立 FHIR 儲存庫時,請將 FHIR 版本指定為 fhirStores.create 方法的參數。建立存放區後,就無法變更 FHIR 版本。
每個儲存庫的 API 介面都符合該儲存庫的 FHIR 版本。舉例來說,DSTU2 conformance 互動與 STU3 capabilities 互動不同,但兩者共用 /fhir/metadata REST 路徑,因此該路徑會根據儲存庫的 FHIR 版本傳回不同的回應。
如果不會造成不相容問題,較舊 FHIR 版本的儲存庫也能使用較新 FHIR 版本新增的功能。舉例來說,即使互動是從 STU3 開始定義,DSTU2 商店仍可使用該互動。patch
依據 FHIR 版本列出的 v1 API 支援功能詳細資料
R5
伺服器的功能陳述式會指出支援的規格部分。
- 儲存及擷取所有 R5 資源,包括支援擴充元素。API 可接受、儲存及傳回任何資料元素的擴充功能。
- 系統支援 RESTful API 中使用 JSON 內容類型的所有方法,但下列方法除外:
- 系統不支援類型層級和系統層級的記錄互動,這類互動會擷取多個資源的記錄。一次只能擷取一項資源的資源記錄。
- 「批次/交易」互動不支援在套件內進行搜尋作業。
- 支援設定檔驗證和強制執行。
- v1beta1 API 支援使用者定義的搜尋參數,包括搜尋擴充功能元素。
支援所有搜尋功能,但下列功能除外:
- 系統不支援搜尋參數
Group-characteristic-value、Location-near、Location-contains、DocumentReference-relationship、Bundle-composition、Bundle-message、Observation-component-value-canonical、Observation-value-canonical、QuestionnaireResponse-item-subject和Composition-section-text。 - 系統不支援執行語音比對的搜尋參數。
- 系統不支援搜尋結果參數
_contained、_containedType、_summary=count和_summary=true。 - 特殊搜尋參數
_content會搜尋搜尋參數參照的資源的所有欄位。不包含無法搜尋的欄位。不支援明確的AND(系統會隱含地將字詞與AND結合) 或方括號。 - 系統不支援特殊搜尋參數
Resource-query、Resource-filter、Resource-language、Resource-in和Resource-list。 - 在含有重複元素的欄位上使用
_sort參數時,系統會依據第一個元素排序,這與規格不同。_sort支援number、data、string、token和quantity類型的搜尋參數。 - 系統不支援權杖搜尋修飾符
:of-type、:code-text、text-advanced和:text,以及參照搜尋修飾符:identifier、not-in、text-advanced和:code-text。系統不支援 URI 搜尋的contains修飾符。 - 系統不支援搜尋標準參照。系統會將標準參照視為一般參照。不支援
above和below修飾符。 - 使用
_type參數時,只能使用所有資源通用的搜尋參數,而不能使用指定資源類型的交集。 系統支援下列複合搜尋參數子集:
Observation-code-value-conceptObservation-code-value-dateObservation-code-value-quantityObservation-code-value-stringObservation-combo-code-value-conceptObservation-combo-code-value-quantityObservation-component-code-value-conceptObservation-component-code-value-quantity
系統不支援其餘複合搜尋參數。
使用
POST方法進行搜尋時,要求主體中不得包含application/x-www-form-urlencoded參數。_include支援萬用字元 (*),但_revinclude不支援。
- 系統不支援搜尋參數
不支援的區域包括:
- 系統不支援 XML 內容類型。
- 修補作業不支援 XML 修補或
FHIRPath修補。 - 不支援 HTTP HEAD 要求。
由於舊版 FHIR 的回溯相容性,API 的某些方面與 FHIR 規格有所出入。R5 已修正下列問題:
- 啟用必填欄位驗證後,系統會拒絕
null欄位和空白欄位 (例如{})。 - json 中的資源欄位不再支援 UpperCamelCase。
- 批次組合不允許使用
urn:uuid參照,無論參照完整性是否已停用。批次套件絕不會重新編寫參照。 - 交易套件在重寫參照時比以往更嚴格,且會針對項目中無效的 FullUrl 發生錯誤,如規格所定義:https://www.hl7.org/fhir/bundle.html#references。
- 看起來像是資源參照的參照必須具有有效 ID。
- 系統會針對 PATCH 要求啟用基本設定檔驗證。
R4
伺服器的功能陳述式會指出支援的規格部分。
- 儲存及擷取所有 R4 資源,包括支援擴充元素。API 可接受、儲存及傳回任何資料元素的擴充功能。
- 系統支援 RESTful API 中使用 JSON 內容類型的所有方法,但下列方法除外:
- 系統不支援類型層級和系統層級的記錄互動,這類互動會擷取多個資源的記錄。一次只能擷取一項資源的資源記錄。
- 「批次/交易」互動不支援在套件內進行搜尋作業。
- 支援設定檔驗證和強制執行。
- v1beta1 API 支援使用者定義的搜尋參數,包括搜尋擴充功能元素。
支援所有搜尋功能,但下列功能除外:
- 系統不支援搜尋參數
Group-characteristic-value、Location-near、Bundle-composition和Bundle-message。 - 系統不支援執行語音比對的搜尋參數。
- 系統不支援搜尋結果參數
_contained、_containedType、_summary=count和_summary=true。 - 特殊搜尋參數
_content會搜尋搜尋參數參照的資源的所有欄位。系統會排除無法搜尋的欄位。不支援明確的AND(系統會隱含地將字詞與AND結合) 或方括號。 - 系統不支援特殊搜尋參數
_query、_filter和_list。 - 在含有重複元素的欄位上使用
_sort參數時,系統會依據第一個元素排序,這與規格不同。_sort支援number、data、string、token和quantity類型的搜尋參數。 - 系統不支援權杖搜尋修飾符
:of-type和參照搜尋修飾符:identifier。 - 系統不支援搜尋標準參照。系統會將標準參照視為一般參照。
- 使用
_type參數時,只能使用所有資源通用的搜尋參數,不能使用指定資源類型的交集。 系統支援下列複合搜尋參數子集:
DocumentReference-relationshipObservation-code-value-conceptObservation-code-value-dateObservation-code-value-quantityObservation-code-value-stringObservation-combo-code-value-conceptObservation-combo-code-value-quantityObservation-component-code-value-conceptObservation-component-code-value-quantity
系統不支援其餘複合搜尋參數。
使用
POST方法進行搜尋時,要求主體中不得包含application/x-www-form-urlencoded參數。_include支援萬用字元 (*),但_revinclude不支援。
- 系統不支援搜尋參數
不支援的區域包括:
- 大多數擴充作業尚未實作。
- 系統不支援 XML 內容類型。
- 修補作業不支援 XML 修補或
FHIRPath修補。 - 不支援 HTTP HEAD 要求。
為確保回溯相容性,API 在下列領域與 FHIR 規格有所出入:
- 必填欄位可接受「
null」 - 必填欄位可接受空白代碼
- 停用參照完整性後,批次組合中允許使用
urn:uuid參照。
STU3
伺服器的功能陳述式會指出支援的規格部分。
- 支援儲存及擷取所有 STU3 資源,包括支援 擴充元素。 API 可接受、儲存及傳回任何資料元素的擴充功能。
系統支援 RESTful API 中使用 JSON 內容類型的所有方法,但下列方法除外:
- 系統不支援類型層級和系統層級的記錄互動,這類互動會擷取多個資源的記錄。一次只能擷取一項資源的資源記錄。
- 「批次/交易」互動不支援在套件內進行搜尋作業。
支援設定檔驗證和強制執行。
v1beta1 API 支援使用者定義的搜尋參數,包括搜尋擴充功能元素。
支援所有搜尋功能,但下列功能除外:
- 系統不支援搜尋參數
Group-characteristic-value、Sequence-coordinate、Location-near、Location-near-distance、Bundle-composition和Bundle-message。 - 系統不支援執行語音比對的搜尋參數。
- 系統不支援搜尋結果參數
_contained、_containedType、_summary=count和_summary=true。 - 特殊搜尋參數
_content會搜尋搜尋參數參照的資源的所有欄位。系統會排除無法搜尋的欄位。不支援明確的AND(系統會以 AND 隱含合併字詞) 或括號。 - 系統不支援特殊搜尋參數
_query、_filter和_list。 - 在含有重複元素的欄位上使用
_sort參數時,系統會依據第一個元素排序,這與規格不同。_sort支援number、data、string、token和quantity類型的搜尋參數。 - 使用
POST方法進行搜尋時,要求主體中不得包含application/x-www-form-urlencoded參數。 _include支援萬用字元 (*),但_revinclude不支援。
- 系統不支援搜尋參數
不支援的區域包括:
- 大多數擴充作業尚未實作。
- 系統不支援 XML 內容類型。
- 修補作業不支援 XML 修補或 FHIRPath 修補。
為確保回溯相容性,API 在下列領域與 FHIR 規格有所出入:
- 必填欄位可接受「
null」 - 必填欄位可接受空白代碼
- 停用參照完整性後,批次組合中允許使用
urn:uuid參照。
DSTU2
伺服器的一致性聲明會指出支援的規格部分。
- 系統支援儲存及擷取所有 DSTU2 資源,包括支援擴充元素。API 可接受、儲存及傳回任何資料元素的擴充功能。
- 系統支援 RESTful API 中使用 JSON 內容類型的所有方法,但下列方法除外:
- 系統不支援類型層級和系統層級的記錄互動,這類互動會擷取多個資源的記錄。一次只能擷取一項資源的資源記錄。
- 「批次/交易」互動不支援在套件內進行搜尋作業。
- 支援設定檔驗證和強制執行。
- 支援所有搜尋功能,但以下功能除外:
- 不支援搜尋參數
Group-characteristic-value、Location-near、Location-near-distance、Bundle-composition、Bundle-message、Coverage-dependent和Coverage-sequence。 - 系統不支援在擴充元素中定義的搜尋參數。
- 系統不支援執行語音比對的搜尋參數。
- 系統不支援搜尋結果參數
_contained、_containedType、_summary=count和_summary=true。 - 特殊搜尋參數
_content會搜尋搜尋參數參照的資源的所有欄位。系統會排除無法搜尋的欄位。不支援明確的AND(系統會以 AND 隱含合併字詞) 或括號。 - 系統不支援特殊搜尋參數
_query、_filter和_list。 - 在含有重複元素的欄位上使用
_sort參數時,系統會依據第一個元素排序,這與規格不同。_sort支援number、data、string、token和quantity類型的搜尋參數。 - 使用
POST方法進行搜尋時,要求主體中不得包含application/x-www-form-urlencoded參數。 _include支援萬用字元 (*),但_revinclude不支援。
- 不支援搜尋參數
不支援的區域包括:
- 大多數擴充作業尚未實作。
- DSTU2 不支援使用者定義的搜尋參數。
- 系統不支援 XML 內容類型。
為確保回溯相容性,API 在下列領域與 FHIR 規格有所出入:
- 必填欄位可接受「
null」 - 必填欄位可接受空白代碼
- 停用參照完整性後,批次組合中允許使用
urn:uuid參照。
已發布規格以外的作業詳細資料
- FHIR 儲存庫設定包含一個選項,可針對儲存庫中所有資源的變更,通知使用者指定的 Pub/Sub 主題。這項通知機制適用於所有 Cloud Healthcare API 商店,但並非用來取代 FHIR 訂閱 (DSTU2、STU3、R4 和 R5) 功能。
- FHIR 儲存庫匯出作業只會將整個儲存庫大量匯出至 Cloud Storage 目的地。這並非 FHIR 大量資料草案規格的實作項目。
- 規格中未定義 FHIR 儲存庫匯入作業。
- 規格中未定義可移除資源舊版本的
Resource-purge作業。如果標準程序或其他 FHIR 實作項目針對這個用途採用不同的 API 方法,這個 API 可能會在日後變更。 ExecuteBundle端點會接受 v1beta1 中的history組合,以建立資源的歷史版本。