Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
indent20px

...

The device can have one or more transform functions. The check box checkbox in the Enabled column tells whether or not the condition is in use.

...

Enter the transform expression in the Transform field. When run, the expression will return a new value for the specified path. Transform expressions are expected to return string values. This is the opposite of conditional expressions, which return Boolean values. For this reason, transform expressions should not contain compare operators such as '='.

There are some sample expression transforms:

  • ORC-3: Returns the current value from HL7 path ORC-3.
  • OBR-32.1.1 + '^" + OBR-32.1.2: Concatentates Concatenates the path values of OBR 32.1.1 and OBR 32.1.2 with a hat separator.
  • 'RADIS1': Returns the string RADIS1.

...

The Table transform maps existing HL7 path values to new values. Click the Add Table Transformer button to add the transformer, then click the icon to launch the popup window. In the Path column, enter the HL7 path to be transformed. Add a condition (see Condiions Conditions below), and then click the text in the Transform field to show the Table Editor popup window.

...

  • Assignment Path: The path that will receive the modified value.
  • Source Path: The path that contains the value that will be checked against the mapping table's In values.
  • Table Name: An optional name for the current table. If you want to use an existing mapping table, select it from the drop-down.
  • Empty Mapping: Enter the value to be used if the source path value is empty.
  • Unmatched Mapping: If none of the mapping table's In values match the source path value, you can set a new value or select No Change.
  • Mappings tab: This tab contains the table mapping values:
    • In Value: The source path value to match.
    • Out Value: The new assignment path value, if the In Value matches the table.
    • Mappings Description: An optional plain-English description for the mapping.

You can also copy all of the mappings in the table to the clipboard, or paste mappings from the clipboard into the table using the available button icons.

...

Again, you can set a condition for the transform and add an optional description.

Adding References

To add an assembly reference to your custom code transform, click the References button.

...

Click the arrow icon to expand/collapse the list of devices in each category. Click the check box checkbox to include the particular device assembly in the transform.

...

The following functions are available for use in the HL7 Transform device.

