Contents

 

1    Overview
2    Application Roles
     2.1     Request/Notification Message Receiver - MCCI_AR010000UK01
     2.2     Request/Notification Message Sender - MCCI_AR020000UK01
     2.3     Query Fulfiller - QUQI_AR010000UK01
     2.4     Query Placer - QUQI_AR020000UK01
     2.5     Batch Sender - MCCI_AR200001UK01
     2.6     Batch Receiver - MCCI_AR200002UK01
     2.7     Batch Response Sender - MCCI_AR200003UK01
     2.8     Batch Response Receiver - MCCI_AR200004UK01
3    Trigger Events
     3.1     Send Application Acknowledgement - MCCI_TE010000UK01
     3.2     Query Failed - QUQI_TE010000UK01
     3.3     Send Batch - MCCI_TE200001UK01
     3.4     Send Response Batch - MCCI_TE200002UK01
4    Interactions
     4.1    Exception Handling Guidance
          4.1.1    Overview
          4.1.2    Messaging Issues/Errors
          4.1.3    Business Issues/Errors
     4.2     Application Acknowledgement - MCCI_IN010000UK13
     4.3     Query Act Failed - QUQI_IN010000UK14
5    Message Definitions
     5.1     Send Message Payload - MCCI_MT010101UK12
     5.2     Application Acknowledgement - MCCI_MT020101UK12
     5.3     Trigger Event Control Act – MCAI_MT040101UK03
     5.4     Query Acknowledgement Response – QUQI_MT030101UK03
     5.5     Notify Message Withdrawal with Reason - UKCI_MT000001UK02
     5.6     Query Control Act - QUQI_MT050000UK01
6    Batching
     6.1    Send Batch Interaction
          6.1.1     Send Batch - MCCI_IN200001UK03
          6.1.2    Batched PDS Trace Query and Batched PDS Retrieval Query
     6.2    Send Response Batch Interaction
          6.2.1     Send Response Batch - MCCI_IN200002UK04
          6.2.2    Batched PDS Trace Query Successful and Batched PDS Retrieval Query Successful
7    Message Interaction Examples
     7.1    PDS Request/Response
     7.2    PDS Query/Response
     7.3    Discharge Notification/Response
8    Change Log
     8.1    General Batching Changes
     8.2    Change Summary
          8.2.1    Change Summary for Infrastructure 5.5
          8.2.2    Change Summary for Infrastructure 5.4

 

Change History

In Version

Author

Date

Amendment Details

0.1

Core Technical Team

26/10/2003

First draft version

0.2

Core Technical Team

25/11/2003

Final draft before issue

1.0

Core Technical Team

28/11/2003

Issued

2.0

Core Technical Team

14/02/2004

New messages defined, messages renamed, modifications made, interactions introduced.

2.1

Core Technical Team

23/03/2004

Includes interaction schemas and tabular view modification for PDS.

3.0

Core Technical Team

10/05/2004

Change request DACM-CT-2, new control act, cosmetic modifications.

3.1

Core Technical Team

25/06/2004

Vocabularies constrained to CV datatype in QUQI_MT020101UK11.

3.2

Core Technical Team

20/08/2004

Repaired Hyperlinks

3.3

Core Technical Team

03/09/2004

New generic Control Act wrapper and generic Query Acknowledgement Response wrapper.

3.4

Core Technical Team

17/09/2004

Removal of deprecated interactions and messages.

3.5

Core Technical Team

29/10/2004

Changes to Send Message Payload & Application Acknowledgement to include intended recipient. Changes to Application Acknowledgement,  Control Act and Query Acknowledgement Response to enable consistent issue/error reporting. See change log for details.

3.6

Core Technical Team

06/12/2004

Added NHS number to Notify Message Withdrawal. Minor changes to wrapper RMIMs to support consistent issue/error reporting. Additional guidance on issue error reporting. New section containing interaction examples. 

3.7

Core Technical Team

14/01/2005

Changed lowercase characters in example UUIDs to uppercase.

3.8

Core Technical Team

09/03/2005

MIM-CR-0238, 0442 and 0457

3.9

C&M Development Team

30/09/2005

