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.
When sending HL7 messages that contain electronic Protected Health Information (ePHI), it’s essential to use a secure transport. Two common secure options related to FTP are:
Although often described as “secure versions of FTP,” SFTP and FTPS are distinct and incompatible protocols. Either can work well for HL7 batch delivery (and even some near-real-time feeds) if both endpoints support the chosen option.
HL7 batch processing typically sends files via an FTP/SFTP/FTPS transfer or email attachment. Under the HL7 Standard, individual messages start with an MSH segment. In a batch file, multiple HL7 messages (each beginning with MSH) are wrapped by batch headers and trailers: FHS/BHS (headers) and FTS/BTS (trailers). Example:
FHS|^~\&|MESA|XYZ_HOSPITAL|IHIE|IHIE|20120703094005||||||
BHS|^~\&|MESA|XYZ_HOSPITAL|IHIE|IHIE|20120703094005||||||
MSH|^~\&|MESA_ADT|XYZ_ADMITTING|iFW|XYZ_HOSPITAL|||ADT^A04|101102|P|2.3.1||||||||
EVN||200004211000||||200004210950
PID|||583020^^^ADT1||WHITE^CHARLES||19980704|M||AI|7616 STANFORD AVE^^ST. LOUIS^MO^63130|||||||20-98-1701||||||||||||
PV1||E||||||5101^NELL^FREDERICK^P^^DR|||||||||||V1002^^^ADT1|||||||||||||||||||||||||200004210950||||||||
MSH|^~\&|MESA_OP|XYZ_HOSPITAL|iFW|XYZ_RADIOLOGY|||ORM^O01|101104|P|2.3.1||||||||
PID|||583020^^^ADT1||WHITE^CHARLES||19980704|M||AI|7616 STANFORD AVE^^ST. LOUIS^MO^63130|||||||20-98-1701||||||||||||
PV1||E|$PATIENT_LOCATION$||||$ATTENDING_DOCTOR$|5101^NELL^FREDERICK^P^^DR|||||||||||V1002^^^ADT1|||||||||||||||||||||||||200004210950||||||||
ORC|NW|A101Z^MESA_ORDPLC|||||1^once^^^^S||200004210955|^ROSEWOOD^RANDOLPH||7101^ESTRADA^JAIME^P^^DR||3145551212|200004210955||922229-10^IHE-RAD^IHE-CODE-231||
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||
MSH|^~\&|MESA_ADT|XYZ_ADMITTING|iFW|XYZ_HOSPITAL|||ADT^A06|101126|P|2.3.1||||||||
EVN||200004211000||||200004210950
PID|||583020^^^ADT1||WHITE^CHARLES||19980704|M||AI|7616 STANFORD AVE^^ST. LOUIS^MO^63130|||||||20-98-1701||||||||||||
PV1||I|1E^111^1^XYZ_HOSPITAL|||$PRIOR_LOCATION$|1234^WEAVER^TIMOTHY^P^^DR|5101^NELL^FREDERICK^P^^DR|||||||||||V1002^^^ADT1|||||||||||||||||||||||||200004210950||||||||
BTS|3|Batch Message Count
FTS|1|Have a Nice Day
FTP/SFTP/FTPS are common choices for batch transport of HL7 messages. Proper setup of user accounts, directories, file naming conventions, and success/error handling is essential for reliable exchanges.
Developed by iNTERFACEWARE, Iguana is a data integration platform that can send HL7 via FTP, SFTP, or FTPS quickly and reliably. It offers prebuilt components and a scripting environment with APIs for file/FTP operations, making it straightforward to implement custom workflows and robust error handling.