The `dicomweb-client` library provides a JavaScript implementation of the DICOMweb standard (PS3.18), enabling web applications to interact with DICOM image archives. It supports key RESTful services including STOW-RS (Store), QIDO-RS (Query), and WADO-RS (Retrieve) for DICOM objects. The current stable version is 0.11.2, with releases occurring regularly to address bugs and introduce features, as indicated by its recent update history (e.g., multiple updates in 2025). This library is designed to be lightweight, facilitating straightforward integration into web-based environments for handling medical imaging data. It ships with full TypeScript type definitions, enhancing developer experience in type-safe projects. A key differentiator is its focus on direct DICOMweb protocol implementation for both browser and Node.js environments, providing a foundational layer for building medical image viewers and processing tools without requiring extensive frameworks.
npm install dicomweb-clientVerified import paths — ran on the pinned version, not inferred.
Demonstrates initializing the DICOMweb client, performing a QIDO-RS search for studies, and executing a STOW-RS operation to store a dummy DICOM instance, including progress tracking via XMLHttpRequest.
Limit usage to development, research, or non-clinical applications. Always implement independent validation of results and do not deploy in environments where patient safety or diagnostic accuracy depends on the library's correctness.
Upgrade to version 0.11.2 or later to benefit from the fix related to transfer syntax UID handling during image decoding. Ensure your DICOMweb server consistently provides the instance transfer syntax UID with image data.
When calling `client.storeInstances(options)`, populate the `options` object with a `request` property that points to a pre-configured `XMLHttpRequest` object. Attach event listeners (e.g., `progress`) to `request.upload` for tracking.
Verify the `dicomwebUrl` is correct and the server is running and accessible from your client's network. Check firewall rules and network connectivity.
Configure your DICOMweb server to include appropriate CORS headers, allowing requests from your client's origin (e.g., `Access-Control-Allow-Origin: http://localhost:3000` or `*` for development).
Ensure you correctly instantiate the client using `const client = new DICOMwebClient({ url: '...' });`. Double-check your import statement: `import { DICOMwebClient } from 'dicomweb-client';`.If using npm/bundlers, verify `npm install dicomweb-client` and `import { DICOMwebClient } from 'dicomweb-client';`. If using a UMD script tag, ensure the script is loaded before use and access it via `window.DICOMwebClient.api.DICOMwebClient`.No dependency data recorded yet.