Empty query results in some Dicom nodes

OK,

I there a way you could include this “script change” to a vendor specific option ?
The problem I have is that we try to build a connection between orthanc and our homemade PET/CT viewer. So I’m going to teach physician in a setup guide how to install Orthanc to get all Orthanc’s features along with our PET/CT viewer in Fiji. It is a bit complicated to teach them to install a Lua script.

I’m going to try to see if it is the same “*” problem for the Philips workstation in Dijon (but since i’m 600 km away it is much harder).
That way I could tell you if it is something applicable to Philips manufacturer too.

Best regards,

Salim

Hi Sebastien, Hi all,

I'm happy to post here my final solution, now I have bi-directionnal query working for both GE (Xeleris and AWserver) and Philips (the 2 versions of the ADW workstation).

I made 2 Lua scripts, 1 for the ORTHANC=>Commercial station query and 1 other for the Commercial station => ORTHANC query.
These 2 scripts fix both GE and Philips.
I hope this will allow you to add the specific vendor tag for the next versions of Orthanc.

- To fix the Query from Orthanc to GE/Philips, I used the previously posted script here (https://groups.google.com/d/msg/orthanc-users/3g7V7kqr3g0/3Aiu86CnDwAJ) to replace the '*' by ''

function OutgoingFindRequestFilter(query, modality)
  for key, value in pairs(query) do
    if value == '*' then
      query[key] = ''
    end
  end

  return query
end

- To fix the query from GE/Philips to ORTHANC, I had to erase 3 tags as follow :

function IncomingFindRequestFilter(query, origin)
  -- First display the content of the C-Find query
  PrintRecursive(query)
  PrintRecursive(origin)

  -- Remove the "PrivateCreator" tag from the query
  local v = query
  -- generic group lenght
  v['0008,0000'] = nil
  v['0010,0000'] = nil
  v['0020,0000'] = nil
  return v
  
end

(a similar issue was posted here for Efilm https://groups.google.com/d/msg/orthanc-users/qlsYdf8NOH4/s7qCgWtQDAAJ)

I put in attachment the log of the query (GE AWserver, Xeleris and Philips to Orthanc) of each manufacturer.

I hope my experience could allow to enhance the query compatibility of this software that I appreciate so much.

Best regards,

Salim

Query to Orthanc.txt (4.08 KB)

Hi Salim,

Thanks for sharing this information.

Concerning the IncomingFindRequestFilter(), it seems that your proposal is very close to what has been done in this commit: https://bitbucket.org/sjodogne/orthanc/commits/af60b784d2b8c5143d9e96acae48975a1f32bcf3 that has been included in v1.2.0.

What version are you using ? If you are using an older version. That would be great if you could test with v1.2.0 (and without your IncomingFindRequestFilter callback).

Best regards,

Alain.

Dear Alain,

I’m sure to run 1.2.0 as you can verify in my /system API I posted in the previous responses.

I can guarantee that those tag are still blocking the queries, tell me if you need additional experiences/logs, to debug.

Best regards,

Salim

Dear Salim,

Sorry, the patch I pointed you on was used only in the ModalityWorklist plugin, not in the standard C-Find.

I think we may ignore the group-length tags in any case. I’ll check with Sebastien if we should apply this to all modalities (it does not make much sense to compare length in queries with length in dicom files).

Note that these 3 length tags are already ignored for “eFilm2” modalities. If we don’t ignore all group-length, we’ll introduce new modality types for yours.

About the outgoing requests, there is already this kind of hack for the “AgfaImpax” modality. Can you check it works if you define your modality as “AgfaImpax” ?

Can you give us the exact name of your Philips modality ? “Philips” might be too generic for the configuration file.

Thanks for your help.

Alain.

Dear Alain,

The Efilm2 option correctly fix the incoming requests (GE to Orthanc)

But the AgfaImpax do not fix the outgoing request (Orthanc to GE).
If I refer to this post (https://groups.google.com/d/msg/orthanc-users/_Tw7J8s31Ho/vXIMiGDfdxoJ) the '*' erase was discussed patient birth date while my script replaced all the '*' by '' (for all tags). Maybe that is why this AgfaImpax is still not solving my queries ?

For Philips, it is "ADW" workstation
For GE, the patches fix both "Xeleris" which is GE software for conventional scintigraphy and "AWServer" which is the newer server application provided by GE which merge many post-processing software (PET/CT, CT and probably MRI).

Don't hesitate if you need more data, it is a pleasure to contribute.

Best regards,

Salim

Hi Salim,

Thanks for your tests. I think we have all info to update Orthanc with new modality types. I’ll keep you updated once it’s done.

Best regards,

Alain.

Hello 269372914_314673303889068_2192187303334545442_n.jpg, I have a problem, I cannot restore images stored in orthanc to AWServer But I can recover it using console mri or ct

The latest post from Halim is by no way related to the present thread. As a consequence, I’m now forced to lock this thread.

Halim, please start a new thread to discuss your issues, and avoid to disturb other threads in the future:
https://book.orthanc-server.com/users/support.html