go to post Enrico Parisi · Apr 18 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 That class is part of HealthShare, AFAIK is not part of IRIS for Health
go to post Enrico Parisi · Apr 5 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 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 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 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 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 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 It contains the sender of the current request message being processed by the BO.
go to post Enrico Parisi · Mar 19 Within your BO method ..%RequestHeader.SourceConfigName contains the name of the "sender" Business Host.
go to post Enrico Parisi · Mar 14 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 Change to Do ..SendRequestSync("process.Reconciliation",pInput, .pOutput)
go to post Enrico Parisi · Mar 5 I think that using EnsLib.REST.GenericService and EnsLib.REST.GenericOperation is the way to go.
go to post Enrico Parisi · Mar 3 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 · Feb 28 Are you running it from an elevated (administrator or equivalent) command prompt?
go to post Enrico Parisi · Feb 28 New variant that I like it better 😀 %SYS>Set ResultSet=##class(Config.Namespaces).ListFunc() %SYS>While ResultSet.%Next() { Write ResultSet.%Get("Namespace"),$c(9),ResultSet.%Get("Globals"),$c(9),ResultSet.%Get("Routines"),!} %ALL %DEFAULTDB %DEFAULTDB %SYS IRISSYS IRISSYS USER USER USER %SYS>
go to post Enrico Parisi · Feb 28 A Business Process can only be invoked/called from a Business Service within an Interoperability Production. You can invoke/call a Business service from your code/application with: Set sc = ##class(Ens.Director).CreateBusinessService("BusinessServiceName", .BService) If $$$ISERR(sc) ; handle error here Set sc = BService.ProcessInput(BSRequest,.BSResponse)
go to post Enrico Parisi · Feb 21 I would say no. Lookup Tables are simple and ready to use, if you need more, it's relatively simple to implement a custom functionality with audit, lat modification time, user etc.
go to post Enrico Parisi · Feb 21 I'm not sure what "HL7 Reference Guide" exactly means for you, however, within "health enabled products" (IRIS for Health, Healthhare Connect, Healthshare UCR etc.) there are "HL7 Schemas" for all HL7 v2 variants up to 2.8.2. Can be accessed from Management Portal Interoperability -> Interoperate -> HL7 v2.x -> HL7 v2.x Schema Structures. There, for each version you can browse in detail the HL7 message structure, segments, field, subfields etc down to code tables associated to coded entries/fields. If you don't have IRIS for Health, you can download IRIS for Health community edition that is free for non commercial/production use (check license for details).