go to post Vic Sun · Oct 12, 2020 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.
go to post Vic Sun · Oct 1, 2020 Hello Gunwant, How are you intending to use LDAP? Using LDAP This documentation covers that you can configure LDAP to use TLS for Caché authentication.
go to post Vic Sun · Sep 29, 2020 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é.
go to post Vic Sun · Sep 22, 2020 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.
go to post Vic Sun · Sep 16, 2020 Also see SYS.Database, which in addition to that class reference link is documented in brief here: Databases (Caché & Ensemble 2018.1.3 — 2018.1.4 > Caché Development References > InterSystems Programming Tools Index > Tools Index > Databases)
go to post Vic Sun · Sep 16, 2020 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.
go to post Vic Sun · Sep 16, 2020 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.
go to post Vic Sun · Aug 24, 2020 Perhaps DATEDIFF from a previous question on the developer community would work? https://community.intersystems.com/post/how-compare-time
go to post Vic Sun · Aug 19, 2020 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.
go to post Vic Sun · Aug 4, 2020 Hi Jeff, Perhaps you are using shorthand and I would need to see a larger sample of your code, but in your actual code are you using SetValueAt? If you're transforming HL7 messages you will need to use that method. SetValueAt is the other side of the GetValueAt coin.
go to post Vic Sun · Jul 29, 2020 Hi Oliver, I'm not sure exactly what steps you have done already but did you follow the directions in this documentation?Configuring the Enterprise Message Bank
go to post Vic Sun · Jul 23, 2020 Hey Jonathan, Perhaps you've already seen them, but I'd check out these posts regarding VS Code and Atelier/Studio. https://community.intersystems.com/post/atelier-and-studio https://community.intersystems.com/post/intersystems-joins-open-source-o... VS Code is being worked on/developed but has not yet reached an official InterSystems 1.0 release; my bet is when it has reached a threshold of completeness it will find its way into the documentation. If you want to try out VS Code to get familiar with it and contribute to its development, that seems like a totally viable option. Re: Atelier/Studio in the meantime, per Andreas' comment you can keep using either as they will be maintained indefinitely, they just won't see enhancements.
go to post Vic Sun · Jul 23, 2020 Hi Jonathan, For community edition there's IRIS and IRIS for Health, but not HealthShare or Trak. HealthShare and IRIS for Health docs are available at docs.intersystems.com (link in the top bar of the community). Not sure about Trak.
go to post Vic Sun · Jul 20, 2020 Yes, probably WRC would be the next step. I tested on HealthShare Health Connect so I did not have the MPRL resources, but I tried making a user with R/W database permissions and just the resources you listed and was able to navigate from the SMP home page to the production page. I did get a <PROTECT> error so there's probably something still missing, but I got further than you seem to be able to.
go to post Vic Sun · Jul 17, 2020 Hi Jeff, You're including "index" in the string. You would need to concatenate it in for it to take its value, such as:set addarray(1) = source.GetValueAt("PIDgrpgrp(1).ORCgrp(1).OBXgrp("_index_".OBX:ObservationValue(1)")
go to post Vic Sun · Jul 8, 2020 Hey Jeff, I wrote up a quick sample that doesn't get quite what you wanted, but I think it's close enough that you'll be able to take it from there. If not, feel free to ask further. My sample reverses the first FT1grps and leaves the last one in the final slot. First I used * to get the count: Counting Fields If you wanted to implement some more complex logic you could potentially do it here. Alternatively, you might want to write a custom utility function to perform the chunking and reversal. This keeps your code more compartmentalized and keeps too much from sitting in the DTL itself. Defining Custom Utility Functions
go to post Vic Sun · Jun 12, 2020 Hi Oliver, Is your intent to have multiple productions in containers trying to pull the same types of files from the same directory to split the load? It sounds like you're not able to pull from different file paths, but would setting different FileSpecs be an option? Perhaps setting different WorkPaths would be helpful, so that the file service(s) will move the file to another directory while processing. Another possibility would be to have one production with a file service with a pool size >1 that routes to the various other productions.
go to post Vic Sun · Jun 11, 2020 Hello Viroj, You need to pass the value and path into the first and second parameters of SetValueAt respectively. Check out the following example:Using Code and SetValueAt
go to post Vic Sun · Jun 3, 2020 Hi Scott, When I try and save a rule set with improper syntax it ends up saving but not compiling, which also removes the existing int code. The problem is "caught" in that a warning is shown, though it doesn't prevent you from proceeding. My guess at the rationale would be to not blow away any incomplete work - it would be a bit of an odd restriction if you could only save a rule set if the code was valid. When the compile fails the existing compiled code is removed, so the rule set is unusable.
go to post Vic Sun · May 27, 2020 Hello István, You can find in the docs the following: Using the Task Manager "If the chosen user is disabled, the task is suspended until the user is enabled and the task is resumed manually. This does not apply to built-in System tasks, which run even when the chosen user is disabled." While the system tasks will still work while assigned to run as the disabled _SYSTEM user, it might be a good idea to set them to another user with similar permissions for clarity's sake. The necessary resources for a task are totally dependent on what the task needs to do.