第十六章 定义 HL7 的 DTL 数据转换 - 转换长段字段
转换长段字段
DTL 转换使用的 ObjectScript 方法 GetValueAt 将 HL7 段字段截断为 3.6MB。因此,当转换长度超过 3.6MB 的字段时,无法在 DTL 编辑器中使用从左到右的拖动操作。例如,如果 OBX:5 字段超过 3.6MB,则无法使用 DTL 编辑器将源字段拖动到目标,因为它将被截断。同样,如果要转换的字段长度超过 3.6MB,则自定义代码不应调用 GetValueAt。
要转换长度超过 3.6MB 的字段,需要使用代码操作将自定义代码添加到转换中。此自定义代码必须在的 EnsLib.HL7.Segment 中包含以下方法之一,以将字段的值从源读取到流中:GetFieldStreamRaw()、GetFieldStreamUnescaped() 或 GetFieldStreamBase64()
这些 Get 方法采用 3 个参数:流输出参数、字段的 VDoc 路径和 pRemainder 输出参数。 ``pRemainder` 参数将填充被提取的字段之后的所有字段。例如:
/// Segment: OBX|1|2|3|4|5|6|7
do GetFieldStreamRaw(.stream, "OBX:5", ..png)
.png)
.png)
.png)

.png)
.png)