Stockage d'instances avec STOW-RS - AWS HealthImaging

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Stockage d'instances avec STOW-RS

AWS HealthImaging propose une représentation de la DICOMweb STOW-RS APIs pour l'importation de données. Utilisez-les APIs pour stocker des données DICOM de manière synchrone dans votre banque de HealthImaging données.

Le tableau suivant décrit les HealthImaging représentations de DICOMweb STOW-RS APIs disponibles pour l'importation de données.

HealthImaging représentations de DICOMweb STOW-RS APIs
Name (Nom) Description
StoreDICOM Stockez une ou plusieurs instances dans un magasin HealthImaging de données.
StoreDICOMStudy Stockez une ou plusieurs instances correspondant à un UID d'instance d'étude spécifié dans un magasin de HealthImaging données.

Les données importées avec les StoreDICOMStudy actions StoreDICOM et seront organisées sous la forme de nouveaux ensembles d'images principaux ou ajoutées aux ensembles d'images principaux existants, selon la même logique que les tâches d'importation asynchrones. Si les éléments de métadonnées des données DICOM P10 récemment importées entrent en conflit avec les ensembles d'images principaux existants, les nouvelles données seront ajoutées aux ensembles d'images non principaux.

Note
  • Ces actions prennent en charge le téléchargement d'un maximum de 1 Go de données DICOM par demande.

  • La réponse de l'API sera au format JSON, conformément à la norme DICOMweb STOW-RS.

Pour lancer une demande StoreDICOM

  1. Collectez votre région AWS et HealthImaging datastoreId le nom de fichier DICOM P10.

  2. Construisez une URL pour la demande du formulaire : https://dicom-medical-imaging.region.amazonaws.com/datastore/datastore-id/studies

  3. Déterminez la longueur du contenu du fichier DICOM P10 à l'aide de votre commande préférée, par exemple. $(stat -f %z $FILENAME)

  4. Préparez et envoyez votre demande. StoreDICOMutilise une requête HTTP POST avec le protocole de signature AWS Signature version 4.

Exemple 1 : Pour stocker un fichier DICOM P10 à l'aide de l'action StoreDICOM
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
Exemple 2 : Pour stocker un fichier DICOM P10 à l'aide de l'action StoreDICOMStudy

La seule différence entre StoreDICom et Store DICOMStudy est qu'un UID d'instance d'étude est transmis en tant que paramètre à Store DICOMStudy et que les instances téléchargées doivent être membres de l'étude spécifiée.

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
Exemple 3 : pour stocker des fichiers DICOM P10 avec une charge utile HTTP en plusieurs parties

Plusieurs fichiers P10 peuvent être téléchargés en une seule action de téléchargement en plusieurs parties. Les commandes shell suivantes montrent comment assembler une charge utile en plusieurs parties contenant deux fichiers P10 et comment la télécharger avec l'action. StoreDICOM

Shell
#!/bin/sh FILENAME=multipart.payload BOUNDARY=2a8a02b9-0ed3-c8a7-7ebd-232427531940 boundary_str="--$BOUNDARY\r\n" mp_header="${boundary_str}Content-Type: application/dicom\r\n\r\n" ##Encapsulate the binary DICOM file 1. printf '%b' "$mp_header" > $FILENAME cat file1.dcm >> $FILENAME ##Encapsulate the binary DICOM file 2 (note the additional CRLF before the part header). printf '%b' "\r\n$mp_header" >> $FILENAME cat file2.dcm >> $FILENAME ## Add the closing boundary. printf '%b' "\r\n--$BOUNDARY--" >> $FILENAME ## Obain the payload size in bytes. multipart_payload_size=$(stat -f%z "$FILENAME") # Execute CURL POST request with AWS SIGv4 curl -X POST -v \ 'https://iad-dicom.external-healthlake-imaging.ai.aws.dev/datastore/b5f34e91ca734b39a54ac11ea42416cf/studies' \ --aws-sigv4 "aws:amz:us-east-1:medical-imaging" \ --user "AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \ --header "x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD" \ --header "x-amz-decoded-content-length: ${multipart_payload_size}" \ --header 'Accept: application/dicom+json' \ --header "Content-Type: multipart/related; type=\"application/dicom\"; boundary=\"${BOUNDARY}\"" \ --data-binary "@$FILENAME" # Delete the payload file rm $FILENAME