How did you implement the 2nd part of this?

    1. Additionally there were two FTP commands that needed to be sent PBSZ 0 (Protection Buffer Size) and PROT P (Protection Data Channel).  These need to be run after the connection is made but before the write/save of the file on the server.

                                do ..Adapter.Connect()

                                do ..Adapter.FTP.sendCommand("PBSZ 0")
                                do ..Adapter.FTP.sendCommand("PROT P")

This is ensemble 2018.1 

Converting ORU to MDM

<foreach property='source.{PIDgrpgrp(1).ORCgrp(1).OBXgrp()}' key='k1' >
<if condition='source.{PIDgrpgrp(1).ORCgrp(1).OBXgrp(k1).OBX:ValueType}="ED"' >
<true>
<assign value='k1' property='target.{OBXgrp(k1).OBX:SetIDOBX}' action='set' />
<assign value='source.{PIDgrpgrp(1).ORCgrp(1).OBXgrp(k1).OBX:ValueType}' property='target.{OBXgrp(k1).OBX:ValueType}' action='set' />
<assign value='"URL"' property='target.{OBXgrp(k1).OBX:ObservationIdentifier.Identifier}' action='set' />
<assign value='"REFERENCE POINTER"' property='target.{OBXgrp(k1).OBX:ObservationIdentifier.Text}' action='set' />
<assign value='"EXTLRR"' property='target.{OBXgrp(k1).OBX:ObservationIdentifier.NameofCodingSystem}' action='set' />
<assign value='"PDF"' property='target.{OBXgrp(k1).OBX:ObservationSubID}' action='set' />
<assign value='"PDF"' property='target.{OBXgrp(k1).OBX:ObservationValue.WaveformSource}' action='set' />
<assign value='"MERGEHEMO"_source.{MSH:MessageControlID}' property='target.{OBXgrp(k1).OBX:ObservationValue.ChannelSensitivityandUnits}' action='set' />
<assign value='"PDF"' property='target.{OBXgrp(k1).OBX:ObservationValue.ChannelCalibrationParameters}' action='set' />
<assign value='source.{PIDgrpgrp(1).ORCgrp(1).OBXgrp(k1).OBX:5(1).5}' property='target.{OBXgrp(k1).OBX:ObservationValue.ChannelSamplingFrequency}' action='set' disabled='1' />
<assign value='##class(%IO.FileStream).%New()' property='tempStream' action='set' />
<assign value='tempStream.Open(,"NEWR")' property='OK' action='set' />
<assign value='source.GetFieldStreamRaw(tempStream,"PIDgrpgrp(1).ORCgrp(1).OBXgrp("_k1_").OBX:5(1).5",.tRemainder)' property='Status' action='set' />
<assign value='tempStream.CopyReplace(.tempStreamOut,,,,,,1,1,.Status,"&amp;apos;1c ", "",$C(10),"")' property='OK' action='set' />
<assign value='target.StoreFieldStreamRaw(tempStreamOut,"OBXgrp("_k1_").OBX:ObservationValue.ChannelSamplingFrequency")' property='Status' action='set' />
<assign value='source.{PIDgrpgrp(1).ORCgrp(1).OBXgrp(k1).OBX:11}' property='target.{OBXgrp(k1).OBX:ObservationResultStatus}' action='set' />
</true>
</if>
</foreach>