Orthanc DICOMweb integration

Orthanc DICOMweb integration lets viewers, AI tools and cloud archives reach Orthanc over web protocols instead of classic DICOM networking. This page covers the method, sequence, security and testing.

On this page

Orthanc DICOMweb integration for viewers, AI tools and cloud archives

Your team already runs an Orthanc server, but the viewer, AI tool or cloud archive you need to connect speaks web protocols rather than classic DICOM networking. The official Orthanc DICOMweb plugin answers that gap in two directions: it exposes the server's studies, series and instances over QIDO-RS for search, WADO-RS for retrieval and STOW-RS for storage, and it can also point Orthanc at a remote DICOMweb server so that Orthanc pulls from or pushes to that system. Both directions are configured through the same plugin, but they are different projects with different risks, so decide which one you need before anything else. Exposing Orthanc is the usual choice for a browser-based viewer, a web reading workstation or an AI tool that queries imaging data over HTTP. These clients ask Orthanc for study lists and pixel data, so the work centers on what Orthanc publishes, who can reach it and how the HTTP endpoints are placed behind TLS and authentication. Consuming a remote server is the usual choice for a cloud archive or a partner system that already holds the images you want. In that case Orthanc becomes the client, and the questions move to credentials, network routes to the remote endpoint and what happens when the remote service is slow or unavailable. Many projects need both. A reading system might search an external archive through QIDO-RS, retrieve studies into Orthanc for local caching, and then expose the cached copies to an internal viewer. Map every flow on paper before configuring it, listing the caller, the direction of each transfer, the data that moves and the identity used at each hop. This map becomes the basis for the access and network rules later in the build. All of this work happens inside your infrastructure. The Orthanc server, the plugin configuration, the reverse proxy, the certificates and the remote endpoints belong to your environment, whether that runs in your cloud accounts, your data centers or an isolated network. DeployOpen plans and configures the integration in those environments, so your team keeps control of the data path and the credentials that open it. Before you start, confirm three things with your Orthanc team: the Orthanc version you run and whether the DICOMweb plugin matches it, the exact endpoints each client or remote system requires, and whether those clients need study metadata only or full pixel retrieval. The answers determine the scope of the work and what your viewer or AI tool can actually do once it is connected.

What you need before configuring Orthanc DICOMweb

Most delays in a DICOMweb rollout come from decisions made before anyone edits the configuration file. Settle the Orthanc release, database, network path, certificate, identity source and owners first, so the plugin, viewer and cloud archive are configured against a fixed target. The cards below list what to confirm for each item.

Orthanc version and package source

Pick the Orthanc release line and the package source before anything else. Packages are published for Windows, macOS and Linux, including Debian, Ubuntu, openSUSE and FreeBSD, and as Docker images. The 1.13.0 release from 2026-08-15 rewrote storage-area access and DICOM parsing, so confirm whether your viewer or archive has been tested against it or against 1.12.11 from 2026-04-14. Record the exact version in your change ticket.

DICOMweb plugin build for your release

The DICOMweb plugin is an official Orthanc plugin and must match the Orthanc core you install. Confirm the plugin build published for your exact release before you write the configuration, and do not mix plugin and core builds from different release lines. Check which QIDO-RS, WADO-RS and STOW-RS endpoints your viewer or cloud archive calls, because those calls determine which routes you enable. Keep the plugin version in your configuration inventory.

Database back end for expected volume

The built-in SQLite index suits small installations, but the Orthanc documentation advises replacing it with an enterprise engine once a server stores several hundred thousand DICOM instances. The PostgreSQL plugin is the recommended choice for large datasets, and MySQL/MariaDB and ODBC plugins are also available. Estimate instance count and growth with your imaging team. Ask whether several Orthanc nodes will share one database, a setup supported since Orthanc 1.9.2 with the PostgreSQL or MySQL plugins 4.0.

Network paths and reverse proxy

