Skip to content

Status codes

What Routes answers, and what it does with each answer it gets back. The history and the node log show each code with its meaning.

Result, source, reason When
Permanent, service user, calling AE title not recognized No source accepts the sender (its AE titles, address and port). Shown on the Monitoring page as turned away.
Transient, service provider, local limit exceeded The node already has Max inbound associations open.
Transient, service provider, temporary congestion The node has not received its configuration yet.

Presentation contexts a source does not allow are refused on their own (abstract syntax not supported, or transfer syntaxes not supported), while the rest of the association goes ahead. The node log lists them.

Status Meaning What the sender should do
0000 Stored on the node’s disk and queued for every destination. Nothing: Routes is now responsible for it.
0124 Refused: no route took the instance (its source’s header conditions). Fix the routes, or send it elsewhere.
A700 Out of resources: the node’s disk is nearly full. Send again later; other nodes may take it.
A900 The instance has no SOP Instance UID or SOP Class UID. Fix the sender.
0110 Processing failure: the instance could not be read, edited or queued. See the node log. Send again after fixing the cause.

STOW-RS uploads report the same codes as Failure Reason for each instance that was not stored.

DICOM: what Routes does with a destination’s answer

Section titled “DICOM: what Routes does with a destination’s answer”
Answer What Routes does
0000, or any warning (B000, B006, B007, 0001, 0107, 0116) Delivered. Warnings are shown in the history.
A7xx (out of resources), 0110 (processing failure), 0213 (resource limitation), FE00 (cancel) Tried again with growing pauses, holding the queue’s order.
No association, or the association fails The destination is unreachable: its instances wait on disk and are tried again with growing pauses. Alerted after Destination unreachable after.
Transfer syntax not accepted The next syntax in the destination’s list is tried.
Any other failure (A9xx, Cxxx, 0122, 0124 and the rest) The instance becomes a dead letter for that destination, with the reason. Send it again from the console after fixing the cause.
Answer Meaning
N-EVENT-REPORT event type 1 Every referenced instance is committed.
N-EVENT-REPORT event type 2 Some were not. The Failed SOP Sequence names them: 0112 (no such instance) for instances the router never received, 0110 (processing failure) for those a destination did not accept or that were not committed in time.
0119 Routes received a commitment result it did not ask for (no request of this node matches its transaction).
Status Meaning
FF00 A match (C-FIND), or sub-operations under way (C-MOVE, C-GET).
0000 Done: every sub-operation succeeded.
B000 Done, but some sub-operations failed or had warnings.
A702 No sub-operation succeeded.
A801 The move destination is not the called AE title of any destination.
C000 Unable to process: no archive could be reached, or the archive’s patient ID map has not reached this node yet.
Code When
AA The message was applied to the worklist (when it takes it) and every routed copy is queued on the node’s disk.
AE The message cannot be read, or the worklist cannot use it and no HL7 route takes it. Sending it again will not help.
AR Send it again later: the central service cannot be reached for the worklist, or a copy could not be stored.

HL7: what Routes does with a destination’s acknowledgment

Section titled “HL7: what Routes does with a destination’s acknowledgment”
Answer What Routes does
AA, CA Sent. The next message goes.
AE, CE The destination’s queue stops at that message, with an alert, until someone retries it (after fixing the cause) or skips it. A destination can instead be set to put such messages aside and go on.
AR, CR, no answer within the timeout, no connection Tried again after 5 seconds, doubling up to 10 minutes; the messages behind it wait.
Status Meaning
200 STOW-RS: every instance stored. Other requests: the answer.
202 STOW-RS: some instances stored; the answer’s Failed SOP Sequence names the others.
204 QIDO-RS: no matches.
400 The request is malformed, such as a path that is not a UID.
401 No valid token. The address is refused (429) after Failed sign-ins before refusing.
403 The token is valid, but its sender may not do this (only sources that may query and retrieve may search and retrieve).
404 Not found in the archives.
406 The Accept header asks for a format Routes cannot provide.
409 STOW-RS: no instance was stored.
413 The upload is larger than Largest upload.
415 STOW-RS: not multipart/related; type="application/dicom".
429 Too many requests from this sender, or too many failed sign-ins from this address.
502 The archives did not answer, or the retrieval from them failed.
503 The node cannot check the sender yet, or no archive is set for the sender’s source. Comes with Retry-After.

DICOMweb: what Routes does with a STOW-RS destination’s answer

Section titled “DICOMweb: what Routes does with a STOW-RS destination’s answer”
Answer What Routes does
200, or the instance listed as stored Delivered (with the warning reason, if any).
A failure reason meaning already stored Delivered: the service has it (a resend, or a request that timed out after it stored it).
The transfer syntax refused The next syntax in the destination’s list is tried.
401, 403 The credentials are refused: the destination is treated as unreachable, and a new access token is fetched (OAuth).
404, 405 No STOW-RS service at that URL: treated as unreachable. Check the URL.
408, 429, 5xx, failure reasons A7xx, 0110, 0213, no connection Tried again with growing pauses.
Anything else A dead letter, with the reason.
Status Meaning
400 The request is invalid (the answer lists why), or a change is missing the X-Routes-Console: 1 header.
401 Not signed in.
403 Signed in, but the role does not allow it.
404 Not found, or /metrics with no token generated.
409 Someone else changed it since it was read (send the current revision), or it is still in use (a source used by a route).
503 The database cannot be reached, or a stored secret cannot be decrypted on this server.