Home > Class Reference > HSLIB namespace > Ens.Rule.Router.Rule

Ens.Rule.Router.Rule

persistent class Ens.Rule.Router.Rule extends %Library.Persistent, %XML.Adaptor

SQL Table Name: Ens_Rule_Router.Rule

Defines a message routing action with RoutingRule set.

Property Inventory

Method Inventory

Parameters

parameter XMLIGNORENULL = 1;
Ensure that we don't get $C(0) for values that are empty strings

Properties

relationship Actions as array of Ens.Rule.Router.Action (XMLNAME = "action", XMLPROJECTION = "ELEMENT") [ InitialExpression = $listbuild("Ens.Rule.Router.Action","Rule",+$this,"children",1,1) , Transient , Inverse = Rule , Cardinality = children ];
Set of actions that are fired if this rule evaluates true.
Property methods: ActionsGet(), ActionsGetObject(), ActionsGetObjectId(), ActionsGetSwizzled(), ActionsIsEmpty(), ActionsIsValid(), ActionsNewObject(), ActionsRClose(), ActionsRExec(), ActionsRFetch(), ActionsRelate(), ActionsSQLCompute(), ActionsSet(), ActionsUnRelate()
relationship Conditions as array of Ens.Rule.Router.Condition (XMLNAME = "condition", XMLPROJECTION = "ELEMENT") [ InitialExpression = $listbuild("Ens.Rule.Router.Condition","Rule",+$this,"children",1,1) , Transient , Inverse = Rule , Cardinality = children ];
Set of conditions that must evaluate true for this rule to fire.
Property methods: ConditionsGet(), ConditionsGetObject(), ConditionsGetObjectId(), ConditionsGetSwizzled(), ConditionsIsEmpty(), ConditionsIsValid(), ConditionsNewObject(), ConditionsRClose(), ConditionsRExec(), ConditionsRFetch(), ConditionsRelate(), ConditionsSQLCompute(), ConditionsSet(), ConditionsUnRelate()
property Disabled as %Boolean (XMLNAME = "disabled", XMLPROJECTION = "attribute");
If false, then this rule is enabled; otherwise this rule is not evaluated.
Property methods: DisabledDisplayToLogical(), DisabledGet(), DisabledGetStored(), DisabledIsValid(), DisabledLogicalToDisplay(), DisabledLogicalToXSD(), DisabledNormalize(), DisabledSet(), DisabledXSDToLogical()
property DocCategory as %String (MAXLEN = 128, XMLNAME = "docCategory", XMLPROJECTION = "attribute");
If defined, the message must have this document category in order to match this rule.
This is the document structure category name of a document structure name (DocType) (applies to virtual document messages only).
For example in HL7 this is a schema version, e.g. "2.3.1". If not defined, then the default value defined by the RoutingRule set is used.
Property methods: DocCategoryDisplayToLogical(), DocCategoryGet(), DocCategoryGetStored(), DocCategoryIsValid(), DocCategoryLogicalToDisplay(), DocCategoryLogicalToOdbc(), DocCategoryNormalize(), DocCategorySet()
property DocName as %String (MAXLEN = 2000, XMLNAME = "docName", XMLPROJECTION = "attribute");
If defined, the message must have this logical name in order to match this rule.
This is a comma-delimited list of document names (applies to virtual document messages only).
Each item in the list is tested against the document type name declared in the document. If not defined, then the default value defined by the RoutingRule set is used.
Property methods: DocNameDisplayToLogical(), DocNameGet(), DocNameGetStored(), DocNameIsValid(), DocNameLogicalToDisplay(), DocNameLogicalToOdbc(), DocNameNormalize(), DocNameSet()
property DocType as %String (MAXLEN = 2000, XMLNAME = "docType", XMLPROJECTION = "attribute");
If defined, the message must be of this document type to match this rule.
This is the document type of a message (applies to virtual documents messages only). It indicates the structure of a message.
If not defined, then the default value defined by the RoutingRule set is used. This is a comma-delimited list of document structure types. Each item in the list can include a category name, which would override the values provided by DocCategory and the RoutingRule set's DocCategory value.
Property methods: DocTypeDisplayToLogical(), DocTypeGet(), DocTypeGetStored(), DocTypeIsValid(), DocTypeLogicalToDisplay(), DocTypeLogicalToOdbc(), DocTypeNormalize(), DocTypeSet()
property MsgClass as %String (MAXLEN = 128, XMLNAME = "msgClass", XMLPROJECTION = "attribute");
If defined, message must be of this class type to match this rule. If not defined, then the default value defined by the RoutingRule set is used.
Property methods: MsgClassDisplayToLogical(), MsgClassGet(), MsgClassGetStored(), MsgClassIsValid(), MsgClassLogicalToDisplay(), MsgClassLogicalToOdbc(), MsgClassNormalize(), MsgClassSet()
property RuleNo as %Integer (XMLPROJECTION = "none") [ InitialExpression = $I(^Ens.Rule.RuleC("RuleNo")) , Required ];
Property methods: RuleNoDisplayToLogical(), RuleNoGet(), RuleNoGetStored(), RuleNoIsValid(), RuleNoLogicalToDisplay(), RuleNoNormalize(), RuleNoSet(), RuleNoXSDToLogical()
relationship RuleSet as Ens.Rule.Router.RoutingRule [ Required , Inverse = Rules , Cardinality = parent ];
Parent RuleSet.
Property methods: RuleSetCheck(), RuleSetDelete(), RuleSetGet(), RuleSetGetObject(), RuleSetGetObjectId(), RuleSetGetStored(), RuleSetGetSwizzled(), RuleSetIsValid(), RuleSetNewObject(), RuleSetOnDelete(), RuleSetRClose(), RuleSetRExec(), RuleSetRFetch(), RuleSetRelate(), RuleSetSQLCompute(), RuleSetSet(), RuleSetSetObject(), RuleSetSetObjectId(), RuleSetUnRelate(), RuleSetUnSwizzle()
property Source as %String (MAXLEN = 128, XMLNAME = "source", XMLPROJECTION = "attribute");
If defined, message must be from this source to match this rule.
Property methods: SourceDisplayToLogical(), SourceGet(), SourceGetStored(), SourceIsValid(), SourceLogicalToDisplay(), SourceLogicalToOdbc(), SourceNormalize(), SourceSet()

Methods

method GenerateCode(pCompiler As Ens.Rule.Compiler, pRuleNo As %Integer) as %Status [ Language = objectscript ]
Generate code for this rule.
pRuleNo gives the ordinal position of this rule within the rule set.

Indexes

index (ID on RuleNo) [IdKey, Type = key];
Make sure rules are ordered correctly
Index methods: IDCheck(), IDDelete(), IDExists(), IDOpen(), IDSQLCheckUnique(), IDSQLExists(), IDSQLFindPKeyByConstraint(), IDSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods

Storage

Storage Model: Storage (Ens.Rule.Router.Rule)

{%%PARENT}("Ens.Rule.Router.RoutingRule.Rules")(ID)
=
%%CLASSNAME
Disabled
MsgClass
MsgType
MsgVersion
Source
DocCategory
DocName
DocType
FeedbackOpens in a new window