Armazenamento de instâncias com STOW-RS - AWS HealthImaging

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Armazenamento de instâncias com STOW-RS

HealthImaging A AWS oferece uma representação do DICOMweb STOW-RS APIs para importar dados. Use-os APIs para armazenar de forma síncrona dados DICOM em seu armazenamento de HealthImaging dados.

A tabela a seguir descreve as HealthImaging representações do DICOMweb STOW-RS APIs disponíveis para importação de dados.

HealthImaging representações do DICOMweb STOW-RS APIs
Nome Descrição
StoreDICOM Armazene uma ou mais instâncias em um armazenamento HealthImaging de dados.
StoreDICOMStudy Armazene uma ou mais instâncias correspondentes a um UID de instância de estudo especificado em um armazenamento HealthImaging de dados.

Os dados importados com as StoreDICOMStudy ações StoreDICOM e serão organizados como novos conjuntos de imagens primárias ou adicionados aos conjuntos de imagens primárias existentes, usando a mesma lógica dos trabalhos de importação assíncrona. Se os elementos de metadados dos dados DICOM P10 recém-importados entrarem em conflito com os conjuntos de imagens primárias existentes, os novos dados serão adicionados aos conjuntos de imagens não primárias.

nota
  • Essas ações suportam o upload de até 1 GB de dados DICOM por solicitação.

  • A resposta da API estará no formato JSON, em conformidade com o padrão STOW-RS. DICOMweb

Para iniciar uma solicitação StoredIcom

  1. Colete sua região da AWS e HealthImaging datastoreId o nome do arquivo DICOM P10.

  2. Crie uma URL para a solicitação do formulário: https://dicom-medical-imaging.region.amazonaws.com/datastore/datastore-id/studies

  3. Determine o tamanho do conteúdo do arquivo DICOM P10 usando seu comando preferido, por exemplo. $(stat -f %z $FILENAME)

  4. Prepare e envie sua solicitação. StoreDICOMusa uma solicitação HTTP POST com o protocolo de assinatura AWS Signature versão 4.

exemplo Exemplo 1: Para armazenar um arquivo DICOM P10 usando a ação 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
exemplo Exemplo 2: Para armazenar um arquivo DICOM P10 usando a ação StoreDICOMStudy

A única diferença entre StoredIcom e Store DICOMStudy é que um UID de instância de estudo é passado como um parâmetro para o StoreDICOMStudy, e as instâncias carregadas devem ser membros do estudo 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
exemplo Exemplo 3: Para armazenar arquivos DICOM P10 com uma carga HTTP de várias partes

Vários arquivos P10 podem ser carregados com uma única ação de upload de várias partes. Os comandos de shell a seguir demonstram como montar uma carga de várias partes contendo dois arquivos P10 e carregá-la com a ação. 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