First, I am no kind of DICOM expert, so I apologize in advance.
We’re using the Linux Standard Base binaries and libraries, upgraded to the most recent versions as of a few days ago. We’ve been running Orthanc for six or so months, and we’ve imported a fair amount of data from other PACS using scripted REST calls.
I’ll mention that we configured the Advanced Storage plugin with a custom NamingScheme:
"NamingScheme": "{split(StudyDate)}/{AccessionNumber}/{UUID}{.ext}"
which I’m not sure is significant, but I don’t know.
We have recently added the StoneViewer, DICOMWeb and VolView plugins. When we try to use either of the viewer plugins on a study, it doesn’t display anything. Looking in the logs, I see:
HTTP-4 advanced-storage:/Plugin.cpp:191] Advanced Storage - Reading range of attachment “40c2762f-f85d-4fce-af84-acb2974c0162” of type 1 (path = /rdmf/pacs/40/c2/40c2762f-f85d-4fce-af84-acb2974c0162)
HTTP-4 advanced-storage:/Plugin.cpp:195] The path does not point to a regular file: “/rdmf/pacs/40/c2/40c2762f-f85d-4fce-af84-acb2974c0162”
HTTP-4 PluginsManager.cpp:202] Exception while invoking plugin service 3016: Inexistent file
A file named with that UUID exists on disk, although in a location consistent with the Advanced Storage NamingScheme (accession number hidden):
/rdmf/pacs/2011/01/25/xxxxxxxxx/40c2762f-f85d-4fce-af84-acb2974c0162.dcm
But that has a .dcm extension, which is different from what appears in the logs. After some web searching, I found something that suggested the ExtraMainDicomTags option was significant to DICOMWeb working correctly, and that option was commented out in the template Orthanc configuration I had copied. I uncommented that option:
“ExtraMainDicomTags” : {
“Instance” : [
“Rows”,
“Columns”,
“ImageType”,
“SOPClassUID”,
“ContentDate”,
“ContentTime”,
“FrameOfReferenceUID”,
“PixelSpacing”,
“SpecificCharacterSet”,
“BitsAllocated”
],
“Series” : [ ],
“Study”: [ ],
“Patient”: [ ]
}
and added these also, again based on information found on the web:
“SeriesMetadata”: “MainDicomTags”,
“StudiesMetadata”: “MainDicomTags”
This did not change the viewer behavior. However, after making those changes, we imported an additional study, and now the viewer works, only on that study. In the logs, I see:
HTTP-27 advanced-storage:/Plugin.cpp:191] Advanced Storage - Reading range of attachment “289ce8ea-8b01-4955-ab99-e4dbda4d74e3” of type 0 (path = /rdmf/pacs/28/9c/289ce8ea-8b01-4955-ab99-e4dbda4d74e3)
…..
HTTP-27 advanced-storage:/Plugin.cpp:191] Advanced Storage - Reading range of attachment “eccb0a91-40dc-4ed3-8a2e-72199a551f50” of type 1 (path = /rdmf/pacs/2003/10/06/1/eccb0a91-40dc-4ed3-8a2e-72199a551f50.dcm)
The first log is similar to the log above, in that it references a file in a location that seems at odds with the AdvancedStorage configuration, but through a mechanism I don’t understand, the file exists. The second log shows it successfully finding the first instance of the study.
Again, consulting the web, I see a suggestion that I may need to reconstruct metadata and/or indicies through the REST API. For the first study, I’ve tried the reconstruct route at the study, series and instance level, and in each case, I get the same complaint about the missing file. I am reluctant to try /tools/reconstruct out of concern for 1) how long it may take, and 2) not knowing what it may do to my database or TBs of existing studies.
Any advice would be welcome.
John