NHS Core Service
BT Health
DTS Functional
Specification
Confidentiality
All information in this document is provided in confidence for the sole purpose of
adjudication of the document and shall not be used for any other purpose and shall not be published or disclosed wholly or in part to any other party without BT’s prior permission in writing and shall be held in safe custody. These obligations shall not apply to information which is published or becomes known legitimately from some source other than BT. Many of the product, service and company names referred to in this document are trademarks or registered trademarks.
They are all hereby acknowledged.
Copyright
© British Telecommunications plc 2012
CONTENTS
1 INTRODUCTION 4
1.1 Background 4
1.2 Service Summary 4
2 DTS CLIENT 5
2.1 Client Site Configuration 5
2.2 DTS Client Send 8 2.3 DTS Client Receive 11 2.4 DTS Client Log 13 2.5 Process Control 13 3 DTS SERVER 15 3.1 DTS Server Send 15 3.2 DTS Server Receive 17
3.3 Uncollected Messages after 5 days 19
3.4 Uncollected Messages for Deactivated Accounts 20
4 DTS ADMINISTRATION 21
4.1 User Access to RATS 21
4.2 User Management 21
4.3 Organisation Management 22
4.4 DTS Client Management 22
4.4.1 Message Resend facility 22
4.5 Message Tracking 22
4.6 Trading Partner reporting 23
4.7 System Admin functions 23
5 DTS API 24
6 REFERENCES 24
7 GLOSSARY 24
8 CONFIGURATION CONTROL 25
8.1 Change details 25
1
INTRODUCTION
1.1 Background
The Data Transfer Service is a secure messaging platform for transferring data between NHS Sites connected to N3. DTS is managed by NHS Core Service who provide support for the Server and Client software.
This document gives a functional overview of the DTS service
1.2 Service Summary
The DTS service consists of three key components; 1. DTS Client
2. DTS Server
3. DTS account management and message tracking within the DTS Registration and Tracking Service (RATS).
This Functional Specification details the facilities to be provided by the Data Transfer Service.
2
DTS Client
The following Sections describe the functions to be provided by the DTS Client application. 1. Site Specific Client Configuration
2. Sending Data 3. Receiving Data 4. Logging
5. Process Control
2.1 Client Site Configuration
The DTS Client will run as a separate application on the end site to manage the data flow between the site and the DTS server.
The Client needs specific information to be set up to identify and authorise access to the DTS Service. These data items are mandatory.
In addition there are optional Site specific configuration items which can be set up if required by the administrator. These parameters are optional.
The following table details the DTS Client configuration parameters.
DATA ITEM VALUES MANDATORY / OPTIONAL
DESCRIPTION
ClientIdentity M Site specific identity for the DTS Client. Equivalent to username.
This will be generated during the registration of the Client.
ClientAuthentication M Site specific authentication token for the DTS Client. Equivalent to password. This will be generated during the registration of the Client and can be managed via the NHS registration Service Web Interface.
InterfaceRoot M The file system path to the root of the DTS Client File Interface. (As defined in the DTS Client File Interface
Specification, [Reference 2].
LogPath M The file system path to the folder for the DTS Local Log Files.
WorkPath M The location used by the Client for managing working files such as
sequence id and log rollover timestamp files.
CertPath M Path to the DTS Service CA Certificate. Used to authenticate the DTS Server to the DTS Client
PrimaryURL M Primary DTS server URL – used to connect to the DTS Server
Secondary URL M Secondary DTS server URL – used to connect to the DTS Disaster Recovery Server
MaxMessages 20 to 10000 O Defines the amount of messages to send per poll period. Default is 500. MaxMessagesUp 20 to 10000 O Defines the amount of messages to
send to the DTS server per poll period MaxMessagesDown 20 to 10000 O Defines the amount of messages to
receive from the DTS server per poll period
PollMode upload download
reverse
O In Upload mode the client will ONLY
pass data up to the server.
Please note : In upload only mode, sites will not receive a successful or
unsuccessful delivery report from the service.)
In Download mode the client will ONLY
be able to receive data from the DTS server.
Please note : In download mode an acknowledgement will not be received by the server so the same message will be downloaded again.
In Reverse mode the client will collect data from the DTS service first then check for local files to send.
CollectReport Y N
O Parameter controlling the generation of reports by the DTS Client, indicating that it has taken responsibility for the Data Transfer files.
• Default – N DelayReport Y
N
O Parameter controlling the generation of reports from the DTS Client indicating that the transfer is delayed if it fails to transfer the Data Files to the DTS Server but the Client is configured to retry. • Default – N
TransferReport Y N
O Parameter controlling the generation of reports indicating that the transfer of the Data Files to the DTS Server has succeeded.
• Default – N
PollReport Y
N
O Parameter controlling the generation of reports indicating that the poll to the DTS Server to check for received transfers has succeeded or failed.
• Default – N
SaveSent Y O Parameter controlling the copying of sent Data Transfer files into the SENT
N folder on successful Transfer to the DTS Server.
• Default – N PollPeriod 10 to 59
Minutes
O Poll Period parameter controlling the polling period that the DTS Client will use when sending and receiving data files from the DTS service.
• Value – minutes • Default -10
ServerRetry 0 to 10 O Server Retries parameter controlling the number of retries that the DTS Client should perform, before aborting, if the transfer of Data Files to the DTS Server Fails.
• Default – 3
The DTS Client configuration information will be specified in the DTS Client Parameter file. The file system Path to the Parameter file will be specified as a parameter on DTS Client application start-up.
• Each parameter will be on a separate line.
• The configuration parameters will be in XML format as defined in section DTS Client Parameter File Example.
The Parameter file can be edited using a standard text editor.
The following function points detail the DTS Client initial configuration functions.
DTSCINI.01 The DTS Client will read the Client Parameter file on start-up and use the parameters contained to configure the client handling of Data Transfers. • If the Client Configuration file does not exist then the DTS Client will
write an error report to the DTS Client Log file and close down. DTSCINI.02 If the Client Parameter file does not specify the mandatory configuration
items then the DTS Client will write an error report to the DTS Client Log file and close down.
DTSCINI.03 If the Client Parameter file does not specify the optional configuration items then the DTS Client will use the default values for those parameters. DTSCINI.04 If the DTS Client cannot interpret a configuration parameter then it will
ignore it and continue processing the Client Parameter File. The DTS Client will write an error report specifying the error parameter text. DTSCINI.05 The client can be configured for single or multi mailbox operation.
In multi mailbox mode the mailboxes specified will send and receive data in sequence.
2.2 DTS Client Send
The Data Transfer Service will provide the facilities for a registered and configured DTS sites to transfer DTS Data to external Trading Partners who are;
1. Connected to the DTS
2. Connecting Via the eSMTP Service
The interface between the system supplier software and the DTS client will be a simple operating system file structure, the interface is defined in detail in the document “DTS File Interface Specification”, [Reference 2].
To initiate the transfer of data via the DTS the sending application will copy two files into the “OUT folder”. Two files will be used in the transaction;
1. Data file – Contains the data to be transferred.
2. Control file – containing the routing information required to send the data file to its recipient.
The DTS Client will process the Data Transfer in different ways, depending on the information based on the following information;
1. Per transfer, specified in the Control File.
• The Client will only perform one optional operation on the Data Transfer based on information in the Control File. If the “compress” control indicates that the data can be compressed and the “encrypted” control is set to no, then the Client will compress the Data file before sending to the DTS Server.
2. All transfers, based on details in the DTS Client Configuration file.
• If the “Collect Report” parameter is set then the DTS Client will generate a report indicating that it has taken responsibility for the Data Files as soon as it detects them. • If the “Delay Report” parameter is set then the DTS Client will generate a report
indicating that the transfer is delayed if it fails to transfer the Data Files to the DTS Server but is configured to retry before aborting the transfer.
• If the “Transfer Report” parameter is set then the DTS Client will generate a report indicating that the transfer of the Data Files to the DTS Server has succeeded. • If the “Copy Send” parameter is set then the DTS Client will copy the Data Transfer
files into the SENT folder on their successful transfer to the DTS Server. The following function points detail the DTS Client send functions.
DTCSEN-01 The DTS Client will check the OUT folder periodically for data to be transferred.
• If no Data Files are detected then the DTS Client will wait for the next poll event.
• If Data Files are detected then the DTS Client will process them. • If multiple Data Files are detected then the DTS Client will send them in
sequence.
DTCSEN-02 The polling period for checking for outgoing data will be configurable via a parameter in the DTS Client configuration file as described in the section Client Site Configuration.
DTCSEN-03 When the DTS Client detects data to be transferred it will initiate the transfer process by moving the files from the OUT folder to the TEMP folder. The DTS Client will validate the Data File and associated Control File.
• If the “Collect Report” handling is configured then DTS Client will generate a Report Control file with a Status Record indicating that it has taken responsibility for the Data Files. The report will be placed in the IN folder.
• If the DTS Client identifies a problem with the Data Transfer Files it will generate a Report Control file with a Status Record indicating the error status. The report will be placed in the IN folder.
• An entry will be made in the local log file with the success or error status as described in function point DTCSEN-10.
DTCSEN-04a For DTS Client Version 4 and earlier
If the Control File indicates that the data file can be compressed then the DTS Client will compress the Data File before sending it.
• If the “Compress” parameter in the Control File is set to “Y” and the “Encrypted” parameter is set to “N” then the DTS Client will compress the file.
• If the “Compress” parameter is absent or set to “N” then the file will not be compressed.
• If the “Encrypted” parameter is absent or set to “Y” then the file will not be compressed.
• If the compress action fails then the Data file will be sent as is. • An entry will be made in the local log file with the success or error
status as described in function point DTCSEN-10. DTCSEN-04b
New to DTS Client version 5
If the Control File indicates that the data file can be compressed then the DTS Client will compress the Data File before sending it.
• If the “Compress” parameter in the Control File is absent or set to “Y” and the “Encrypted” parameter is set to “N” then the DTS Client will compress the file.
• If the “Compress” parameter is set to “N” then the file will not be compressed.
• If the “Encrypted” parameter is absent or set to “Y” then the file will not be compressed.
• If the compress action fails then the Data file will be sent as is. • An entry will be made in the local log file with the success or error
status as described in function point DTCSEN-10.
DTCSEN-05 If the initial processing of the Data Files is successful then the DTS will establish a SLL encrypted connection to the DTS Server and authenticate the DTS Server via the Server Certificate.
• The DTS Server Certificate will be authenticated by reference to the Certificate Authority Certificate supplied with the DTS Client.
• If the DTS Server is not authenticated then the DTS Client will abort the transfer and return a Report Control file with a Status Record indicating the error status in the IN folder.
• An entry will be made in the local log file with the success or error status as described in function point DTCSEN-10.
DTCSEN-06 The DTS Client will authenticate itself to the DTS Server by supplying a userid and authentication.
• The userid and authentication will be configured on the DTS Server via the DTS Registration Web Interface
• The userid and authentication will be configured on the DTS Client via parameters in the DTS Client configuration file as described in section 2.1.
• If the DTS Client is not authenticated then the DTS Server will abort the transfer. The DTS Client will generate a Report Control file indicating the error in the “IN folder.
• An entry will be made in the local log file with the success or error status as described in function point DTCSEN-10.
DTCSEN-07 If the DTS Server and Client authentication is successful then the DTS Client will transfer the Data and Control files to the DTS Server.
If the DTS Client parameter file specifies “Copy Sent”, then on successful completion of the transfer the DTS Client will;
• Update the Control file with the success status and transfer details. • Copy the Data file and updated Control files to the “Sent Folder”. • An entry will be made in the local log file with the success status as
described in function point DTCSEN-10.
DTCSEN-08 If the transfer of the data and Control files fails to complete successfully the DTS Client may attempt to resend the data if configured to do so.
• The number of retries will be configurable via a parameter in the DTS Client configuration file as described in section 2.1.
• If the “Delay Report” parameter is set in the DTS Client parameter file, then the DTS Client will generate a Report Control File indicating that the transfer has failed but the Client will retry.
• An entry will be made in the local log file with the error status as described in function point DTCSEN-10.
DTCSEN-09 If the DTS Client transfer to the DTS Server does not complete
successfully, after retrying for the configured number of times, the DTS Client will abort the transfer.
• A Report Control file will be generated indicating the error status and placed in the IN folder.
• An entry will be made in the local log file with the success or error status as described in function point DTCSEN-10.
DTCSEN-10 The DTS Client will log all success and error events in a local log file. The information recorded will be as follows;
• Date / Time of event • Status – Success or error • Transaction details • Event details • Error details
2.3 DTS Client Receive
Data Transfers will be received by the DTS server from either; 1. Sites connecting via the eSMTP messaging service. 2. Other DTS Connected sites.
The message data will be held on the DTS Server in a ‘mailbox’ associated with the individual DTS Client. The message data will be transferred to the Client via a DTS Client initiated receive transaction.
Data Transfer status reports may be received from the DTS Server if specified in the clients configuration file.
The DTS Client will initiate all data transfers with the DTS Server to receive data transfers.
DTCREC-01 The DTS Client will periodically poll the DTS Server for data to be received. • The polling period for polling for incoming data will be configurable via
parameter(s) in the DTS Client configuration file as described in section 2.1.
DTCREC-02 The DTS Client will connect to the DTS Server to check whether there is data to be transferred and to initiate the transfer if there is.
• The DTS Client will establish a SLL encrypted connection to the DTS Server as described in DTCSEN-05.
• The DTS Client will authenticate itself to the DTS Server as described in DTCSEN-06.
DTCREC-03 If there is no data to be transferred from the DTS Server mailbox
associated with the DTS Client authentication details, then the DTS Server will communicate this status to the DTS Client.
• The DTS Client will close the SSL connection and wait for the next poll event.
DTCREC-04 If there is data to be transferred from the DTS Server mailbox then the DTS Server will transfer the message Data and Control files to the DTS Client.
• If multiple Data Transfers are outstanding they will be transferred to the Client in sequence.
• On successful completion of the transfer the DTS Client will
uncompress the Data file if required and copy the data file and Control file to the IN folder.
• The DTS Client will close the SSL connection and wait for the next poll event.
• An entry will be made in the local log file with the success or error status as described in function point DTCSEN-10.
DTCREC-05 If the transfer of the Data and Control files fails to complete successfully the DTS Client will not attempt to reconnect to receive the data until the next poll period.
• An entry will be made in the local log file with the error status as described in function point DTCSEN-10.
DTREC-06 If the DTS Client configuration is set up for PollReport then it will report on the success or failure of the poll to the DTS Server.
• If the Poll to the DTS Server was successful then a control file will be placed in the IN folder indicating that the poll was successful.
• If the Poll to the DTS Server failed then a control file will be placed in the IN folder describing the error.
2.4 DTS Client Log
The DTS Client will maintain a local log file. It will write a record all success, failure and error events to the Local Log file for support and diagnostic purposes.
The log entries will include the following data items; • Date (DDMMYYY) • Time (HH:MM:SS) • Event • Status • Status Code • Description • PollMode(either up,down,reverse) • PollPeriod(Minutes) • Client Version • MaxMessages
The format of each Log entry will be a single line per entry with the above data items comma separated as follows;
Date, Time, Event, Status, Status Code, Description
THE DTS Client will perform the following local log file maintenance functions.
DTCLOG-01 The DTS Client will rollover Log files on a daily basis. The log file will be held in a LOG directory under the file system PATH root configured for the DTS File Interface root as defined in section 2.1.
DTCLOG-02 The DTS Client will delete any log file in the LOG directory which is over 20 days old.
2.5 Process Control
Facilities will be provided to control the operation of the DTS Client application via operating system signals when it is executing.
The following facilities will be provided; 1. Shutdown
2. Suspend operations 3. Restart operations 4. Poll the OUT folder 5. Reload the config file 6. Disable multi mailbox 7. Enable multi mailbox
DTCCON-01 When the DTS Client receives the SHUTDOWN signal it will complete any operation it is currently performing and shutdown.
• If the Client is in the process of sending a data transmission it will complete the transfer.
• If the Client is in the process of receiving a data transmission it will complete the transfer.
DTCCON-02 When the DTS Client receives the PAUSE signal it will complete any operation it is currently performing and suspend all operations • If the Client is in the process of sending a data transmission it will
complete the transfer.
• If the Client is in the process of receiving a data transmission it will complete the transfer.
DTCCON-03 When the DTS Client receives the RESUME signal it will start processing. • If the Client was not in a suspended state then the RESUME signal will
be ignored.
DTCCON-04 When the DTS Client receives the POLL signal it will complete any operation it is currently performing and will then poll the OUT tray. • If the Client is in the process of sending a data transmission it will
complete the transfer.
• If the Client is in the process of receiving a data transmission it will complete the transfer.
DTSCCON-05 When the DTS Client receives the LOAD CONFIG signal it will reload the configuration file after processing the current mailbox
DTSCCON-06 When the DTS Client receives the DISABLE MBX n signal, the client will disable the specified mailbox (In multi mailbox mode)
DTSCCON-07 When the DTS Client receives the ENABLE MBX n signal, the client will enable the specified mailbox (In multi mailbox mode)
DTSCCON-08 When the DTS Client receives a POLL MBX n signal, the client will poll the next specified mailbox (In multi mailbox mode). This forces the client to poll a mailbox of choice. The signal must have an accompanying
3
DTS Server
3.1 DTS Server Send
When the DTS Client sends data to the DTS Server the server will either;
1. Convert the data to a SMTP message and send it out to the eSMTP Message Service 2. Deposit the data into a “DTS mailbox” for collection by the recipient DTS Client via N3. The DTS Server will log all send transaction data in order to provide the following facilities; 1. Where the required information is returned by the receiving system, correlate SMTP
Delivery Service Notifications with the sent data record to provide a transfer delivery tracking.
2. Provide access to the message tracking facility for system supplier administrators via the RATS Web Browser interface.
DTSSEN-01 On receipt of the Data and Control files, the DTS Server will use the Client authentication details to verify the “From” SMTP address in the Control File.
If the specified from address does not match the Client details then • The transfer will be aborted.
• The DTS Server will generate a Report Control File with an “Invalid From address” Status record.
• An entry will be made in the Tracking Log as described in DTSSEN-05.
DTSSEN-02 If the recipient of the data transfer is registered on the DTS the DTS Server will generate a DTS received ‘message’ in the recipient ‘DTS mailbox’. This will be transferred when the recipient DTS Client connects to receive data. The received message handling is as defined in function point DTSREC-01.
• A unique DTS Identifier will be generated and inserted into the Control File.
• A Status record entry will be added to the Control File
• An entry will be made in the Tracking Log as described in DTSSEN-04.
DTSSEN-03 If the recipient of the data transfer is not registered on the DTS the DTS Server will generate a SMTP message using the Data file and the information in the Control file.
• The Data file will be uncompressed if required.
• The Data file will be converted to a SMTP MIME attachment. • The SMTP message recipient will be specified as the “To” SMTP
address from the Control File
• The SMTP message originator will be specified as the “From” SMTP address in the Control File.
• The DTS Server will use the Client authentication details to verify the “From” SMTP address in the Control File. If correct this will be used in the SMTP From field.
• The Subject will be set from the “Subject” field from the Control File. • A Unique DTSid will be generated. This will be specified as the
“ENVID” in the mailto command for the SMTP message. If the
receiving MTA supports RFC1891 then this identifier will be returned in a Delivery Service Notification (DSN) as the “original envelope id”. This can then be used to correlate delivery notifications with the original message for message delivery tracking.
• If the conversion of the DTS data to SMTP message is successful then the SMTP message will be sent to its recipient via the eSMTP Service. • An entry will be made in the Tracking Log as described in DTSSEN-04. DTSSEN-04 If the data transfer to another DTS mailbox or the eSMTP Service is
successful then the DTS Server will generate Tracking log record with the following information;
• From
• To
• Date / Time • Subject
• Local Transaction Identifier (from the Control File)
• DTS Transaction Identifier (DTS generated unique identifier) • Action – Transfer to recipient mailbox or send to eSMTP • Status - Success
DTSSEN-05 If the data transfer to another DTS mailbox or eSMTP is not successful then the DTS Server will generate a Tracking log record with the following information;
• From
• To
• Date / Time • Subject
• Local Transaction Identifier (from the Control File)
• DTS Transaction Identifier (DTS generated unique identifier) • Action – Transfer to recipient mailbox
• Status – Failure
DTSSEN-06 If the data transfer to another DTS mailbox or eSMTP is not successful then the DTS Server will generate a Report Control File with a “non delivery” Status record.
• The Control File will be copied into the originator DTS mailbox, for collection by the originator DTS Client.
3.2 DTS Server Receive
The DTS Server will receive Data Transfers from; 1. Other DTS Client connected Trading Partners 2. SMTP Connected Trading Partners
Additionally the DTS Server will receive Delivery Service Notifications from SMTP connected Trading Partners.
The following function points define the handling of Data Transfers received by the DTS Server.
DTSREC-01 If the received message data is from a DTS Client, and the recipient is also a DTS Client, then the DTS Server will copy the Data file and an updated Control File into the recipient mailbox for collection.
• If the received Data file is compressed then it will not be uncompressed.
• The Control File will be as received from the Originator but will have the following information added to it;
a) DTS Transaction Identifier
b) Status Record – Date / Time transferred to the recipient mailbox. • An entry will be made in the Tracking Log as described in DTSREC-05. DTSREC-02 If the received message is from eSMTP the DTS Server will convert the
message into a Data and Control file format. The Data and Control files will then be copied into the recipient mailbox for collection.
• The SMTP MIME attachment will be converted to Data file format • The SMTP message recipient will be specified as the “To” SMTP
address in the Control File
• The SMTP message originator will be set as the “From” SMTP address in the Control File.
• The Subject will be set to the “Subject” field from the Control File. • If specified the ENVID will be copied to the Sender Local Id in the
Control file.
• If ENVID is not specified then the message-id will be copied to the Sender Local Id in the Control file.
• A unique DTS identifier will be generated and specified as the DTS identifier in the Control file.
• A Status record entry will be added to the Control File.
• An entry will be made in the Tracking Log as described in DTSREC-05. DTSREC-03 If the received message is a positive Delivery Service Notification from
SMTP then the DTS Server will;
• Generate a data transfer audit trail record in the Tracking Log with original local identifier and associate original message DTS identifier if it can be correlated.
DTSREC-04 If the received message is a negative Delivery Service Notification from SMTP then the DTS Server will;
• Convert it to Control file format and put into the recipient mailbox with original Data Transfer local identifier and DTS identifier if it can be correlated.
• Generate a data transfer audit trail record in the Tracking Log with original Data Transfer local identifier and DTS identifier if it can be correlated.
• A Status record entry will be inserted into the Control File indicating the failure to deliver.
DTSREC-05 If the data transfer from another DTS mailbox or the eSMTP Service is successful then the DTS Server will generate Tracking log record with the following information;
• From
• To
• Date / Time • Subject
• Local Transaction Identifier (from the Control File or SMTP message/DSN)
• DTS Transaction Identifier (DTS generated unique identifier) • Action – Transfer to recipient mailbox
• Status – Success
DTSREC-06 If the data transfer from another DTS mailbox or eSMTP is not successful then the DTS Server will generate a Tracking log record with the following information;
• From
• To
• Date / Time • Subject
• Local Transaction Identifier (from the Control File message/DSN) • DTS Transaction Identifier (DTS generated unique identifier) • Action – Transfer to recipient mailbox
3.3 Uncollected Messages after 5 days
DTS is required to non-deliver uncollected messages five days after they were made available for download. This requirement will be fulfilled by a housekeeping process.
Uncollected messages suitable for non-delivery will be identified as being those messages in tblMsgToClient where –
• sentTime is NULL • failureTime is NULL
• the date and time represented by the value of availableTime is earlier than five days (i.e. five times twenty-four hours) before the current date and time.
The following function points detail the sequence of events for non-delivering these messages (The first three steps are conditional upon the message being a real message, as opposed to a report. If it is a report no non-delivery need be generated for it).
DTSUNC-01 Determine the originator of the message.
The originator will be looked up in tblSite using the value of origSiteId from the message row as key. The values of active and DTSactive will be examined.
• If no matching row is found, or if the value of active for the row is «0», then the originator is invalid and a report/DSN will not be generated. Next step is DTSUNC-05
• If the value of DTSActive is «1», the originator is a DTS account, and a DTS non-delivery report will be generated
• Otherwise the recipient is by default an SMTP account, and a DSN will be generated and relayed to Sendmail
DTSUNC-02 Conditionally generate a DTS-id for the report/DSN Only to be carried out if a report/DSN is to be generated.
The report or DSN will require a DTS-id to uniquely identify it in DTS terms
i.e. servername-YYYYMMDDhhmmssxxxx
DTSUNC-03 Conditionally generate a non-delivery report or DSN for the originator. Either a DTS report or ESMTP DSN will be generated, dependent upon the nature if the original message originator.
DTSUNC-03a The non-delivery report file will be created as the file
/dts/mbox/DTSname/out/DTSid.ctl, where DTSname is the DTS name of the report recipient and DTSid is the DTS-id generated for the report. DTSUNC-03b The DSN will be generated with the reason in the human-readable body
part and the text of the Diagnostic code, which will both be «Message not collected by recipient after 5 days».
The DSN will be relayed via SMTP to the DTS Sendmail instance, which will be responsible for further relay.
DTSUNC-04 Conditionally audit the report/DSN generation
The uncollected message non-delivery process will audit non-delivered messages to the file /dts/audit/dtsDTStoND.audit
DTSUNC-05 Update the database for the original message
The record in the tblMsgToClient table will be updated to reflect the non-delivery. Fields to be updated are:
failureTime
failureDiagnostic «Message not collected by recipient after 5 days» failureDTSid
status «9» DTSUNC-06 Delete the message file.
The message file pair (.ctl and .dat files) is deleted from the recipient’s mailbox OUT folder.
3.4 Uncollected Messages for Deactivated Accounts
The steps for non-delivering a message are the same as described in section 3.3 above, with the following differences –
• There will be no auditing
• The Reason and Diagnostic text in any generated DSN, or the Description value in any generated DTS report, will be «Recipient mailbox deleted before message delivery» • The value of the status column in the updated database row for the original message will be «10»
4
DTS Administration
Facilities have been provided via the DTS Registration And Tracking Service (RATS) web interface to manage the DTS Client account and to track Data DTS Transfer events; The facility allows :
• User access to RATS (User profile maintenance, password maintenance, Access Levels)
• User management • Org Management • DTS Client Management • Message Tracking • Trading Partner reporting • System Admin functions
o RATS Database Download o Offline reports
o System Message Maintenance
The facilities to be provided to manage the DTS access are dependent on the
administration models and the workflow required between CfH and the site connecting to the DTS. The following functions define the baseline facilities.
4.1 User Access to RATS
Manual user interaction with the DTS is via a User account on RATS.
A RATS User account is referenced by the RATS Username, and access is controlled by a password.
Following login, the user is able to:
• change their password to one of their choosing • view their own account details
• view the details of the organisation to which they belong • access the Message Tracking facility
• access the Trading Partner Reporting facility
Depending on the Access Level of the User account, further options are available, as described in the following subsections
4.2 User Management
This allows suitably-authorised users to:
• Create new User accounts associated with their own or another Organisation • Change User account details, including password, access level, and associated
Organisation
• Activate or Deactivate a User account • Flag a User account as ‘read-only’
4.3 Organisation Management
This allows suitably-authorised users to: • Create new Organisations • Change Organisation details
• Activate or deactivate an organisation.
4.4 DTS Client Management
This allows suitably-authorised users to: • Create new DTS Client accounts
• Modify existing DTS Client account details, including: o Generating a new password
o Activating / deactivating the account
o Changing the client type between ‘Mailbox’ and ‘SMTP’ o Changing the billing entity
o Changing the associated SMTP address o Changing the workflow code
o Associating the client with a different Organisation
o Replaying client downloaded messages (Message Resend facility).
4.4.1 Message Resend facility
This facility will cause the DTS Service to resend all Data Transfers received by a Client for (up to) the last 15 days.
4.5 Message Tracking
This facility allows the user to view DTS Data Transfers. The user is prompted for (at least) one of the following criteria: • To Client
• From Client • Local Identifier • DTS Identifier
The user may narrow the search by specifying more of the above criteria, and/or any of the following criteria: • Start date/time • End date/time • Originator SMTP address • Recipient SMTP address • Delivery status
The Tracking facility will return a summary list of all of the matching Tracking records, displaying
• A maximum of 1,000 entries will be returned • Date and time of Transfer
• To Client & Address • From Client & Address • Local Identifier
• DTS Identifier
The user can then follow a hyperlink on each summary entry to view the full details of the tracked message or report:
• To Address • From Address • Subject • Local Identifier • DTS Identifier • Originator Client • Recipient Client • Workflow Id • Process Id
• Tracking Record data for the Transfer • Date and Time of event
• Event description • Status
• Status Description
4.6 Trading Partner reporting
This facility prompts the user for a DTS Client account, and displays a summary of all DTS traffic sent to and received from trading partners over the past reporting period (currently 30 days).
It should be noted that the report is prepared in advance, and so will not be totally up-to-date. The report preparation time, and the period covered are contained in the report.
4.7 System Admin functions
A variety of System Administrator functions are available, including:
• A facility to download the User, Organisation and DTS Client database tables in MS Excel format.
• A facility to view/download a number of pre-prepared management reports. • A facility to place a message for the attention of all RATS users.
5
DTS API
The DTS Registration system provides an Application Program Interface (API) on the Web Server so that system suppliers can integrate access to the message tracking data into their applications. This allows users of the applications to quickly check the delivery status of a particular message or interchange, without having to log on to the Registration
Interface.
The interface is based around an HTTP listener ASP page on the WFE. The NHS system will make an HTTP “Post” request to this page; the request contains XML formatted data, which uniquely identifies the message(s) of interest. The page then synchronously returns an XML formatted message containing the message tracking details for each message. The design of the XML Schemas allow for multiple messages to be tracked within a single request. The Schemas are also used to validate both the request and response formats.
Please refer to the DTS Message Tracking API for further details.
6
References
1. Data Transfer Service Proposal Issue 1.0 2. DTS File Interface Specification Issue 1.3 3. DTS Message Tracking API Issue 1.0 4. DTS registration System Design Specification Issue 2.1
7
Glossary
TERM DESCRIPTION
CA Certificate Authority DNS Domain Name Service DR Delivery Report
DSN Delivery Service Notification DTS Data Transfer Service
MIME Multipurpose Internet Mail Extensions MTSID Message Transfer Service Identity N3 National Broadband network for the NHS NDR Non Delivery report
RATS Registration and Tracking Service SMTP Simple Message Transfer Protocol
8
Configuration Control
Title DTS Functional Specification
Author Sean Kelly
Doc Ref 03DTSFunctional Specification Issue 1.6
Owner (Responsible for Approval of Issued Versions)
Name Role Signature Date Issue
Chris Howarth NHS Core Service Delivery Manager
Chris Howarth 1.6
8.1 Change details
Section Issue Owner Date Details of change
All 1 Phil Reed 20-12-2002 Issue 1
All 1.1 Phil Reed 14-01-2003 Changes after NHSIA comment 3.2 1.2 Phil Reed 28-01-2003
All 1.3 Chris Howarth 19-07-2007 Replaced logos and references to Syntegra with BT All 1.4 Sean Kelly 16-11-2007 Quality review to update document in line with present
service
All 1.5 Jim Abury 03-10-2008 Replaced references to 'DTS Registration web service' to 'DTS RATS'. 4.3 & 4.4 updated to reflect changes to available functionality.
4 1.5a C Hadfield 15-10-2008 Overhaul of section 4 to include RATS description. 3.3 and 3.4 1.6 P Yung 22-02-2012 Added function points for uncollected messages
9
DTS Client Parameter File Examples
Single Mailbox Example
<DTSConfig> <ClientIdentity>dts10233</ClientIdentity> <ClientAuthentication>password23</ClientAuthentication> <InterfaceRoot>/apps/dtsclient</InterfaceRoot> <CertPath>/apps/dtsclient/cert</ CertPath> <LogPath>/apps/dtsclient/log</LogPath> <PrimaryURL>dts.nhs.uk</PrimaryURL>
<SecondaryURL> drdts.nhs.uk </SecondaryURL> <CollectReport>N</CollectReport> <DelayReport>N</DelayReport> <TransferReport>N</TransferReport> <SaveSent>N</SaveSent> <FilePoll>120</FilePoll> <ServerPoll>15</ServerPoll> <ServerRetry>3</ServerRetry> </DTSConfig>
Multi Mailbox Example.
<?xml version="1.0"?> <DTSConfig> <PrimaryURL>dts.nhs.uk</PrimaryURL> <SecondaryURL>drdts.nhs.uk</SecondaryURL> <LogPath>c:\dtsv5\log</LogPath><CertPath>c:\dtsv5\certs\Class 3 Primary Certificate Authority.cer</CertPath> <WorkPath>c:\dtsv5\working</WorkPath> <ProxyPath>c:\dtsv5\proxy</ProxyPath> <SignalPath>c:\dtsv5\sig</SignalPath> <PollPeriod>30</PollPeriod> <ServerRetry>3</ServerRetry> <MaxMessages>100</MaxMessages> <Client> <ClientIdentity>mailbox1</ClientIdentity> <ClientAuthentication>ClntAuth1</ClientAuthentication> <InterfaceRoot>c:\dtsv5\mailbox1</InterfaceRoot> <ClientLogLevel>1</ClientLogLevel> <CollectReport>Y</CollectReport> <DelayReport>N</DelayReport> <TransferReport>N</TransferReport> <PollReport>N</PollReport> <SaveSent>Y</SaveSent> </Client> <Client> <ClientIdentity>mailbox2</ClientIdentity> <ClientAuthentication>ClntAuth2</ClientAuthentication> <InterfaceRoot>c:\dtsv5\mailbox2</InterfaceRoot> <ClientLogLevel>1</ClientLogLevel> <CollectReport>Y</CollectReport> <DelayReport>N</DelayReport> <TransferReport>N</TransferReport> <PollReport>N</PollReport> <SaveSent>Y</SaveSent> </Client> <Client> <ClientIdentity>mailbox3</ClientIdentity> <ClientAuthentication>ClntAuth3</ClientAuthentication> <InterfaceRoot>c:\dtsv5\mailbox3</InterfaceRoot> <ClientLogLevel>1</ClientLogLevel> <CollectReport>Y</CollectReport> <DelayReport>N</DelayReport> <TransferReport>N</TransferReport> <PollReport>N</PollReport> <SaveSent>Y</SaveSent> </Client> </DTSConfig>