【问题标题】:FHIR: Identifier is missing in some resourcesFHIR:某些资源中缺少标识符
【发布时间】:2014-04-21 08:12:29
【问题描述】:

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

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

问候

【问题讨论】:

    标签: c# hl7-fhir


    【解决方案1】:

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

    【讨论】:

    • 如果您认为它们应该有标识符,欢迎您提出更改建议(见规范每一页的底部)
    • 先生。在组资源中看到一个属性“成员”有这么多资源(患者|从业者|设备|药物|物质)。我想采用一个类(参考类)并从该类派生所有其他资源。我参加了一个名为“资源”的课程,该课程具有一个数据成员“标识符”。现在这个标识符出现在除了物质和药物之外的所有资源中。现在我将如何从具有数据成员“标识符”的参考类中获取这些资源?因为物质和药物没有标识符。我认为必须在所有资源中包含标识符...
    • 如果您有任何其他想法来解决属性具有许多资源的问题(例如在组资源中,成员:资源(患者|从业者|设备|药物|物质))。请分享 。问候
    • 您是否查看过 Java 或 DotNet 参考实现?共享元素在 Resource 中定义,其他元素在相关资源中定义。
    • 不,我没有。在此基础上,我将标识符作为资源类中的共享元素。因为标识符在除物质和药物之外的所有资源中都很常见。我已经实施了其他资源,它运行良好。
    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

      您将Identifierlogical ID. 混淆了

      Identifier 是某个组织赋予一流实体的唯一名称。它有两个主要组件systemvalue,其中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 资源的数据模型和序列化/反序列化。然后你就可以专注于业务问题了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多