YYYY.7.2 Using Non-DICOM Protocols
The direct file access URI links of the Repository Query SOP Class and the Inventory IOD do not limit the protocol used, which is specified by the scheme of the URI (e.g., "https:", "nfs:", "smb:", etc.). Applications that intend to use direct file access may need to be adapted to use the protocol specified by the repository. Not all capabilities of the access mechanism may be evident from the URI scheme, e.g., HTTP is used with several different cloud-based storage protocols that differ in the ways they use HTTP headers. The specifics of the protocol are conveyed in the Conformance Statement, rather than in DICOM Attributes.
The target resource of a non-DICOM protocol must be a SOP Instance stored in the DICOM File Format as specified in Section 7 “DICOM File Format” in PS3.10 (commonly denoted a PS3.10 file). At the SOP Instance level, the link may be a complete URI conveyed in the File Access URI (0008,0409). However, many (or all) of the links for SOP Instance files of a Study or Series, or even the entire Inventory, are likely to have the same URI base. The Inventory can factor out that commonality by specifying a Stored Instance Base URI (0008,0407) at the Inventory, Study, and/or Series level, and using relative path reference URIs (starting with ./) for the individual Instances. As specified in Section P.2.1 “URI Format” in PS3.3, the division between a base URI and a relative path reference URI may occur at any
path segment boundary, as seen in the examples in Table YYYY.7-1.
Table YYYY.7-1. Example Uses of Base and Relative Path URI
Base URI
|
Relative Path Reference URI
|
Notes
|
https://pacs.example.org/
|
./JZ08555
[Folder Access URI]
./JZ08555/2.25.9104767294.dcm
[File Access URI]
|
Protocol and host only in base URI.
Possible use for base URI default set at Inventory level, relative path specified for folder and for each SOP Instance file. Relative path for each file is merged only with base URI, and not merged with a folder URI.
|
nfs://pacs.example.org/JZ08555/
|
./2.25.9104767294.dcm
|
Protocol, host, and partial path in base URI.
Possible use for base URI specified for each Study, relative path for each SOP Instance file
|
https://pacs.example.org/
|
https://pacscache.example.org/JZ08555/2.25.9104767294.dcm
|
Relative path is a complete URI (base URI is ignored).
Possible use for default base URI overridden for specific SOP instance files.
|
smb://pacs.example.org/JZ08555/2.25.4037510835.zip/
|
./
|
Complete file path in base URI. Trailing / is required by RFC3986 when merging with a relative path beginning with ./
Possible use for base URI specified for each Study, with entire Study in single container file; file will be extracted from container based on filename or offset
|
The PS3.10 file can also be contained within a ZIP, TAR, or TARGZIP multi-file container structure. In that case, the File Access URI (0008,0409) links to the container file, and the specific PS3.10 file is identified by Filename in Container (0008,040B). For PS3.10 files stored in amulti-file BLOB container, as there is no filename, the file is identified by File Offset in Container (0008,040C) and File Length in Container (0008,040D); File Offset and File Length may also be provided for other container formats to provide more rapid access. For a PS3.10 file stored in a single file GZIP container, neither Filename in Container (0008,040B) nor File Offset in Container (0008,040C) is required.
If all the files for a Study or a Series are in a single container file, the Inventory Study or Series record can specify a URI link to that file. Similarly, if all the files for a Study or a Series are in a single folder (which is an operating system "container" mechanism), the Inventory can specify a URI link to that folder.
These permutations are shown in Table YYYY.7-2, and an example is shown in Table YYYY.7-2b.
Table YYYY.7-2. Use of URI-related Attributes
Use
|
URI Attributes Used
|
Notes
|
SOP Instance in a Part 10 file, or a Part 10 file in GZIP; File URI is complete
|
File Access Sequence (0008,041A)
>File Access URI (0008,0409)
|
|
SOP Instance in a Part 10 file, or a Part 10 file in GZIP; File URI is relative reference
|
File Set Access Sequence (0008,0419)
>Stored Instance Base URI (0008,0407)
File Access Sequence (0008,041A)
>File Access URI (0008,0409)
|
Base URI specified in Series level File Set Access or, if not there, in Study level File Set Access.
|
SOP Instance Part 10 file in a ZIP, TAR, or TARGZIP container file; File URI is complete
|
File Access Sequence (0008,041A)
>File Access URI (0008,0409)
>Filename in Container (0008,040B)
|
|
SOP Instance Part 10 file in a BLOB container file; File URI is complete
|
File Access Sequence (0008,041A)
>File Access URI (0008,0409)
>File Offset in Container (0008,040C)
>File Length in Container (0008,040D)
|
|
SOP Instance Part 10 file in a ZIP, TAR, or TARGZIP container file; File URI is relative reference
|
File Set Access Sequence (0008,0419)
>Stored Instance Base URI (0008,0407)
File Access Sequence (0008,041A)
>File Access URI (0008,0409)
>Filename in Container (0008,040B)
|
Base URI specified in Series level File Set Access or, if not there, in Study level File Set Access.
|
SOP Instance Part 10 file in a BLOB container file; File URI is relative reference
|
File Set Access Sequence (0008,0419)
>Stored Instance Base URI (0008,0407)
File Access Sequence (0008,041A)
>File Access URI (0008,0409)
>File Offset in Container (0008,040C)
>File Length in Container (0008,040D)
|
Base URI specified in Series level File Set Access or, if not there, in Study level File Set Access.
|
All files in Study or Series in a container file; File URI is complete
|
File Set Access Sequence (0008,0419)
>File Access URI (0008,0409)
|
|
All files in Study or Series in a container file; File URI is relative reference
|
File Set Access Sequence (0008,0419)
>Stored Instance Base URI (0008,0407)
>File Access URI (0008,0409)
|
For Series, if Base URI is not specified at Series level, it must be specified at Study level.
|
All files in Study or Series in a folder; Folder Access URI is complete
|
File Set Access Sequence (0008,0419)
>Folder Access URI (0008,0408)
|
|
All files in Study or Series in a folder; Folder Access URI is relative reference
|
File Set Access Sequence (0008,0419)
>Stored Instance Base URI (0008,0407)
>Folder Access URI (0008,0408)
|
For Series, if Base URI is not specified at Series level, it must be specified at Study level.
|
Table YYYY.7-2b. Example Use of URI-related Attributes
Attribute
|
Tag
|
VR
|
Value
|
Notes
|
... Inventory Attributes
|
|
|
|
|
Inventoried Studies Sequence
|
(0008,0423)
|
SQ
|
|
|
Item Study
|
... Study Attributes
|
|
|
|
|
>File Set Access Sequence
|
(0008,0419)
|
SQ
|
|
Note 1
|
Item
|
>>Stored Instance Base URI
|
(0008,0407)
|
UR
|
nfs://vna.exampleinstitution.org/JZ08555/
|
|
>Inventoried Series Sequence
|
(0008,0424)
|
SQ
|
|
|
Item Series 1
|
>>... Series Attributes
|
|
|
|
|
>>File Set Access Sequence
|
(0008,0419)
|
SQ
|
|
Note 2
|
Item
|
>>>File Access URI
|
(0008,0409)
|
UR
|
./2.25.9104767294.zip
|
|
>>>Container File Type
|
(0008,040A)
|
CS
|
ZIP
|
|
>>Inventoried Instances Sequence
|
(0008,0425)
|
SQ
|
|
|
Item Inst 1.1
|
>>>... Instance Attributes
|
|
|
|
|
>>>File Access Sequence
|
(0008,041A)
|
SQ
|
|
Note 3
|
Item
|
>>>>File Access URI
|
(0008,0409)
|
UR
|
./2.25.9104767294.zip
|
|
>>>>Container File Type
|
(0008,040A)
|
CS
|
ZIP
|
|
>>>>Filename in Container
|
(0008,040B)
|
UR
|
2.25.192771000545.dcm
|
|
>>>>Stored Instance Transfer Syntax UID
|
(0008,040E)
|
UI
|
1.2.840.10008.1.2.4.70
|
|
Item Inst 1.2
|
>>>... Instance Attributes
|
|
|
|
|
>>>File Access Sequence
|
(0008,041A)
|
SQ
|
|
Note 3
|
Item
|
>>>>File Access URI
|
(0008,0409)
|
UR
|
./2.25.9104767294.zip
|
|
>>>>Container File Type
|
(0008,040A)
|
CS
|
ZIP
|
|
>>>>Filename in Container
|
(0008,040B)
|
UR
|
2.25.192734871076985.dcm
|
|
>>>>Stored Instance Transfer Syntax UID
|
(0008,040E)
|
UI
|
1.2.840.10008.1.2.4.70
|
|
Item Series 2
|
>>... Series Attributes
|
|
|
|
|
>>Inventoried Instances Sequence
|
(0008,0425)
|
SQ
|
|
|
Item Inst 2.1
|
>>>... Instance Attributes
|
|
|
|
|
>>>File Access Sequence
|
(0008,041A)
|
SQ
|
|
Note 4
|
Item 1
|
>>>>File Access URI
|
(0008,0409)
|
UR
|
nfs://vna.exampleinstitution.org/JZ08555/2.25.460890520.dcm
|
|
>>>>Stored Instance Transfer Syntax UID
|
(0008,040E)
|
UI
|
1.2.840.10008.1.2.4.70
|
|
Item 2
|
>>>>File Access URI
|
(0008,0409)
|
UR
|
smb://pacs.exampleinstitution.org/cachesrv/2.25.460890520.dcm
|
|
>>>>Stored Instance Transfer Syntax UID
|
(0008,040E)
|
UI
|
1.2.840.10008.1.2.1
|
|
Note
-
Most of the Study content is in a ZIP file, but not all, so File Access URI cannot be used at Study level. However, the Study level sets the Base URI.
-
All of the content of Series 1 is in the ZIP file, so the Series level Item can include the File Access URI. Since the Base URI is not present at the Series level, it defaults to the Study level Base URI.
-
Since the Base URI is not present at the Series level, the Instances of Series 1 also default to the Study level Base URI. Their filenames within the ZIP are identified.
-
The SOP Instance of Series 2 is not in the ZIP, so its File Access URI is a complete URI reference to the Part 10 file. There are two copies known to the inventory, and they are each referenced.
Although the Inventory identifies the available access mechanisms for repository stored instances, the security features associated with those access mechanisms and with container file structures are outside the scope of DICOM, and will need to be implemented in applications that use the Inventory (see Section YYYY.6).