2016-07-25 153 views
0

我正在实施FHIR服务器,但出于某些不可避免的原因,我无法访问医生的时间表,但是,我可以访问可用于预约的插槽。FHIR搜索老虎机请求

我可以从4个参数使用

  1. 医生ID
  2. 组织ID
  3. 位置ID
  4. 日期插槽

下面将要考虑的得到插槽作为使用FHIR的有效插槽查询:

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

此外,在响应于上述查询,由于参照附表是绝对必要的(插槽具有卡= 1..1附表参考),I可以通过基准值是这样的:

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

插槽响应?

回答

0

我可能会错过这里的东西,但不知道你是如何定义插槽和时间表之间的区别?

时间表资源只是定义了一个时间段,时间段可能存在于其中,并为其他资源存在。它没有定义或公开在此期间可能存在的约会。

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

实习者,地点和患者可以各自拥有自己的日程安排/插槽,因此它取决于定义复杂性的系统。有些系统认为他们只会担心从业者(拥有自己的房间),其他系统只担心房间并将在晚些时候分配从业人员。

从我的东西,我认为你想这样(在实践管理系统的前面创建FHIR外墙)我想你会需要公开以下资源的认识:

  • 医生:要揭露从业者的细节(有兴趣的话,如果你的从业者可以在多个地点工作)
  • 时间表:为了简单暴露你正在接受约会的日期范围(并且将具有定义的插槽可用性)并且从业者链接到该资源,如果他们在多个地点工作,那么对于从业人员工作的每个地点你都会有其中一个。 (如果位置资源有其自己的时间表,则需要进一步考虑它,以及可用插槽的协商完成的位置)
  • 插槽:定义约会可以调度到的可用插槽。(注意:这些不是约会)
  • 约会:接受创建的约会(不知道如何处理这个如果你没有进入日程安排)
  • 病人:假设你想要)

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

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

+0

感谢您对Brian的详细回应,我会在这里简要介绍一下环境细节。直到只有一个问题 - 我们被允许为任何FHIR请求引入额外的参数吗? - 如果我们把这些放在服务器一致性声明中? – comeOnGetIt

+0

嗨,布莱恩,我假设时间表不过是医生的工作时间,对吗?假设一名医生从早上8点到下午5点工作,那么我按照时间表 – comeOnGetIt

+0

来处理该时间间隔。以某种方式是,该时隙定义了日程安排上的实际特定实例。哪个引用该计划实例。 –

1

不幸的是一些实施指导,正确现在,你必须公开一个时间表,但没有任何理由必须是“真实的”。我们目前实施Slot搜索的方式是通过暴露一个虚拟调度,其中唯一的数据元素是该角色的链接。例如:

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

我们插槽搜索结束这样看(有一些编辑的简洁和清晰,特别是围绕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 

注意,这是技术上无效,因为一个槽只能有一个Schedule,而且我们包含Schedule的多个链接搜索参数。由于Slot.schedule为1:1,我们还利用扩展来发回患者,从业人员和与插槽相关的位置。然而,这种“故意滥用”是我发现的最好的选择,而不会强制客户端成为调度系统,并处理排队为每个资源的插槽。

在FHIR gforge中有一些跟踪器项目(9989,9208)关于更新插槽以便更“友好”地使用“简单客户端”。我们会很感激你的意见:)。

+0

Thant使发送...关于提到的URL的一个问题,你如何解析Schedule.actor:Practitioner&Schedule.actor:Patient=5678参数在服务器端?不要翻译成像http:// host/api/FHIR/DSTU2/Slot这样的URL吗?actor = 1234&actor = 5678&slottype = urn:oid:1.2.3 | Cardiology&start = 2016-07-21即具有相同参数名称的URL“演员“ ? – comeOnGetIt

+0

http://stackoverflow.com/questions/38855829/fhir-new-patient-appointment-booking-no-patient-yet-created-in-system – comeOnGetIt

+0

在这些搜索参数的上下文中并没有涉及的URL 。我们只需将值“1234”作为Pracitioner ID。与患者类似。我们假设/要求用于搜索的ID是我们的服务器ID。我正确理解你的问题吗? – Cooper