簡體   English   中英

FHIR資源的任何元素都可以用作搜索參數嗎?

[英]Can any element of a FHIR resource be used as a search parameter?

搜索參數的使用是否僅限於公共搜索參數(即_id,_text)以及在每個資源定義底部定義的搜索參數? 例如,家庭,在患者資源@ https://www.hl7.org/fhir/ Patient.html#search上定義。

我想知道是否可以將資源的任何元素直接用作搜索參數? 例如:

  1. 搜索具有超過3個系列的ImagingStudy:/ ImagingStudy?numberOfSeries> 3
  2. 搜索具有在線可用性的任何系列的ImagingStudy:/ImagingStudy?series.availability=ONLINE。 這類似於Odata的復雜類型過濾器( http://www.odata.org/getting-started/basic-tutorial/#filter ),其中相同的查詢可以在OData中寫為/ ImagingStudy?$ filter = series /任何(s:s /可用性eq'在線')

在2015-11-28添加以下內容:

我們的服務器是一種只讀服務,可聚合來自各種源系統的數據並實現基於FHIR的API。 以下是有關基礎架構的一些有趣的事實和挑戰:

  • 大多數源系統只能提供原始查詢功能,例如按日期過濾。
  • 我們不擁有數據存儲庫,因此無法創建索引。
  • 在典型情況下,我們將首先從客戶端的請求中檢索日期過濾器,並使用它來減少源系統需要返回的數據量。 然后,我們的服務將對聚合結果進行剩余的篩選,排序和分頁。

例如,我們需要針對ImagingStudy.procedure.code.coding []。display實施字符串搜索。

很高興知道服務器能夠在一致性聲明中定義額外的搜索參數。 但是,對於我們的方案,搜索參數主要由客戶需求決定。 對此需求的任何更改或更新都可能觸發服務器一致性的更改。 這使得一致性/合同易受更改的影響。

這是促使我提出問題的動機,因為FHIR客戶端和服務器已經具有通過FHIR資源定義的定義明確的合同,是否有可能將該合同擴展為搜索參數,從而使客戶端和服務器能夠利用現有合同FHIR資源的目標圖作為搜索參數,而不必定義單獨的列表。

搜索參數是分別定義的,並映射到資源中的實際路徑,以允許服務器通過諸如map / reduce之類的方式維護索引,而不是長時間對未索引的內容執行查詢。 您不能簡單地查詢資源中的任意路徑。 注意:這包括_filter搜索參數。

但是,允許服務器定義自己的搜索參數,並將其映射到資源中的任意路徑。 如果服務器公開了搜索參數,則應在一致性聲明中對其進行聲明,然后您將知道是否可以使用它。

(順便說一句,服務器也可以選擇不使用map / reduce,並長時間執行查詢,因此,如果這是對其技術基礎有效的策略,則允許將任何路徑用作參數-盡管我不知道這樣做的人。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM