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.
| 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. |
| 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. |
| 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. |