0

我最近在玩 FHIR,但除了从标头中提取它之外,我找不到干净地获取新创建资源的 ID 的方法:

Location: http://fhirtest.uhn.ca/baseDstu2/Practitioner/24796/_history/1 
Content-Location: http://fhirtest.uhn.ca/baseDstu2/Practitioner/24796/_history/1 

这是我的 JS 代码:

var location_header_split = location_header.split("/")
var id = location_header_split[location_header_split.length-3]

服务器可能不存储历史记录,这将导致上述失败。URL 的第一部分(在 ID 之前)也有可能会有所不同,因此使用硬编码值(如:)location_header_split[5]不是一个好主意。我可以添加更多if语句,但是有没有一种“更干净”的方式来获取 ID?

4

1 回答 1

2

是的,在 DSTU-1(hl7.org/fhir 上的当前版本规范)中,这是获取新生成资源的 id 的唯一方法。

此外,id 实际上是 base + 资源类型 + 逻辑 id。如果你像你一样隔离逻辑 id,这可能在资源类型中根本不是唯一的,所以你至少应该在内部使用资源类型作为 id。

如果服务器不支持历史记录,这仅意味着您无法成功获取旧版本,但服务器仍会返回此位置链接 - 有效地让您访问“最新”版本。

于 2015-04-22T16:46:17.690 回答