HL7 Comm Warnings

Even if you skip the rest of the documentation, please read through these quick warnings before assuming something is broken or asking for help.

Input File Format

Input files must be in the following format (especially in the case of HL7 input files). Records are to be separated by newlines (0x0a) and segments are to be separated by carriage returns (0x0d). The last segment must have a carriage return after it. There can be other information preceeding the record or after the record, but it is not recommended as the 'scrubbing' algorithm is likely to be flawed. Even if the file in isn't HL7, the record delimiter is still a newline (0x0a). This is the most consistent way to handle input files across platforms as it works (well, mostly) on Windows and UNIX (including Mac OS X).

File Moves

This is primarly related to the file in configured client. The working directory and the done directory must be in the same physical file system on the machine. This software uses the File.move() method which will not operate across file system boundaries.

The Need for Speed

Running without the GUI is the surest way of making sure the program is running at its absolute fastest. If you must use a GUI minimize the main window and just leave the transaction monitor up. In my testing the GUI mode went from 1100 TPM to over 13000 TPM simply by minimizing the main window. Using the standard out logger and tailing that log while it's running (especially across the network) may slow you down as well, due more to the speed of most terminal clients as opposed to the operating system's handling of the standard out pipe, but this is highly variable, so test first if it's important to you.

Empty Files

The aggressive flushing of the receive mode may produce empty files. Please be aware of this while you are performing your integration and code to handle these. This should not happen in the most recent builds.