我们的情况是有一个EHR系统正在使用FHIR与设备传感器合作伙伴集成。在这种情况下,两家公司都将拥有独立的FHIR服务器。他们每个人都有不同的患者和组织记录及其自己的标识符。首选项是传感器FHIR服务器保留EHR标识符到其自身内部标识符的映射
EHR希望将患者分配到具有传感器FHIR服务器的设备。
步骤1:首先,EHR将@GET给定组织的设备资源列表,其中当前没有从传感器FHIR服务器分配患者,例如
/api/Device?organization.identifier=xyz&patient:missing=true
这里我假设组织标识符是EHR系统的标识符,因为EHR系统此时不知道传感器系统组织标识符。
此次通话的回复将是一系列设备:
...剪辑...
"owner": {
"reference": "http://sensor-server.com/api/Organization/3"
},
...剪辑...
问题2:所有者组织参考是否具有搜索中的标识符或传感器FHIR服务器已知的内部/逻辑ID,如上面的代码片段所示?
步骤2:EHR系统的临床医生从列表中选择一个设备,将其分配给EHR系统中的患者
步骤3:EHR系统现在将向传感器FHIR服务器发回@PUT / api / Device / {id}请求,以将患者资源分配给设备资源,例如,
{
"resourceType": "Device",
"owner": {
"reference": "http://sensor-server.com/api/Organization/3"
},
"id": "b4994c31f906",
"patient": {
"reference": "https://ehr-server.com/api/Patient/4754475"
},
"identifier": [
{
"use": "official",
"system": "bluetooth",
"value": "b4:99:4c:31:f9:06",
"label": "Bluetooth address"
}
]
}
问题3:患者资源应使用哪种资源URI /标识符?我认为它是EHR系统的,因为EHR系统不了解传感器系统患者标识符。但请注意,组织引用是传感器FHIR服务器中的URI,而Patient引用是EHR系统的URI - 这闻起来很有趣。
步骤4:EHR可以在传感器FHIR服务器上发出@GET / api / Device / {id}并返回设备资源,例如。
{
"resourceType": "Device",
"owner": {
"reference": "http://sensor-server.com/api/Organization/3"
},
"id": "b4994c31f906",
"patient": {
"reference": "https://sensor-server.com/api/Patient/abcdefg"
},
"identifier": [
{
"use": "official",
"system": "bluetooth",
"value": "b4:99:4c:31:f9:06",
"label": "Bluetooth address"
}
]
}
问题4:我们是否希望看到对患者的引用包含EHR FHIR服务器的绝对URI(就像在步骤3中的@PUT上那样),或者传感器FHIR服务器是否已将其修改为返回使用它的内部逻辑ID对其FHIR服务器中的资源的引用?
答案 0 :(得分:2)
我没有看到问题1,所以我认为它是"假设"你的第一个例子面前的句子。如果EHR正在查询设备传感器服务器并且设备传感器服务器上的组织包含EHR已知的业务标识符,那么这是合理的。您需要某种业务流程来确保这种情况发生。
问题2:设备所有者元素将使用资源引用,这意味着它指向" id"目标组织的要素。将资源ID视为主键。它们通常由存储数据的服务器分配,但在某些体系结构中,它们可以由客户端设置(使用PUT而不是POST创建记录)。无论如何,您不能指望它们是有意义的商业标识符 - 根据大多数数据存储最佳实践,它们通常不应该是。如果,正如我所料,您的方案涉及多个EHR客户可能与"设备"服务器,资源ID不可能与所有EHR的业务ID一致。 (这很长的说法"没有' xyz'可能不会成为' 3')
问题3:如果EHR有自己的服务器,EHR客户端可以更新"传感器"服务器指向EHR服务器上的URL。这是否合适取决于您的架构。如果您希望其他EHR识别患者,那么您可能需要"传感器"服务器也可以托管患者,并且EHR可以通过业务ID查找患者,然后参考"传感器"服务器的URL。如果没有,那么指向EHR服务器的URL就可以了。
问题4:当您执行" GET"时,正常接收您在POST上指定的相同数据。它是服务器更改数据的 legal ,包括可能更新引用。但这可能会混淆很多客户端系统,因此通常不推荐或典型。