I was Java developer for more than 15 years and for me to use arguments by reference was totally disgusting, you can use it in Java, but it's not very common, in Objectscript is the opposite, Output arguments are the rule, no the exception.

Calling instance methods using variables not declared as arguments made me feel dirty.

PUT and DELETE works, but you have to use as id the generated by FHIR server, you can't use MRN or any other type of id.

Sorry for the delay, at the end of your third point your request is a HS.FHIRServer.Interop.Request object, this object has a property called RequestMethod in which you define the method (PUT, POST, DELETE). Define it to PUT and it should work (if your resource has the id assigned by the FHIR server before).

Another option is to use embedded python (not for your version sadly). You would use jsondiff Python library to compare the JSON projection of the objects.

The improvement of the performance is incredible, if I were a solutions architect I would've in mind the columnar storage for any kind of dashboard.

Do you need to do something with the request? If you don't the best option is to delegate the redirection to the application server (Apache or whatever), avoiding to involve IRIS in the process.

Following the answer from @Tani Frankel you can generate XSD from XML with no problem, there are a billion of webs that you can use to do it (you just have to be sure that the XML contains all the tags required).

Hi Token! You need an interoperability production running with a business component with the same name that you are using to invoke it. The production has to be running on the same namespace.

What do you mean with multiple Business Rules? you want to send your object throught more than one business rule? And send it where? To another business component?

Something like this:

set status = ##class(Ens.Director).CreateBusinessService("My.BusinessService", .instance)
set status = instance.SendRequestAsync("My.BusinessProcess", request, .response)

I would get a bundle from patient X for each resource that you want to move and send a post for the patient Y with a bundle formed by the resources that you got modifying the reference to the patient Y.