Skip to main content

Light Oxidicom NotifiKations Encoding

oxidicom sends to CUBE via NATS messages about the progress of DICOM storage. The encoding of these messages is called "Light Oxidicom NotifiKations" encoding, or LONK for short.

tip

The target audience of this page are ChRIS_ultron_backEnd developers.

Oxidicom NATS Subjects

There is a subject for each series. The subject name is

oxidicom.{pacs_name}.{SeriesInstanceUID}.ndicom

Where {pacs_name} is the AE title of the PACS which associated with oxidicom, and {SeriesInstanceUID} is the SeriesInstanceUID but with . replaced by _.

LONK Message Encoding

The messages take the form of a magic byte followed by data. Messages are one of:

TypeMagic ByteDescription
Done0x000x00 indicating no more messages will be sent for the DICOM series (for the current association).
Progress0x010x01 followed by a little-endian unsigned 32-bit integer, representing the number of DICOM files received for that series so far.
Error0x020x02 followed by a UTF-8 string, which is an error message.

Encoded Message Examples

Example: Typical Messages
0x01  0x01 0x00 0x00 0x00  | Received 1 DICOM file so far
0x01 0x02 0x00 0x00 0x00 | Received 2 DICOM files so far
0x01 0xc0 0x00 0x00 0x00 | Received 192 DICOM file so far
0x00 | Done receiving DICOM files

Example: Error Message

0x01  0x01 0x00 0x00 0x00                                                              | Received 1 DICOM file so far
0x02 0x73 0x74 0x75 0x63 0x6b 0x20 0x69 0x6e 0x20 0x63 0x68 0x69 0x6d 0x6e 0x65 0x79 | error: "stuck in chimney"
0x00 | Done receiving DICOM files