Ah - your note about only indexing root attributes makes sense. Non-root
attributes might repeat.
Yes, the failing entries were not unique in the first 10 characters of their
names. I had assumed that the names had to match the entries in
dgate.dic, but it looks like they don't, they just have to be unique.
I changed the names so that they were unique, and it fixed the problem.
before:
{ 0x0008, 0x0012, "InstanceCreationDate", 8, SQL_C_DATE, DT_DATE },
{ 0x0008, 0x0013, "InstanceCreationTime", 16, SQL_C_CHAR, DT_TIME },
after:
{ 0x0008, 0x0012, "InstCrDate", 8, SQL_C_DATE, DT_DATE },
{ 0x0008, 0x0013, "InstCrTime", 16, SQL_C_CHAR, DT_TIME },
Yay - Thanks so much for your help!
I'm guessing that each query level of Patient, Study, Series, Image, and Worklist each
are kept in a different table in the database, so that names only have to be
unique within each. PatientBirthDate for example, is in each query level.
- Jim