FunctionUse
?Use this to evaluation evaluate the truth of an expression and return a value. If the condition evaluates to "true," the true expression is returned, otherwise, the false expression is returned. The specified condition must evaluate to a Boolean value. Example: MSH-3='ADM' ? 'HIS' : 'RIS' means that if the MSH-3 segment is ADM (true), the value returned will be 'RIS'; otherwise, the value returned will be 'RIS'
??This function returns expression 2 if expression 1 is null; otherwise, it returns expression 1. Both expressions must evaluate to string values. Example: OBR-2 ?? OBR-3 ?? 'UNKNOWN' will return "unknown" if OBR-2 and OBR 3 evaluate to null.
AppendSegment(segmentName)This function allows you to append a segment with the given segment name to the end of a message. Example: AppendSegment(OBR-2) will append the contents of the OBR-2 segment to the end of the message.
Coalesce(expression1,expression2,...,expressionN)This function returns the first value from the list of expressions. One to N expressions can be included. Example: Coalesce(OBR-2,OBR-3,'UNKNOWN') will return UNKNOWN if OBR-2 and OBR-3 are empty.
Escape(expression)This function encodes a string or expression with the HL7 Escape characters of the message. Example: Escape(MSH-2) will return "\S\\R\\E\\T\".
FilterString(expression,allowedCharacters)This function returns a string containing only those characters specified in allowedCharatersallowedCharacters. For example, the source system may provide a value in a field with extra characters; you can use this function to strip out only the characters in the string you are interested in. The expression must evaluate to a string; allowedCharacters specifies what will be passed through the filter. Example: FilterString(AA00BB12345,12345) will return the string "12345".
GetDate(format='yyyyMMddhhmmss')This function will return the current date, as specified by the server machine, in the specified date format. The default format is yyyyMMddhhmmss (year, month day, hour, minute, second), but you can set whatever format you desire. Example: Using GetDate(format=yyyyMMdd) will return the date July 25, 2015 as "20140725".
If(condition,trueExpression,falseExpression)This function evaluates a condition. If it returns True, the specified trueExpression will be used; otherwise, the falseExpression is used. This function is useful if, based on the contents of a particular segment, you want to write certain values to the message. The condition must evaluate to a Boolean value. Example: If(MSH-3='ADM','HIS','RIS') will return the value "HIS" if the MSH-3 segment contains "ADM"; otherwise, the function will return the value "RIS".
In(expression,string1,string2,...,stringN)This function returns "true" if the expression evaluates to one or more values in the list. The expression must evaluate to a string. This is useful in determining if an expression contains a valid string. Example: In(MSH-3='ADM','HIS','RIS') evaluates to true if the MSH-3 segment contains the string ADM, HIS, or RIS.
IndexOf(expression,string)This function returns the one-based index of the string specified in the expression. Otherwise, it returns 0. Example: IndexOf('001234.5600') returns a value of 7.
InTable("InTableName")This function uses the InTable with the specified name as a conditional expression. Example: InTable("Providers") will use the Providers table as a conditional expression.
Left(expression,string)This function returns the string to the left of the specified match. Perhaps your source system always inserts a certain string in a segment, but you only want what immediately precedes the string in your transformed message. Use this function to extract that string. The expression must evaluate to a string and "string" is the characters to match. Example: Left('1234.56','.') will return the value "1234".
Len(expression)This function returns the length (in characters) of the specified expression. The expression must evaluate to a string. Example: Len('123456') returns '6'.
LTrim(expression)This function trims any leading whitespace characters from the specified string. If the source system pads strings with whitespace, this function will allow you to remove it. The expression must evaluate to a string. Example: LTrim(' 1234.56') will return '1234.56'.
LTrim(expression,string)This function trims the specified string of characters from the expression. This is useful if your source system pads values with zeroes. The expression must evaluate to a string. Example: LTrim('0001234.5600','000') returns '1234.5600'.
Remove(expression,string1, string2,...,stringN)This function removes the specified strings from the expression. For example, if you need to strip hypens hyphens from a phone number value. The expression must evaluate to a string. Example: Remove('408-354.7787','-','.') returns "4083547787".
Replace(expression,string,string)Use this function to replace an existing value with a new one. For example, the source system may provide phone numbers using a period as a separator and you need to replace it with a hyphen. The expression must evaluate to a string. Example: Replace(408.354.7787','.','-') returns "408-354-7787".
Right(expression,string)This function returns the string to the right of the specified match. The expression must evaluate to a string. Example: Right('1234.56','.') returns "56".
RTrim(expression)This function allows you to strip any trailing whitespace from a string. For example, the source system may add whitespace and you need to strip it before passing on the message. The expression must evaluate to a string. Example: RTrim('1234.56 ') returns '1234.56'.
RTrim(expression,string)This function allows you to strip specific characters from a string. For example, the source system may pad values with zeroes and you need to strip them before passing on the message. The expression must evaluate to a string. Example: RTrim('0001234.56000','000') returns '0001234.56').
Split(expression,charArray,index)Use this function to split a string. The charArray determines where to make the split. Index The index is a zero-based index that ???is used to select a portion of the string. The expression must evaluate to a string. Example: Split(AAA/AP,'/',1) returns "AAA AP".
SubString(expression,offset,length)Use this function to return a portion of a string. The offset is the starting number of the portion to be returned and length is the length, in characters, of the returned portion. Example: SubString('001234.5600',3,4) returns '1234'.
Trim(expression)This function trims any whitespace from either end of the expression. The expression must evaluate to a string. Example: Trim(' 1234.56 ') returns '1234.56'.
Trim(expression,string)This function trims the specified characters from either end of the expression. The expression must evaluate to a string. Example: Trim('0001234.56000',0) returns '1234.56'.
UnEscape(expression)The UnEscape function replaces escape characters with the character it represents.

...