AZURE FHIR:_lastUpdated如何转化为ResourceSurrogateId?

问题描述 投票:0回答:1

在AZURE FHIR(Sql版)上继续研究,我发现lastUpdated搜索参数在某种程度上与ResourceSurrogateId字段(在Resource表中)有关联。

此外,我相信两者是相同的,但格式不同。然而,我没有找到任何来源解释如何将lastupdated(一个日期-时间值)转换为ResourceSurrogateId(数值)。

谁能给我解释一下,我如何根据原始的日期-时间值获得ResourceSurrogateId?

测试:我运行了如下FHIR REST API。https://XXXXXXXXXXX/DeviceComponent?_lastUpdated=gt2019-07-01 在数据库中的实际查询是:

FROM dbo.Resource r
WHERE ResourceTypeId = @p1
    AND ResourceSurrogateId >= @p2
    AND IsHistory = 0
    AND IsDeleted = 0
ORDER BY r.ResourceSurrogateId ASC
OPTION(RECOMPILE)',N'@p0 int,@p1 smallint,@p2 bigint',@p0=11,@p1=32,@p2=5095809792000000000```

azure azure-sql-database hl7-fhir
1个回答
0
投票

资源代用ID将插入的日期时间编码为毫秒级精度,同时还有一个 "唯一性",这个唯一性来自于数据库上的循环序列。从代用ID转换为datetime并返回的代码是 此处.

你将无法从日期时间中获得代孕ID,但你将能够获得它的下限和上限。

© www.soinside.com 2019 - 2024. All rights reserved.