Instance level query on GE PACS issue

Hello,

First, thanks for this great dicom software.
I am currently working on a project where I need to retrieve DICOM metadata from medical exams. Some of these DICOM fields to recover are technical metadata such as slice thickness, KVP, Ma, pixel spacing, kvo etc…
For this I make queries at the image level of each series of each examination.
I therefore carry out the following procedure:

curl -v GE query -X POST -d ‘{“Level”:“Series”,“Query”:{“StudyDate”:“dateoftheday”,“PatientID”:“” ,“Modality”:“CT”},“Normalize”:false}’

I thus obtain a response with ID leading to the list of today’s series.
I then take the ID of the first series and look at the response

curl --request GET --url 340a768f-ffdd-4db5-9c3e-c44879e7173b/answers/0/content

I now make a request which allows me to have the desired DICOM informations of the image (kvp, slice thickness etc…) via the SerieinstanceUID which I insert in a request at the instance level:

curl -v GE -X POST -d ‘{“Level”:“Instance”,“Query”:{“StudyDate”:“dateoftheday”,“PatientID”:“” ,“Modality”:“CT”,“Manufacturer”:“”,“ManufacturerModelName”:“”,“SeriesInstanceUID”:“1.3.12.2.11009125092137509274231947190”,“StudyDescription”:“”,“SeriesDescription”: “”,“ProcedureCodeSequence”:“”,“AccessionNumber”:“”,“BodyPartExamined”:“”,“KVP”:“”,“XRayTubeCurrent”:“”,“PixelSpacing”:“”,“SliceThickness”:" "},“Normalize”:false}’

The problem is : when I perform this action with our syngovia modality, everything goes correctly and I obtain the information I want from the image.
When I perform this query on my hospital GE PACS, the instance level query never succeeds and ends up in error:

"Details": "C-FIND SCU to AET \"DASQR\" has failed with DIMSE status 0xA700",
"HttpError": "Internal Server Error",
"HttpStatus": 500,

I was able to contact a GE engineer who looked at what the orthanc query did on the GE PACS and compared it with a query made with another tool at the instance level.
We made a query with the minimum information requested (Study instanceUID and SeriesInstance UID) to understand:
curl -v GE -X POST -d ‘{“Level”:“Instance”,“Query”:{“SeriesInstanceUID”:“1.3.12.2.12398740192734091274093124704912”,"StudyInstanceUID ":“1.3.12.2.1107.092110297019247109427190”, },“Normalize”:false}’
And he noticed that when orthanc made a query at instance level, implicit fields were submitted to PACS: Accession Number and PatientID unlike the Offis tools:

Offis manages to achieve the image level query without any problem.

So I have several questions:
Is it possible to prevent orthanc from adding implicit fields to the image level query ?
If I’m doing it wrong, is there a better way to retrieve the technical metadata for each series of an exam?

Thanks a lot for your help on that topic

PS : I cannot copy paste the full path of my API REST query du to the number of link limitation but the JSON part is the most important.

Hello,

As a workaround, you could modify the outgoing query thanks to a lua script:
see here: Server-side scripting with Lua — Orthanc Book documentation

HTH,

Hi @darkjpl

Could you also first try to declare your PACS with the “GE” manufacturer in your configuration ?

"ge-pacs" : [ "MY-GE-PACS", "192.168.1.1", 104, "GE" ]

HTH,

Alain.

Hello,

Thank you for the reply

I 've just tried to add GE at the end of the list, I keep having the same error.
@bcrickboom : I will take a look on that

Thanks,

Jean-Philippe