Almacenamiento de instancias con STOW-RS - AWS HealthImaging

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Almacenamiento de instancias con STOW-RS

AWS HealthImaging ofrece una representación de los datos DICOMweb STOW-RS APIs para importar. APIs Utilícelas para almacenar de forma sincrónica los datos DICOM en su almacén de HealthImaging datos.

En la siguiente tabla se describen las HealthImaging representaciones del DICOMweb STOW-RS APIs disponibles para importar datos.

HealthImaging representaciones de STOW-RS DICOMweb APIs
Nombre Descripción
StoreDICOM Almacene una o más instancias en un banco de HealthImaging datos.
StoreDICOMStudy Almacene una o más instancias correspondientes a un UID de instancia de estudio específico en un banco de HealthImaging datos.

Los datos importados con las StoreDICOMStudy acciones StoreDICOM y se organizarán como nuevos conjuntos de imágenes principales o se agregarán a los conjuntos de imágenes principales existentes, utilizando la misma lógica que los trabajos de importación asíncrona. Si los elementos de metadatos de los datos del DICOM P10 recién importados entran en conflicto con los conjuntos de imágenes principales existentes, los nuevos datos se añadirán a los conjuntos de imágenes no principales.

nota
  • Estas acciones permiten cargar hasta 1 GB de datos DICOM por solicitud.

  • La respuesta de la API estará en formato JSON, de conformidad con el estándar STOW-RS. DICOMweb

Para iniciar una solicitud StoredIcom

  1. Recopile su región de AWS y el nombre del archivo DICOM P10. HealthImaging datastoreId

  2. Cree una URL para la solicitud del formulario: https://dicom-medical-imaging.region.amazonaws.com/datastore/datastore-id/studies

  3. Determine la longitud del contenido del archivo DICOM P10 mediante el comando que prefiera, por ejemplo. $(stat -f %z $FILENAME)

  4. Prepare y envíe su solicitud. StoreDICOMutiliza una solicitud HTTP POST con el protocolo de firma AWS Signature versión 4.

ejemplo Ejemplo 1: Para almacenar un archivo DICOM P10 mediante la acción 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
ejemplo Ejemplo 2: Para almacenar un archivo DICOM P10 mediante la acción StoreDICOMStudy

La única diferencia entre StoreDICOM y Store DICOMStudy es que se pasa un UID de instancia de estudio como parámetro a Store DICOMStudy y las instancias cargadas deben ser miembros del estudio especificado.

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
ejemplo Ejemplo 3: almacenar archivos DICOM P10 con una carga HTTP de varias partes

Se pueden cargar varios archivos P10 con una sola acción de carga de varias partes. Los siguientes comandos de shell muestran cómo ensamblar una carga útil de varias partes que contiene dos archivos P10 y cómo cargarla con la acción. 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