Upload large DICOM studies to a DICOMweb server using STOW-RS multipart/related requests with proper boundary construction

domain: dicomweb.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Generate a unique MIME boundary string (e.g., a UUID) and construct the Content-Type header as multipart/related; type=application/dicom; boundary=BOUNDARY_STRING
  2. For each DICOM instance file, write a MIME part header --BOUNDARY_STRING\r\nContent-Type: application/dicom\r\n\r\n followed by the raw binary DICOM P10 bytes
  3. Terminate the multipart body with --BOUNDARY_STRING-- and send the complete payload via HTTP POST to .../studies (for a full study) or .../studies/{studyUID} (to append to an existing study)
  4. Parse the STOW-RS response body (Content-Type: application/dicom+xml or application/dicom+json) to extract the ReferencedSOPSequence entries and verify that the expected SOP Instance UIDs appear in the success list
  5. For very large studies, consider chunked transfer encoding or split the study into multiple STOW-RS requests per series, verifying each batch before proceeding to the next

Known gotchas

Related routes

Upload DICOM instances to a DICOMweb server using STOW-RS
dicomweb.com · 6 steps · unrated
Submit DICOM imaging studies to a cloud DICOMweb server using STOW-RS multipart upload and then verify storage by querying study metadata via QIDO-RS
dicomstandard.org · 5 steps · unrated
Retrieve DICOM study metadata and pixel data using WADO-RS
dicomweb.com · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans