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