#Business Rules

4 Followers · 128 Posts

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.

Question Paul Riker · Oct 5, 2016

I'm trying to read PID-3 and route the message based on if a certain prefix existed, but I keep getting Property Does Not Exist.

I've tried

HL7.(PID:PatientIDInternalID()) Contains "COS"

HL7.(PID:PatientIDInternalID(1)) Contains "COS"

HL7.{PID:PatientIDInternalID()} Contains "COS"

HL7.{PID:PatientIDInternalID(1)} Contains "COS"

This is a 2.3 MDM message. Thanks!

1
0 642
Question Yuriy Borokhov · Sep 30, 2016

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?  

Thanks

2016.2.0.726.0 Atelier CDS2785 Support Ensemble Business Rules in Atelier api
1
0 400
Question Murillo Braga · Jun 21, 2016

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

17
0 1049
Question Daniel Kutac · Jun 10, 2016

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)

My rule looks this way:

However, the rule is ALWAYS evaluated as

3
0 1349
Question David Reche · May 4, 2016

Hello,

I am trying to router a custom message using the content of one of its property, but this property is a List. ¿How I can do it?

The rule could be something like this

<rule name="">
  <constraint name="msgClass" value="Test.TestMessage"></constraint>
    <when condition="Document.myList.GetAt(1).property1=&quot;AA&quot;">
      <send transform="" target="DummyOperation"></send>
      <return></return>
    </when>
</rule>

But this rule doesn't compile.

TestClass is a simple Request Class like this:

Class Test.TestMessage Extends Ens.
6
0 683
Question Scott Beeson · Mar 3, 2016

We have a situation where we want to detect and ignore documents/records at the earliest possible point based on certain criteria.  We have an existing "CDA Preprocessor" in the workflow which is an XSL transform.  This is what our contractors are planning to utilize to "filter" these documents.  This doesn't really make sense to me.  I see XSLT as a way to manipulate the contents of a document and filter certain peices of data.  In my brain, I would use an Ensemble business rule to detect the criteria and route the document as necessary.


Does anyone have any input on this?

4
0 478
Question Scott Beeson · Jan 21, 2016

I'm working on some custom utility functions that I can utilize in Business Rules as well as other places.  I saw this line in the docs:

For each function you wish to define, add a class method to your new function set class. There is no support for polymorphism, so to be precise, you must mark these class methods as final.

 but I didn't really know what it meant.  I didn't run into any problems until I tried calling one of my new methods from another method.  Removing the [ Final ] fixed the issue, but I'm guessing that means I can't call them from Business Rules now?

2
0 281