go to post Michael Derr · Dec 5 Thanks for the reply! This isn't the first time I've seen Deltanji referenced, so we'll definitely have to take a look at it when comparing solutions to the new versions of embedded-git.
go to post Michael Derr · Dec 5 Interesting. I'm curious if anyone has this particular setup with details to share? For instance: does each developer have a local copy of IRIS on their laptop, or do they each have a dev instance on a server? If they are using their laptops, are they using a virtual machine or container setup? We have Windows machines but our IRIS instance is on Linux, so I imagine that would complicate things if the code a dev is working on references directory structure, system calls, etc.
go to post Michael Derr · Dec 5 That is correct: IE.cls is the interop Interface Engine production class in each namespace. I know that embedded-git has been working on implementing decomposed prodclasses (allowing edits/commits for individual business components) for this very reason, but we haven't yet had a chance to try the newest version.
go to post Michael Derr · Dec 5 Thanks for the reply. I guess in my mind, a branch would be made each time a dev wanted to work on a new feature/project. If we needed to set up a new environment each time we did that, we might be overwhelmed. Perhaps some more details on our namespace setup would be helpful. We have one namespace for handling most ADT/order/result HL7 messages, flowing back and forth to Epic. We have another namespace that handles most of our sftp traffic between other systems like Infor and various vendors. We have one namespace with an HL7 production dedicated to very high HL7 traffic from bedside monitors. Then we have two namespaces dedicated to other ERP traffic and some outside charge/financial traffic (X12, SFTP again). Each of these six namespaces has its own git repo on the server, managed by embedded-git, connected to Azure. Presently each namespace has but a single git branch, which is shared by all devs. If I, for instance, am working on settings in IE.cls for a new service, I make my edits and have locked the IE.cls from anyone else editing it until I commit my changes. I think in my ideal world, I would be able to make my own branch for my modifications, make changes, then commit them to the server when ready (thus deleting the branch). But if I want to be able to do that, I think we need to aim for a single-user environment, which means some sort of IRIS instance on my machine, or a dedicated environment just for my new branch on the server (as you suggested), although I don't quite understand how that would work. Appreciate the feedback, nonetheless!
go to post Michael Derr · Dec 4 The far-future state we'd like to achieve is more of a master source control state with Dev>Test>Prod environments where changes we make in the development environment would be promoted to Test for testing and subsequently to production, but right now the differences between our dev and prod Interop Productions are such that we need to completely rethink them before we can possibly address the idea of whether some sort of environment variables can be established/used to customize production elements (such as service/operation names, ports, etc.)
go to post Michael Derr · May 23 Some clarification from WRC: "The "RuleActionUserData" is a value set in the rule when or otherwise clause and can be overwritten at each iteration of the <foreach>. The <Send> action is not executed immediately at each iteration, but a list of <Send> action is generated while evaluating the <When> condition and will be execuated all at once after the evaluation. That's why the last value set in the RuleActionUserData was sent to the same DTL twice in this case." In the end, we were able to get this work by instead passing a list of the segment IDs, and then modifying the list within the transform. Here, each iteration of the RGS segment appends the IDRGS to the comma delimited list, and then in the transform, we grab the first piece, and then if it is not the last item on the list, we modify the list (so the next Send action will get the next item): This resulted in the previously expected behavior of one message with each RGS segment.
go to post Michael Derr · May 22 Is this a known issue or bug? I'm running into the exact same problem on IRIS for Health (IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2024.1.3 (Build 456U) Thu Jan 9 2025 12:20:51 EST [Health:5.1.0-3.m4]) Here's our rule, and it does the same thing (Trace = 1, Trace =2, then calls the transform)
go to post Michael Derr · Apr 8, 2020 Turns out that it needed the remote filepath. After I added that in, this appears to work without error. I'll try to be more mindful of capturing and evaluating errors!
go to post Michael Derr · Apr 8, 2020 Yeah, that's a good call. I went ahead a nd did this and am indeed getting a No Such File error. I'll dig some more. Thanks again!
go to post Michael Derr · Apr 8, 2020 Thanks, this is helpful... I am fairly new to objectscript, so I'm having some difficulty retrieving the filesize from FileInfo from within the customized adapter. I think I need to call it after a session has been established, and so I'm trying: Set tFileInfoList=$LISTBUILD("test","test") do ..%sftpSession.FileInfo(pFilename,.tFileInfoList) Set tFinalSize= $LIST(tFileInfoList,2) But this results in an error, ERROR <Ens>ErrException: <UNDEFINED>zPutStream+10^ACH.OutboundAdapterSFTPConfirm.1 *tFileInfoList -- logged as '-' number - @' Set tFinalSize= $LIST(tFileInfoList,2)' Looking for any info on this error is unproductive. I must be misunderstanding something about how ByRef arguments work-- likely I am misunderstanding how to invoke FileInfo and handling %List objects for this particular session instance, as well.