Map every path that reaches Orthanc, including viewers, AI tools, cloud archive connectors, modalities and administrators. By default Orthanc accepts HTTP connections only from localhost, so remote access needs an explicit setting. Place a reverse proxy in front of Orthanc for TLS termination and any internet exposure. Confirm the certificate chain and who owns renewal. Decide whether inter-site DICOM exchanges will use DICOM TLS, which Orthanc supports from version 1.9.0.

Identity source for authentication

When remote access is enabled, the Orthanc documentation says authentication should be on, with users defined in RegisteredUsers. For shared identity, decide whether an external source will issue tokens for the advanced authorization plugin, which forwards each request's token to a web service that returns HTTP 403 when access is denied. Confirm who operates that service, which identity provider it trusts, and how viewer users map to roles before testing begins.

Named owners on the client side

Name one accountable person for each connected system: the viewer, the cloud archive, the Orthanc server and the identity source. Ask each owner to confirm the DICOMweb endpoints they call, the response behavior they expect and their change window for upgrades. Without named owners, plugin upgrades and certificate renewals often stall between teams. Record names, escalation contacts and who approves a rollback.

How QIDO-RS, WADO-RS and STOW-RS map to Orthanc

Most teams need to know one thing first: which DICOMweb service handles which job, and which direction of the integration they are building. In DICOMweb, QIDO-RS handles search, WADO-RS handles retrieval and STOW-RS handles storage. Each is a set of RESTful HTTP endpoints that operate on DICOM studies, series and instances, so a client can find, fetch and send imaging data without speaking classic DICOM networking (the C-FIND, C-MOVE and C-STORE protocol). In Orthanc, the official DICOMweb plugin is what exposes these endpoints. The Orthanc plugins list includes DICOMweb alongside the database, object storage, worklist and viewer plugins, so it is an officially maintained extension rather than a third-party add-on.

A viewer or AI tool uses the three services in a predictable sequence. It first queries with QIDO-RS to list patients, studies or series that match criteria such as date, modality or accession number. It then retrieves the pixel and metadata payloads it needs with WADO-RS, often a single instance or frame at a time for a responsive display. A storage or analysis pipeline uses STOW-RS to push results back, such as a structured report, a segmentation or a derived image, so the output lands next to the source study. The practical question for the design is which of these calls the client needs, because a read-only viewer may only need search and retrieval, while an AI workflow that writes results needs storage as well.

The integration runs in two directions, and the first decision is which one applies. In the first direction, Orthanc acts as the DICOMweb server: the plugin publishes its stored studies to clients such as browsers, research tools or partner systems over HTTP. Here the work centers on what is exposed, which users can reach it, and whether the endpoints sit behind HTTPS and a reverse proxy. In the second direction, Orthanc acts as a DICOMweb client of a remote server, such as a cloud archive or another hospital's vendor-neutral archive. Orthanc then queries, retrieves or stores against that remote endpoint. Many sites run both at once, so they should map each dataflow to a direction before configuring anything.

Access control deserves early attention because the DICOMweb endpoints are HTTP routes. Orthanc's security guidance says that by default it only accepts HTTP from localhost, and that remote access should be paired with authentication, registered users and HTTPS. The documentation also warns that routes such as the script execution and export routes should stay disabled. For a DICOMweb deployment, confirm which roles may call QIDO-RS, WADO-RS and STOW-RS separately, because a write-capable STOW-RS client has a different risk profile from a read-only search client. The advanced authorization plugin can forward each request's token to an external service for that decision, which is worth evaluating if your identity model is already centralized.

Ask your team to confirm three things before design starts: the list of clients and the calls each one needs, the remote DICOMweb endpoints Orthanc must reach and the network paths and certificates they require, and the access model for read and write calls. The OHIF viewer and its data source options are covered in the sibling topic on Orthanc with the OHIF viewer, so this section stops at the protocol mapping. Check the current plugin documentation for the exact endpoint behavior and supported options in the Orthanc version you plan to run, because the DICOMweb plugin is versioned separately from the core server.

How to configure the Orthanc DICOMweb plugin in sequence

