Getting DICOM bulkdata from HealthImaging
Use the GetDICOMBulkdata
action to retrieve binary data that has been separated from DICOM metadata in a
HealthImaging data store. When retrieving instance or series metadata, binary attributes larger than 1MB will be
represented by a BulkDataURI
instead of inline values. You can retrieve the binary data for any primary image
set in the HealthImaging data store by using the BulkDataURI
provided in the metadata response. You can retrieve bulkdata
for non-Primary image sets by providing the image set ID as a query parameter.
To get DICOM bulkdata
When you retrieve DICOM metadata from a HealthImaging DICOMweb WADO-RS action, such as GetDICOMInstanceMetadata
or GetDICOMSeriesMetadata
, large binary attributes will be replaced in-line with BulkDataURIs, as shown below:
"00451026": { "vr": "UN", "BulkDataURI": "https://dicom-medical-imaging.us-west-2.amazonaws.com/datastore/<datastoreId>/studies/<StudyInstanceUID>/series/<SeriesInstanceUID>/instances/<SOPInstanceUID>/bulkdata/<bulkdataUriHash>" }
To retrieve a DICOM element with the GetDICOMBulkdata
action, use the following steps.
-
Construct a URL for the request using the values from the
BulkDataURI
, of the form:https://dicom-medical-imaging.
region
.amazonaws.com/datastore/datastore-id
/studies/study-instance-uid
/series/series-instance-uid
/instances/sop-instance-uid
/bulkdata/bulkdata-uri-hash
-
Issue your
GetDICOMBulkdata
command as an HTTP GET request with AWS Signature Version 4 signing protocol. The following code example uses thecurl
command line tool to retrieve a DICOM element from a primary image set:curl --request GET \ 'https://dicom-medical-imaging.us-east-1.amazonaws.com/datastore/d9a2a515ab294163a2d2f4069eed584c/studies/1.3.6.1.4.1.5962.1.2.4.20040826285059.5457/series/1.3.6.1.4.1.5962.1.3.4.1.20040825185059.5457/instances/1.2.840.10008.5.1.4.1.1.7/bulkdata/b026324c6904b2a9cb4b88d6d61c81d1' \ --aws-sigv4 'aws:amz:us-east-1:medical-imaging' \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header 'Accept: application/octet-stream' \ --output 'bulkdata.bin'
To retrieve a DICOM data element from a non-primary image set, supply an
ImageSetId
parameter:curl --request GET \ 'https://dicom-medical-imaging.us-east-1.amazonaws.com/datastore/d9a2a515ab294163a2d2f4069eed584c/studies/1.3.6.1.4.1.5962.1.2.4.20040826285059.5457/series/1.3.6.1.4.1.5962.1.3.4.1.20040825185059.5457/instances/1.2.840.10008.5.1.4.1.1.7/bulkdata/b026324c6904b2a9cb4b88d6d61c81d1?imageSetId=459e50687f121185f747b67bb60d1bc8' \ --aws-sigv4 'aws:amz:us-east-1:medical-imaging' \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header 'Accept: application/octet-stream' \ --output 'bulkdata.bin'
Note
The imageSetId
parameter is required to retrieve bulkdata for non-primary image sets. The
GetDICOMBulkdata action will only return bulkdata for primary image sets if the datastoreId
, studyInstanceUID
,
seriesInstanceUID
, and SOPInstanceUID
are specified (without an imagesetID
).