· Nov 20, 2023

Error on FHIR resource publish through Process to FHIR repository

I have received 2 errors while publishing Patient data to repository. Message viewer displays like below and the Application log found  bold content.

Could you please help me on this to resolve the errors.

An error occurred with the web application.
It has been logged to system error log (System Operation>System Logs>Application Error Log).

"<METHOD DOES NOT EXIST>OnPage+42^EnsPortal.MessageContents.1 *%Id,HS.FHIRServer.API.Data.Request : CSP Error"

Business Operation Event logs displays "ERROR <Ens>ErrRequestNotHandled: Request message '3@HS.FHIRServer.API.Data.Request' not handled"

Please suggest what is the issue here ..


$ZV: IRIS for Windows (x86-64) 2023.2 (Build 227U) Mon Jul 31 2023 17:48:09 EDT [Health:5.1.3]
Discussion (8)3
Log in or sign up to continue

I tried to send the Patient resource to FHIR repository through HS.FHIRServer.API.Data.Request object and now the above error disappear but my request not send to the repository and see the Operation log displays and I can send the data from Postman. I couldn't see any request coming through from interface in HTTP Access log.

ERROR #5770: Object open failed because 'ServiceIdIdx' key value of '' was not found error. Could you please suggest why this error occurs.

#dim patient AS HS.FHIR.DTL.vR4.Model.Base.Resource
    #dim interopRequest AS HS.FHIRServer.Interop.Request
    Set apiRequest = ##class(HS.FHIRServer.API.Data.Request).%New()
    Set apiRequest.QueryString=""
    Set apiRequest.BaseURL="/csp/healthshare/fhirdemo/fhir/r4"
    Set apiRequest.RequestMethod="POST"
    Set apiRequest.RequestFormatCode="JSON"
    Set apiRequest.ResponseFormatCode="JSON"
    Set apiRequest.RequestPath="/Patient"

Again, difficult to tell from the limited info provided.

What are you doing after instantiating  HS.FHIRServer.API.Data.Request ?

HS.FHIRServer.API.Data.Request is a serial class, not a persistent class, are you using it in a SendRequest(Sync/Async) call? If so, then you cannot do that.

But again, this is only a guess, please provide more context.