Business rules are the part of InterSystems Ensemble production solution which allow nontechnical users to change the behavior of Ensemble business processes at specific decision points.
I created a record map and my DTL works fine. I would like to query one of the values in my input record mapped class. How would I do that? I've tried request.Field1, document.Field1 and can't see to get my rule to work. Any help would be appreciated. Thanks.
The context of the rule set contains an ArrayOfDT(I've also tried Collection.ArrayOfDataTypes).
I need to access an element using its key in the rule set using the assign function. I've tried everything I can think of and searched the documentation, but can't find anything. It is probably very obvious.
Does anyone know how to loop through a segment that is part of an ordered set in a Business Rule and if one of about 10 possible values exist in any of the iterations of the segemnt:field I then allow the message to be skipped?
It seems like it should be fairly simple, but i am having a difficult time figuring this out. The Contains function only allow for one value to be identified. I have tried the intersectsList and while I think I have it formatted correctly i believe it only allows for 4 values to be verified.
I have a routing rule that calls some utility classmethods, but for some reason the compiled version insists on linking to a utility function in a different package.
The call to 'SendToEaling(HL7)' in isn't compiling to a call to the LNWTIEPackage as expected:
Can we use Functions and Methods with multiple parameters and refer objects by reference as parameters inside Routing rule ?
How do we handle DB related workflows in Business Rules ? How can we perform Response object based handling in Business Rules ? Can we try by extending methods with Ens.Util.FunctionSet and pass in the Context object from the rule as a parameter for certain functions ? Can we split the Business Operations into methods that can be used from the routing rules and create the message route request flow ?
I am currently trying to add a condition to a routing rule that uses the %Source property of a routing rule. Unfortunately I am getting compile errors when I use the "%", and if I get PROPERTY DOES NOT EXIST if I try and use any of field. I have tried referencing the messages as "Message." , "Record.", "FullRecordMapClassName." , "Document." . Does anyone know how to reference the properties of a record map in a routing rule, or if it is even possible? Thanks!
I have an interface that does not send me specific ID's, so I am scanning the AIL3.2 (Text) field for certain characters. The Routing rule is getting pretty big with all the OR statements. Is there a way that I can define what I am searching for in the data lookup table, and not have to scan the whole field that it does by default? Is there a way that I can simplify this?
I've inherited a business service that takes a large XML document with repeating elements, extracts them via %XML.Reader and chunks them into separate persistent objects for delivery to a EnsLib.MsgRouter.RoutingEngine-based routing rule. Unfortunately, the lack of GetValueAt() for the message's class leaves me without much in the way of complex decision-making options.
I wanted to know if there was a way to dynamic set a target in the rule send command. I have a assign property that uses the lookup table that I wanted return the name of the target value and then set the target to that property . When I set the target= _@tDestination there is a parser error.
Using the Rule Editor, I can open a routing rule and easily define an 'effectiveBegin' and 'effectiveEnd' date. I want to utilize this date feature for a "sub-rule" (i.e. rule #1) but not the entire routing rule therefore impacting all other rules. I also do not want to split and create a brand new routine rule just to send the message to the target business process. It would be ideal to keep it contained within this single routing class that was created.
I would like to block ADT_A18 and ADT_A47 HL7 2.3 messages with an empty MRG:1 field.
This is to prevent my current HL7 ADT router (Business process) sending blank Merges downstream.
I've attempted to create a business rule where this would return out the business role process. However the messages still loop though the other rules.
Is there anyway I an do a Constraint base on the file name? I only see things like source and document name and wanted to do routing base on file name?
I created a DTL to do HL7 mapping. The test function in the tools works the DTL perfectly but when used by the rule in my business process, the OBX segments are stripped and the MRN is gone. The assigning authority and ID type are added into the PID but the actual patient MRN is blank (3.1 value).
When testing a new routing rule, one frequently encountered problem is that messages that seem like they should be getting routed to a target component are not getting routed. This article aims to describe how to determine why the message didn't get routed.
1. Check the Event Log for the router to make sure there wasn't an error evaluating the rule or running any transformations referenced by the rule. If there was, debug that error first.
It appears latest version of field test supports Rules. What does support of Ensemble rules in Atelier mean for Ensemble users? Does it mean compilation and development can now be done in new Studio? If yes, how indentation and aliment work with Atelier?
Thing is, in rule 2, the operation succeeds, the message reachs BO HL7, but in rule 1 it does not go through. In rule 1, I have two different conditions, but they are linked by an OR and one of the conditions is simply IF 1=1.
Do you guys have any clue on why rule 1 does not reach BO HL7?
this is catching me all the time, again and again...
Haven't worked with XML VDOC for some time, I can't figure out, what is the correct way of using Property path. Can someone please help me to refresh my memory.
Simple example: I have a class called Body, with Value and Topic properties. I created a XML Schema for this class and imported it into Ensemble. So i have a category called message, with Body as DocType structure and Name and Topic properties of Body complex type ($2:Value and $2:Topic are element names)