Process async traffic with child queues

Last updated: Nov 5, 2025
IMPLEMENTATION
HEALTH TECH VENDOR
PRODUCT OWNER

Redox processes async (i.e., one-way) traffic using a first-in, first-out (FIFO) method. Learn more about async traffic. While this ensures order, it can create a bottleneck during high-volume events, like backfilling. Learn about backfilling before go-live.

To alleviate potential “traffic jams,” Redox offers a beta feature called child queues for subscriptions.

Definition of subscriptions

A subscription is the bridge of data exchange between two systems. It links a source, destination, and data model to define how and what data is exchanged between you and your connection. You can have one or more subscriptions per connection. Learn more about Redox connections.

Key takeaways
  • Redox processes async traffic in a first-in, first-out (FIFO) method, which can create bottlenecks during high-volume events.
  • Child queues solve this by splitting a subscription into multiple parallel queues. This increases throughput, so confirm that your destination can handle this increased, parallel volume.
  • A Redoxer must configure this beta feature for you.
  • A specific timing conflict with PatientAdmin.PatientMerge events can occur with ADT feeds, which may require a manual log retry.

How a subscription maps to child queues

Redox can split one subscription into child queues so that event notifications can process in parallel while maintaining FIFO within each queue. In other words, one subscription can map to several queues so that async traffic processes simultaneously. The main benefit of multiple queues is faster throughput for high-volume feeds. Just make sure that the destination can handle that volume of incoming traffic.

Which subscriptions qualify for child queues

Child queues are available for:

  • async production or staging subscriptions
  • subscriptions with any communication method, whether API or non-API
  • traffic flowing from Redox to a destination (not traffic flowing from a source to Redox)

Queues must be set up by a Redoxer. If you’re interested in implementing this feature, talk to a Redoxer.

Possible conflict with ADT feeds and merging patients

If you’re setting up an admission, discharge, and transfer (ADT) feed, there’s a possible conflict scenario with the Redox PatientAdmin.PatientMerge event type.

Typically, Redox splits a feed by patient identifiers. However, if one of the queues processes more slowly, you could receive a PatientMerge event for a patient that hasn’t finished processing through one of the queues.

For example, let’s say Patient 1’s record processes quickly on Queue A, but Patient 2’s record is delayed on Queue B. A PatientMerge event to merge Patient 1 and Patient 2 could then arrive on Queue A and be processed before Patient 2’s record has even arrived. This would throw an error since Patient 2 doesn’t exist in your system yet.

If this kind of conflict happens, you can retry the log message for the PatientMerge event. Learn how to retry a log.

FHIR® is a registered trademark of Health Level Seven International (HL7) and is used with the permission of HL7. Use of this trademark does not constitute an endorsement of products/services by HL7®.