Hello Sébastien and the group,
Thanks for your great work !!
I am facing the situation that the /tools/find can not quite satisfy my need . (Like there’s no count field so it’s hard to do pagination and I may want the expand option can give more information (Not complain just my case) )
With the MySQL index plugin, I decide to implement the search by directly access to the database and I have been struggling for days and would you mind give some advices…
First question is how to efficiently do the multiple tag-matching-level especially the tag filed are from different levels (Patient/Study/Series/Instance) ? For example, I want get all the instances where
- PatientName (a tag of patient whose internalId is let’s say 4) is xxx
- And StudyDescription (a tag of study whose internalId is let’s say 3) is yyy
- And BodyPartExamined (a tag of series whose internalId is let’s say 2) is zzz
since 2 != 3 != 4 !=2 and there’s no way to know the 2,3,4 are related unless we check the Resources table and I am dead… But the task is so innocent…(I did do some research in the C++ source code but I failed to find any SQL-like string…)
Another question is about the schema : it seems to me that something like tree is maintained in the Resources table and this drives me crazy when I want to get all the resources that below a certain level ? (e.g. I want to get all the instances (with tags) of all series (with tags) belong to some study, a tree with depth 3 where each node contains information from MainDicomTags table )
Any suggestions ?
Thanks a lot !!