New Batch Wrappers. Amendments to Withdrawal message to include Reason

3.10

C&M Development Team

16/12/2005

Addresses issues raised for MIMv 4.1.

3.11

C&M Development Team

20/03/06

Addresses batching issues raised for MIMv.4.1.01

3.12

C&M Development Team

07/08/06

Amendments to Withdrawal with Reasons message to change vocabulary used for MessageWithdrawal and Reason Act.

5.1

C&M Development Team

04/05/2006

Includes new Query Control Act and new Batching process.

5.3

C&M Development Team

17/11/2006

Includes the amended Request Batch and Batch Response.

5.4

C&M Development Team

22/01/2007

Added "nullify document" document.

5.5

C&M Development Team

02/03/2007

Removed  "nullify document"

       

 

1    Overview

The Infrastructure Domain defines message profiles for use in all NPfIT HL7 messaging.

 

Development of profiles

The HL7 v3 Infrastructure messages have a large amount of optionality. For wrappers it is clearly useful to limit optionality and only specify features for which there is a clear requirement. These profiles are designed to meet these objectives.

 

Routing

This set of messages are intended for a conventional HL7 v3 routing infrastructure, with Sender and Receiver logical addresses allowing the usual HL7 v3 capability for special routing on any of the communication paths which messages need to traverse from Sender to Receiver.

 

Send Message Payload, Control Act, Query and message contents

Send Message Payload, Control Act and Query have no stand-alone role and are used as wrappers to be integrated with domain messages. Integration occurs at the schema level and NPfIT messages are being issued with full integration of the schemas already in place.

 


 

2    Application Roles

2.1     Request/Notification Message Receiver - MCCI_AR010000UK01

The Request / Notification Message Receiver receives HL7 composite message payloads and sends application acknowledgements.

 

2.2     Request/Notification Message Sender - MCCI_AR020000UK01

The Request / Notification Message Sender sends HL7 composite message payloads and receives application acknowledgements.

 

2.3     Query Fulfiller - QUQI_AR010000UK01

A query role that responds to HL7 version 3 queries that have been specified using the query by parameter mechanism.

 

2.4     Query Placer - QUQI_AR020000UK01

A query role that places HL7 version 3 queries using the query by parameter query specification mechanism.

 

2.5     Batch Sender - MCCI_AR200001UK01

The batch sender sends a Batch Transmission containing 1 or more message interactions.

 

2.6     Batch Receiver - MCCI_AR200002UK01

The batch receiver receives a Batch Transmission containing 1 or more message interactions.

 

2.7     Batch Response Sender - MCCI_AR200003UK01

The batch response sender sends a Send Response Batch containing 0 or more message interactions.

 

2.8     Batch Response Receiver - MCCI_AR200004UK01

The batch response receiver receives a Receive Response Batch containing 0 or more message interactions.

 


 

3    Trigger Events

3.1     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.

 

3.2     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.

 

3.3     Send Batch - MCCI_TE200001UK01

The processing of a send operation on a batch of interactions has started.

 

3.4     Send Response Batch - MCCI_TE200002UK01

The processing of a send operation on a batch of response interactions has started. 


 

4    Interactions

4.1    Exception Handling Guidance

4.1.1    Overview

 

The purpose of this guidance is to describe the approach taken by NPfIT to enable consistent exception handling across all domains. This approach was originally defined in MIM v3.1.07 and has been expanded in MIM v3.1.08.

 

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

4.1.2    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 MIM 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 who’s purpose is  to indicate the severity of the error.

 