This sequence takes an Orthanc server from a working installation to a DICOMweb endpoint that viewers, AI tools and cloud archives can query, retrieve from and store to, with each step closed by a check you can run yourself.

  1. Confirm the Orthanc installation and plugin load

    Start from a known Orthanc version, installed from the official packages or Docker images for your platform. Confirm the DICOMweb plugin is present in the server's plugin list and loads without errors in the startup log, then check that the REST API answers on the local address. Record the exact Orthanc version, since configuration keys and plugin behavior can differ between releases. The step is complete when the system information endpoint returns the expected version and the DICOMweb plugin appears as loaded. Use the plugin documentation for the exact configuration section names, and confirm them against the version you installed before editing anything.

  2. Enable remote access only with authentication

    By default Orthanc accepts HTTP connections only from localhost. Before any remote client can reach the server, enable remote access together with authentication and define each user in the registered users list, using strong, unique credentials. Keep the built-in export and script execution routes disabled, because the Orthanc security documentation warns that the script route can run system commands and the export route can overwrite files. The step is complete when an unauthenticated request from a remote host is refused and a registered user can reach the REST API. Confirm exact key names in the security FAQ and the plugin documentation for your version.

  3. Place HTTPS and a reverse proxy in front

    Terminate TLS at a reverse proxy in front of Orthanc, so that DICOMweb traffic carrying patient data is encrypted in transit and the Orthanc process is not exposed directly to the network. Restrict which paths and methods the proxy forwards to the DICOMweb endpoints, and set request size limits suited to large uploads. Your security team should own certificate issuance and renewal, and your network team should define which clients can reach the proxy. The step is complete when a request over HTTPS through the proxy returns the same response as a direct local request, and a plain HTTP request to the public address is refused or redirected.

  4. Configure the DICOMweb endpoints for exposed services

    Enable only the DICOMweb services your clients need: QIDO-RS for query, WADO-RS for retrieval and STOW-RS for storage. Each service is a separate choice, so a read-only viewer does not require store access. Set the URL root that the proxy publishes so that links returned in responses match the public address. Review whether your authorization model needs the advanced authorization plugin to restrict access per user or per study. The step is complete when a query through the proxy returns the studies you expect for a test user, and a retrieval of one of those studies returns the same DICOM instances, with matching SOP Instance UIDs, as the original stored in Orthanc.

  5. Add the remote DICOMweb server connection

    Add a remote DICOMweb server definition only if Orthanc must pull studies from, or push studies to, another archive or cloud service. Record the remote base URL, the authentication method the remote service requires and the credentials, and store the credentials in your secrets management system rather than in plain configuration files. Test the connection from the Orthanc host, and confirm that outbound network rules allow it. The step is complete when a test query against the remote server returns the expected results, and, for a push test, the remote service confirms it stored the same number of instances that Orthanc sent.

  6. Verify store, query and retrieval end to end

    Run a full round trip with a known test dataset that contains no real patient data. Store the dataset through STOW-RS, query it through QIDO-RS using the same user and path your viewer will use, and retrieve it through WADO-RS. Compare the instance count after the store, the study identifiers returned by the query and the instance identifiers returned by the retrieval. Keep the test results and configuration as evidence for your change record. The step is complete when every count and identifier matches across the three operations, and any mismatch is traced to a specific configuration key before the endpoint is used by clinicians or other systems.

Which DICOM attributes and roles map to each DICOMweb call

This table maps the identifiers and payloads a client sends or receives to Orthanc concepts for QIDO-RS, WADO-RS and STOW-RS, with an owner on each side and a check to confirm each mapping. Read it before any test, and agree on these identifiers with the viewer, AI tool or cloud archive team first. Attribute support varies by plugin version, so confirm each entry against the DICOMweb plugin documentation for the Orthanc release you run.

