#### TMS Infrastructure
Domain Message Specification

### TMS Implementation

Roles | Responsible for sending | Responsible for receiving
--- | --- | ---
Request/Notification Message Receiver (MCCI_AR010000UK01) | Application Acknowledgement | Request/Notification Message
Request/Notification Message Sender (MCCI_AR020000UK01) | Request/Notification Message | Application Acknowledgement
Query Fulfiller (QUQI_AR010000UK01) | Query Act Failed | Query
Query Placer (QUQI_AR020000UK01) | Query | Query Act Failed

#### Trigger Events

Send Application Acknowledgement (MCCI_TE010000UK01) The sending of an application acknowledgement occurs in response to the receipt of an HL7 version 3 composite message payload.
Query Failed (QUQI_TE010000UK01) The sending of a query failed response occurs in response to the receipt of a failed query from a query placer.

#### Interactions

##### Exception Handling Guidance

###### Overview

The purpose of this guidance is to describe the approach used to enable consistent exception handling across all domains when implementing over TMS.

Issues / errors can be identified at two levels, messaging and business:

- Messaging issues are those related to the communication and delivery of the message or its structure.
- Business issues are defined as being those related to the information conveyed by the message, evaluated in context by the processing application.

###### Messaging Issues/Errors

Messaging issues and errors are carried in the Application Acknowledgement wrapper in the AcknowledgementDetail class. A single code system managed externally by BT Syntegra and referenced in the message specification will define all codes that identify messaging issues and errors. Each code shall be further classified by the AcknowledgementDetail.typeCode which contains a severity indicator indicating the severity of the error.

The MHS codes will be documented in the BT External Interface Specification. As these codes are generic across MHS implementations (i.e. are not specific to the BT MHS implementation) other MHS implementers shall have the ability to add codes to the MHS error namespace. To get new codes added to the MHS namespace the implementer should contact BT through the Authority Spine liaison point.

###### Business Issues/Errors

Business issues and errors are carried in the Trigger Event Control Act and Query Acknowledgement Response wrappers in the DetectedIssueEvent class; with the option of supporting details being carried in the response payload.

Where necessary, detail supporting an issue or error shall be carried in a response payload. The ActDetectedIssueCode vocabulary page identifies a code system for each business domain. There is a single code system per domain. Where a code system is managed externally, the contents can only be obtained from the code system custodian. If a pertinent code does not exist in the relevant code system, its inclusion can be managed by the code system custodian.

For additional information on error code namespaces, contact BT through the Authority Spine Liaison point.

Application Acknowledgement (MCCI_IN010000UK13) An application acknowledgement on receipt of a request or notification. Note: This interaction is invoked, where appropriate, as a receiver responsibility. Important Note:- This interaction may also be invoked by any TMS node in response to a messaging error detected prior to a business sub-system accepting the HL7 payload. Systems should be capable of accepting this response to any business interaction. The Interaction diagrams included in this specification define the business layer interactions and will NOT depict Application Acknowledgements generated due to this transport layer error use case. Sender: Request/Notification Message Receiver Receiver: Request/Notification Message Sender Message: Application Acknowledgement Trigger Event: Send Application Acknowledgement Transmission Wrapper: Application Acknowledgement (MCCI_MT020101UK12) Control Act Wrapper: Control Act (MCAI_MT040101UK03)
Query Act Failed (QUQI_IN010000UK14) A Query Act Failed interaction contains status information on an identified query that has failed and does not contain any query results. Sender: Query Fulfiller Receiver: Query Placer Message: Query Acknowledgement Response Trigger Event: Query Failed Transmission Wrapper: Application Acknowledgement (MCCI_MT020101UK12) Control Act Wrapper: Query Acknowledgement Response (QUQI_MT030101UK03)