Hi there!
I’m working on a PoC using Orthanc as a proxy to an external DICOM index.
I’m making use of the Python plugin, so I can override ‘OnFind’ and ‘OnMove’ handlers and implement the behavior I need.
My problem is I need to access modality information in those handlers, so I’m trying to manage modalities. What I see from Orthanc’s configuration is that I can define modalities via config file or using its REST API. Either way, the modality “alias” is the one used as the identifier, so this must be unique. But the rest of the attributes are not (AET, host, port).
When a new association is established, how do I know the modality it is performing the C-FIND or C-MOVE operation? the interface exposes ‘issuer_aet’ or ‘called_aet’ as parameters, and even knowing that the AET is supposed to be unique for a hospital, like docs state:
[…] each imaging device (may it be a client or a server) must be associated with a symbolic name that is called the application entity title (AET). The AET is assumed to be unique inside the Intranet of the hospital. For best compatibility between vendors, the AET should be only made of alphanumeric characters in upper case (plus the “-” and “_” characters), and its length must be below 16 characters.
Taken together, the IP address, the TCP port and the AET describe all the parameters of a DICOM server. The administrators of a medical imaging network should carefully keep track of these parameters for each imaging device, and should define an hospital-wide policy to assign AETs to new devices.
This sometimes is not true in my case; not sure if this is the reason why Orthanc’s configuration file would support two modalities with the same AET + port + host configuration, as this valid config shows:
...
"DicomModalities": {
"SCU": {
"AET" : "ORTHANC-SCU",
"Port" : 4242,
"Host" : "scu"
},
"SCU2": {
"AET" : "ORTHANC-SCU",
"Port" : 4242,
"Host" : "scu"
}
},
...
So in summary:
- Does Orthanc map the DICOM association with a particular registered modality for C-FIND or C-MOVE operations?
- Is there a way to have access to the DICOM association attributes of the operation (host & port) using the Python plugin?
Thank you! Regards,
Alberto