0

我正在尝试从参考(名称“资源”)类中派生所有资源来解决问题(例如,在组资源->成员中:资源(患者|从业者|设备|药物|物质)0..*)。

我已将标识符作为引用类中的数据成员,并使用 .NET 从此类中派生所有资源。但是问题就在这里,资源“物质和药物”中缺少标识符。如何解决这个问题???请帮忙

问候

4

3 回答 3

1

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

于 2014-04-21T11:15:48.737 回答
1

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

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

如果您正在执行 REST,则资源的技术 ID 是您使用 GET 检索资源的 URL。当您执行 POST 时,您将在 Location 标头中收到此 ID。这意味着您必须将资源的数据(在正文中)和资源 REST 位置保存在一起。

一种方法是使用参考实现中的类似 ResourceEntry 的类(即资源 + 元数据)。

于 2014-04-23T09:08:56.873 回答
1

你把 an 和 a 混淆Identifierlogical ID.

AnIdentifier是某个组织赋予第一类实体的唯一名称。它有两个主要组成部分 asystem和 a value,其中system是组织,value是组织内的唯一 ID。第一类实体总是可以有多个标识符。例如,患者可以有一个社会安全号码和一个护照号码(http:irs.gov|xxx-xx-xxxxhttp:travel.state.gov|xxxxxxx)。

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

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

我建议使用 @Ewout 的 C# 库 ( https://github.com/ewoutkramer/fhir-net-api ) 来处理 FHIR 资源的数据模型和序列化/反序列化。然后你就可以专注于业务问题。

于 2014-04-24T10:23:51.000 回答