我最近和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
语句,但是有更清洁的"获取身份证的方式?
答案 0 :(得分:2)
是的,在DSTU-1(hl7.org/fhir中规范的当前版本)中,这是获取新生成资源的id的唯一方法。
此外,id实际上是base +资源类型+逻辑id。如果您像处理逻辑ID那样隔离逻辑ID,那么在资源类型中可能并不是唯一的,因此您至少应该在内部使用资源类型。
如果服务器不支持历史记录,这只意味着您无法成功获取旧版本,但服务器仍会返回此位置链接 - 有效地让您访问"最新的"版本