Skip to content

Source Node

Each channel has one and only one Source Node. The source node determines the type of messages that are received into the channel. It is also known as the channel receiver and determines how messages are received.

Multiple senders into one channel

The one-source-per-channel rule is about source type, not the number of inbound connections. For the socket receivers HL7 MLLP and Socket ASTM, enable Allow Multiple Connections on the source and a single channel accepts many concurrent senders. HTTP Listener and DICOM Listener sources accept concurrent senders without extra configuration (a DICOM Listener's concurrency is capped by its Association Limit). Either way, route the merged traffic to a shared destination from that one channel.

When external sources speak different protocols (e.g. one sends over HL7 MLLP and another over FTP), each one needs its own channel in QIE, with that channel's source node configured for the protocol that sender uses. To send both streams to a single destination, give each of those QIE channels a Channel Queue Destination that hands the message off to a merging channel whose source node is a Channel Queue Receiver; the merging channel holds the single outbound destination connection. Channel Queue is internal channel-to-channel routing only; it never accepts traffic from outside QIE.

How source systems reach the channel

QIE source nodes fall into two patterns, and the channel configures the connection address differently for each. There is no separate "inbound URL" field, the address is implied by the source type.

Listener sources: QIE listens on a port and external systems push messages to it. The channel sets the transport (e.g. plain socket vs. HTTPS) and the Port; the hostname clients use is the QIE server's own network hostname, set outside QIE by DNS, NAT, or a reverse proxy. The URL or host:port shown in the Endpoint field is informational, built from those pieces.

Source Channel sets Clients connect to
HTTP Listener Secure (http/https) + Port http(s)://<qie-host>:<port>
HL7 MLLP Port <qie-host>:<port> (MLLP)
Secure Socket Port <qie-host>:<port> (TLS)
ASTM Port <qie-host>:<port>
DICOM Listener Port (+ AE title) <qie-host>:<port>

A common deployment pattern: the organization gives an outside vendor a public FQDN such as https://data.example-hospital.com/, then in their DNS registrar points that hostname at the organization's edge, and the edge firewall or reverse proxy forwards traffic to the internal QIE listener, for example https://qieserver:8380. The vendor uses the public FQDN; QIE only sees the internal qieserver:8380 URL in its Endpoint field. Neither piece is configured on the channel itself, the channel sets only the listener's protocol and port, and the public-to-internal mapping lives in DNS plus the port-forwarding or reverse-proxy rule.

Port numbering convention

Because QIE picks the listener port, a consistent numeric convention helps operators tell at a glance which environment a port belongs to. One common pattern is to reserve 20000-29999 for test and 30000-39999 for production, so a port number alone signals whether the endpoint is meant to accept live clinical traffic.

HL7 MLLP and ASTM receivers also support a Client Socket mode, in which QIE dials out to a remote host that is doing the listening. In that mode QIE has no say over the port. It connects to whatever port the remote system exposes.

Polling sources: QIE reaches out to the source on its schedule, so the channel holds the full target address.

Source Channel sets
File Local filesystem path on the QIE server
Network Share UNC path (e.g. \\server\share\folder)
FTP / SFTP Host, Port, Path, credentials
DB Query Results Database Connection (which holds host, port, database) + SQL
Web Service Remote REST URL
Custom Script Whatever the script reaches

Supported Message Source Receivers

QIE supports the following message source receiver types. Each has its own configuration page:

Message Source Description
Channel Queue Receiver Receives messages routed in-process from another channel's Channel Queue destination. Used for intra-engine routing between channels without going out over a real protocol.
Custom Script Receiver A custom script can be created to add messages to the inbound queue.
DICOM Listener The DICOM Listener implements the DICOM network communication protocols and allows QIE to connect to and communicate with any modality or system which supports DICOM network communications.
File Receiver Messages can be saved to a directory which QIE is configured to monitor. Matching files contained within the directory are processed as messages through the channel.
FTP / SFTP Receiver File Transfer Protocol (FTP) or SSH File Transfer Protocol (SFTP). Messages can be saved to a directory on the FTP server. QIE is configured to periodically log into the FTP server and check for files to be processed.
HTTP Listener The Hypertext Transfer Protocol (HTTP) is the foundation of data communication for the World Wide Web. It is also the communication protocol used for SOAP and REST based web services. QIE can be configured to listen for and respond to HTTP requests.
Network Share (SMB) Messages can be placed in a network directory that QIE is configured to monitor. A username and password can be entered for access to the network share.
Socket (ASTM) Receiver An ASTM socket is a TCP/IP socket connection which implements the ASTM communication protocol. QIE can be configured to listen for ASTM socket connection requests on a specified port.
Socket (HL7 MLLP) Receiver An HL7 MLLP socket is a TCP/IP socket connection which implements the HL7 MLLP communication protocol. QIE can be configured to listen for HL7 MLLP socket connection requests on a specified port, with an optional TLS-secured variant.

Source node configuration

The source node carries several pieces of channel configuration beyond the receiver itself: