RegulatoryTransactionReportStatusV01

auth.010.001.01

Scope A regulator or an intermediary sends the RegulatoryTransactionReportStatus to a reporting institution to provide the status of a RegulatoryTransactionReport previously sent by the reporting institution. Usage The message definition may be used to provide a status for the entire report or to provide a status at the level of individual transactions within the report. One of the following statuses can be reported:

Message Construction

Every ISO20022 message has at the highest level what we call ‘building blocks’. Because the message is constructed as immutable records, the association is by composition. Below you can see the relationship between the message and its constituent building blocks: For comparison, see the ISO20022 official specification

classDiagram
     direction LR
%% RegulatoryTransactionReportStatusV01 recursion level 0 with max 0
RegulatoryTransactionReportStatusV01 *-- "1..1" DocumentIdentification8 : Identification
RegulatoryTransactionReportStatusV01 *-- "1..1" IPartyIdentification23Choice : ReportingInstitution
RegulatoryTransactionReportStatusV01 *-- "1..1" ReportStatusAndReason1 : ReportStatus
RegulatoryTransactionReportStatusV01 *-- "1..1" TradeTransactionStatusAndReason1 : IndividualTransactionStatus
  

Now, we will zero-in one-by-one on each of these building blocks.

Identification building block

Identification of the RegulatoryTransactionReportStatus document. Identifies the document by providing a unique identification and optionally the date/time of the creation of the document. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% DocumentIdentification8 recursion level 0 with max 1
class DocumentIdentification8{
    Identification IsoMax35Text
    CreationDateTime IsoISODateTime
}
  

DocumentIdentification8 members

Member name Description Data Type / Multiplicity
Identification Unique identification of the document. IsoMax35Text - Required 1..1
CreationDateTime Date/time of the creation of the document. IsoISODateTime - Optional 0..1

ReportingInstitution building block

Identification of the firm that is legally responsible for sending the transaction report. Choice of identification of a party. The party can be identified by giving a BIC or a proprietary code. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IPartyIdentification23Choice recursion level 0 with max 1
  

PartyIdentification23Choice members

Member name Description Data Type / Multiplicity

ReportStatus building block

Provides the status of the entire RegulatoryTransactionReport that was previously sent by the reporting institution. Provides the related report identification and its status. If the status is rejected, a reason for this status must be given. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% ReportStatusAndReason1 recursion level 0 with max 1
class ReportStatusAndReason1{
    RelatedReference IsoMax35Text
    Status Status2Code
}
ReportStatusAndReason1 *-- "1..100" IRejectedStatusReason9Choice : Rejected
%% IRejectedStatusReason9Choice recursion level 1 with max 1
  

ReportStatusAndReason1 members

Member name Description Data Type / Multiplicity
RelatedReference Provides the identification of the RegulatoryTransactionReport document that was previously sent by the reporting institution. IsoMax35Text - Required 1..1
Status Indicates the status of a report message. Status2Code - Required 1..1
Rejected Indicates that the report is rejected and provides a reason why. IRejectedStatusReason9Choice - Collection 1..100

IndividualTransactionStatus building block

Provides the status of one or more transactions that were previously sent within a RegulatoryTransactionReport by the reporting institution. Identifies the transaction with a trade reference and provides its status. If the status is rejected, a reason for this status must be given. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% TradeTransactionStatusAndReason1 recursion level 0 with max 1
class TradeTransactionStatusAndReason1{
    RelatedReference IsoMax35Text
    TradeReference IsoMax70Text
    Status Status2Code
}
TradeTransactionStatusAndReason1 *-- "1..100" IRejectedStatusReason9Choice : Rejected
%% IRejectedStatusReason9Choice recursion level 1 with max 1
  

TradeTransactionStatusAndReason1 members

Member name Description Data Type / Multiplicity
RelatedReference Provides the identification of the RegulatoryTransactionReport document that was previously sent by the reporting institution. IsoMax35Text - Required 1..1
TradeReference Unique identification assigned to a trade once it is received or matched by an executing system. IsoMax70Text - Required 1..1
Status Indicates the status of a trade transaction. Status2Code - Required 1..1
Rejected Indicates that the report is rejected and provides a reason why. IRejectedStatusReason9Choice - Collection 1..100

Extensibility and generalization considerations

