pynetdicom._handlers.doc_handle_move¶
- pynetdicom._handlers.doc_handle_move(event)[source][source]¶
Documentation for handlers bound to
evt.EVT_C_MOVE.User implementation of this event handler is required if one or more services that use C-MOVE are to be supported. If a handler is not implemented and bound to
evt.EVT_C_MOVEthen the C-MOVE request will be responded to using a Status value of0xC511- Failure.The first yield should be the
(addr, port)of the move destination, the second yield the number of required C-STORE sub-operations as anint, and the remaining yields the(status, dataset)pairs.Matching SOP Instances will be sent to the peer AE with AE title
move_aetover a new association. Ifmove_aetis unknown then the SCP will send a response with a ‘Failure’ status of0xA801‘Move Destination Unknown’.Event
evt.EVT_C_MOVESupported Service Classes
Query/Retrieve Service
Hanging Protocol Query/Retrieve Service
Defined Procedure Protocol Query/Retrieve Service
Color Palette Query/Retrieve Service
Implant Template Query/Retrieve Service
Status
- Success
0x0000Sub-operations complete, no failures- Pending
0xFF00Sub-operations are continuing- Cancel
0xFE00Sub-operations terminated due to Cancel indication- Failure
0x0122SOP class not supported0x0124Not authorised0x0210Duplicate invocation0x0211Unrecognised operation0x0212Mistyped argument0xA701Out of resources: unable to calculate number of matches0xA702Out of resources: unable to perform sub-operations0xA801Move destination unknown0xA900Identifier does not match SOP class0xAA00None of the frames requested were found in the SOP instance0xAA01Unable to create new object for this SOP class0xAA02Unable to extract frames0xAA03Time-based request received for a non-time-based original SOP Instance0xAA04Invalid request0xC000to0xCFFFUnable to process
- Parameters
event (events.Event) –
The event representing a service class receiving a C-MOVE request message.
Eventattributes are:assoc: theassociationthat is running the service that received the C-MOVE request.context: the presentation context the request was sent under as apresentation.PresentationContextTuple.description: a description of the event that occurred as str.name: the name of the event that occurred as str.request: the receivedC-MOVE requesttimestamp: the date and time that the C-MOVE request was processed by the service.
Event properties are:
identifier: the decodedDatasetcontained within the C-MOVE request’s Identifier parameter. Because pydicom uses a deferred read when decoding data, if the decode fails the returnedDatasetwill only raise an exception at the time of use.is_cancelled: returnsTrueif a C-CANCEL request has been received, False otherwise. If a C-CANCEL is received then the handler should yield a(0xFE00, None)status/dataset pair and return.
- Yields
addr, port (str, int or None, None) – The first yield should be the TCP/IP address and port number of the destination AE (if known) or
(None, None)if unknown. If(None, None)is yielded then the SCP will send a C-MOVE response with a ‘Failure’ Status of0xA801(move destination unknown), in which case nothing more needs to be yielded.int – The second yield should be the number of C-STORE sub-operations required to complete the C-MOVE operation. In other words, this is the number of matching SOP Instances to be sent to the peer.
status (pydiom.dataset.Dataset or int) – The status returned to the peer AE in the C-MOVE response. Must be a valid C-MOVE status value for the applicable Service Class as either an
intor aDatasetcontaining (at a minimum) a (0000,0900) Status element. If returning aDatasetthen it may also contain optional elements related to the Status (as in DICOM Standard Part 7, Annex C).dataset (pydicom.dataset.Dataset or None) – If the status is ‘Pending’ then yield the
Datasetto send to the peer via a C-STORE sub-operation over a new association.If the status is ‘Failed’, ‘Warning’ or ‘Cancel’ then yield a
Datasetwith a (0008,0058) Failed SOP Instance UID List element containing the list of the C-STORE sub-operation SOP Instance UIDs for which the C-MOVE operation has failed.If the status is ‘Success’ then yield
None, although yielding a final ‘Success’ status is not required and will be ignored if necessary.
See also
send_c_move()C_MOVEQueryRetrieveServiceClassHangingProtocolQueryRetrieveServiceClassDefinedProcedureProtocolQueryRetrieveServiceClassColorPaletteQueryRetrieveServiceClassImplantTemplateQueryRetrieveServiceClassReferences