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.