Question Krishnaveni Kapu · May 23, 2024

Sending FHIR bundle object to a router failing

Go to the original post@Krishnaveni Kapu

I would like to send bundle object to a router and then
 perform a DTL with in the routing rule ( this BundleObject as a source to my DTL).
 during this process , I get below exception 
 
 reqStream = json content in a stream
 
 Set BundleObject=##class(HS.FHIR.DTL.vR4.Model.Resource.Bundle).FromJSON(reqStream,"vR4")
 
 Set tSC = BusinessService.SendRequestSync("SAMPLE_ROUTER", BundleObj)
 
 expection :
 
 ERROR <Ens>ErrException: <METHOD DOES NOT EXIST>zNewRequestMessage+4^Ens.MessageHeader.1 *%GetSwizzleObject,HS.FHIR.DTL.vR4.Model.Resource.Bundle -- logged as '-' number - @''

Comments

Enrico Parisi · May 23, 2024

A production/ensemble message, a request in your case, MUST be a %Persistent class.

BundleObject is a %DynamicObject and is not (does not extend) a %Presistent class.

0
Krishnaveni Kapu  May 23, 2024 to Enrico Parisi

 This is how I am doing :

---------
 
Class PKG.ObservationWrapper Extends %Persistent
{

Property bundleReq As HS.FHIR.DTL.vR4.Model.Resource.Bundle;

}

-------

Set wrapperBundleObj =  ##class(PKG.ObservationWrapper).%New() 
Set wrapperBundleObj.bundleReq = ##class(HS.FHIR.DTL.vR4.Model.Resource.Bundle).FromJSON(reqStream,"vR4")
Set tSC = BusinessService.SendRequestSync("SAMPLE_ROUTER", wrapperBundleObj.bundleReq)

 expection :
 
 ERROR <Ens>ErrException: <METHOD DOES NOT EXIST>zNewRequestMessage+4^Ens.MessageHeader.1 *%GetSwizzleObject,HS.FHIR.DTL.vR4.Model.Resource.Bundle -- logged as '-' number - @''
 
 =======================================

0
Enrico Parisi  May 23, 2024 to Krishnaveni Kapu

The class HS.FHIR.DTL.vR4.Model.Resource.Bundle is a registered object and cannot be used in a persistent class property.

0