go to post Enrico Parisi · 20 hr ago I would just decode the B64 then if it catch any error or returns nothing ("") is not valid.
go to post Enrico Parisi · 20 hr ago Hi @Ariel Glikman, my bad, in the latest 2024-2025 "Healthcare Mirroring" documentation page I didn't see this: To automatically configure and schedule this task, as well as mirror the HSSYS database, use the HSSYS Mirroring Utility. Alternatively, manually schedule the task on each mirror member: In fact until 2023.1 the (just released?! 😉) HSSYS Mirroring Utility was only mentioned in the Upgrade documentation.
go to post Enrico Parisi · Nov 12 Are you sure that the tool (browser? does not look like Postman) you use in the first picture is using a POST andf not a GET method? The "405 Method Not Allowed" error means that POST (as used in your code) is not allowed.
go to post Enrico Parisi · Nov 12 Hi @Ariel Glikman, thank you for the tip regarding the HSSYS Mirroring Utility. Is there any reason why that utility is mentioned in the "Upgrade reference" part of the documentation and not in the "Healthcare Mirroring" (installation) documentation? This gives the impression that the utility is (only?) for upgrading IRIS for Health.
go to post Enrico Parisi · Nov 10 I don't think Try/Catch is the solution, but I don't know what you want to happen when an error occur. Maybe an option could be using the "erropt" parameter in $ZDTH, like: Set dateH=$ZDTH(whatevervalue,,,,,,,,,"invalid")If dateH="invalid" ....
go to post Enrico Parisi · Nov 8 Can you please provide some context on how/where you are using try/catch within DTL? What exactly you want to happen when an error occur? Depending on your requirements, maybe writing a custom function is easier to handle this situation?
go to post Enrico Parisi · Oct 29 I think you need to "HTML escape" your output. If your json is (relatively) small (<~3.5MB) then change: Write formatter.Format(json) With: Set sc=FormatToString(json,.fsonFormatted) If $$$ISERR(sc) { Write $zconvert(sc,"O","HTML") } Else { Write $zconvert(fsonFormatted,"O","HTML") } If your json is potentially big (>~3.5MB), the you have to use FormatToStream() instead of FormatToString() and $zconvert in chunks, see $zconvert documentation.
go to post Enrico Parisi · Oct 21 It really seems that there is no java executable in the (supposed?) java home directory you specified. Can you check if the following file exists: C:\Program Filey\Java\jdk-11\bin\java.exe Then there may be issues with the java version, maybe not.
go to post Enrico Parisi · Oct 14 Just a little trick, instead of: set file="/ext/Stream.html" set stream=##class(%Stream.FileCharacter).%New() set sc=stream.LinkToFile(file) You can use: set file="/ext/Stream.html" set stream=##class(%Stream.FileCharacter).%OpenId(file) 😉
go to post Enrico Parisi · Oct 13 To can get a base64 encoded value from JSON DynamicObject into a stream you don't need to write any conversion code using: Set stream = jsonObject.%Get("data", , "stream<base64") Bonus: this works with any data length, is not limited to the IRIS max string size as in the above article.
go to post Enrico Parisi · Oct 6 In the very first line at the top of your class insert the line: Include %syLDAP.INC Edit to correct, as pointed out below, sorry! Include %syLDAP
go to post Enrico Parisi · Oct 1 If the header is called "AUTHORIZATION", then use: Set authHeader = %request.GetCgiEnv("AUTHORIZATION")
go to post Enrico Parisi · Sep 23 I strongly discourage the use of embedded sql, it has many disadvantages. Sorry Theo but I don't agree at all. The differences (disadvantageous or not) between Embedded SQL and Dynamic Queries have evaporated since few years now, please have a look to this article from @Benjamin De Boe : New in 2020.1: the Universal Query Cache In general, I advice to use the query type (Embedded vs. Dynamic) that best fit in given code pattern, for example Embedded SQL is very convenient for query that returns 1 row. Or maybe you have other issues with Embedded SQL?
go to post Enrico Parisi · Sep 17 I think you are mixing hosts (production component) and jobs. A host can be enabled or disabled, when a host is enabled there are a number (PoolSize) of jobs and each job has a status. You can view/list the status/details of production jobs in the Management portal Interoperability -> Monitor -> Jobs. You already know how to get if an host is enabled/disabled, to get the status of all jobs you can use the query Enumerate in the Ens.Job class, to test it: Set rs=##class(Ens.Job).EnumerateFunc() Do rs.%Display()
go to post Enrico Parisi · Sep 16 I'm not familiar with ODBC on Linux, however it seems that Caché is unable to use the configured DNS named "DSN". Is that DSN properly configured and successfully tested in Linux? For configuring ODBC, have a look to this "Ask AI" answer. If you still have issues, I suggest to open a new question and provide detailed information on what you have configured/done and the results/errors you had.
go to post Enrico Parisi · Sep 15 What do your refer to with "Iris Health dashboard"? What web server are you using? Apache?Is the web server installed on the same system where IRIS is running? Did you install IRIS after installing the web server? During IRIS installation, was the web server configured? You mentioned a "VM", is this a "normal" or a container installation?
go to post Enrico Parisi · Sep 12 Is this on Windows or Linux? Are you using 32 or 64 bit Cachè/Ensemble? If Windows, did you configure the DSN named "DSN" in windows? 32 bits or 64 bits?