RTFM · Medical healthchecks
lb.saphira.dicom.wado: retrieve an object over HTTP (WADO-RS)
QIDO asks: WADO delivers. This check retrieves an actual object and demands the one thing a healthy WADO-RS service must return: HTTP 200 with application/dicom. A different verb, a different capability, a different check.
What it proves
The WADO-RS retrieve path: a configured instance/study URL returns 200 with content type application/dicom. This exercises the archive's object store: the part of the system a query check never touches. Continuous-safe, read-only.
How it works
curl issues a GET with Accept: application/dicom to the configured full instance URL; the status line and Content-Type header are both verified. TLS verification follows the same opt-in knob as the rest of the DICOMweb family.
Configuration
| Variable / positional | Default | Meaning |
|---|---|---|
| $6 or LB_SAPHIRA_DICOM_WADO_URL | (required) | Full WADO instance URL |
| LB_SAPHIRA_DICOMWEB_TLS_VERIFY | 0 | 1 = enforce certificate verification |
| LB_SAPHIRA_TIMEOUT | 3 | Transaction deadline |
Point it at a permanent, synthetic test object the archive keeps (stored once by the health-check SCP): retrieval then proves the object store without ever touching patient data.
Wiring it up
# ldirectord.cf - DICOMweb pool
virtual = 203.0.113.10:8081
protocol = tcp
scheduler = wlc
real = 192.168.20.23:8081 gate 1
checktype = external
checkcommand = "/var/lib/lb/saphira/lb.saphira.dicom.wado"
Run it by hand
LB_SAPHIRA_DICOM_WADO_URL='https://pacs/dicomweb/aets/ACPACS/studies/…/series/…/instances/…' \
/var/lib/lb/saphira/lb.saphira.dicom.wado pacs 8081 192.168.20.23 8081
echo $?
# 0 = 200 + application/dicom
# 1 = non-200, wrong content type, or connection failure
# 2 = no URL configured
Failure modes
- 404 on a permanent object: the object store lost the test object: exactly the storage-layer regression this check watches for
- Wrong content type: an HTML login page or error handler answered: a proxy is in the way
Did we miss something?
If this page left something unanswered, found an error, or there is another subject you would like documented, tell us. Saphira’s documentation grows from real problems people need to solve.
Send feedback or request a new section →
Prefer not to do it yourself?
Everything needed to do the work yourself is documented here and remains free; we charge for human time, not for withholding knowledge. Sometimes the missing resource is simply time. The same people who build Saphira can provide paid professional help with implementation, migration, troubleshooting and administration.