Importing data - AWS HealthImaging

Importing data

Importing Instances

AWS HealthImaging offers a representation of the DICOMweb STOW-RS APIs for importing data. Use these APIs to synchronously store DICOM data to your HealthImaging data store.

The following table describes the HealthImaging representations of DICOMweb STOW-RS APIs available for importing data.

HealthImaging representations of DICOMweb STOW-RS APIs
Name Description
StoreDICOM Store one or more instances to a HealthImaging data store.
StoreDICOMStudy Store one or more instances corresponding to a specified Study Instance UID to a HealthImaging data store.

Data imported with the StoreDICOM and StoreDICOMStudy actions will be organized as new primary image sets, or added to existing primary image sets, using the same logic as asynchronous import jobs. If the metadata elements of newly imported DICOM P10 data conflict with existing primary image sets, the new data will be added to non-primary image sets.

Note
  • These actions support upload of up to 1GB of DICOM data per request.

  • The API response will be in the JSON format, conformant to the DICOMweb STOW-RS standard.

To initiate a StoreDICOM request

  1. Collect your AWS region, HealthImaging datastoreId, and DICOM P10 file name.

  2. Construct a URL for the request of the form: https://dicom-medical-imaging.region.amazonaws.com/datastore/datastore-id/studies

  3. Determine the content length of the DICOM P10 file using your preferred command, for example $(stat -f %z $FILENAME).

  4. Prepare and send your request. StoreDICOM uses a HTTP POST request with AWS Signature Version 4 signing protocol.

Example 1: To store a DICOM P10 file using the StoreDICOM action
Shell
curl -X POST -v \ 'https://dicom-medical-imaging.us-east-1.amazonaws.com/datastore/d9a2a515ab294163a2d2f4069eed584c/studies' \ --aws-sigv4 "aws:amz:$AWS_REGION:medical-imaging" \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header "x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD" \ --header "x-amz-decoded-content-length: $CONTENT_LENGTH" \ --header 'Accept: application/dicom+json' \ --header "Content-Type: application/dicom" \ --upload-file $FILENAME
Example 2: To store a DICOM P10 file using the StoreDICOMStudy action

The only difference between StoreDICOM and StoreDICOMStudy is that a Study Instance UID is passed as a parameter to StoreDICOMStudy, and the uploaded instances must be members of the specified study.

Shell
curl -X POST -v \ 'https://dicom-medical-imaging.us-east-1.amazonaws.com/datastore/d9a2a515ab294163a2d2f4069eed584c/studies/1.3.6.1.4.1.5962.1.2.4.20040826285059.5457' \ --aws-sigv4 "aws:amz:$AWS_REGION:medical-imaging" \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header "x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD" \ --header "x-amz-decoded-content-length: $CONTENT_LENGTH" \ --header 'Accept: application/dicom+json' \ --header "Content-Type: application/dicom" \ --upload-file $FILENAME
Example 3: To store DICOM P10 files with a multi-part HTTP payload
Shell
curl -X POST -v \ 'https://dicom-medical-imaging.us-east-1.amazonaws.com/datastore/d9a2a515ab294163a2d2f4069eed584c/studies' \ --aws-sigv4 "aws:amz:$AWS_REGION:medical-imaging" \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header "x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD" \ --header "x-amz-decoded-content-length: $CONTENT_LENGTH" \ --header 'Accept: application/dicom+json' \ --header "Content-Type: multipart/related; type=application/dicom; boundary={boundary}" \ --upload-file $FILENAME