Article
· 12 hr ago 2m read

IRIS For Health FHIR Repository stops responding after upgrade to 2023.6.1.809. How to fix?

After we rolled out a new cointainer based on containers.intersystems.com/intersystems/irishealth:2023.1 this week, we suddenly noticed that our FHIR Repository started responding with an Error 500. This turns out to be caused by PROTECT violations on the new HSSYSLOCALTEMP namespace and database used by this version of the IRIS for Health FHIR components.

The trick to solve that is to add the "%DB_HSSYSLOCALTEMP" to the Web Application(s) that handle FHIR Requests.
You can script that by running the following Class method in the namespace(s) that define these Web Applications:

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

In our case that was not enough. In some of our custom code we actually need access to the jwt Bearer token as sent by the client, which we could fetch from the AdditionalInfo "USER:OAuthToken" element, which is no longer present in the 2023.6.1.809 build as described in https://docs.intersystems.com/upgrade/results?product=ifh&versionFrom=20...

We worked around that issue by the adding the following logic to fetch the token from the token cache:

    $$$ThrowOnError(##class(HS.HC.Util.InfoCache).GetTokenInfo(pInteropRequest.Request.AdditionalInfo.GetAt("USER:TokenId"), .pTokenInfo))
    set OAuthToken = pTokenInfo("token_string")
Discussion (0)1
Log in or sign up to continue