ElementClient side and Orthanc sideOwner and confirmation check
Study identifierStudyInstanceUID in the client request maps to Orthanc's internal study resource, which Orthanc returns in its own identifier formatIntegration lead agrees the UID source. Check that a QIDO-RS study query returns the same StudyInstanceUID as the source archive
Series identifierSeriesInstanceUID in the request path or query maps to Orthanc's series resource under the parent studyViewer team confirms the UID is used in WADO-RS paths. Check that retrieving one series returns only that series' instances
Instance identifierSOPInstanceUID maps to the Orthanc instance resource, which is the unit used for WADO-RS retrievalClient and archive owners agree UID handling. Check a single-instance retrieval against the source DICOM file
QIDO-RS query keysPatient, study and series level filters such as PatientID, AccessionNumber, StudyDate and Modality map to indexed Orthanc fieldsViewer and AI tool teams list the keys they send. Confirm each key is supported in the plugin documentation for the Orthanc version in use
WADO-RS retrieval pathStudy, series and instance paths return DICOM Part 10 or a supported transfer syntax, which Orthanc may transcode on requestClient team states accepted transfer syntaxes. Check that retrieved files open in the client without re-encoding errors
STOW-RS payloadMultipart requests carry DICOM Part 10 instances, which Orthanc stores and indexes under the study, series and instance identifiersSending system owner provides sample files. Check that a test upload appears in Orthanc with the expected UIDs and counts
Access and authorizationRequests carry the credentials or token that Orthanc or the authorization plugin evaluates per REST callSecurity owner confirms which roles may query, retrieve or store. Check that a denied role receives an HTTP 403 response

Security settings for Orthanc DICOMweb endpoints

Orthanc ships with conservative network and script settings, and most exposure risk comes from changing those defaults for a viewer, an AI tool or a cloud archive. The cards below cover the settings to confirm before any DICOMweb route leaves the local host, and the operating practices that keep them correct over time.

Local-only access by default

Orthanc accepts HTTP connections only from localhost out of the box, so a fresh DICOMweb endpoint is not reachable from other machines. Any move to remote access is a deliberate configuration change, and it should be recorded as one. Before go-live, confirm that the RemoteAccessAllowed setting matches the intended design and that no test configuration has been left in place.

Authenticated users for remote access

When remote access is enabled, the Orthanc documentation says AuthenticationEnabled should be true, with each permitted account defined in RegisteredUsers. Shared or default credentials are the most common gap in early deployments. Check that every consumer of the DICOMweb routes, including viewers and integration services, has its own named account, and that passwords are stored outside the configuration file where your secrets process allows.

HTTPS through a reverse proxy

For internet exposure, the Orthanc documentation recommends HTTPS, typically terminated by a reverse proxy placed in front of the server. The proxy becomes the public entry point for QIDO-RS, WADO-RS and STOW-RS traffic, so its TLS configuration, request size limits and upload timeouts matter for large STOW-RS transfers. Confirm which headers the proxy forwards and that Orthanc does not answer on a public interface directly.

DICOM TLS for inter-site exchange

Orthanc supports DICOM TLS encryption for exchanges between sites, starting with version 1.9.0. This protects DICOM networking traffic, which is separate from the HTTPS used for DICOMweb calls. Decide which peers must use TLS, agree certificate authorities and trust lists with each partner site, and test the connection in both directions before relying on it for clinical or research transfers.

Script and export routes kept disabled

The Orthanc security documentation warns that the /tools/execute-script route can let a malicious user run any system command, and that the export route can overwrite files. Both should stay disabled on any endpoint that is reachable by DICOMweb clients. Review the configuration and the plugins loaded in each environment, and treat any change that enables these routes as a security change that needs its own sign-off.

External token checks with the authorization plugin

The advanced authorization plugin is an option when built-in users are not enough. It forwards each REST request's token to an external web service, which decides access and returns HTTP 403 when denied. The reference project orthanc-auth-service uses Keycloak-issued tokens with Orthanc Explorer 2. Decide who owns the authorization service, how token validation and expiry work, and how the service behaves if it is unavailable.

Network reach and certificate rotation

Limit which networks can reach the DICOMweb and DICOM ports through firewall rules, proxy allow lists and, where available, DICOM application entity allow lists. Set an owner and a rotation schedule for TLS certificates on the proxy and for DICOM TLS, and test renewal before expiry. Expired certificates are a common cause of sudden integration outages, so track their dates alongside the Orthanc release calendar.

Logging and access review

