2014-01-09 25 views
3

根據規範here,如果您創建資源,則服務器應該返回創建的201以及包含創建資源的新邏輯標識和版本標識的位置標題。在FHIR服務器上創建資源後,如何讀取其邏輯ID?

我上傳患者資源到http://fhir.healthintersections.com.au/open/Patient並使用Chrome調試工具我可以看到返回的Content-Location響應頭包含邏輯ID,但我無法使用jqXHR.getResponseHeader('Content-位置')或jqXHR.getAllResponseHeaders()。

經過大量搜索,問題似乎是,除非訪問控制 - 公開 - 標頭 標題被添加到服務器,我不能在我的應用程序中查看標題,因爲它是一個跨源請求。

是否有解決此問題的另一種方法,以便在創建資源後可以找到邏輯ID?

回答

2

FHIR只在頭文件中公開它的元數據(id,版本特定的id,最後更新),所以你真的需要到那個Location頭部去獲得一個新創建的資源ID。可能有一個解決方法,它使用「搜索」操作來檢索只有這個新創建的資源的提要(假設它具有識別患者ID等業務密鑰)。資源的原子條目將帶有一個id。

這就是說,這確實是一個黑客。然而,這不是FHIR相關問題(例如參見How to get responseheader location by jquery)。

要解決此問題,我將更新我的FHIR服務器(在spark.furore.com/fhir)以包含這些Access-Control-Expose標頭。它應該在接下來的幾個小時內更新,所以你可以試試它是否適合你。

+1

我也會更新我的服務器(服務器地址如上) –

相關問題