Artículo
· 28 mayo, 2025 Lectura de 2 min

El Repositorio FHIR de IRIS for Health deja de responder tras la actualización a la versión 2023.6.1.809. ¿Cómo solucionarlo?

Después de que desplegáramos un nuevo contenedor basado en containers.intersystems.com/intersystems/irishealth:2023.1 esta semana, notasteis de repente que el Repositorio FHIR empezó a responder con un Error 500. Esto se debe a violaciones de PROTECT en el nuevo espacio de nombres y base de datos HSSYSLOCALTEMP, utilizado por esta versión de los componentes FHIR de IRIS for Health.

La solución consiste en añadir "%DB_HSSYSLOCALTEMP" a las Aplicaciones Web que gestionan las solicitudes FHIR. Podéis automatizar esto ejecutando el siguiente método de clase en los espacios de nombres que definen estas Aplicaciones Web.

do ##class(HS.HealthConnect.FHIRServer.Upgrade.MethodsV6).AddLOCALTEMPRoleToCSP()

En nuestro caso, eso no fue suficiente. En parte de nuestro código personalizado necesitamos acceder al token Bearer JWT tal como lo envía el cliente, y antes podíamos obtenerlo desde el elemento AdditionalInfo "USER:OAuthToken", que ya no está presente en la versión 2023.6.1.809, como se describe en la siguiente documentación: https://docs.intersystems.com/upgrade/results?product=ifh&versionFrom=20...

Resolvimos este problema añadiendo la siguiente lógica para obtener el token desde la caché de tokens.

    $$$ThrowOnError(##class(HS.HC.Util.InfoCache).GetTokenInfo(pInteropRequest.Request.AdditionalInfo.GetAt("USER:TokenId"), .pTokenInfo))
    set OAuthToken = pTokenInfo("token_string")
Comentarios (0)1
Inicie sesión o regístrese para continuar