Hi i have rules and i want to log them to analyse what rules executed , I want to add in the log Msg Controller Id, MRN, Value coming in the message, and my customize text telling whats wrong with this field... i have like 50 rules and at the end i can check the log table and found like 20 entries so it means 20 data issues are there for a given message control id. any advice how to to do it

0 3
0 272

Hi

We have several rules in router to validate HL7 messages, each rule check a particular field in HL7 message and send back response. We want to run all rules and combine the rules responses into some variable/object and at the end if variable/object is empty it means message is valid, else send the value from this variable/object. This way one message we dont run it again and again, and we can send one message and response will give us combine results from all rules.

For example,

Rule 1 - Check MSH.12 field, Send response "MSH.12 value not valid", and RETURN

0 3
0 308
Question
· Jun 19, 2017
Date Filtering Functionality

I have come across several cases where I need to set a Date filter to send only send any admit/scheduled date past a certain point. We have a couple different date comparison functions but none looking at the true date. Most of them are date + 15 or etc. Does anyone have a good date function they have written to say if x > 20170102 ?

Thanks

Scott

0 14
0 2.3K

Hi,

Business Rules can define a context object, whose properties are exposed and used in the expressions of the rules. For example, my context object is an object with 3 properties. PropA, PropB and PropC.

When constructing my rules, I can call a custom function, and I have one I built myself called 'myFunction' which takes arguments and I pass in properties of my context object. (I can pass in the value of the context object's PropA, B or C).

0 6
0 366

Does anyone have experience in creating a Business Routing Rule using Exists function?

I've used the comma delimited 'In' function, but I would like more manageability. Entering and remove items from a look up table would be much easier to manage then changing the comma delimited string.

Messages go to error state.

0 3
0 1.6K

I'm not sure what the purpose of this is, but the Management Console causes the browser to refresh periodically. If you're in a form or an editor such as the DTL or Routing Rule editors, you may lose work unless you save frequently. This did not occur in Caché 2018 and earlier releases.

I've had a couple of incidents where I've created a number of rules in the DTL editor, answered the phone or stepped away for a few minutes, then come back to find any work since the last save erased.

I've noticed this in both 2019 and 2020 releases of IRIS.

Heads up!

0 4
1 510

I am trying to create a rule which filters out ADT_A08 messages, when they have an OBX segment and their EVN.4 is "COD" or EVN.4 is "FIN"

The attempt is:

I have sent messages with EVN.4 COD or FIN and they are filtered out correctly

However if I remove EVN.4 and leave just the OBX filled up, the message passes from the Process to the Operation.

0 3
0 399

We have a case where we have 1 message coming in, but then sending two messages out to the same location. Even with FIFO sometimes the messages get out of sequence depending on what is need to be done to the message in the DTL before send. Is it possible to call sleep or Halt or write some kind of a function to put a pause in a routing rule between two sends?

1 5
0 693
Question
· Aug 19, 2019
Filter by time in Routing Rule

I have a colleague that is trying to eliminate any HL7 transactions that have admit date/time of midnight from going to an downstream system within a routing rule. I have tried several different iterations of code trying to figure this out just in the routing editor. Without having to write an object script function is this possible?

0 4
0 401

Hello Community,

For the Business Rules in a process i want to use a constraint where source could be FromA or FromB.

But looks like the constraint does not allow multiple source values.

Is there a way to provide multiple source in Constraint? Or is there a way in Rules to identify the Source ?

Thanks

Jimmy Christian

1 5
1 385
Question
· May 31, 2019
Conditions within ruleset

Hi guys

I have always struggled with this, tended to use workarounds but now decided to hear from more experienced people if this is something I am misunderstanding.

I need to basically add a "send" within the ruleset number 2, but without a need to associate a "when" node to it. Is this possible? What I basically need is to forward messages with status 160 to "ManageEDM" and also regardless of the status, it should get sent to "ManageRIS"

0 7
0 754

Hi, all.

I know this is basic, and I think I have done this before, but I haven't been successful this time.

In a Routing Rule, I would like to take the value of MSH:9.2, see if that value does NOT exist in a lookup table, and ultimately return out of the rule if true.

So, if my message is an "A05", but "A05" is not in a particular lookup table, then it evaluates to 1, and I execute my action of "Return" and the rule ceases processing.

Is there something incorrect with my sample code below?

0 1
0 388

Hi,

I need to route a message synchronously to multiple targets using a routing rule.

In IRIS I built a general routing rule set, made up of a couple of rules. For one Rule in particular, and based on a common condition, I want to send the incoming message to 2 different targets. (no transformation is used)

I can select, in the single SEND action, multiple target names, or, I can create consecutive SEND actions, one after the other, each sending to their specific target.

1 1
0 490

Hi,

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.

Can you please help?

0 1
0 376
Question
· Sep 14, 2018
Business Rule Looping

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.

0 5
0 752

Hi,

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:

##class(LNWTIEPackage.RoutingRules.Utility).SendToEaling((pContext.HL7))

but is instead becoming a call to the LNWDeploy package

0 5
1 413