visit the hl7 website The Demo site for our new HL7 Version 2+ (plus) Standard

18.8.165 SFT - software segment (2.14.12)

Definition: This segment provides additional information about the software product(s) used as a Sending Application. The primary purpose of this segment is for diagnostic use. There MAY be additional uses per site-specific agreements.

Implementers are encouraged to use message profile identifiers (as found in 2.14.9.21, "MSH-21 Message Profile Identifier (EI) 01598") to control the behavior of the receiving application rather than relying on application or version information in the SFT segment.

For example, if software product A has versions 9 and 10 deployed in different Enterprise locations, the fact that they use different message types, segments, or fields SHOULD be reflected via their message profiles (see section 2B, "Conformance Using Message Profiles"). If there is an upgrade from version 10 to 10.1, this would be reflected in the SFT segment, but changes to the message contents SHOULD be reflected via a new/different conformance profile.

Use Case: An external application has been customized to communicate with a centralized patient drug history system. However, due to certain, known characteristics of the external software package, the centralized system must modify its behavior in order to process transactions correctly. In one example, the external application could have multiple versions in production. As such, the centralized application will need to know the name of the Software Vendor Organization, the Software Release Number, the Software Product Name, and the Software Binary ID so that it can correctly identify the software submitting the transaction and modify its behavior appropriately.

While preparing a transaction for submission to a centralized system the sending application specifies its Software Install Date and its configuration settings (Software Product Information). While processing the transaction, the centralized system encounters an error. Upon examination of the error, install date and configuration of the software that sent the message, helpdesk staff are able to determine the sending application has not been updated to reflect recent application changes.

Use Case: In circumstances where a message is manipulated or modified by multiple systems, a repetition of this segment MAY be appended by each system.

Example:

MSH

[{ SFT }]

...

HL7 Attribute Table - SFT - Software Segment

Base Framework
Seq#Data ElementDescriptionFlagsImplementCardinalityLengthC.LENVocabularyData Type
SFT
101834Software Vendor Organization SHOULD[1..1] 
XON

Extended Composite Name and Identification Number for Organizations

201835Software Certified Version or Release Number
=

Truncation allowed.

SHOULD[1..1] 15
ST

String Data

301836Software Product Name
=

Truncation allowed.

SHOULD[1..1] 20
ST

String Data

401837Software Binary ID
=

Truncation allowed.

SHOULD[1..1] 20
ST

String Data

501838Software Product Information MAY[0..1] 
TX

Text Data

601839Software Install Date MAY[0..1] 
DTM

Date/Time

Seq#Data ElementDescriptionFlagsImplementCardinalityLengthC.LENVocabularyData Type
SFT
101834Software Vendor Organization SHALL[1..1] 
XON

Extended Composite Name and Identification Number for Organizations

201835Software Certified Version or Release Number
=

Truncation allowed.

SHALL[1..1] 15
ST

String Data

301836Software Product Name
=

Truncation allowed.

SHALL[1..1] 20
ST

String Data

401837Software Binary ID
=

Truncation allowed.

SHALL[1..1] 20
ST

String Data

501838Software Product Information MAY[0..1] 
TX

Text Data

601839Software Install Date MAY[0..1] 
DTM

Date/Time

Base FrameworkBase Standard Profile
Seq#Data ElementDescriptionFlagsImplementCardinalityLengthC.LENVocabularyData TypeImplementVocabulary
SFT 
101834Software Vendor Organization SHOULD[1..1] 
XON

Extended Composite Name and Identification Number for Organizations

SHALL
201835Software Certified Version or Release Number
=

Truncation allowed.

SHOULD[1..1] 15
ST

String Data

SHALL
301836Software Product Name
=

Truncation allowed.

SHOULD[1..1] 20
ST

String Data

SHALL
401837Software Binary ID
=

Truncation allowed.

SHOULD[1..1] 20
ST

String Data

SHALL
501838Software Product Information MAY[0..1] 
TX

Text Data

MAY
601839Software Install Date MAY[0..1] 
DTM

Date/Time

MAY
Base Framework Base Standard Profile
Seq# Data Element Description Flags Optionality Repetition Length C.LEN Table Data Type Optionality Table
SFT  
1 01834 Software Vendor Organization   O      
XON

Extended Composite Name and Identification Number for Organizations

R  
2 01835 Software Certified Version or Release Number   O     15#  
ST

String Data

R  
3 01836 Software Product Name   O     20#  
ST

String Data

R  
4 01837 Software Binary ID   O     20#  
ST

String Data

R  
5 01838 Software Product Information   O      
TX

Text Data

   
6 01839 Software Install Date   O      
DTM

Date/Time

   
Seq# Data Element Description Optionality Repetition Length C.LEN Table Data Type
SFT
1 01834 Software Vendor Organization R      
XON

Extended Composite Name and Identification Number for Organizations

2 01835 Software Certified Version or Release Number R     15#  
ST

String Data

3 01836 Software Product Name R     20#  
ST

String Data

4 01837 Software Binary ID R     20#  
ST

String Data

5 01838 Software Product Information O      
TX

Text Data

6 01839 Software Install Date O      
DTM

Date/Time

18.8.165.1 SFT field definitions (2.14.12.0)

18.8.165.2 SFT-1 Software Vendor Organization (XON) 01834 (2.14.12.1)

Definition: Organization identification information for the software vendor that created this transaction. The purpose of this field, along with the remaining fields in this segment, is to provide a more complete picture of applications that are sending HL7 messages. The Software Vendor Organization field would allow the identification of the vendor who is responsible for maintaining the application.

18.8.165.3 SFT-2 Software Certified Version or Release Number (ST) 01835 (2.14.12.2)

Definition: Latest software version number of the sending system that has been compliance tested and accepted. Software Certified Version or Release Number helps to provide a complete picture of the application that is sending/receiving HL7 messages. Versions are important in identifying a specific 'release' of an application. In some situations, the receiving application validates the Software Certified Version or Release Number against a list of "certified" versions/releases of the particular software to determine if the sending application adheres to specific business rules required by the receiving application.

Alternatively, the software MAY perform different processing depending on the version of the sending software

18.8.165.4 SFT-3 Software Product Name (ST) 01836 (2.14.12.3)

Definition: The name of the software product that submitted the transaction. A key component in the identification of an application is its Software Product Name. This is a key piece of information in identifying an application.

18.8.165.5 SFT-4 Software Binary ID (ST) 01837 (2.14.12.4)

Definition: Issued by a vendor for each unique software version instance to distinguish between like versions of the same software e.g., a checksum.

Software Binary Ids are issued for each unique software version instance. As such, this information helps to differentiate between differing versions of the same software. Identical Primary IDs indicate that the software is identical at the binary level (configuration settings mmightdiffer).

18.8.165.6 SFT-5 Software Product Information (TX) 01838 (2.14.12.5)

Definition: Software identification information that can be supplied by a software vendor with their transaction. Might include configuration settings, etc.

This field would contain any additional information an application provides with the transaction it has submitted. This information could be used for diagnostic purposes and provides greater flexibility in identifying a piece of software. Possibilities include setup or configuration parameter information.

This field SHOULD NOT be sent unless performing diagnostics.

18.8.165.7 SFT-6 Software Install Date (DTM) 01839 (2.14.12.6)

Definition: Date the submitting software was installed at the sending site.

A Software Install Date on its own can often provide key information about the behavior of the application, and is necessary to provide a complete picture of the sending application.