#### TMS Infrastructure
Domain Message Specification

### ApplicationAcknowledgement Tabular View

MCCI_RM020000UK12 |
Message | The outer transport wrapper for messages that are either responses or application acknowledgements.
| Used by:
[1..1] id (II) | A unique identifier for this acknowledgement or response message. The Identifier Global datatype flavour is used to carry this information as follows: The root attribute shall contain a DCE UUID.
[1..1] creationTime (TS) | The date and time that the sending system created the message.
[1..1] versionCode (CS { CNE:HL7StandardVersionCode} ) | A code which identifies the version of the NPfIT Message Implementation Manual that describes the HL7 version 3 standard used to format the message. This ensures the message will be interpreted correctly. The Coded Only datatype flavour is used to carry this information as follows: The code attribute shall contain a value from the list of codes in the HL7StandardVersionCode vocabulary.
[1..1] interactionId (II) | The interaction identifier is a unique reference to the message type, trigger event and application roles that send and receive the message. The Identifier External datatype flavour is used to carry this information as follows: The root attribute shall contain an OID with the value "2.16.840.1.113883.2.1.3.2.4.12" The extension attribute shall contain the interaction identifier
[1..1] processingCode (CS { CNE:ProcessingID} ) | A code identifying the environment that the message must be processed in. The Coded Only data type flavour is used to carry this information as follows: The code attribute shall contain a value from the list of codes in the ProcessingID vocabulary.
[1..1] processingModeCode (CS { CNE:ProcessingMode} ) | A code identifying the mode that this message is being sent in. The Coded Only data type flavour is used to carry this information as follows: The code attribute shall contain a value from the list of codes in the ProcessingMode vocabulary.
[1..1] acceptAckCode (CS { CNE:NE} ){ } Fixed="NE" | A code identifying the conditions under which accept acknowledgements are required to be returned in response to this message. Accept acknowledgements are not used by NPfIT therefore this value shall default to "NE", Never send an accept acknowledgement.
[1..1] acknowledgement (Acknowledgement) | A link to details about the type of acknowledgement and the message being acknowledged.
[1..*] communicationFunctionRcv (CommunicationFunctionRcv) | Identifying information about the system receiving the message. N.B. For implementation purposes, the cardinality of this relationship is currently limited to a single mandatory occurrence. ie. 1..1
[1..1] communicationFunctionSnd (CommunicationFunctionSnd) | Identifying information about the system sending the message.
[1..1] controlActEvent (ControlActEvent) | A link to the "controlled act" that is being sent in the message.
Acknowledgement | Details about the message being acknowledged.
| Used by: Message
[1..1] typeCode (CS { CNE:AcknowledgementType} ) | A code identifying the action that has been taken by the receiving system on the message being acknowledged. The Coded Only data type flavour is used to carry this information as follows: The code attribute shall contain a value from the list of codes in the AcknowledgementType vocabulary. If the receiving system processes the message successfully this code shall contain the value "AA" - Application Acknowledgement Accept If the receiving system identifies a business issue or error which is reported in ControlActEvent.DetectedIssueEvent.code this code shall contain "AE" - Application Acknowledgement Error. This applies to interactions utilising both Control Act Trigger Event and Query Acknowledgement Response. If the receiving system fails to process the message for reasons relating to the delivery of the message or it's structure and the error is reported in AcknowledgementDetail.code this code shall contain "AR" - Application Acknowledgement Reject.
[0..*] acknowledgementDetail (AcknowledgementDetail) | A link to error detail information pertaining to the message being acknowledged.
[1..1] messageRef (MessageRef) | A link to identifying information about the message which is being acknowledged.
CommunicationFunctionRcv | Details about the receiving system.
| Used by: Message
[1..1] typeCode (CS { CNE:RCV} ){ } Fixed="RCV" | Indicates that the communication function being served is the receiver. Fixed value "RCV"
[1..1] device (Device) | Identifying information about the receiving device.
CommunicationFunctionSnd | Details about the sending system.
| Used by: Message
[1..1] typeCode (CS { CNE:SND} ){ } Fixed="SND" | Indicates that the communication function being served is the sender. Fixed value "SND"
[1..1] device (Device) | Identifying information about the sending device
ControlActEvent | The Control Act carries the real content of the message. In this instance the content is the functional response to the message which is being acknowledged.
| Used by: Message
[1..1] classCode (CS { CNE:CACT} ){ } Fixed="CACT" | Indicates that this is a Control Act. Fixed value "CACT"
[1..1] moodCode (CS { CNE:EVN} ){ } Fixed="EVN" | Indicates that the control act mood is an event. Fixed value "EVN"
AcknowledgementDetail | Additional detail about a message that has been processed by the receiving system and the messaging error that has been identified. A messaging error is related to the communication and delivery of the message or it's structure. This information shall only be present when Acknowledgement.typeCode = "AR".
| Used by: Acknowledgement
[1..1] typeCode (CS { CNE:AcknowledgementDetailType} ) | A code identifying the severity of the messaging problem that has been identified. The Coded Only datatype flavour is used to carry this information as follows: The code attribute shall contain a value from the list of codes in the AcknowledgementDetailType vocabulary.
[1..1] code (CV { CNE:AcknowledgementExceptionCode} ) | A code identifying the specific problem being reported. Any of the Coded Value datatype flavours can be used to carry this information as follows: The code attribute shall contain a value from the list of codes in the AcknowledgementExceptionCode vocabulary. The codeSystem attribute shall contain the appropriate OID. The displayName attribute is optional and may contain the textual description of the code.
MessageRef | The reference to the specific message that is being acknowledged.
| Used by: Acknowledgement
[1..1] id (II) | The unique identifier of the message that is being acknowledged. This is the identifier from the Message.id attribute of the message being acknowledged. The Identifier Global datatype flavour is used to carry this information as follows: The root attribute shall contain a DCE UUID.
Device | The Device class represents the sender and receiver.
| Used by: CommunicationFunctionRcv, CommunicationFunctionSnd
[1..1] classCode (CS { CNE:DEV} ){ } Fixed="DEV" | Indicates that the entity is a device. Fixed value "DEV"
[1..1] determinerCode (CS { CNE:INSTANCE} ){ } Fixed="INSTANCE" | Indicates that the entity is a single instance. Fixed value "INSTANCE"
[1..*] id (SET<II>) | A single unique identifier of the accredited system that represents the party who is either sending or receiving the message. The accredited system is represented by the SDS Accredited Application Instance Id held in the SDS directory as the Accredited System Identifier. This is carried in the following way: The root attribute shall contain an OID with the value 1.2.826.0.1285.0.2.0.107 the extension attribute shall contain the appropriate identifier. N.B. The cardinality of this relationship is currently limited to a single mandatory occurrence. i.e. 1..1
[0..1] agencyFor (Agent) | The Device class represents the sender and receiver.
Agent | An agent linking device and organisation.
| Used by: Device
[1..1] classCode (CS { CNE:AGNT} ){ } Fixed="AGNT" | Indicates that the role is that of an agent. Fixed value: "AGNT"
[0..1] representedOrganization (Organization) | Identifying information about the organisation.
Organization | The organisation of the intended recipient of the message. This construct shall only be used to identify a specific message recipient and shall not be used with CommunicationFunctionSnd. The intended recipient information is not for use by Spine applications and shall not be populated by Spine applications.
| Used by: Agent
[1..1] classCode (CS { CNE:ENT} ){ } Fixed="ENT" | Indicates that this is an organisation. Fixed value: "ORG"
[1..1] determinerCode (CS { CNE:INSTANCE} ){ } Fixed="INSTANCE" | Indicates that the entity is a single instance. Fixed value: "INSTANCE"
[1..1] id (II) | An SDS identifier that uniquely identifies the organisation of the intended recipient. This is carried in the following way: The root attribute shall contain an OID with the value 1.2.826.0.1285.0.1.10 the extension attribute shall contain the SDS Organisation ID
[0..1] scopedRole2 [CMET: UKCT_MT120501UK03] | NPfIT CMET identifying an Organization fulfilling a specific role. Full details of the organization are available from SDS. Details of the scoping organization are either not required or available from SDS. In this context the optional CMET identifies an SDS workgroup id as the recipient of the message. The only attribute that may be populated in this context is UKCT_MT120501UK03.OrganizationSDS.id as follows: The root attribute shall contain an OID with the value 1.2.826.0.1285.0.2.0.109 The extension attribute shall contain the SDS workgroup id.
[0..1] scopedRole1 [CMET: UKCT_MT120301UK02] | NPfIT CMET identifying a person fulfilling a specific role. Full details of the person and role profile are available from SDS. In this context the person is the named intended recipient of the message who shall be identified by an SDS Role Profile Id and an SDS User Id.