concat(
$person/id/@extension,"^",
$person/assignedPerson/name/family,"^",
$person/assignedPerson/name/given[1],"^",
$person/assignedPerson/name/given[2],"^",
$person/assignedPerson/name/suffix,"^",
$person/assignedPerson/name/prefix,"^",
"^^^&", $person/id/@root,"&ISO")
This would place the 'ISO' text in the 10th component of the value. Looking at the HL7 V2 XCN datatype specification this should actually be in the 9th.
I suspect that the single "^" concatenated after the 'prefix' is not meant to be there - is this the case?
[ Nore : Similar constructs for XCN based metadata elements are similarly stated in other places within the same document. ]