I would like to examine the contents of my OBX-5 field and not route the message if it contains alphabetic characters. I've tried various combinations of the Match and Contains functions, with no luck. Should I be using the COS ? operator or plaini regular expressions?

e.g.

OBX-5 Contains "\D"

OBX-5 Contains "?.A"

OBX-5 Contains "[A-Z]"

0 17
0 1.3K
Question
· Jun 21, 2016
Business rule doubt

Hello guys,

I've built a simple rule , as follows:

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?

Thanks

1 17
0 843

Hello,

I want to access the HL7 Router settings from within the HL7 rule. Goal is to create a New class by extending "EnsLib.HL7.MsgRouter.RoutingEngine".

Then create a PARAMETER ProcessMessage which can be set to an integer value for the HL7 Router.

Create a Rule class and based on the value of this setting ProcessMessage
process/not process the messages.

1 15
0 399
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.1K

Hi

My Ensemble platform worked well before.

Since yesterday , I found out lot of slow request ,I opened trace for one message.

as above shown.

It take about 8s from HisEmrRouter to ADTRoutingRule.

In my opinion, HisEmrRouter And ADTRoutingRule is Simple Rule, should't do IO operation. should be pure compute.

Why does it take so long to process the routing?

0 10
1 349

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!

0 10
1 811

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).

Here is the source code.

0 8
0 689

Hello

We are in the process of upgrading to 2023.1 for InterSystems Health Connect, and the Business Rule Engine editor is very difficult to use compared to 2022.1. It's difficult to scan over the rules as it all looks the same style with barely any distinction between rules, constraints, conditions, whens etc. There's also tonnes of whitespace, and searching on the page is hit and miss (using Ctrl + F) . I can see the previous editor is still available when you modify the URL, but I'm wondering if we can set it to be the default editor, and if this is something supported.

2 7
1 360
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 622
Question
· Mar 18, 2022
HL7 in general business rules

I'm trying to create a general business rule, not an HL7 message router. (This is because i want to return values from the rules and message routing rules don't appear to be able to return values.) But, I want the business rules to be able to look at HL7 messages; I've copied a simple when condition from an HL7 message router but the error log throws up <PROPERTY DOES NOT EXIST> ...... *HL7

0 6
0 434

Dear All,

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.

Any advice would be great.

Kind Regards

Stuart

0 6
0 723

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 298

Hi Community,

Is there a way to call HL7 Data transformation directly from Business service without using Rule functionality in the production

In this scenario i need to call a data transformation in directly in business service and give the transformed message to Business operation

Please share if you have any ideas to implement this.

Thanks,
Smythee

0 6
0 101

In this article I will demonstrate the following :

  • Update ReferencesRange(OBX:7) against ObservationIdentifier(OBX:3.1)[TestCode] from database by using custom utility function
  • Update Abnormal Flag(OBX:8) against ObservationIdentifier(OBX:3.1)[TestCode] and ObservationValue(OBX:5)[Result] from database utility function
  • Route Message based on Abnormal Flag(OBX:8)

Below is the primary and transformed HL7 2.5 ORU_R01 message:

1 6
0 736

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 366
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 624

Hi Community,

We are trying to filter message created using custom xml class in a business rule.

HL7 ORU Result messages are converted to custom xml messages with a list properties .Result ORU converted to OrderResultMsg , which contains property Orders as list of Order which contains ResultStatus . Please see below the class extract. We are trying to access the ResultStatus property to filter non-final results via business rule.

0 5
0 189

Hi all,

I have a requirement to periodically poll a URL to fetch some XML data based on a list of query data, lets say every hour, and map what's returned to HL7 then send downstream, I mostly have everything contained within a business process and DTL but I'm lacking a way of invoking the process every X minutes,

The client has a prefence for as much as possible to be done via out of the box components in the standard HL7 model of "Service --> Process/Rule/DTL --> Operation" within the Web UI,

0 5
1 401