Speichern von Instanzen mit STOW-RS - AWS HealthImaging

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Speichern von Instanzen mit STOW-RS

AWS HealthImaging bietet eine Darstellung der DICOMweb STOW-RS APIs für den Import von Daten. Verwenden Sie diese APIs , um DICOM-Daten synchron in Ihrem HealthImaging Datenspeicher zu speichern.

In der folgenden Tabelle werden die HealthImaging Repräsentationen von DICOMweb STOW-RS beschrieben, die für den Import von Daten APIs verfügbar sind.

HealthImaging Darstellungen von STOW-RS DICOMweb APIs
Name Beschreibung
StoreDICOM Speichern Sie eine oder mehrere Instanzen in einem HealthImaging Datenspeicher.
StoreDICOMStudy Speichern Sie eine oder mehrere Instanzen, die einer angegebenen Studieninstanz-UID entsprechen, in einem HealthImaging Datenspeicher.

Daten, die mit den StoreDICOMStudy Aktionen StoreDICOM und importiert werden, werden als neue primäre Bilddatensätze organisiert oder zu vorhandenen primären Bilddatensätzen hinzugefügt. Dabei wird dieselbe Logik wie bei asynchronen Importaufträgen verwendet. Wenn die Metadatenelemente neu importierter DICOM P10-Daten mit vorhandenen primären Bilddatensätzen kollidieren, werden die neuen Daten zu nicht primären Bilddatensätzen hinzugefügt.

Anmerkung
  • Diese Aktionen unterstützen das Hochladen von bis zu 1 GB DICOM-Daten pro Anfrage.

  • Die API-Antwort wird im JSON-Format vorliegen und dem STOW-RS-Standard entsprechen. DICOMweb

Um eine StoredICOM-Anfrage zu initiieren

  1. Erfassen Sie Ihre AWS-Region und den DICOM P10-Dateinamen. HealthImaging datastoreId

  2. Konstruieren Sie eine URL für die Anfrage des Formulars: https://dicom-medical-imaging.region.amazonaws.com/datastore/datastore-id/studies

  3. Ermitteln Sie beispielsweise die Inhaltslänge der DICOM P10-Datei mit Ihrem bevorzugten Befehl. $(stat -f %z $FILENAME)

  4. Bereiten Sie Ihre Anfrage vor und senden Sie sie ab. StoreDICOMverwendet eine HTTP-POST-Anforderung mit dem AWS Signature Version 4-Signaturprotokoll.

Beispiel 1: Um eine DICOM P10-Datei mithilfe der Aktion zu speichern 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
Beispiel 2: Um eine DICOM P10-Datei mithilfe der Aktion zu speichern StoreDICOMStudy

Der einzige Unterschied zwischen StoreDICOM und Store besteht DICOMStudy darin, dass eine Study Instance UID als Parameter an Store DICOMStudy übergeben wird und die hochgeladenen Instanzen Mitglieder der angegebenen Studie sein müssen.

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
Beispiel 3: Um DICOM P10-Dateien mit einer mehrteiligen HTTP-Payload zu speichern

Mit einer einzigen mehrteiligen Upload-Aktion können mehrere P10-Dateien hochgeladen werden. Die folgenden Shell-Befehle veranschaulichen, wie Sie eine mehrteilige Payload mit zwei P10-Dateien zusammenstellen und zusammen mit der Aktion hochladen. 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