
Section 1
Section 1. Listener Connection Information
In Section 1 of the main window you tell your Ad Hoc Sender where you want to deliver your HL7 messages to. To send HL7 messages your sender needs to know whether you are sending your messages to a Listener on the same computer/server OR a Listener on a remote computer/server. It also needs to know what TCP/IP Port number the HL7 Listener is "listening" on to receive messages. You will be told by your HL7 Trading Partner what this port number is. Check the appropriate boxes and enter the port number.
In this section you will also set your HL7 Acknowledgement Timeout. This is the amount of time AFTER each message is successfully sent that the Ad Hoc Sender should wait for the receiver to return a standard HL7 ACK.
Once you have completed Section 1 you can click the Test Connection to the HL7 TCP/IP Listener button and determine whether there is a TCP/IP Listener instance running at the destination information you entered.

Section 2
Section 2. The Message Envelope
Honestly you should never have to change the values in Section 2. By default they are set to the HL7 ANSI standard values and displayed in HEX format because they are typically non-printable characters and should only ever be changed by explicit agreement between you and your HL7 Trading Partner.
What is the TCP/IP Message Envelope? When exchanging HL7 messages over TCP/IP you have the HL7 message itself, which is just a stream of text. This stream of text is encapsulated in an envelope of control characters. Each message will start with the BOM (Beginning of Message) character(s) and will end with the EOM (End of Message) character(s). If these characters are incorrect the HL7 Listener will not be able to parse your HL7 messages from the stream. The SOM (Segment Delimiter) character is not technically part of the TCP/IP envelope BUT it is extremely important to exchanging HL7 messages and is the value that causes the most confusion and creates the most errors. If the values in these fields are invalid OR are not the ANSI standard values the Reset the HL7 Message Envelope to ANSI Defaults button will be enabled and you can click it to restore the ANSI values. If you do need to change these values just click the button next to the field you wish to change.

Section 3
Section 3. The HL7 Data File
In Section 3 you will select a file which contains HL7 messages you wish to deliver to the waiting HL7 Listener. You can browse for a data file by clicking OR by double-clicking the text box. If you select a data file, then save your settings (Section 4), AND the file is deleted after you close the Ad Hoc Sender you will notice a difference when you restart the program. The HL7 File field will be RED and indicate "No messages loaded".

Section 3. If file name is not valid
Example Messages. You can click to load a sample file containing 10 HL7 ADT messages. These example messages have been thoroughly randomized and contain no "real" patient data.
Clipboard Messages. You can click to load HL7 messages which have been copied to the Windows clipboard.
NOTE: The Ad Hoc Sender will only load the first 500 HL7 messages in a data file or from the Windows clipboard.

Section 4
Section 4. Special Instructions and Making It Happen!
In Section you click the Start button to open the Send Window. If the Start button is disabled it is because you have not completed the form with enough information to deliver the messages. You can click the Save Settings button to save all of the information you have entered so that it will be automatically set the next time you start the program. You can click Clear Settings to clear your saved settings and reset the form to the default values. Finally, of course, click Exit to close the program.
Special Instructions: There are several interesting features you can use in the Ad Hoc HL7 Sender when sending HL7 out. They are:
•Delay between each message. By default the software will try to deliver the HL7 messages as quickly as possible, and this is very fast. Sometimes you might be dealing with some older, or poorly designed HL7 Listener software which can get overwhelmed and you need to slow things down. You can select a value from this drop-down list to do just this. IMPORTANT: This "Delay" is NOT the same thing as the HL7 Acknowledgement Timeout value you set in Section 1. This delay will occur AFTER the sender has delivered each message AND waited for and received the HL7 Acknowledgement (if one was expected).
•Repeat how many times. This is a great feature for stress testing the HL7 Listener if you need to. You can select a value and when you begin sending your messages it will automatically repeat that many times. In the screenshot above there are 10 HL7 messages loaded and ready to send with a repeat value of 5. The sender will automatically send messages 1 to 10 and then repeat the operation a total of 5 times so in actuality it will send 50 messages. You can select a repeat value of up to 500 times. This means that if you have a data file with 500 messages loaded and repeat 500 times you will deliver 250,000 messages to the listener!
•Optimize Messages. If checked the sender will perform the standard HL7 optimizations when sending each message. This includes things like trimming empty trailing HL7 fields from each segment. If left unchecked it will send the "Raw" HL7 as it exists in the data file.
•Keep the Connection Open While Sending. Typically a HL7 Standard TCP/IP sender will deliver a message in 3 steps. 1) Connect to the Listener, 2) Send the message and wait for the ACK (if expected) and 3) Disconnect from the Listener. It will do this for every HL7 message it sends. If you check this box this behavior is changed so that it delivers messages like this. 1) Connect to the Listener, 2) Send ALL messages, and then 3) Disconnect from the Listener.
Your Next Step: Sending Messages