Hi @Mike Henderson 
Thanks for the reply, however, the snippet I provided was only a subset of a rather large XML file. I didn't provide all of it as it would have taken a long time to remove patient data. 

I have however solved the problem. The import doesn't like it when there are two of the same nodes with different structures. What you can do though is turn on XMLSEQUENCE, and the import will honour the exact order of the XML from what you've defined in the class. Here's a snippet of what I did:

Class Phu.Epro.Schema.Itk.Payloads Extends (%Persistent%XML.Adaptor)


Property Count As %String(XMLNAME "count"XMLPROJECTION "attribute");

Property Payload As Phu.Epro.Schema.Itk.Payload(XMLNAME "payload");

Property PayloadWithBase64 As %GlobalCharacterStream(XMLNAME "payload");

Parameter XMLSEQUENCE = 1;  }

Thank you @Vic Sun @Eduard Lebedyuk and Robert for all responding to this query. I've realised that our Business Process were set to E=R which is was causing it to re-attempt immediately after abortin the message from the operation. As the operations are retry indefinitely unless aborted, we've settled for E=D, which means we can then abort from the process. Thanks again. Lewis