FHIR 搜索槽请求

FHIR Search Slots request

我正在实施 FHIR 服务器,由于某些不可避免的原因,我无法访问医生的日程安排,但是,我可以访问可用于预约的时段。

我可以使用

从 4 个参数中获取插槽
  1. doctor id
  2. organization id
  3. location id
  4. date of slot

以下将被视为使用 FHIR 的有效插槽查询:

http://localhost:8080/context/fhir/Slot?practitioner=Practitioner/123456789&organization=Organization/1234&location=Location/2&start=2016-07-25

此外,在对上述查询的响应中,由于绝对需要参考 Schedule(Slot 有 card=1..1 用于 Schedule 参考),我可以传递参考值吗:

"schedule": {
    "reference": "Schedule/notrequired"
  }

在插槽响应中?

我可能在这里遗漏了一些东西,但不确定您是如何定义时段和时间表之间的区别的?

Schedule 资源简单地定义了时段可能存在的时间段,以及其他资源。它不定义或公开这段时间内可能存在的约会。

slot search parameters 没有像您暗示的那样定义任何搜索参数。这些都在它链接的时间表资源上。

从业者、位置和患者都可以有自己的 schedule/slots,因此这取决于定义复杂性的系统。 一些系统决定他们只关心从业者(有自己房间的人),其他系统只担心房间并稍后分配从业者。

根据我对您尝试这样做的理解(在实践管理系统前创建 FHIR Façade),我认为您需要公开以下资源:

  • 从业者:公开从业者的详细信息(如果您的从业者可以在多个地点工作,有兴趣)
  • 时间表:为了简单地公开您接受约会的日期范围(并且将定义空档可用性)并且从业者链接到此资源,如果他们在多个地点工作,您将拥有其中之一从业者工作的每个地点。 (如果位置资源有自己的排期,则需要进一步考虑,协商可用时段)
  • 时段:定义可以安排约会的可用时段。 (注意:这些不是约会)
  • 约会:接收创建的约会(如果您无权访问日程表,不确定您将如何处理)
  • 患者:假设您要将患者分配给预约;)

如果这一切都有意义并且您澄清了您的环境,我将提出您需要处理的可能问题。

这是一个很好的问题,患者管理部门正计划编写一些关于在各种环境(全科、住院、门诊、社区、实验室等)中实施此功能的实施指南

不幸的是,现在,您确实必须公开一个时间表,但没有任何理由必须 "real"。我们目前实现 Slot 搜索的方式是通过向参与者公开一个虚拟 Schedule,其中唯一的数据元素是 link。例如:

<Schedule xmlns="http://hl7.org/fhir">
<id value="1234" />
<actor>
    <display value="Cooper Thompson, MD" />
    <reference value="http://host/api/FHIR/DSTU2/Practitioner/1234" />
</actor>

我们的广告位搜索最终看起来像这样(为了简洁明了,特别是围绕广告位类型进行了一些编辑):

http://host/api/FHIR/DSTU2/Slot?Schedule.actor:Practitioner=1234&Schedule.actor:Patient=5678&slottype=urn:oid:1.2.3|Cardiology&start=2016-07-21

请注意,这技术上无效,因为一个插槽只能有一个时间表,我们为时间表包含多个链接搜索参数。由于 Slot.schedule 是 1:1,因此我们还利用分机将与插槽关联的患者、从业者和位置发回。然而,这个 "intentional misuse" 是我发现的最佳选择,无需强制客户端成为调度系统并处理每个资源的排队槽。

FHIR gforge 中有一些跟踪器项目 (9989, 9208) 关于更新 Slot 以对 "simple clients" 更友好。我们非常感谢您的意见 :).