To facilitate generalized design patterns in the system, the RegulatoryTransactionReportStatusV01 implementation follows a specific implementaiton pattern. First of all, RegulatoryTransactionReportStatusV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, RegulatoryTransactionReportStatusV01Document implements IOuterDocument. Because RegulatoryTransactionReportStatusV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type RegulatoryTransactionReportStatusV01.

classDiagram
    class IOuterRecord
    RegulatoryTransactionReportStatusV01 --|> IOuterRecord : Implements
    RegulatoryTransactionReportStatusV01Document --|> IOuterDocument~RegulatoryTransactionReportStatusV01~ : Implements
    class IOuterDocument~RegulatoryTransactionReportStatusV01~ {
        RegulatoryTransactionReportStatusV01 Message
     }
  

Document wrapper for serialization

The only real purpose RegulatoryTransactionReportStatusV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:auth.010.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using RegulatoryTransactionReportStatusV01.ToDocument() method. The returned RegulatoryTransactionReportStatusV01Document value will serialize correctly according to ISO 20022 standards.

classDiagram
    RegulatoryTransactionReportStatusV01Document *-- RegulatoryTransactionReportStatusV01 : Document
  

Sample of message format

This is an abbreviated version of what the message should look like.

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:auth.010.001.01">
    <RgltryTxRptStsV01>
        <Id>
            <!-- Identification inner content -->
        </Id>
        <RptgInstn>
            <!-- ReportingInstitution inner content -->
        </RptgInstn>
        <RptSts>
            <!-- ReportStatus inner content -->
        </RptSts>
        <IndvTxSts>
            <!-- IndividualTransactionStatus inner content -->
        </IndvTxSts>
    </RgltryTxRptStsV01>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_gJ-K8MIFEeGllrOKQRUTYA_-1798409708"
  name="RegulatoryTransactionReportStatusV01"
  definition="Scope&#xD;&#xA;A regulator or an intermediary sends the RegulatoryTransactionReportStatus to a reporting institution to provide the status of a RegulatoryTransactionReport previously sent by the reporting institution.&#xD;&#xA;Usage&#xD;&#xA;The message definition may be used to provide a status for the entire report or to provide a status at the level of individual transactions within the report. One of the following statuses can be reported:&#xD;&#xA;- Completed, or,&#xD;&#xA;- Pending, or,&#xD;&#xA;- Rejected.&#xD;&#xA;If the status is rejected, then reason for the rejection must be specified."
  registrationStatus="Registered"
  messageSet="_wRoFwU2rEeG_I4xRYCA_7g"
  xmlTag="RgltryTxRptStsV01"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <xors
    xmi:id="_gJ-K9cIFEeGllrOKQRUTYA_-2131125115"
    name="ReportStatusOrIndividualTransactionStatusRule"
    definition="Either ReportStatus or IndividualTransactionStatus must be present, but not both."
    registrationStatus="Provisionally Registered"
    impactedMessageBuildingBlocks="_gJ-K88IFEeGllrOKQRUTYA_963266001 _gJ-K9MIFEeGllrOKQRUTYA_1351125442" />
  <messageBuildingBlock
    xmi:id="_gJ-K8cIFEeGllrOKQRUTYA_-1414225965"
    name="Identification"
    definition="Identification of the RegulatoryTransactionReportStatus document."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Id"
    complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
  <messageBuildingBlock
    xmi:id="_gJ-K8sIFEeGllrOKQRUTYA_1208200865"
    name="ReportingInstitution"
    definition="Identification of the firm that is legally responsible for sending the transaction report."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="RptgInstn"
    complexType="_QReIgdp-Ed-ak6NoX_4Aeg_-1086683076" />
  <messageBuildingBlock
    xmi:id="_gJ-K88IFEeGllrOKQRUTYA_963266001"
    name="ReportStatus"
    definition="Provides the status of the entire RegulatoryTransactionReport that was previously sent by the reporting institution."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="RptSts"
    complexType="_RXWygNp-Ed-ak6NoX_4Aeg_-1224288491" />
  <messageBuildingBlock
    xmi:id="_gJ-K9MIFEeGllrOKQRUTYA_1351125442"
    name="IndividualTransactionStatus"
    definition="Provides the status of one or more transactions that were previously sent within a RegulatoryTransactionReport by the reporting institution."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="IndvTxSts"
    complexType="_RXNBgNp-Ed-ak6NoX_4Aeg_1004804431" />
  <messageDefinitionIdentifier
    businessArea="auth"
    messageFunctionality="010"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

The following items are used as building blocks to construct this message.