Enable request and access logging on the proxy and in Orthanc, then forward those logs to the system your security team already monitors. Logs are only useful when someone reviews them, so agree which events trigger action, such as repeated authentication failures or unexpected STOW-RS writes. Confirm the retention period with your compliance owner and check that logs do not capture patient identifiers beyond what your policy allows.

How to test Orthanc DICOMweb before go-live

Before an Orthanc DICOMweb endpoint serves a clinical or research client, the team should run one written test plan that proves every client can query, retrieve and store against a controlled dataset, that the endpoint refuses what it should refuse, and that it holds up at the expected study count. Each client is a separate test subject. The viewer, the AI tool and the cloud archive each send different request patterns, so passing with one client does not show the others will work. Start by listing every real client, the DICOMweb services it uses (QIDO-RS, WADO-RS, STOW-RS), the authentication method it presents and the network path it takes to reach Orthanc.

Functional tests per client. Build a test dataset that mirrors production content: several patients, multiple studies per patient, series with different modalities, and instances with the transfer syntaxes your clients actually request. Run queries with the search parameters each client uses, retrieve studies, series and instances in the formats each client accepts, and store test objects through STOW-RS. Record the exact request, the HTTP response and whether the object appears in Orthanc Explorer 2 or the database index. For the viewer, the OHIF sibling topic covers the browser-side checks in more depth, so this plan only confirms the viewer can complete its basic query and retrieve path.

Negative tests. These carry most of the security evidence. Send unauthenticated requests to every DICOMweb route and confirm each one is rejected. Send requests from a host outside the allowed network to confirm the access path is blocked at the proxy or firewall, not just in the application. Confirm that remote access settings match the documented expectation: if RemoteAccessAllowed is enabled, AuthenticationEnabled should be true and only the users defined in RegisteredUsers should authenticate. Attempt STOW-RS uploads of unsupported content, such as files that are not valid DICOM, and confirm they are rejected without leaving partial objects in the index. Also confirm that the /tools/execute-script and export routes are disabled, as the Orthanc security FAQ advises.

Load and volume checks. Size the test to the study count the endpoint must hold at go-live and at the planned growth point, not to an arbitrary number. Ask the platform owner for the expected study and instance counts, the peak concurrent client count and the largest expected study size, then load a dataset of that shape. Measure query latency, retrieval throughput and store behavior under concurrent use, and watch memory and storage I/O. If the expected volume approaches the range where the built-in SQLite index is no longer appropriate, the scalability FAQ recommends evaluating the PostgreSQL plugin before go-live rather than after. Confirm the target volumes with the team that owns the clinical or research workload, because the test is only as good as those numbers.

Acceptance evidence for the change record. Keep a single package that includes the test plan with its version, the dataset description and hash, the Orthanc version and plugin versions under test, the configuration files with secrets removed, the request logs for each test case with pass or fail results, the load test reports, and the sign-off from each client owner. Record any accepted deviations with a named owner and a review date. Retain the package with the change ticket so auditors and future upgrade teams can see what was proven and under which configuration. Repeat the negative and per-client tests after every Orthanc upgrade, since the release notes for 1.13.0 describe changes to storage access and DICOM parsing that can affect client behavior.

Common Orthanc DICOMweb failures, their causes and fixes

This table maps the failures teams most often see when exposing Orthanc over DICOMweb or connecting it to a remote DICOMweb server, with the likely cause, the first check and the fix for each. Read each row as a triage path, and confirm exact messages against your plugin logs and the Orthanc version you run, since error text varies between releases.

