← Навигация по документации

Обзор

Можно использовать поддерживаемый архивом RESTful-сервис для сохранения объектов через веб. Это можно сделать одним из следующих способов :

Использование UI архива

  1. Для загрузки bulkdata (pdf, изображение или видео) это можно сделать на уровне исследования или на уровне MWL. Эту опцию можно найти, нажав на три вертикальные точки напротив исследования/MWL. Стрелка вверх Upload file позволяет загрузить bulkdata для этого исследования или MWL.

  2. Для загрузки DICOM-объектов перейдите в More functions и выберите Upload DICOM objects, чтобы выбрать любое количество DICOM-объектов для загрузки.

Использование инструмента dcm4che

Просто используйте инструмент stowrs из библиотеки dcm4che. См. примеры ниже.

  1. Отправьте stow-запрос на stowRS Receiver с заданным атрибутом и bulkData img.jpeg.
stowrs -m PatientName=John^Doe -u http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies img.jpeg
  1. Отправьте stow-запрос на stowRS Receiver с заданным атрибутом и bulkData img.jpeg.
stowrs -t json --xc -m PatientID=P1 -u http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies img1.jpeg img2.jpg img3.jpeg
  1. Отправьте stow-запрос на stowRS Receiver с заданным dicom-файлом.
stowrs -u http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies
object1.dcm object2.dcm

Примечание : - Несколько DICOM-файлов можно отправить одновременно в одном запросе в архив. - С указанной опцией -t как json, несколько файлов bulkdata (одного типа файла, т.е. напр. только изображения или только pdf или только видео) можно отправить одновременно в одном запросе в архив. - Поддерживаемые расширения bulkdata: pdf, jpg, jpeg, mpg, mpg2 и mpeg.

См. stowrs --help для получения дополнительной информации.

Использование curl

Согласно DICOM Part 18, 10.5 Store Transaction оберните DICOM Part 10 файлы в сообщение MIME Multipart/Related, перед тем как отправить их HTTP POST-запросом, напр. на Linux:

echo -ne "\r\n--myboundary\r\nContent-Type: application/dicom\r\n\r\n" > mime.dicom.head
echo -ne "\r\n--myboundary--" > mime.tail
cat mime.dicom.head dicom-file1.dcm mime.dicom.head dicom-file2.dcm mime.tail > dicom.mime
curl -X POST -H "Content-Type: multipart/related; type=\"application/dicom\"; boundary=myboundary" \
     http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies --data-binary @dicom.mime

Для отправки обычных JPEG-изображений необходимо обернуть их вместе с метаданными в формате JSON или XML в сообщение MIME Multipart/Related, напр.:

echo -ne "\r\n--myboundary\r\nContent-Type: application/dicom+json\r\n\r\n" > mime.metadata.head
echo -ne "\r\n--myboundary\r\nContent-Type: image/jpeg\r\nContent-Location: file1.jpg\r\n\r\n" > mime.jpeg1.head
echo -ne "\r\n--myboundary\r\nContent-Type: image/jpeg\r\nContent-Location: file2.jpg\r\n\r\n" > mime.jpeg2.head
echo -ne "\r\n--myboundary--" > mime.tail
cat mime.metadata.head metadata.json mime.jpeg1.head file1.jpg mime.jpeg2.head file2.jpg mime.tail > metadata+jpeg.mime
curl -X POST -H "Content-Type: multipart/related; type=\"application/dicom+json\"; boundary=myboundary" \
     http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies --data-binary @metadata+jpeg.mime

с metadata.json:

[{
"00080016": { "vr": "UI", "Value": [ "1.2.840.10008.5.1.4.1.1.7" ] },
"00080018": { "vr": "UI", "Value": [ "2.25.120844308671949461864937780667935865261" ] },
"00080020": { "vr": "DA" },
"00080030": { "vr": "TM" },
"00080050": { "vr": "SH" },
"00080060": { "vr": "CS", "Value": [ "OT" ] },
"00080064": { "vr": "CS", "Value": [ "WSD" ] },
"00080070": { "vr": "LO" },
"00080090": { "vr": "PN" },
"00100010": { "vr": "PN", "Value": [{ "Alphabetic": "Patient^Name" }]},
"00100020": { "vr": "LO", "Value": [ "PatientID" ] },
"00100030": { "vr": "DA" },
"00100040": { "vr": "CS" },
"0020000D": { "vr": "UI", "Value": [ "2.25.325835831109079562541560856033484422761" ] },
"0020000E": { "vr": "UI", "Value": [ "2.25.152887376887097953030407776906882151652" ] },
"00200010": { "vr": "SH" },
"00200011": { "vr": "IS", "Value": [ 1 ] },
"00200013": { "vr": "IS", "Value": [ 1 ] },
"7FE00010": { "vr": "OB", "BulkDataURI": "file1.jpg" }
},{
"00080016": { "vr": "UI", "Value": [ "1.2.840.10008.5.1.4.1.1.7" ] },
"00080018": { "vr": "UI", "Value": [ "2.25.30207206599873576648053269184806854221" ] },
"00080020": { "vr": "DA" },
"00080030": { "vr": "TM" },
"00080050": { "vr": "SH" },
"00080060": { "vr": "CS", "Value": [ "OT" ] },
"00080064": { "vr": "CS", "Value": [ "WSD" ] },
"00080070": { "vr": "LO" },
"00080090": { "vr": "PN" },
"00100010": { "vr": "PN", "Value": [{ "Alphabetic": "Patient^Name" }]},
"00100020": { "vr": "LO", "Value": [ "PatientID" ] },
"00100030": { "vr": "DA" },
"00100040": { "vr": "CS" },
"0020000D": { "vr": "UI", "Value": [ "2.25.325835831109079562541560856033484422761" ] },
"0020000E": { "vr": "UI", "Value": [ "2.25.152887376887097953030407776906882151652" ] },
"00200010": { "vr": "SH" },
"00200011": { "vr": "IS", "Value": [ 1 ] },
"00200013": { "vr": "IS", "Value": [ 2 ] },
"7FE00010": { "vr": "OB", "BulkDataURI": "file2.jpg" }
}]