-2

I want to get this uid in order to get the file from dicom server as these parameters are needed by the function addStoreTransferCapability.The kit I am using is dcm4chee and the language is java.

Asad Ali
  • 15
  • 7
  • What problems are you having finding these values? http://stackoverflow.com/help/how-to-ask – cneller Nov 25 '15 at 16:35
  • its returning null following is the code: dcmqr.setQueryLevel(DcmQR.QueryRetrieveLevel.PATIENT); dcmqr.setQueryLevel(DcmQR.QueryRetrieveLevel.STUDY); dcmqr.setQueryLevel(DcmQR.QueryRetrieveLevel.SERIES); dcmqr.setQueryLevel(DcmQR.QueryRetrieveLevel.IMAGE); dcmqr.addReturnKey(Tag.toTagPath("SOPClassUID")); dcmqr.addReturnKey(Tag.toTagPath("PatientName")); dcmqr.addReturnKey(Tag.toTagPath("StudyInstanceUID")); – Asad Ali Nov 25 '15 at 17:26
  • I'd suggest you create a new question with your specific issue and what you've tried. It's not clear what is null from your code, nor how it relates to your original issue. Again, stackoverflow.com/help/how-to-ask – cneller Nov 25 '15 at 20:21
  • Actually I cant ask further questions: Here is what is happening in the above code I am setting the query level and the return keys I have also set TransferSyntaxUID as a return key . Query is being made and when I check the results for tsuid it returns null. dcmqr.addReturnKey(Tag.toTagPath("TransferSyntaxUID")); System.out.print("Here are the tags:"+ result.get(0).getString(Tag.TransferSyntaxUID)+ "\n"); – Asad Ali Nov 26 '15 at 06:18

1 Answers1

0

The TransferSyntaxUID is not a subject to the persistent storage of the DICOM object, it is rather used in "presentation context negotiation" - which format can the sender provide and which format can the receiver accept - when the image is actually transferred. That is why you cannot query for it in a C-FIND request (I suppose that is what you are doing).

Why do you think that you want to query for it?

(I apologize for not posting this as a comment, but I am new to stackoverflow and do not have sufficient reputation to do so).

Markus Sabin
  • 3,916
  • 14
  • 32
  • You cannot "query to retrieve". Query (C-FIND) and retrieve (C-MOVE) are different services. The typical process is: 1: Query for a study by specifying patient and study attributes in a C-FIND request. 2: Trigger a C-MOVE-request conveying the StudyInstanceUID received through C-FIND and the destination AET. 3: The C-MOVE request should trigger a C-STORE request to your system on the remote server. Your Storage Service Class Provider will then receive a list of presentation contexts in association negotiation. Then you can decide which Transfersyntax is accepted on your end. – Markus Sabin Nov 26 '15 at 08:26
  • DICOM object transfer involves a lot of knowledge of the DICOM standard. I can highly recommend this great introduction: http://www.course-as.ru/download/pdf/DICOM/CookBook.pdf – Markus Sabin Nov 26 '15 at 08:30
  • For this process I am using dcm4chee kit wirtten in java. It has a function named addStoreTransferCapability that requires two inputs as arguments one is SOPclass uid and other is transfer syntax UID (data type an array of strings ) so is anywhere defined number of transfer syntax uids ??? or – Asad Ali Nov 26 '15 at 08:51
  • Not sure if there is a complete table somewhere in the standard. I like to use the one of my favorite DICOM toolkit: http://support.dcmtk.org/docs/dcuid_8h-source.html – Markus Sabin Nov 26 '15 at 09:43
  • ok I moved a bit when I query at image level in order to get the images I get error missing unique key attribute (0020,000E) at series level – Asad Ali Nov 26 '15 at 10:17
  • In this case: You have to include the identifying information from the higher levels: Pat-ID, Study UID, Series UID. Sorry, I can just repeat my recommendation to get familiar with the DICOM standard first or use a toolkit that does not require knowledge of the DICOM standard. – Markus Sabin Nov 26 '15 at 11:53