The MHS codes will be documented in the BT External Interface Specification.  As these codes are generic to MHS implementations (i.e. 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.

4.1.3    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.

 

The code identifying a business issue or error should no longer be carried in the domain response payload.

 

In MIM V3.1.08, codes carried in PDS response payloads and LR response payloads have been removed.

 

PDS Response messages no longer explicitly carry a code and value indicating success. A successful confirmation is implicit from the presence of the response payload; an indication of a failed confirmation or additional information relating to the confirmation (such as an indication that sensitivity conditions apply to the information) is provided in the DetectedIssueEvent class.

 

The ability to carry codes in ETP and GP2GP response payloads has been retained but made optional to enable backwards compatibility. However, it is recommended that from MIM V3.1.08, all issue and error codes be carried in the Trigger Event Control Act and Query Acknowledgement Response wrappers DetectedIssueEventClass.

 

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. In all cases, except ETP, 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.

The error codes for the following domains are documented in the BT External Interface Specification:

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

 

 

4.2     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.

This interaction can also be invoked by an intermediary, such as the TMS, when a messaging error occurs. In these circumstances, the sender identifier will identify the intermediary using the standard SDS identifier as described in the message documentation. 

 

Sending Role

Request/Notification Message receiver

MCCI_AR010000UK01

Receiving Role

Request/Notification Message sender

MCCI_AR020000UK01

Trigger Event

Send Application Acknowledgement

MCCI_TE010000UK01

Transmission Wrapper

Application Acknowledgement

MCCI_MT020101UK12

Control Act Wrapper

Control Act

MCAI_MT040101UK03

 

 

4.3     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.

 

Sending Role

Query Fulfiller

QUQI_AR010000UK01

Receiving Role

Query Placer

QUQI_AR020000UK01

Trigger Event

Query Failed

QUQI_TE010000UK01

Transmission Wrapper

Application Acknowledgement

MCCI_MT020101UK12

Control Act Wrapper

Query Acknowledgement Response

QUQI_MT030101UK03

 


 

5    Message Definitions

5.1     Send Message Payload - MCCI_MT010101UK12

This message is the outer transport wrapper for all NPfIT domain messages with the exception of specific business response interactions which use an application acknowledgement wrapper. It identifies the sender and recipient of the message and contains the “controlled act” that is being sent.

 

              

5.2     Application Acknowledgement - MCCI_MT020101UK12

The application acknowledgement wrapper enables a response indicating either successful receipt of the message or that the message has been received containing issues or errors. 

 

                

5.3     Trigger Event Control Act – MCAI_MT040101UK03

This control act is designed for use by all domains. It provides audit functionality by carrying the identity of the person and/or system responsible for initiating the message and enables the optional reporting of detected issues/errors.

 

                

5.4     Query Acknowledgement Response – QUQI_MT030101UK03

The Query Acknowledgement Response defines the control act used in all query responses. It contains an optional domain response and an option to report issues/errors.

 

                

5.5     Notify Message Withdrawal with Reason - UKCI_MT000001UK02

This message is used to notify the recipient that the identified message which the recipient has already received should not have been sent. It requires a reason to be specified for the request to withdraw the message.

                     

5.6     Query Control Act - QUQI_MT050000UK01

The Query Control Act is designed for use by all queries. It provides audit functionality by carrying the identity of the person and/or system responsible for initiating the messages.

              

6    Batching

This section describes the generic mechanism used to batch NPfIT interactions allowing any domain to batch any interaction if desired. A batch can contain interactions that are of the same type or that are of different types. Guidance on which interactions can be batched and when they should be batched will be issued by the relevant domain within specific documentation.

 

In order to generate an efficient batch message format, specialised schemas have been designed to support the sending and receiving of messages in a batch as follows :

 

    BatchCommon.xsd   A schema carrying common HL7 batch components  

    BatchMapping.xsd    A schema carrying NPfIT customised batch components 

 

NB. This section contains a number of batch interaction examples to show how batch wrappers are combined with message interactions.

 

The examples are provided for illustrative purposes only. They have had no clinical validation nor are they guaranteed to be fully compliant with the written message specifications. Where there are conflicts with the written message specifications or schemas, the specifications or schemas shall be considered to take precedence.

 

6.1    Send Batch Interaction

6.1.1     Send Batch - MCCI_IN200001UK03

A Send Batch interaction groups together one or more Message interactions for communication purposes. The send batch schema specifies a fixed structure carrying batch control items, addressing details, interaction and message identifiers and Control Act items.  It allows any payload to be included enabling a batch to be constructed of different interaction types. The examples in section 6.2.2 describe PDS Query interactions as PDS is the first domain to implement batches.

 

Sending Role

Batch Sender

MCCI_AR200001UK01

Receiving Role

Batch Receiver

MCCI_AR200002UK01

Trigger Event

Send Batch

MCCI_TE200001UK01

Batch Wrapper

Send Batch

MCCI_IN200001UK03

Transmission Wrapper

n/a

 

Control Act Wrapper

n/a

 
Message Wrapper

n/a

 

 

 

Send Batch Diagram MCCI_RM200001UK03 - This diagram provides a visual representation of the send batch interaction schema and includes HL7 standard constructs where possible.

 

 

 

Send Batch tabular view - This tabular view documents the Send Batch Diagram. It includes additional documentation describing the schema that supports the inclusion of the payload in the batch.

 

 

 

Receiver Responsibilities

Reason

Interaction

Respond to batch received

Batch Response MCCI_IN200002UK04

 

6.1.2    Batched PDS Trace Query and Batched PDS Retrieval Query

The Batch PDS Trace Query and Batch PDS Retrieval Query interactions must be sent within a Send Batch.

 

NB. This section contains a number of batch interaction examples to show how message interactions are combined within a  batch.

 

The examples are provided for illustrative purposes only. They have had no clinical validation nor are they guaranteed to be fully compliant with the written message specifications. Where there are conflicts with the written message specifications or schemas, the specifications or schemas shall be considered to take precedence.

 

Shown here is an example of a batch interaction message for a batch that contains two Batch PDS Trace Query interactions.

 

 

Shown here is an example of a batch interaction message for a batch that contains one Batch PDS Trace Query and one Batch PDS Retrieval Query.

 

 

 

6.2    Send Response Batch Interaction

6.2.1     Send Response Batch - MCCI_IN200002UK04

A Send Response Batch interaction groups together zero or more response interactions for communication purposes. It is sent as a response to a batch. A batch response interaction will hold no response interactions if the receiving system fails to process the whole batch message. The send response batch schema specifies a fixed structure carrying batch control items, addressing and acknowledgement details, interaction and message identifiers and Control Act and Query Acknowledgement items.  It allows any payload to be included enabling a batch response to be constructed of different response interaction types.  The examples in section 6.3.2 describe PDS Query response interactions and the generic Query Act Failed response interaction as PDS is the first domain to implement batches.

 

 

Sending Role

Batch Response Sender

MCCI_AR200003UK01

Receiving Role

Batch Response Receiver

MCCI_AR200004UK01

Trigger Event

Send Response Batch

MCCI_TE200002UK01

Send Response Batch

Send Response Batch

MCCI_IN200002UK04

Transmission Wrapper

n/a

 

Control Act Wrapper

n/a

 
Message Wrapper

n/a

 

 

 

Send Response Batch Diagram MCCI_RM200002UK04 - This diagram provides a visual representation of the send batch interaction schema and includes HL7 standard constructs where possible.

 

 

Send Batch tabular view - This tabular view documents the Send Batch Diagram. It includes additional documentation describing the schema that supports the inclusion of the payload in the batch.

 

 

 

6.2.2    Batched PDS Trace Query Successful and Batched PDS Retrieval Query Successful

The Batch PDS Trace Query Successful  and Batch PDS Retrieval Query Successful interactions must be sent within a Send Response batch.

 

NB. This section contains a number of batch interaction examples to show how batch wrappers are combined with message interactions.

The examples are provided for illustrative purposes only. They have had no clinical validation nor are they guaranteed to be fully compliant with the written message specifications. Where there are conflicts with the written message specifications or schemas, the specifications or schemas shall be considered to take precedence.

 

Shown here is an example of a batch interaction response message that contains two PDS Trace Query Successful interactions

The Batch Query Act Failed interaction, QUQI_IN000002UK01,  must be sent within a Send Response batch.

This interaction can be batched on it's own or with successful query interactions. 

Shown here is an example of a batch interaction response message that contains one PDS Retrieval Query Successful interaction and one Query Act Failed interaction.

 

 

Shown here is an example of a batch interaction response message that highlights an error in the batch and therefore does not contain any business interactions.

7    Message Interaction Examples

This section contains a number of message interaction examples to show how wrappers are combined with domain payload messages.

 

The examples are provided for illustrative purposes only. They have had no clinical validation nor are they guaranteed to be fully compliant with the written message specifications. Where there are conflicts with the written message specifications or schemas, the specifications or schemas shall be considered to take precedence.

 

7.1    PDS Request/Response

This sequence of examples contains a PDS NHS Number Allocation Request Started interaction followed by a choice of 2 response interactions. The first is a successful PDS NHS Number Allocation Request Completed interaction and the second is an application acknowledgement interaction representing a failure response.

 

  PDS NHS Number Allocation Request Started - PRPA_IN040000UK30

 

    PDS NHS Number Allocation Request Completed - PRPA_IN060000UK30

 

    Application Acknowledgement - MCCI_IN010000UK13

7.2    PDS Query/Response

This sequence of examples contains a PDS Trace Query Started interaction followed by a choice of 2 query response interactions. The first is a successful PDS Trace Query Successful interaction and the second is a query act failed interaction.

 

    PDS Trace Query Started - QUPA_IN010000UK31

 

    PDS Trace Query Successful - QUPA_IN030000UK31

 

    Query Act Failed - QUQI_IN010000UK14

7.3    Discharge Notification/Response

This sequence of examples contains a Discharge Notification interaction followed by a choice of 2  application acknowledgement interactions. The first indicates that the Discharge Notification has been received without errors and the second indicates that there has been an error identified en route to the recipient.

 

    Discharge Notification - REPC_IN150002UK02

 

    Application Acknowledgement - MCCI_IN010000UK13 (successful receipt, no errors)

 

    Application Acknowledgement - MCCI_IN00000UK13 (error identified by TMS)


8    Change Log

8.1    General Batching Changes

CR-0691 Batching has been amended so that only one Device.id is permitted. In the future if multi destination is required this can be raised and then a change to Infrastructure will be discussed. 

 

CR-0717 Batching Send Batch Response tabular view has been amended for Acknowledgement.typeCode description so that it is clearer regarding the population of Ack.typeCode depending on the value of the severity code carried with the error code in the Control Act DetectedIssueEvent. 

 

8.2    Change Summary

8.2.1    Change Summary for Infrastructure 5.5

 

IM Section Reference

Artefact Type/Name

Details of changes made

N/A N/A Removed nullification from infrastructure -Now a separate CDA domain.

 

8.2.2    Change Summary for Infrastructure 5.4

 

IM Section Reference

Artefact Type/Name

Details of changes made

4

Interactions

 

Section 6.1.1 MCCI_IN200001UK03

Send Batch

This has been upversioned due to the changes caused by the CR and the changes outlined in the Message definitions
Section 6.2.1 MCCI_IN200002UK04

Send Response Batch

This has been upversioned due to the changes caused by the CR and the changes outlined in the Message definitions

6

Batching Message definitions

 

Section 6.1.1 Send Batch MCCI_MT200001UK03,

MCCI_EX200001UK03_1, MCCI_EX200001UK03_2

This has been upversioned due to the following changes, instead of a Message stub this has been broken down into a ControlAct with DetectedIssues attached to it in order to catch any errors which any item in the batch may trigger. This then has the following coming off it a payloadInteraction, Act and QueryByParameter. This represents what can be represented in a batch request either a batch of Acts or Queries and with each of these there must be a payloadInteraction an id to identify the item in the batch.
Section 6.2.1 Send Response Batch MCCI_MT200002UK04

MCCI_EX200002UK04_1, MCCI_EX200002UK04_2, MCCI_EX200002UK04_3

 

This has been upversioned due to the following changes, instead of a Message stub this has been broken down into a ControlAct with DetectedIssues attached to it in order to catch any errors which any item in the batch may trigger. This then has the following coming off it a payloadInteraction, referToMessage, Act and QueryByParameter. This represents what can be represented in a batch response either a batch of Acts or Queries and with each of these there must be a payloadInteraction an id to identify the item in the batch. Also required is a ReferToMessage which is the id for the request which the response corresponds to.

5

Message Definitions

 

Section 5.7

POCD_MT130001UK01

This is a new message added to allow CDA documents to be nullified.