我已经使用智能FHIR成功地从Epic的沙箱中为一个面向病人的应用程序(这是一个独立的发布)从测试病人数据。我现在正试图从一个医疗系统中提取真实的病人数据,但当我试图授权我的应用程序时,我一直会收到这个错误:"OAuth2错误。试图授权客户时出了问题。请尝试再次登录。“
当我使用沙箱数据进行测试时,我使用这个代码作为参考,然后修改它以用于React。这是我用来授权我的应用的代码:
function pullEpicData() {
FHIR.oauth2.authorize({
'client_id': {Non-Prod Client ID given by Epic},
'scope': 'PATIENT.READ, PATIENT.SEARCH',
'redirect_uri': {my website},
'iss': 'https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4/'
})
}这个效果很好。
当我切换到prod模式时,我使用了以下代码来尝试授权我的应用程序:
function pullEpicData() {
FHIR.oauth2.authorize({
'client_id': {Prod Client ID given by Epic},
'scope': 'PATIENT.READ, PATIENT.SEARCH',
'redirect_uri': {my website},
'iss': 'https://sfd.stanfordmed.org/FHIR/api/FHIR/R4/'
})
}然而,这个授权一直失败。
我没有对我的代码做任何其他修改。当我从沙箱切换到prod以使授权正常工作时,我还应该做什么呢?目前我不使用刷新令牌。谢谢!
发布于 2022-01-11 15:01:57
这一问题有两个非常普遍的原因:
对于自动同步,注册客户端ID时,您选择的API可能会使您丧失自动同步的资格。如果你不符合自动同步的条件,那么你想要连接的医疗机构只需显式地批准你的应用程序,然后才能用来连接到它们的端点。在客户端注册表单底部附近有一个指示符,指示您是否有资格进行自动同步。
无论您的应用程序是否符合自动同步的条件,或者是否得到卫生系统的明确批准,对客户端的任何更改都可能需要12小时才能同步(有一个任务每12小时运行一次,下载更新)。
我们的OAuth2中记录了其他常见的故障排除指南连接问题(需要登录,但您可以免费注册帐户)。
https://stackoverflow.com/questions/70638968
复制相似问题