Iguana User Conference 🏔️ May 6-8  Denver, CO

The Complete Guide to HL7

HL7 Transport Method: FTP

The File Transfer Protocol (FTP) is an application layer TCP/IP protocol which moves files between local and remote file systems or vice versa. FTP initiates two TCP connections in parallel to transfer a file; a control connection, to send commands for interacting with the server (for example, authenticating) and initiating file actions (for example, download or rename a file); and a data connection, to send out the file. 


A Practical Guide to HL7 Interface Development: Building Custom Integrations for Healthcare Systems
Download the FREE Guide

FTP (File Transfer Protocol)

When sending HL7 messages that contain electronic Protected Health Information (ePHI), it is pertinent that files are sent using a secure protocol. There are two ways to provide secure transport of HL7 messages using FTP:

  • SFTP (SSH File Transfer Protocol) is an extension of the SSH protocol, and provides secure file transfer, access and management capabilities for any data stream.
  • FTPS (FTP Secure) provides support for the TLS (Transport Layer Security) and SSL (Secure Socket Layer)protocols. 

SFTP and FTPS are often thought of as secure “extensions” of FTP, but this is not quite the case and the two protocols are actually incompatible. Either SFTP or FTPS works well, even for some real-time feeds, if your counterparty is able to support it.

HL7 Batch Processing using FTP

HL7 batch processing involves sending files via the FTP protocol or as email attachments. According to the HL7 Standard, any HL7 message must start with an MSH segment, however when sending a batch of HL7 messages, the rules change. A batch contains several single HL7 messages (each marked by their starting MSH segments) however, the batch itself is enclosed in a batch header. This is identified with batch headers, FSH and BSH, and batch trailers, FTS and BTS, as seen in the sample HL7 batch file below.

PID|||583020^^^ADT1||WHITE^CHARLES||19980704|M||AI|7616 STANFORD AVE^^ST. LOUIS^MO^63130|||||||20-98-1701||||||||||||
PID|||583020^^^ADT1||WHITE^CHARLES||19980704|M||AI|7616 STANFORD AVE^^ST. LOUIS^MO^63130|||||||20-98-1701||||||||||||
OBR|1|A101Z^MESA_ORDPLC||P1^Procedure 1^ERL_MESA|||||||||xxx||Radiology^^^^R|7101^ESTRADA^JAIME^P^^DR|||||||||||1^once^^^^S|||WALK|Project Manager||||||||||A||
PID|||583020^^^ADT1||WHITE^CHARLES||19980704|M||AI|7616 STANFORD AVE^^ST. LOUIS^MO^63130|||||||20-98-1701||||||||||||
BTS|3|Batch Message Count
FTS|1|Have a Nice Day

Configuring FTP for Sending HL7

FTP is one of the most commonly used protocols for batch transport of HL7 messages, and it can be helpful to know how to properly set up an FTP interface to send these files.

How does Iguana assist with setting up FTP for sending HL7 messages?

Developed by iNTERFACEWARE, Iguana is a data integration platform, and the only tool you need to send HL7 data via FTP (or SFTP/FTPS) quickly and reliably. Iguana has a built-in scripting environment along with pre-written code snippets designed specifically for setting up FTP components. Using the APIs supplied by Iguana's Translator provides an incredibly powerful and convenient set of tools to handle custom requirements using file and FTP operations.

Get a demo: Set up an FTP interface for sending HL7 messages using Iguana

Fill out the form and we'll be in touch.

Request a Free Demo