SymptomLikely cause and first checkFix and configuration area
Viewer returns empty search resultsOrthanc listens only on localhost by default, or the viewer points at the wrong DICOMweb root. First check: call the QIDO-RS study search endpoint directly from the viewer host and confirm the base URL path.Set RemoteAccessAllowed and review the HTTP and DICOMweb settings, then correct the root URL in the viewer configuration. Confirm the DICOMweb plugin is loaded in the server logs.
Retrieval fails through the reverse proxyThe proxy rewrites or strips path segments, or drops headers the plugin expects. First check: compare the URL the viewer requests with the URL Orthanc receives in its access log.Align the proxy path mapping with the DICOMweb root, pass the original host and scheme headers, and raise body and response buffering limits. Review the proxy configuration alongside the DICOMweb section.
Stores rejected with authentication errorsAuthentication is enabled but the client sends no credentials, or the user is missing from RegisteredUsers. First check: confirm AuthenticationEnabled is true and the client account exists with the expected password.Define the user under RegisteredUsers, or pass a token through the advanced authorization plugin if you use it. Confirm the STOW-RS client sends credentials on every request, including retries.
Timeouts on large studiesDefault request timeouts and proxy read limits are shorter than the time needed to transfer or transcode many instances. First check: time a single large study retrieval and note where it stops, at the proxy or in Orthanc.Raise timeouts on the proxy and in the client, and consider retrieving in smaller batches. Review transcoding and storage settings, and plan capacity before the study volume grows.
TLS certificate mismatchThe certificate name does not match the host the client calls, or the chain is incomplete, or the client does not trust the internal certificate authority. First check: inspect the certificate subject and chain from the client host.Issue a certificate for the exact public host name, install the full chain on the proxy, and add the internal CA to the client trust store. Confirm the same check passes from every viewer and AI tool that connects.
Remote DICOMweb server rejects requestsThe remote server expects a different base path, a different content type, or a credential scheme Orthanc does not send. First check: capture the request and response for one QIDO-RS query and compare with the remote server's documented endpoints.Correct the remote URL and credentials in the DICOMweb peer definition, and confirm the remote server's accepted media types. Verify each change with one query before enabling bulk transfers.
Operations rely on unsupported routesScripting or export routes are left enabled, which the Orthanc security guidance warns against. First check: list which REST routes are reachable from the network and confirm the disabled state of script execution and export.Keep the script execution and export routes disabled and restrict access with the authorization layer. Recheck after every upgrade, because release notes can change defaults and behavior.

What does an Orthanc DICOMweb integration cost and take?

What does an Orthanc DICOMweb integration cost to build and run?

Orthanc itself has no license fee, because it has no paid edition. The cost is the people and infrastructure needed to plan, build, test and operate the integration. Orthanc Team SRL sells deployment, configuration and development services, and it sells pre-paid dedicated support hours that are valid for 12 months, quoted on request. DeployOpen quotes from a written scope that lists the systems to connect, the work to be done and the testing to be performed. Build costs are one-time: design, configuration, plugin setup, proxy and certificate work, and testing. Running costs recur: hosting, certificate renewal, monitoring, upgrades and support hours. When you request a quote, ask which costs are one-time, which are recurring, and what each recurring cost covers.

What factors make an Orthanc DICOMweb integration cost more or less?

The main drivers are the number of client systems, the direction of traffic, the authentication model, the proxy and certificate setup, the data volume and the testing scope. Each viewer, AI tool or cloud archive has its own DICOMweb behavior, so every added client adds configuration and test time. Serving QIDO-RS, WADO-RS and STOW-RS to clients is different work from pulling studies from remote DICOMweb servers, and doing both raises the cost. Integrating with an identity provider costs more than basic credentials. Large studies and high volumes make timeouts, storage and performance testing more involved. A narrow scope with one or two clients, a standard proxy and a small test dataset costs less than a broad rollout across many systems.

Can our own team build an Orthanc DICOMweb integration internally?

Often yes, if the team already runs Orthanc or a similar DICOM system and has working knowledge of HTTP, TLS and reverse proxies. The work needs people who understand DICOM objects, DICOMweb request behavior and how each client sends and expects data. Internal teams usually struggle most with testing against every viewer and AI tool, and with the security settings for remote access. Orthanc's security documentation says that remote access should only be enabled with authentication turned on, users defined in the registered users list, and HTTPS through a reverse proxy when exposed beyond localhost. If your team lacks this experience or capacity, you can use Orthanc Team support hours for specific questions, or hire an implementation partner for the full build.

How long does an Orthanc DICOMweb integration usually take?

