FHIR:某些资源中缺少标识符

本文关键字:标识符 资源 FHIR | 更新日期: 2023-09-27 17:59:13

我正试图从引用(名称"Resource")类派生所有资源,以解决问题(例如组内资源-->成员:资源(患者|从业者|设备|药物|物质)0..*).

我已经将标识符作为引用类中的数据成员,并使用.NET从该类派生出所有资源。但问题是,资源"物质和药物"中缺少标识符。如何解决此问题???请帮助

问候

FHIR:某些资源中缺少标识符

您混淆了Identifierlogical ID.

Identifier是某个组织给一类实体的唯一名称。它有两个主要组件systemvalue,其中system是组织,value是组织内的唯一ID。第一类实体总是可以有多个标识符。例如,患者可以有社会保险号码和护照号码(http:irs.gov|xxx-xx-xxxxhttp:travel.state.gov|xxxxxxx)。

并非所有FHIR资源都具有标识符,例如不是第一类实体。

然而,所有FHIR资源都有一个logical ID.。这是服务器分配的ID。它通常是GUID或一些单调递增的整数。

我建议使用@Eout的C#库(https://github.com/ewoutkramer/fhir-net-api)用于处理FHIR资源的数据模型和串行化/去串行化。然后你们就可以集中精力处理业务问题了。

在FHIR中,我们有两个标识符:业务标识符(如患者号、订单号)等和基础结构REST标识符,看起来像http://someserver.org/Patient/3AF334-5并且其标识特定服务器上的资源的特定实例。您可以将其视为"技术"或"数据库"密钥,这些标识符由服务器生成,可能是通过生成增量数字。

如果查看规范中资源的内容,它们将只显示业务标识符(如果资源有标识符)。当然,资源的每个实例都有一个技术id,特别是如果它是使用REST发布的。这个id不会显示在资源上,因为它被视为"元数据",就像资源的上次更新日期和在服务器上创建资源的登录名一样。

如果您正在执行REST,那么Resource的技术id就是您使用GET检索资源的URL。当您执行POST时,您将在Location标头中收到此id。这意味着您必须将Resource的数据(位于主体中)和资源的REST位置放在一起。

一种方法是使用引用实现中的类ResourceEntry(它们是Resource+元数据)。

标识符不在基本资源中,因此您试图做的事情无法完成,因为正如您所说,物质和药物没有标识符。