Prefer Rule Editor Framework without DTL(too expensive) if:

  • Working on a single protocol(e.g.,  HL7)

It can be simple and efficient if:

  • Working on a single cloned object(e.g.,  cloned from HL7 msg)

With benefits:

  • Separate Rules logic from the code
  • Edit rules externally with help of Export & Import in Business Rule List page
  • Replace Open Source Drools and bring in their customers

Each DTL calls “ConstructClone” to make a copy of the message before making any changes to it. There will be hundreds of cloned-objects in case of hundreds of DTLs

It is expected to run the rules chain by using Rule Editor without DTL, namely against a SINGLE cloned-object. It will be much efficient in case of hundreds or thousands of rules under same protocol, for example HL7 2.3, ORU_R01.

Question is how to pass the cloned-object from one rule to another, and send the modified object to target Process or Operation in Rule Editor?
 

Hi Enrico, thank you!

Do you have the sample code?//using a single cloned Object. The purpose is to avoid the huge amount of source-target DTL processes while working with several hundreds of Rules

Here is a sample result message (HL7 ORU_R01) to process

MSH|^~\&|CWS|LAB||EXE11|20200616173921||ORU^R01|20200616173921847|P|2.3|||||||
PID|1||6789||TEST^S^||||||||||||||
ORC|RE|L616041|||||||20200616170303
OBR|1|L616041||HEMATO^HEMATO||20200616170303|20200616000000||||N||||||||||||||F
OBX|1|NM|WBC^WBC^||5.88|||||N|F||||SXN901|6000^6000
..........
================================================

Sample case: 

under condition 1 
update "NM" to "N01" in first rule

under condition 2
update "WBC" to "001" in second rule 

send the cloned object to next process "MyNextProces"

A list of business rules (defined in a process) to run before sending to target(an operation)

The following case does not work due to mensagem immutable (As EnsLib.HL7.Message):

https://community.intersystems.com/post/how-assign-value-variable-business-rules-using-function

"The purpose is to edit the HL7 ORU R01 message"