All resultant errors which are passed back to consumers (and providers when adding data) come in the form of OOs, but these OOs are built in different ways depending on what process is being undertaken.
The exchange creates it's own OOs when things fail internal rules, but it also passes through external OOs directly from external systems (PDS, GPC, etc.)
It can be unclear in the structure of the OO which is received in the 'client' end (consumer or provider doing registrations and adding data) if the OO is one generated by the exchange (over which we have sensible control of the details in OOs) and which are directly passed from an external system (over which we have no control).
This often results in confusion about the contents of an OO and where exactly the process has failed.
Can we please investigate the possibility of making this clearer for all OOs where we just pass what an external system has given us by making the description as such and what is ours; or by adding some kind of prefix to OO descriptions which provide clarity on the source of the text which has been provided.
This can help us improve the quality of errors we generate and also give anyone getting them from external systems a better understanding of where they need to look to solve the issue which caused it.