go to post Eduard Lebedyuk · Aug 3, 2022 Even easier with DATEDIFF: set age = $SYSTEM.SQL.Functions.DATEDIFF("year", dob, $h)
go to post Eduard Lebedyuk · Aug 2, 2022 Yes? Cubes need space to store thier copy of the facts and CPU is needed to build it all. As I said above, using async reporting mirror for cubes would completely remove the impact on the patient index.
go to post Eduard Lebedyuk · Jul 28, 2022 Great article. Here's some of my ideas on how to pass large strings/streams to InterSystems IRIS from Native API.
go to post Eduard Lebedyuk · Jul 25, 2022 Yeah, the process had 64,5 Gb of virtual memory allocated and 40Gb actually used. Not surprised OOM killed that.
go to post Eduard Lebedyuk · Jul 25, 2022 That's InterSystems IRIS logs. You need OS logs, namely syslog (check /var/log/syslog or /var/log/messages). Search for log entries about the "killed process" around the time your process was killed. To be extra sure run write $job before calling the query to get process id. It should match the id of a killed process. After you establish that your process was killed by OOM you need to report that to WRC, as a fix probably requires if not access, then at least overview of the production configuration which causes it.
go to post Eduard Lebedyuk · Jul 25, 2022 Let's see how much time does it take to run in a non web context. There would be no timeouts in that case. Could you please run this in your interoperability namespace: set start=$h,rs=##class(Ens.InterfaceMaps.Utils).EnumeratePathsFunc(),end=$h write "Time in seconds: ", $p(end, ",", 2)-$p(start, ",", 2) If you run the query in SMP with parameters set them here too. EnumeratePaths query docs. Also after you obtain the result set, you can output it to a terminal using %Display method, or to a file using %DisplayFormatted method.
go to post Eduard Lebedyuk · Jul 25, 2022 It's a windows box issue, not InterSystems IRIS issue. I've seen a few, easiest solution is to delete localised DLLs, which would make all text English. Not perfect, but better than the gibberish.
go to post Eduard Lebedyuk · Jul 25, 2022 In your Business Service settings set ClassName to pacIPM.reqICNARC and ElementName to ADMISSION. I think you set only ClassName and did not set ElementName. In that case interoperability tries to match root object - ICNARC in your case to pacIPM.reqICNARC, and it fails because pacIPM.reqICNARC class does not have ADMISSION property.
go to post Eduard Lebedyuk · Jul 23, 2022 It looks like an encoding problem, Win-1251 to Win-1252 specifically.
go to post Eduard Lebedyuk · Jul 21, 2022 Is there a solution for latest? Spent like half an hour on this puzzle with no results.
go to post Eduard Lebedyuk · Jul 20, 2022 What particular question do you have? Please consider providing more information. You get a callresponse from a BO, copy it (or copy id as you'd leave the stream immutable) and create a new callrequest to another BO. Alternatively use ResponseClass to save results into persistent objects.