Duration depends mainly on how many clients you connect, how much authentication work is involved and how much testing your clinical and technical owners require. A typical project moves through discovery, design, build, testing and a controlled cutover to production. Each client usually needs its own configuration and test cycle, so the number of clients is the strongest timing driver. Change windows, approval steps and the availability of your named owners can also lengthen the schedule. DeployOpen does not give a fixed duration before the scope is known. Ask for a timeline in the written scope that shows each phase, the dependencies on your teams, and the assumptions behind the dates.

What do we need to provide before a DICOMweb integration starts?

You need to name owners for each area before work begins. Typically this includes an imaging or clinical lead who signs off on the workflows, a network owner, an identity owner, a security approver and someone who can authorize production changes. You also need a test dataset, ideally de-identified studies that cover the modalities, sizes and formats your clients will use. Network access must be in place between Orthanc, the reverse proxy, the clients and any remote DICOMweb servers, including firewall rules and DNS. Plan change windows for cutover and rollback, and confirm administrative access to the host or container platform. Ask the provider to list these inputs in the written scope.

Does DeployOpen issue compliance certifications for DICOMweb work?

No. DeployOpen does not issue audit reports, attestations or certifications. For DICOMweb work, DeployOpen can prepare the systems, controls and evidence that an assessment would examine, such as configuration records, access settings, test results and runbooks. Independent auditors and certification bodies perform the assessment and issue any report or certificate. Before engaging, ask which evidence will be delivered, in what format, and how it maps to the controls your assessor uses. This keeps the readiness work separate from the formal assessment, which remains the responsibility of your auditor.

Which Orthanc settings should stay off before exposing DICOMweb?

Keep the script execution route and the export route disabled. Orthanc's security documentation warns that the script execution route can let a malicious user run any system command, and that the export route can overwrite files. Do not expose Orthanc to remote clients unless you have enabled authentication and defined users. Put HTTPS and a reverse proxy in front of any Internet-facing endpoint. For DICOM TLS between sites, confirm that your Orthanc version supports it and that certificates are managed. Review these settings in the change record, and include them in your testing and the evidence set.

What usually goes wrong in Orthanc DICOMweb integrations?

The most common problems appear at the boundaries between systems. Reverse proxies often impose request size or timeout limits that interrupt large study retrievals or STOW-RS uploads. Clients may expect different DICOMweb behaviors, so a query that works in one viewer can return unexpected results in another. Authentication can break when tokens are not forwarded correctly to the authorization service, which then returns an access denied response. Certificate chains that are incomplete or expired cause failures that look like network faults. Testing with a small dataset misses performance issues that appear with large volumes. Plan tests for each client, a large-study test, and a documented rollback path before cutover.

How DeployOpen scopes and delivers the Orthanc DICOMweb work

DeployOpen plans, implements, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure, so the Orthanc server, its DICOMweb endpoints and any remote DICOMweb connections run in your cloud accounts, data centers or air-gapped networks. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How we scope

  • Inventory which viewers, AI tools and cloud archives must reach Orthanc over QIDO-RS, WADO-RS and STOW-RS.
  • Confirm which remote DICOMweb servers Orthanc must query, and which networks and identity sources they depend on.
  • Record the written scope: endpoints, deployment targets, storage back end, access model and acceptance tests before work begins.

How we build

  • Install the Orthanc release your team approves, from packages or Docker images, and enable the official DICOMweb plugin.
  • Keep RemoteAccessAllowed and AuthenticationEnabled aligned with registered users, and place HTTPS and a reverse proxy in front of any exposed endpoint.
  • Disable the script execution and export routes, then test each DICOMweb operation against your viewers and remote servers.

How we hand over

  • Deliver configuration files, deployment code, network diagrams and a record of every enabled route and access rule.
  • Document the verification steps used to confirm STOW-RS uploads, QIDO-RS queries and WADO-RS retrievals for each connected system.
  • Walk your operations and security teams through upgrade steps, backup and restore procedures and the decisions behind the design.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer, scoped separately from the build.
  • Plan Orthanc version upgrades with a test environment and a rollback path before changes reach clinical systems.
  • Ask your quote to separate one-time build effort from recurring support hours, and confirm which items the retainer covers.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.