go to post Alex Ostrynskyy · Sep 20, 2019 Here is the link to documentation https://irisdocs.intersystems.com/healthconnect20191/csp/docbook/DocBook... Your BPL would look similar to this: If you're going to write a BPL, a better solution would be to make those sends (<call> elements) synchronous. This way you don't have to guess how long to delay for. Checking Force Sync Send for regular HL7 processes does exactly that.
go to post Alex Ostrynskyy · Sep 20, 2019 To clarify, you have one inbound message from a service going to one process/routing rule with two sends in it. You've noticed that sometimes messages get sent not in the same order as they appear in the routing rule. If above is correct, try checking Force Sync Send in the process settings. Generally, you'll likely have to write a BPL and use the delay action if you want to sleep/halt between sends.
go to post Alex Ostrynskyy · Sep 19, 2019 Jeffrey, That's exactly what we did to offload message archiving to our DR server. We created another namespace (R/W, non-mirrored) and mapped the following globals from the original namespace with the mirrored R/O database: EnsLib.*, EnsLib, EnsHL7.Segment, EnsHL7.Schema, EnsHL7.Description, EnsEDI.*, EnsEDI.X12.Schema, EnsEDI.X12.Description, EnsEDI.Schema, EnsEDI.Description, EnsEDI.ASTM.Schema, EnsEDI.ASTM.Description, Ens.MessageHeaderI, Ens.MessageHeaderD, Ens.MessageBodyI, Ens.MessageBodyD, CacheMsgNames, CacheMsg. Then, we run the message archiving task in the other namespace without issues.
go to post Alex Ostrynskyy · Jun 28, 2019 This is a known bug and is fixed in Cache 2017.2.2 Build 865.3 and later.
go to post Alex Ostrynskyy · Jun 11, 2019 @Eduard Lebedyuk, the code you provided is correct, but it does not do a 24-hour calculation from the moment the purge task is started. Instead, it does a midnight-to-midnight calculation in UTC time.
go to post Alex Ostrynskyy · Jun 6, 2019 If you are planning to implement an interface with Kafka, I suggest reading the following:https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY...https://community.intersystems.com/post/ensemble-rabbitmq-java-client-qu...When it comes to specific pain, there are just a lot of pieces to maintain compared to common interfaces, such as HL7, etc.Also, if you plan to send a large volume of messages, you'll have to do that asynchronously. The problem with that is you may send 100 or even 1000 messages before you realize there is a connection or other problem. You'll have to think of a way to keep track of what messages have been sent successfully and which didn't, and requeue messages that have failed. Of course, if you are not worried about "losing" messages, that's not an issue.
go to post Alex Ostrynskyy · Jun 5, 2019 You're correct. If the first DTL fails, all following actions in the rule, such as your second 'send', will not be executed.
go to post Alex Ostrynskyy · Jun 3, 2019 Yes, it's possible to add the send where you want it.You'll need to change your rule to look similar to this:The problem with having two or more when blocks back-to-back is that they are bit misleading. You may assume that when "condition 1" send when "condition 2" send is the same as following pseudo code if ("condition 1") send if ("condition 2") send when, in fact, it works at the following pseudo code if ("condition 1") send else if ("condition 2") send This means that when you have consecutive when blocks, one and only one when will be executed.A workaround is to put each when block into its own rule. P.S. I would split this routing rule in two separate routers and routing rules: one that sends messages only to EDM and one only to RIS. When you have a large environment, makes maintenance and a whole lot of other things easier in the future.
go to post Alex Ostrynskyy · Aug 1, 2018 This typically means that the remote system has failed to send an HL7 ACK back within 30 seconds. If it is common for that system to take awhile to respond, you can increase "Response Timeout" from 30 sec to a higher value.
go to post Alex Ostrynskyy · Jul 6, 2018 Your question is too broad to give a detailed answer. It's possible that you don't even need load balancing, or there is a better solution.Maybe you could you tell us in details () what's your setup and what problem you're trying to solve?
go to post Alex Ostrynskyy · Jun 29, 2018 I'm guessing you're looking at the Production Configuration page. Try setting the IP Address of your operation, and it will show up in the Operations columns. Without the IP set, it will be in the Services column.
go to post Alex Ostrynskyy · Oct 18, 2017 I would like to know when HealthShare 2017.2 is released, and I'm not talking about HealthShare Health Connect. Looking at the announcement history, it doesn't seem like HealthShare releases our announced here. Is there a plan to announce them in the future?
go to post Alex Ostrynskyy · Jun 13, 2017 Curious about everyone's thoughts about dynamic vs embedded SQL in terms of preference and performance?
go to post Alex Ostrynskyy · Jul 29, 2016 Thank you for the online course! Very much needed.The course videos below are not available. Getting an error "No playable video sources found":WHAT IS FHIR?FHIR VS. HL7V2, HL7V3, AND CDAFHIR ARCHITECTUREAlso, it would be nice to get access to the custom code show in "FHIR IN HEALTHSHARE DEMONSTRATION", specifically, "Summit.BPL.V2ToFHIR." I'm sure many developers would like to know how to convert good old HL7v2 messages to FHIR resources using HealthConnect.