Working With Messages

Working With Messages

This page will cover user interaction with the queue device. To learn about queue operation and configuration, visit this page.

The queue devices provide a complex user interface in order to interact with the messages they contain. There is functionality to:

  • View raw messages and metadata

  • Search and filter messages based on complex criteria

  • View message traces and processing information

  • Import and export message data

  • Perform operations like reprocessing, purging, copying, etc. (both single and in bulk)

There are some slight UI differences between the different queue types depending on the underlying database used.

Let’s take a look at the queue UI.

image-20250910-152758.png

The toolbar is mainly used to query for messages. Use the image-20250910-153050.png button to perform a query using the criteria specified in each column header. The image-20250910-153312.png button changes the order in which messages are returned - by default messages are returned with the newest at the top. You can use the page navigator buttons to move to the next or previous set of messages in the query results image-20250910-153546.png . Use the image-20250910-153629.png button to toggle the total query message count on/off (queries may be slightly slower with this enabled).

The Message Table displays the results of a query, and includes message metadata as well as specific message values. Here is a quick overview of each column:

Queued Date/Time: A timestamp of when the message was ingested into the queue.

Modified Date/Time: A timestamp of when the message was most recently processed (messages can be processed multiple times).

Delay: The difference between Modified and Queued date/time, indicating the amount of time elapsed between the message being received and subsequently processed.

Queue: The QueueType of the message. These are Queued, Processed, Filtered, Errored, Shelved, and Delayed.

DB Key: The primary key of the message within the underlying database.

Snd Fac: Sending Facility (MSH-4).

Msg Id: Message ID (MSH-10).

Msg Type: Message Type (MSH-9).

Message Date: Message Date (MSH-7).

MRN: Medical Record Number (PID-2/3/4).

Account: Account Number (PID-18).

Visit: Visit Number (PV1-19).

Exam/Doc#: Exam or Document number (OBR-3/2, TXA-12)

Keywords: Arbitrary searchable text data. Device developers can add to the Keywords collection via the MessageContext.Keywords property. See Message Keywords.

Corr Key: A unique key assigned to each message when it is first ingested into Connexion. Each time a message is ingested into a queue, it uses this key. Searching on this key will return an entry for each queue which has ingested this specific message. See Correlation Key Search.

Msg Size: The size of the message payload in the database.

Att. Size: The size of the attachment payload in the database. Attachments are additional payloads associated with a message, accessed via the MessageContext.Attachments collection.

Source Uri: The source of the message (file, network, remote agent, branch, etc.).

Identities: Any identities associated with this message.

#Reprocess: The number of times a message has been delayed.

Reprocess Date/Time: A time stamp of the last attempt to process a delayed message.

We’ve shown the default paths used for the HL7 message type. Other message types can populate these columns via the MessageContext class. Device developers can choose which data to display here.

Searching & Filtering

Many of the queue columns can be filtered for message searching.

image-20250911-011330.png

The Keywords column has two options for searching.

image-20250911-011448.png
  • Keywords: Search the keywords for matches.

  • Message: Search the raw message for matches. A message search is resource intensive, as it has to decompress each message and perform a brute-force search.

Correlation Key searches are also special. Read about them here.

Keyword and message searches support AND and OR. Other searches treat multiple terms as an OR search (word1 word2 = word1 OR word2)

You can also use the message table context menu to filter / search.

image-20250911-015539.png

Message Comparison

Select 2 messages in the message table to perform a comparison. This can be down by holding the control key and selecting the messages.

image-20250911-015807.png

Queue Operations

The queue has a lot of functionality accessible from two context menus. The bulk operations menu is accessible by clicking on the queue icon, and all operations are available from the message table context menu.

image-20250911-020422.png
image-20250911-020549.png

Reprocessing Messages

A message of any queue type except Queued can be reprocessed. Doing so updates the queue type to Queued, and the message will be processed again. You can select one or more messages from the message table and choose the Reprocess Selected Message(s) from the context menu.

You can also perform two different bulk reprocess operations:

  • Reprocess Messages in Queue X, Date Range Y: This will reprocess all messages of the specified queue and date range. The queue type and date range are taken from the currently selected values in the column headers.

    image-20250911-021324.png
  • Reprocess Current Query Messages: All messages returned from the current query (the values specified in each column header) will be reprocessed.

    image-20250911-021603.png

Manually Queue Message(s)

Messages can be manually inserted directly into a queue by selecting the Manually Queue Message menu item. This shows the Queue Message dialog.

image-20250911-022243.png

If you are queuing a single textual message (ie, HL7, XML, JSON, etc.) then choose the appropriate viewer type (use the text viewer for JSON or unstructured content). If you are queuing a single binary message, or multiple delimited HL7 messages within a single file, choose the Load From File button.

You can select multiple files using the Load From File button, and each file will be queued as a separate message.

image-20250911-022538.png

Optionally add attachments using the Add Attachments button. You can specify whether files should be added as attachments or user storage.

image-20250911-023108.png

Click the Queue Message button to store the message in the queue.

image-20250911-023258.png

Edit & Re-Queue

Another feature is the ability to edit an existing message and place the edited message in the queue. Select a message in the messages table and select the Edit & Requeue menu option, or, the edit button on the message viewer.

image-20250911-024559.png
image-20250911-024815.png

Force Process Message

This feature lets you select a message within a paused queue (and running channel) and force it to be processed. This feature completely bypasses the FIFO ordered processing, so use this feature with care.

Purging Messages

Messages can be manually removed from the queue (as opposed to being removed as part of the maintenance routines). Specific messages can be selected in the messages table, and then removed using the delete key or Purge Selected Messages menu item.

Messages can be bulk removed by using the Bulk Purge Messages menu item and then choosing the appropriate criteria.

image-20250911-025541.png

You can also purge all messages within the queue using the Bulk Purge All & Reset Counters menu item.

Exporting Messages

The Export Selected To and Bulk Export To options let you export the raw messages to the file system or HL7Spy (if installed). You can choose to export the incoming message (as it was received) or the processed message (as it was post-processing), and specify framing options.

image-20250911-030427.png

If you choose the Create 1 file per message option, each message will be placed into its own file within the directory specified in the Target File field.

Messages being exported are transferred from the Connexion service to the management UI, so this process can take some time (network speed and latency).

Copying Messages

Messages can be copied to other queues via the (Bulk) Copy to Queue menu items.

image-20250911-030817.png

Importing & Exporting Message Records

The Manually Queue Message and Export Message options operate on the raw message - no metadata is involved. The message record options can be used to copy raw messages and all associated metadata between different Connexion instances.

Shelving Errored Messages

Some organizations treat the existence of errored messages as an issue. If errored messages exist, someone should investigate why they errored and either fix the underlying issue, or, mark them as shelved. A shelved message indicates the errored message has been investigated and deemed to be a non-issue. More Info.