go to post Kami Sama · Sep 11, 2018 Encoding the stream myself using Base64Encode and flags set to 1 fixed my problem.There is no CRLF anymore in my stream.Here is my final solution (error handle ommited) s stream=##class(%FileBinaryStream).%New()s stream.Filename = filenames encodedStream = ##class(%GlobalBinaryStream).%New()while ('stream.AtEnd) { d encodedStream.Write(##class(%SYSTEM.Encryption).Base64Encode(stream.Read(12000),1))}s propertyPath = "PIDgrpgrp(1).ORCgrp(1).OBXgrp(1).OBX:5(1)"s seg=target.GetMutableSegmentAt($P(propertyPath,":",1),.tSC)s tSC = seg.StoreFieldStreamRaw(.encodedStream,$P(propertyPath,":",2))Thanks Armin for your help.
go to post Kami Sama · Sep 11, 2018 Don't you think the problem might be StoreFieldStreamBase64 using Base64Encode from %SYSTEM.Encryption with default flags value at 0 ?I'll try encoding the stream myself and using StoreFieldStreamRaw instead of StoreFieldStreamBase64If my solution doesn't work i'll try yours :)Thanks
go to post Kami Sama · Sep 11, 2018 Second option : An OBX:5 with the value ABCDEFGHIJKL (get rid of all crlf)[Updated last comment with code]I need to add a file inside the obx:5(1) segment as a base64 encoded stream.I'm using the StoreFieldStreamBase64 method from EnsLib.HL7.Segment.This method add extra escaped CRLF inside my OBX segment and i don't know why.When i write the hl7 message on disk with the new OBX segment, i can't parse it anymore with an EnsLib.HL7.Service.FileService, the extra crlf character is the problem.Maybe i'm doing something wrong in my way to process the file.
go to post Kami Sama · Sep 11, 2018 Hello, thanks for your answer.Here is how i store the base64 stream inside my obx segment : s stream=##class(%FileBinaryStream).%New()s stream.Filename = filenames propertyPath = "PIDgrpgrp(1).ORCgrp(1).OBXgrp(1).OBX:5(1)"s seg=target.GetMutableSegmentAt($P(propertyPath,":",1),.tSC)s tSC = seg.StoreFieldStreamBase64(.stream,$P(propertyPath,":",2),,0)Here is the result :JVBERi0xLjQKJeLjz9MKNCAwIG9iago8PC9UeXBlL1hPYmplY3QvQ29sb3JTcGFjZS9EZXZpY2VH\r\ncmF5L1N1YnR5cGUvSW1hZ2UvQml0c1BlckNvbXBvbmVudCA4L1dpZHRoIDEzOS9MZW5ndGggMTM3\r\nMi9IZWlnaHQgN EX : OBX|1|RP|5142648||ABCD[CR][LF]EFGH[CR][LF]IJKL.... I don't know why there is multiple extra \r\n in the obx segment. And when i use a EnsLib.HL7.Service.FileService, my HL7 Object OBX:5(1) hold only ABCD information. Kami