Thanks for your replies Robert and Eduard.

I have walked through the LibreOffice Method that you have written Eduard and im getting an error message as follows in terminal - any ideas what i need to look at?

set sc = ##class(Converter.LibreOffice).convert("C:\Temp\HN.rtf","C:\Temp\HN.txt","txt") write sc

0 @Š>zrunCommandViaZFInternal+11^Converter.LibreOffice.1ö DEPLOR524è8^zrunCommandViaZFInternal+11^Converter.LibreOffice.1^1+e^zrunCommandViaZF+1^Converter.Common.1^1#e^zexecute+5^Converter.Common.1^10e^zexecuteConverCommand: soffice --headless --writer --convert-to txt --outdir C:\InterSystems\TEST\mgr\Temp\473785 C:\Temp\HN.rtf Error code: Output: ” DEPLOR524†$e^zexecute+16^Converter.Common.1^10e^zexecuteConvert+21^Converter.LibreOffice.1^1)e^zconvert+11^Converter.LibreOffice.1^1e^^^0

I can see each time that a new folder is created within C:\InterSystems\TEST\mgr\Temp\ - in the example above its 473785 so Im thinking its not a permissions issue?

Thanks for your help

Just to close this one, and to place thanks to Neerav for his help over LinkedIn with his valuable advice, and also the BPL and iterations.

I was able to do this by sending through the HL7 message as a context variable into the workflow task itself, and then (As i didnt realise you could script on a csp page), script within that to iterate over, and display as a table.  so the snippet of code on my csp page is as follows:

<script language="Cache" method="Medtable"
arguments="count:%Integer" returntype="%String">
      New i
   Write "<table class=""meds""><th colspan=""8"">Discharge Medication Details</th>",!
   Write "<tr><th>Medication</th><th>Strength</th><th>Form</th><th>Dose</th><th>Route</th><th>Frequency</th><th>Start Date</th><th>Stop Date</th></tr>"
   For = 1:1:pHL7.GetValueAt("ORCgrp(*)") {
      Write "<tr><td>"_pHL7.GetValueAt("ORCgrp("_i_").RXD:2.2"),!,"</td><td>"_pHL7.GetValueAt("ORCgrp("_i_").RXD:4"),!,"</td><td></td><td></td><td>"_pHL7.GetValueAt("ORCgrp("_i_").RXR:1.2"),!,"</td><td></td><td></td><td></td></tr>"
   }
   Write "</table>",!
   Quit "" </script>
#(..Medtable())#

Which then displays as:

Thanks very much

Warren