NHS Core Service BT Health DTS Functional Specification Issue 1.6 Date: 22/02/2012 Page 1 of 27
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 Registered Office: 81 Newgate Street, London EC1A 7AJ Date: 22/02/2012 Page 2 of 27
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 9 DTS CLIENT PARAMETER FILE EXAMPLES 26 Date: 22/02/2012 Page 3 of 27
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. The following schematic diagram.shows the components of the DTS service : Date: 22/02/2012 Page 4 of 27
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 Date: 22/02/2012 Page 5 of 27
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 CollectReport DelayReport TransferReport PollReport upload download reverse Y N Y N Y N Y N O O O O 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. Parameter controlling the generation of reports by the DTS Client, indicating that it has taken responsibility for the Data Transfer files. Default N 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 Parameter controlling the generation of reports indicating that the transfer of the Data Files to the DTS Server has succeeded. Default N 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 Date: 22/02/2012 Page 6 of 27
PollPeriod 10 to 59 Minutes N O folder on successful Transfer to the DTS Server. Default N 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 DTSCINI.03 DTSCINI.04 DTSCINI.05 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. If the Client Parameter file does not specify the optional configuration items then the DTS Client will use the default values for those parameters. 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. 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. For an example of multi mailbox configuration see the example in section 8 Date: 22/02/2012 Page 7 of 27
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. Date: 22/02/2012 Page 8 of 27
DTCSEN-03 DTCSEN-04a For DTS Client Version 4 and earlier DTCSEN-04b New to DTS Client version 5 DTCSEN-05 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. 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. 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. 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. Date: 22/02/2012 Page 9 of 27
DTCSEN-06 DTCSEN-07 DTCSEN-08 DTCSEN-09 DTCSEN-10 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. 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. 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. 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. 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 Date: 22/02/2012 Page 10 of 27
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 DTCREC-04 DTCREC-05 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. 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. 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. Date: 22/02/2012 Page 11 of 27
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. Date: 22/02/2012 Page 12 of 27
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 8. Poll mailbox (multi mailbox mode) Date: 22/02/2012 Page 13 of 27
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 DTSCCON-06 DTSCCON-07 DTSCCON-08 When the DTS Client receives the LOAD CONFIG signal it will reload the configuration file after processing the current mailbox When the DTS Client receives the DISABLE MBX n signal, the client will disable the specified mailbox (In multi mailbox mode) When the DTS Client receives the ENABLE MBX n signal, the client will enable the specified mailbox (In multi mailbox mode) 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 ClientIdentification string otherwise this will have no effect. Date: 22/02/2012 Page 14 of 27
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. Date: 22/02/2012 Page 15 of 27
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. DTSSEN-04 DTSSEN-05 DTSSEN-06 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. 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 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 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. Date: 22/02/2012 Page 16 of 27
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 DTSREC-02 DTSREC-03 DTSREC-04 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. 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. 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. If the received message is a negative Delivery Service Notification from SMTP then the DTS Server will; Date: 22/02/2012 Page 17 of 27
DTSREC-05 DTSREC-06 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. 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 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 Status Failure Date: 22/02/2012 Page 18 of 27
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. DTSUNC-02 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 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 DTSUNC-03a DTSUNC-03b DTSUNC-04 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. 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. 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. Conditionally audit the report/dsn generation The uncollected message non-delivery process will audit non-delivered messages to the file /dts/audit/dtsdtstond.audit Date: 22/02/2012 Page 19 of 27
DTSUNC-05 DTSUNC-06 Update the database for the original message The record in the tblmsgtoclient table will be updated to reflect the nondelivery. Fields to be updated are: failuretime failurediagnostic «Message not collected by recipient after 5 days» failuredtsid status «9» 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» Date: 22/02/2012 Page 20 of 27
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 Date: 22/02/2012 Page 21 of 27
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 Message, Report or Both indicator. Date: 22/02/2012 Page 22 of 27
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-todate. 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. Date: 22/02/2012 Page 23 of 27
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 CA DNS DR DSN DTS MIME MTSID N3 NDR RATS SMTP DESCRIPTION Certificate Authority Domain Name Service Delivery Report Delivery Service Notification Data Transfer Service Multipurpose Internet Mail Extensions Message Transfer Service Identity National Broadband network for the NHS Non Delivery report Registration and Tracking Service Simple Message Transfer Protocol Date: 22/02/2012 Page 24 of 27
8 Configuration Control Title Author DTS Functional Specification 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 Date: 22/02/2012 Page 25 of 27
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> Date: 22/02/2012 Page 26 of 27
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> Date: 22/02/2012 Page 27 of 27