go to post Enrico Parisi · Nov 21, 2025 Hi @Fan Ji, is the item "The complete FHIR SQL Builder configuration" missing a screenshot?
go to post Enrico Parisi · Nov 14, 2025 Is the message queued in Ens.Alert? What kind of host and class in used by Ens.Alert?
go to post Enrico Parisi · Nov 14, 2025 I don't think there is a limit on the number of Business Services a production may contain, 30 is definitely not a big number of BS, I've seen production with more than 100 BS and it works just fine. Concerning the conversion of system Tasks into (scheduled, I guess) BS, well, it depends 😊 Depending on your use case there can be advantages or disadvantages, the main differences that come to my mind are: Scheduled BS starts only if/when a production is started When using mirror, scheduled BS runs only in Primary member Scheduled BS run (start) only in the production namespace
go to post Enrico Parisi · Nov 12, 2025 I would just decode the B64 then if it catch any error or returns nothing ("") is not valid.
go to post Enrico Parisi · Nov 12, 2025 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, 2025 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, 2025 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, 2025 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, 2025 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, 2025 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 28, 2025 If you can share your code it would be much easier to help you
go to post Enrico Parisi · Oct 21, 2025 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, 2025 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, 2025 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, 2025 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, 2025 If the header is called "AUTHORIZATION", then use: Set authHeader = %request.GetCgiEnv("AUTHORIZATION")
go to post Enrico Parisi · Sep 23, 2025 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, 2025 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()