go to post Dmitrii Baranov · Nov 2 I'm sorry for the false alarm. I've increased the FHIR server "Max Search Results" option value so now everything works fine.
go to post Dmitrii Baranov · Oct 21 The option with $LIST(...) works, thanks again (not so elegant though but OK as a workaround). I'm thinking about registering a feature request.
go to post Dmitrii Baranov · Oct 20 Thanks Robert, I've read this article, but the syntax isn't entirely clear to me: Select ID,Company from rcc_IC.ItemList Where FOR SOME %ELEMENT(rcc_IC.ItemList.Items) ($list(%Value,3) in ('blue','yellow')) Here the integer is used, but I need to search using a named property
go to post Dmitrii Baranov · Feb 26 Thanks a lot! In short, I failed. 1. This requires installing pip3 on Unix and you'll need to be su 2. If you want to reference npm libraries, you'll need to be su (although technically it's possible to place JS library/libraries code in the XData section(s)) 3. The most annoying thing is that most JS libraries are asynchronous and that's a dead end
go to post Dmitrii Baranov · Nov 23, 2023 You have to cast your %CharacterStream to a specific implementation, say, to %GlobalCharacterStream. The latter one implements %GlobalStreamAdaptor, which inherits from %AbstractStream and %Stream.Object. Finally, the %Stream.Object class exposes the CopyFrom method which allows you to copy data from your %Stream.GlobalBinary instance (and vice versa)
go to post Dmitrii Baranov · Nov 21, 2023 Thanks, got it. Then perhaps this setting can somehow be changed programmatically, in the installer code?
go to post Dmitrii Baranov · Oct 21, 2023 Thanks a lot Robert. I completely forgot about multiple inheritance 😶
go to post Dmitrii Baranov · Oct 3, 2023 Thanks so much! It was not obvious for me that the DebugMode property value is of type integer (looks like boolean)
go to post Dmitrii Baranov · Sep 25, 2023 Interesting... I'm actively using the Write method, but for emitting console messages using constant strings. Anyway, thanks
go to post Dmitrii Baranov · Sep 11, 2023 It seems to me that I found the answer (was googling for two hours and found nothing, then used forum search and voila): Declare a class which inherits Ens.Production: Class My.Production Extends Ens.Production { XData ProductionDefinition { <Production Name="My.Production" TestingEnabled="true" LogGeneralTraceEvents="true"> <Description></Description> <ActorPoolSize>1</ActorPoolSize> </Production> } } And launch: Set isProductionRunning = ##class(Ens.Director).IsProductionRunning("My.Production") If isProductionRunning = 0 { Set sc = ##class(Ens.Director).StartProduction("My.Production") }
go to post Dmitrii Baranov · Jul 31, 2023 Ended up with a compromise 😊 Just replaced <transform> with a <call> and delegated that transform to BO
go to post Dmitrii Baranov · Jul 25, 2023 I'm a very beginner :) but personally I would not recommend such an approach. That "syntax sugar" will only discourage people who come from the world of Java and C#.
go to post Dmitrii Baranov · Jul 19, 2023 > What parameter are you trying to change? My subclassed Transform calls some external web service and I want to allow a user configure that web service settings (url-port-ssl-etc) by clicking on the business process <transform> element. Also, it is crucial that such a transformation cannot be delegated to BO. So anyway, thank you, it is fine if I move settings to BP, but it is not that elegant :(
go to post Dmitrii Baranov · May 20, 2023 If you want to modify the response produced by your service, perhaps this will work: https://community.intersystems.com/post/enslibhl7servicehttpservice-enab... PS the original post is two years old
go to post Dmitrii Baranov · May 20, 2023 Got it! Now I'm struggling with adding a value to that array. Would it be correct? set arr(arr + 1) = value
go to post Dmitrii Baranov · May 20, 2023 Thanks Robert. > args = number of params Arrays in IRIS are counterintuitive 😥
go to post Dmitrii Baranov · May 17, 2023 Here it is: Class MyHL7HTTPService Extends EnsLib.HL7.Service.HTTPService { Method OnAdapterHTTPResponse( ByRef pStatus As %Status, ByRef pHTTPResponseStatus As %String, ByRef pBodyLen As %Integer, ByRef pResponseBodyStream As %Stream.Object, ByRef pMainResponseHeader As %String, ByRef pHeaderExtra As %String) { set pHeaderExtra = pHeaderExtra _ "Access-Control-Allow-Origin: *"_ $char(13) _ $char(10) _ "Access-Control-Allow-Headers: *" _ $char(13) _ $char(10) _ "Access-Control-Allow-Methods: *" _ $char(13) _ $char(10) } }
go to post Dmitrii Baranov · Apr 30, 2023 Finally, I've implemented the following brute solution. I don't like the look of this at all, but it works ClassMethod test() As %Status{ #dim request as %CSP.Request set request = %request #dim headerName as %String set headerName = "" set headerName = request.NextCgiEnv(headerName) while (headerName '= "") { if $find(headerName, "HTTP_") '= 0 { set localHeaderName = $replace(headerName, "HTTP_", "") set localHeaderName = $replace(localHeaderName, "_", "- ") set localHeaderName = $zconvert(localHeaderName, "L") set localHeaderName = $zconvert(localHeaderName, "W") set localHeaderName = $replace(localHeaderName, "- ", "-") write localHeaderName, ": ", request.GetCgiEnv(headerName), ! } set headerName = request.NextCgiEnv(headerName) } return $$$OK}
go to post Dmitrii Baranov · Mar 21, 2023 I need to find a reason of a performance bug in the source code of the original class :)