Hello Pavithra,
For this level of question I think it might be helpful to reach out to your InterSystems account team. I am sure they will be able to assist you with this project.
- Log in to post comments
Hello Pavithra,
For this level of question I think it might be helpful to reach out to your InterSystems account team. I am sure they will be able to assist you with this project.
Hi Nora,
The CopyFile method's documentation in the InterSystems class reference does say that the file will be overwritten.
This documentation may help you with the appending:
Hello Pavithra,
The other post seems to have what you need. You can't put an entire dynamic object into an HL7 message and have the extra segments be generated automatically. I'd suggest iterating through the dynamic object and placing each value into a separate segment, specifying the target (repeating) segment using SetValueAt.
Hi Steve,
I don't have a lot of experience with this but I have heard of a Web Gateway container that includes Apache.
"The webgateway image available from InterSystems, which includes both the Web Gateway and an Apache web server, provides a web server component for containerized deployments of InterSystems IRIS-based applications. Automated deployment of the Web Gateway container can be effected by using manual procedures to develop a CSP.ini file containing the desired Web Gateway configuration, as well as apache2.load and apache2.conf files specifying the desired Apache web server modules and configuration, and placing them in their expected locations in the Web Gateway container (/opt/webgateway/bin/ and /etc/apache2/mods-available/, respectively) as part of the deployment process. The durable %SYS feature and the Web Gateway’s entrypoint application /cspEntryPoint.sh provide a simple way to do this, as the script automatically links these files (plus the CSP.log log file) to the corresponding files on the specified durable %SYS volume."
Hello Mikael,
What do you mean by locking resources? I think Call Interval should be appropriate for the behavior you want, but I'm not sure what complication you're referring to.
A common suggestion here might be the Ensemble schedule handler, but I'd not recommend that as per the documentation this isn't intended for specifying specific processing times, but activation windows for the interface. The documentation also discusses creating a more general scheduled task and having it call CreateBusinessService() and ProcessInput() but this would be much more involved than just using Call Interval.
Hello Yone,
You linked the custom schema documentation - that seems to be appropriate for working around this. What exactly were you having trouble with?
Yone,
Your service's ack mode is set to never. Depending on what you want you'll need to adjust that setting.
Hello Gunwant,
How are you intending to use LDAP?
This documentation covers that you can configure LDAP to use TLS for Caché authentication.
Hello Ruslan,
What is localdemon.exe? I have never heard of it and I can't see it in my Windows installations. How does this interact with Caché?
One set of errors that stood out to me is:
09/25/20-15:45:16:790 (9924) 1 SNMP server failed to start: 0,Error (2) signaling Windows SNMP Service; check Service is installed/started.
09/25/20-15:54:17:010 (8972) 1 Error reading from SNMP port, Windows SNMP Service may have terminated connection.
I'd recommend reviewing the documentation I linked for some other suggestions, but I'd start by trying to verify that snmp works at the Windows level, separate from Caché.
Hi Han,
Is the problem you are seeing that you can't set up SNMP with Caché? The error you pointed out is most likely Windows error 2 file not found. Does the referenced file exist? Perhaps the permissions are incorrect.
Maybe this error is not the important one, as after that it seems startup continues until we see the following:
16:58:25 :Error response from Cache instance ENSEMBLE 'requestDenied', make sure $$start^SNMP has been run.
Has $$start^SNMP been run? You can find setup/troubleshooting steps in the documentation here:
Robert,
57772 was the default web server port for Caché, but for IRIS the default port is 52773. This setting is configurable, so you can check the messages.log in <install directory>/mgr/ to confirm which port is being used with the message I described in my previous comment.
Alternatively, "iris list" will also tell you the port number.
Robert,
This indicates a problem with your web server settings in Atelier - is localhost:57772 the appropriate setting? If this is a local instance of IRIS and you are using the private web server, your messages.log will show: "Private webserver started on #####" which is the port you would want to use here.
Hi,
I see in your previous post Marc Mundt suggested a lookup table, which seems like a good candidate here. Is there a particular reason you wouldn't be able to implement that or are looking for another option?
Also see SYS.Database, which in addition to that class reference link is documented in brief here:
(Caché & Ensemble 2018.1.3 — 2018.1.4 > Caché Development References > InterSystems Programming Tools Index > Tools Index > Databases)
Hi Bharath,
I'm not sure what exactly you're trying to do but trying to invoke a CHUI in a script feels a bit clunky. Perhaps the Config.Journal and Config.Databases APIs would be useful to you.
Hi Devin,
I'm not sure I understand exactly what you are trying to do, but if you are new to HealthShare/DTLs in general the following course might be helpful.
https://learning.intersystems.com/course/view.php?id=133
"Building Your First HL7 Production" contains some links to videos, online courses, and other resources.
Ah, while it is disappointing that we don't have a 100% understanding of what happened here, I'm glad at least the problem hasn't been recurring.
Hello Bukhtiar,
Not sure if you were just looking for the specific documentation that Francisco provided or something more general. If you want some resources on learning to work with InterSystems products (and specifically ObjectScript), I'd recommend reviewing the courses available on learning.intersystems.com.
https://learning.intersystems.com/course/view.php?id=289
This course is "Learn Caché ObjectScript" and links to documentation, a tutorial, and an online course.
I can't speak definitively as I haven't tested but if you were able to show the management portal underperforming on the latest version, you could report it to InterSystems.
Hey Anna,
Glad you were able to get this resolved. I would be curious, as Nigel mentioned, if you had been importing/exporting in the background from the management portal, as that level of speed seems surprisingly slow. Also, I assume there have been improvements to the newer utilities in even more recent versions of Caché and IRIS, so perhaps you would see better performance if you were able to upgrade.
The WRC (Worldwide Response Center) is the InterSystems support department.
https://www.intersystems.com/support-learning/support/
If you try to export a smaller set of globals (from later in the list) do they succeed? Are you sure it's a failure to import and not a failure to export?
I didn't see a wildcard for %Library.Global but $SYSTEM.OBJ.Export does appear to support wildcards.
That being said, I would be interested in why the global export/import is failing in the first place. One pitfall is "Block format ignores mapped globals and mapped global subscripts", but other than that we'd probably need more details on your process and what globals are succeeding or failing. This is probably appropriate to contact the WRC with.
Hello Marcus,
The VSS implementation is quite straightforward for users. When you try to create a VSS shadow copy this will invoke the Caché VSS writer, which automatically calls external freeze/thaw. I'm not familiar with Veeam and its integration with VSS, but you could probably verify this behavior with a quick test.
You can see that Caché is ready by the following cconsole.log message (documented):
"Caché VSS Writer started"
From another level, you can verify the Caché VSS writer using "vssadmin list writers" at the OS command prompt.
I hope that helps. Perhaps others are more familiar with Veeam.
Hey Keshav,
I'm not aware of a built-in time comparison function. An alternative to using zdateh and ztimeh may be to use ##class(Ens.Util.Time).ConvertDateTime, but I think for the actual comparison you'll need to convert to a matching target format.
Format specifications are documented here:
If MLLP had already been in use, what change was made to prevent the "discarding received non-HL7 data" messages? Does that give any clue to what is happening with those particular messages?
Perhaps you could try enabling "Log Trace Events" which might tell you more about what step in the processing is getting stuck.
What is the process for handling these messages manually, and how does it differ from normal processing?
Those are the other kinds of things I would look at, though looking at the specific messages that trigger this issue is definitely a good step. I would definitely be interested in an update once you've figured this out.
Great, glad I could help and hopefully that was the answer!
Hello Matthieu,
I suspect this is an issue with the framing. You are using MLLP framing meaning each message is expected to be surrounded by ASCII 11 prefix and 28,13 suffix. In hex that's 0B prefix and 1C, 0D suffix. The error you're getting implies that the ASCII 13 is never being received. I would check to make sure the acks have the proper framing, and that the framing you are using for your operation matches what the downstream system expects, and vice versa.