Is the message queued in Ens.Alert? What kind of host and class in used by Ens.Alert?
- Log in to post comments
Is the message queued in Ens.Alert? What kind of host and class in used by Ens.Alert?
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:
I would just decode the B64 then if it catch any error or returns nothing ("") is not valid.
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.
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.
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.
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" ....
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?
Try using:
$property(%source,"client_name")
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.
If you can share your code it would be much easier to help you
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.
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)馃槈
Just add another "if" within the "else" block?
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.
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
If the header is called "AUTHORIZATION", then use:
Set authHeader = %request.GetCgiEnv("AUTHORIZATION")
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?
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()
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.
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?
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?
What is reported in the WIndows Event log?
In addition, check the cconsole.log in the installation mgr directory.
Yes, for ODBC connection you can use the SQL Gateway directly from code, I suggest to start from documentation:
I advise to use:
TROLLBACK 1
Instead of
TROLLBACK
This way you rollback "your stuff", not EVERYTHING...god knows what! 馃槈
The last message/error is pretty clear:
Unable to allocate shared memory minimum of 146MB
Although it seems strange to me that a modern system is not able to allocate 146MB of memory!
Can you try to reboot the system?
Welcome to the Community Rajesh! 馃檪
What puzzle me is the "EnsLib.NullAdapter"!
EnsLib is a "system" package mapped to a read only database.
There is no such a "EnsLib.NullAdapter" class in the ENSLIB database.
Does this class even compile?!
How is configure the "Stay Connected" setting in the BO that use the EnsLib.SQL.OutboundAdapter?
How many/how often you have messages sent to this BO?
Just to check, how did you "build index on both EnsLib.HL7.SearchTable and OSU.HL7.SearchTable."?