RegisterMoveCallback with c-move callback plugin

Hi Sabestian,

Is there a way to a create a custom plugin for incoming DICOM C-MOVE remove request which will support additional parameters. The existing callback signature only supports following tags.
Parameters

resourceType The type of the resource of interest. Note that this might be set to ResourceType_None if the QueryRetrieveLevel (0008,0052) tag was not provided by the issuer (i.e. the originator modality).
patientId Content of the PatientID (0x0010, 0x0020) tag of the resource of interest. Might be NULL.
accessionNumber Content of the AccessionNumber (0x0008, 0x0050) tag. Might be NULL.
studyInstanceUid Content of the StudyInstanceUID (0x0020, 0x000d) tag. Might be NULL.
seriesInstanceUid Content of the SeriesInstanceUID (0x0020, 0x000e) tag. Might be NULL.
sopInstanceUid Content of the SOPInstanceUID (0x0008, 0x0018) tag. Might be NULL.
originatorAet The Application Entity Title (AET) of the modality from which the request originates.
sourceAet The Application Entity Title (AET) of the modality that should send its DICOM files to another modality.
targetAet The Application Entity Title (AET) of the modality that should receive the DICOM files.
originatorId The Message ID issued by the originator modality, as found in tag (0000,0110) of the DICOM query emitted by the issuer.

But I want to put more tags which are not supported in its signature. Also, is there way to creating a plugin which will handle incoming DICOM association request.

Hello,

This could be possible by providing plugins with the content of the input argument at the following location of the source code of Orthanc: orthanc: 6cb91df32207 OrthancServer/Plugins/Engine/OrthancPlugins.cpp

However, the tags you reported are the only one that are guaranteed to work with any PACS system. This is the reason why we don’t forward them to the plugins. I don’t have any plan for this because such a modification would imply an extension to the Orthanc plugin SDK, except if this enables a scientific research.

As a workaround, you could start a separate DICOM server using pydicomnet in an Orthanc Python plugin, or using the dcm4che library using the soon-available Orthanc Java plugin.

Kind Regards,
Sébastien-