0
votes

I use the c-find of DCMTK to query GE's pacs with study root, study level. And the condition is studydate = 20181112, Modality= "" to query PatientID.

I know that Modality is a tag under series level. PACS should not use this condition with study root, study level. And I use dicomobject and dcm4chee to be scp, cfind does not return modality.

I use ModalitiesInStudy instead of Modality, GE pacs can find the correct number. I know study ModalitiesInStudy is Study level.

Why did GE return modality values and query the wrong number of study on that day, much less than the actual number?

1
Sounds like something between bug and feature. Not sure to fully understand what you want to know. Is the question really: "Why does my wrong request yield a wrong reply"? - kritzel_sw
I am sorry. yes, it is wrong to use Modality with StudyLevel to query pacs. But pacs should ignore Modality. - chenzongxi
I also have often seen the mixing up of Modality and ModalitiesInStudy. I know some implementations where the modality is treated as ModalitesInStudy. You say the query gave much less than the actual number. I am ASSUMING: if the study only has series with the same modality 'XX' then ModalitiesInStudy is also 'XX'. only if the study has series of different modalities 'XX' and 'YY' then ModalitiesInStudy would be 'XX\YY'. Filtering by Study-Modality 'XX' gives you only the studies that contain ONLY 'XX'-series, not those with mixed modalities? - gofal3
@gofal3 Thank you. Maybe GE PACS working as you talk. - chenzongxi

1 Answers

2
votes

It is incorrect to assume that the PACS should ignore inappropriate query keys. The most DICOM-conformant reaction towards a malformed query would be to reject the request with the status A900 (Identifier does not match SOP class).

However in practice it is not always the best choice to be that restrictive. So the behavior you observe could be seen as "GE PACS tries to make the best out of your malformed request". Obviously there is no right and wrong in this.

Without knowing the contents of the PACS and the exact requests and responses, it is impossible to guess how the PACS uses the inappropriate attribute in filtering. But since the baseline is "garbage in / garbage out", I do not think that this really matters