- Print
- DarkLight
- PDF
Message parts can optionally define a list of value exceptions. These exceptions are defined using the following expression syntax:
(//OBR.4.2 = XXX|YYY) => ZZZ
This expression should be interpreted as follows: When the value at source path location OBR.4.2 equals either 'XXX' or 'YYY,' then replace that value with the new value of 'ZZZ.'
Exception expressions support both the equal '=' and not equal '!=' comparison operators.
Additionally, a message part can define multiple exception expressions, each separated by the carrot '^' character. Below is an example of defining two exception expressions:
(//OBR.4.2 = XXX|YYY) => ZZZ^(//OBX.1.2 = AAA) => BBB
When multiple exceptions are defined, the underlying algorithm is convolutional. Each exception expression is evaluated and if a value translation has occurred, then this new value is used as the new source input into the next evaluation. This may or may not be desired, but developers should be aware of this behavior.