FHIR搜索插槽请求

时间:2016-07-25 15:51:05

标签: dstu2-fhir hapi-fhir hl7-fhir

我正在实施FHIR服务器,并且由于一些不可避免的原因我无法访问医生的时间表,但是,我可以访问可用于预约的插槽。

我可以使用

从4个参数中获取插槽
  
      
  1. doctor id
  2.   
  3. 组织ID
  4.   
  5. 位置ID
  6.   
  7. 插槽日期
  8.   

以下将使用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"
  }
在Slot响应中

2 个答案:

答案 0 :(得分:1)

不幸的是,现在,你必须公开一个时间表,但没有任何理由它必须是真实的"。我们当前实现Slot搜索的方式是通过公开一个虚拟的Schedule,其中唯一的数据元素是actor的链接。例如:

<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>

我们的Slot搜索最终看起来像这样(为了简洁和清晰,特别是在slottype周围进行了一些编辑):

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,而且我们包含了Schedule的多个链式搜索参数。我们还使用扩展来回送与插槽相关的患者,从业者和位置,因为Slot.schedule是1:1。然而,这&#34;故意滥用&#34;是我发现的最佳选择,没有强迫客户成为调度系统,并处理为每个资源排队的插槽。

FHIR gforge中有一些跟踪器项目(99899208)关于对Slot进行更新,以便对简单的客户端#34;更友好。我们非常感谢您的意见:)。

答案 1 :(得分:0)

我可能在这里遗漏了一些东西,但不确定你是如何定义插槽和时间表之间的差异的?

Schedule资源只是定义了插槽可能存在的时间段,以及其他资源。它没有定义或公开在此期间可能存在的约会。

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

从业者,位置和患者可以各自拥有自己的时间表/时段,因此它取决于定义复杂性的系统。 一些系统决定他们只会担心从业者(有自己的房间),其他人只担心房间,并会在以后分配从业人员。

根据我对你的想法的理解(在实践管理系统面前创建一个FHIRFaçade)我认为你需要公开以下资源:

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

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

这是一个很好的问题,患者管理局正计划编写一些实施指南,以便在各种环境(全科医生,住院病人,门诊病人,社区,实验室等)中实施此功能。