Skip to content

Channel Source

The Channel source subscribes to the output of another channel within the same project, enabling multi-stage pipelines where one channel’s processed output becomes the next channel’s input.

This is useful when you need to break a complex integration into discrete, testable steps — for example, receiving HL7v2 in one channel, converting to FHIR in a second, and routing to multiple destinations in a third.

source:
type: channel
channel:
source_channel_id: hl7-intake

The source_channel_id must match the id field of an upstream channel defined in the same project.

PropertyTypeRequiredDefaultDescription
source_channel_idstringYesThe id of the upstream channel whose output this channel subscribes to.

A two-stage pipeline where the first channel receives HL7v2 over TCP/MLLP and the second channel converts the output to FHIR:

channels/hl7-intake/channel.yaml
id: hl7-intake
enabled: true
group: admissions
source:
type: tcp
port: 6661
content_type: hl7v2
mllp: true
transformer: normalize.ts
destinations:
- local_file
channels/fhir-converter/channel.yaml
id: fhir-converter
enabled: true
group: admissions
source:
type: channel
channel:
source_channel_id: hl7-intake
transformer: hl7-to-fhir.ts
destinations:
- epic_fhir

In this setup, every message that completes the hl7-intake pipeline is automatically forwarded into the fhir-converter pipeline for the next processing stage.