go to post Enrico Parisi · Apr 23, 2024 The WRITE command, when passed no argument, does a reflexion on the system. Well, it simply list/write all defined variables in current stack level, something you can perform using standard Object Script commands and functions, no need to look at Write source code. To do that you can use $order, $query, and indirection, with some trick needed for the variables you use to perform the listing, or, maybe simpler, you can use output redirection (to a string for example) and then...well, an argument less Write command 😊 Some hint for the first option: USER>set a=1,b=2,b(1)=3,x="" USER>set x=$order(@x) USER>write xaUSER>set x=$order(@x) USER>write xbUSER>set x=$query(@x) USER>w xb(1) For output redirection, see IO Redirect in ObjectScript in Open Exchange.
go to post Enrico Parisi · Apr 23, 2024 Within $piece, instead of $LENGTH(STRING,DELIM) you can use *
go to post Enrico Parisi · Apr 21, 2024 In order to better understand the problem, you may use SoapUI to "manually" call the WS and try different options/messages to figure what's wrong with your call.
go to post Enrico Parisi · Apr 18, 2024 Set Found=0 Set Id="" For { Set Id=$order(^DataTest(Id)) Quit:Id="" If $listget(^DataTest(Id),2)=1516 { Set Found=1 Quit } } If Found Write "Found 1516 in Id: ",Id,!
go to post Enrico Parisi · Apr 5, 2024 That class is part of HealthShare, AFAIK is not part of IRIS for Health
go to post Enrico Parisi · Apr 5, 2024 Please note that all timestamps (TimeCreted, TimeProcessed) in Ens.MessageHeader use Ens.DataType.UTC datatype. It's UTC time. So, in what mode is your query running? GETDATE() : A date/time function that returns the current local date and time.
go to post Enrico Parisi · Apr 3, 2024 these are system classes that are part of the product that do exists in the new installed version in the %SYS namespace. If the Studio screenshot you have posted is not from the %SYS namespace (it really does not seems so), then probably the System package is mapped to that namespace, possibly also the related globals. But...I'm guessing here from the little details and context you provide.
go to post Enrico Parisi · Apr 3, 2024 If %f is not working in your environment my guess is that, for some reason, the property OriginalFilename is not set in the incoming message to your EnsLib.File.PassthroughOperation Business Operation. Where is the incoming message coming from? Why the OriginalFilename is not set?Can you provide some more details on your environment?
go to post Enrico Parisi · Apr 2, 2024 For your response I assume you are searching for a class used by a Business Host component within a production. Using IRIS you can search for that, and much more, using "Interface Reference" within the Management portal: Unfortunately you are using an old version where this feature is not available. Add this to the (possibly long) list of good reasons to move to IRIS.
go to post Enrico Parisi · Apr 1, 2024 For DEFLATE use: open tmpFile:("WNS":::/COMPRESS="DEFLATE"):0 set original = "my very long string which needs to be deflated" zwrite original write !,"using $system.Util.Compress",! set compressed = $system.Util.Compress(original, "zlib") set compressed=$e(compressed,4,*-5) zwrite compressed zzdump compressed write ! set deflated = $system.Encryption.Base64Encode(compressed, 1) zwrite deflated set tmpFile = ##class(%File).TempFilename("bin") set io = $io open tmpFile:("WNS":::/COMPRESS="DEFLATE"):0 use tmpFile write original use io close tmpFile set stream = ##class(%Stream.FileBinary).%New() set stream.Filename = tmpFile set stream.RemoveOnClose = 1 set compressed = stream.Read(stream.Size) write !,"using open file",! zwrite compressed zzdump compressed write ! set deflated = $system.Encryption.Base64Encode(compressed, 1) zwrite deflated write !,"Expected",! set base64 = "y61UKEstqlTIyc9LVyguKcoEUuUZmckZCnmpqSnFCiX5CkmpCimpaTmJJakpAA==" set compressed = $system.Encryption.Base64Decode(base64) zwrite compressed zzdump compressed write ! Result: original="my very long string which needs to be deflated" using $system.Util.Compress compressed="ËT(K-ªTÈÉÏKW(.)Ê"_$c(4)_"Rå"_$c(25,153)_"É"_$c(25,10)_"y©©)Å"_$c(10)_"%ù"_$c(10)_"I©"_$c(10)_")©i9"_$c(137)_"%©)"_$c(0) 0000: CB AD 54 28 4B 2D AA 54 C8 C9 CF 4B 57 28 2E 29 ËT(K-ªTÈÉÏKW(.) 0010: CA 04 52 E5 19 99 C9 19 0A 79 A9 A9 29 C5 0A 25 Ê.Rå..É..y©©)Å.% 0020: F9 0A 49 A9 0A 29 A9 69 39 89 25 A9 29 00 ù.I©.)©i9.%©). deflated="y61UKEstqlTIyc9LVyguKcoEUuUZmckZCnmpqSnFCiX5CkmpCimpaTmJJakpAA==" using open file compressed="ËT(K-ªTÈÉÏKW(.)Ê"_$c(4)_"Rå"_$c(25,153)_"É"_$c(25,10)_"y©©)Å"_$c(10)_"%ù"_$c(10)_"I©"_$c(10)_")©i9"_$c(137)_"%©)"_$c(0) 0000: CB AD 54 28 4B 2D AA 54 C8 C9 CF 4B 57 28 2E 29 ËT(K-ªTÈÉÏKW(.) 0010: CA 04 52 E5 19 99 C9 19 0A 79 A9 A9 29 C5 0A 25 Ê.Rå..É..y©©)Å.% 0020: F9 0A 49 A9 0A 29 A9 69 39 89 25 A9 29 00 ù.I©.)©i9.%©). deflated="y61UKEstqlTIyc9LVyguKcoEUuUZmckZCnmpqSnFCiX5CkmpCimpaTmJJakpAA==" Expected compressed="ËT(K-ªTÈÉÏKW(.)Ê"_$c(4)_"Rå"_$c(25,153)_"É"_$c(25,10)_"y©©)Å"_$c(10)_"%ù"_$c(10)_"I©"_$c(10)_")©i9"_$c(137)_"%©)"_$c(0) 0000: CB AD 54 28 4B 2D AA 54 C8 C9 CF 4B 57 28 2E 29 ËT(K-ªTÈÉÏKW(.) 0010: CA 04 52 E5 19 99 C9 19 0A 79 A9 A9 29 C5 0A 25 Ê.Rå..É..y©©)Å.% 0020: F9 0A 49 A9 0A 29 A9 69 39 89 25 A9 29 00 ù.I©.)©i9.%©).
go to post Enrico Parisi · Mar 27, 2024 I'm no expert in vectors so I might be wrong, however it seems to me that the problem is not in the VECTOR_COSINE() function, instead it seems to me the problem is in the TO_VECTOR() function inside VECTOR_COSINE(). The documentation for the TO_VECTOR() function for the first argument (data) says: If you are using TO_VECTOR in Dynamic SQL, other data types are accepted. The allowed data types are determined by the SelectMode. If the SelectMode is ODBC or Display, the data argument may be passed in as a DynamicArray, as well as a string. If the SelectMode is Logical, the data argument must be entered as a $vector. In this case the SelectMode is Logical and it does not seems to me that the TO_VECTOR() first argument is passed as $vector.
go to post Enrico Parisi · Mar 19, 2024 It contains the sender of the current request message being processed by the BO.
go to post Enrico Parisi · Mar 19, 2024 Within your BO method ..%RequestHeader.SourceConfigName contains the name of the "sender" Business Host.
go to post Enrico Parisi · Mar 14, 2024 This post should give you details on how to implement it: Dynamic/SQL Drop down list for Business Operation Property Setting X509 credentials are stored in %SYS.X509Credentials.cls, you can use SQL or use a query defined in %SYS.X509Credentials class.
go to post Enrico Parisi · Mar 7, 2024 Change to Do ..SendRequestSync("process.Reconciliation",pInput, .pOutput)
go to post Enrico Parisi · Mar 5, 2024 I think that using EnsLib.REST.GenericService and EnsLib.REST.GenericOperation is the way to go.
go to post Enrico Parisi · Mar 3, 2024 When you run $zf(-100) from IRIS session terminal the external process is run in the OS context (secutity/permissions) of the OS user loggen in. When $zf(-100) is run by a storedproc or studio is run in the OS context (secutity/permissions) of the OS user used by the IRIS instance. You have permission and/or environment issue. Why run python using $zf(-100)? You can use embedded python to avoid this issues, it is simpler and have better performance.
go to post Enrico Parisi · Mar 1, 2024 Ciao Ilenia, what kind of single FHIR resource is so large so that you need to split it? If there are multiple resources, then you can post them individually.
go to post Enrico Parisi · Feb 28, 2024 Are you running it from an elevated (administrator or equivalent) command prompt?