如何使用 OAuth 传递的 Encounter Id 从 Epic 获取 Encounter?

问题描述 投票:0回答:2

我目前正在开发一个可以使用 FHIR 上的 SMART 与 Epic 进行通信的应用程序,但遇到了一些问题。 我目前正在 Epic 测试沙盒中对其进行测试,试图让所有功能正常工作。

我设法让 OAuth2 正常工作,当我获得访问令牌时,我还获得了“遭遇”值。 文档提到这是该遭遇的 FHIR ID。

但是,当我针对 Encounter.Read 端点使用此 Encounter Id 时,我收到一条响应,表示找不到 Encounter。

我还尝试使用 Encounter.Search 端点获取 Encounter,该端点具有标识符参数。但这个参数需要“代码系统”部分,我不知道在这里输入什么......?
我尝试使用相同的端点,但仅使用病人参数,传递从 OAuth2 进程获得的病人值,它返回整个遭遇列表。
我在这里注意到的是,Encounter Id 的格式与 OAuth2 进程传递的 Encounter Id 的格式不同。

我注意到在 Open Epic 网站上,您还可以使用 Epic 自己提供的名为“SMART on FHIR test”的应用程序启动。这会导致页面显示所选患者的所有信息,包括 Epic 本身使用的遭遇 ID。

OAuth2进程传递的遭遇ID:TAqTmwSWejWw52Ksfl2zlaiKfIbqjpN1CXEL68zfvJLsB
Epic 内部使用的遭遇 ID:eVffiE7SavpOc0PtATuBQWg3

我完全不知道这是如何工作的......
谁能告诉我使用 OAuth2 进程传递的 Encounter ID 在 Epic 中获取 Encounter 的正确方法?

hl7-fhir smart-on-fhir
2个回答
1
投票

TAqTmwSWejWw52Ksfl2zlaiKfIbqjpN1CXEL68zfvJLsB 是 Encounter 的 DSTU2 FHIR ID。它只能用于 DSTU2 API 的调用。您很可能需要 STU3 和 R4 的 ID,即 eVffiE7SavpOc0PtATuBQWg3。这适用于使用 STU3 和 R4 API 的调用,并且使用该 ID 的 Encounter.Read (R4) 应该可以工作。

如果您使用 Encounter.Search,则不应使用

identifier
参数。您应该将
_id
参数与 FHIR ID 一起使用。
identifier
用于企业标识符。


0
投票

OP在这里。

我发现在 Open Epic 注册的应用程序中有 SMART 的 FHIR 版本设置。 这对我来说被设置为 DSTU2,这就是我在 OAuth2 流程之后获得 DSTU2 FHIR ID 的原因。

我将此版本设置更改为 R4,现在在 OAuth2 流程后获得 R4 FHIR ID。

© www.soinside.com 2019 - 2024. All rights reserved.