Skip to content

fix: Support study metadata and instance QIDO endpoints#128

Merged
wayfarer3130 merged 1 commit into
masterfrom
us1303-viewer-dicomweb-compat
Jul 10, 2026
Merged

fix: Support study metadata and instance QIDO endpoints#128
wayfarer3130 merged 1 commit into
masterfrom
us1303-viewer-dicomweb-compat

Conversation

@sedghi

@sedghi sedghi commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Problem

Static DICOMweb datasets contain metadata for each individual series, but the web server does not expose the standard study-level WADO-RS endpoint:

GET /studies/{StudyInstanceUID}/metadata

Clients that retrieve metadata for an entire study therefore receive no study-level response even though all required metadata already exists in the generated series directories.

There is also a routing issue for series-instance QIDO requests:

GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/instances

The request is mapped to the generated instance index, but it can continue into retrieval routing instead of being served by the static index handler, resulting in a not-found response.

Solution

  • Add a study metadata controller that reads every series metadata array, combines them, and returns application/dicom+json from the standard study metadata endpoint.
  • Support both compressed metadata.gz and uncompressed metadata files.
  • Preserve on-demand index generation when series metadata has not been generated yet.
  • Serve the exact series-instance QIDO route through indexingStaticController immediately after mapping it to the generated index.
  • Return an empty 404 response when a study or its metadata does not exist.

This uses the existing generated dataset layout and does not require regenerating previously created static DICOMweb data.

Validation

  • Added a focused unit test that combines metadata from multiple series into one study response.
  • Ran the package Jest test for the new controller.
  • Ran Prettier and ESLint on the changed files.
  • Hosted a generated multi-study dataset and verified study, series, instance, metadata, and frame retrieval through the web server.

@sedghi sedghi changed the title US1303 Viewer tests for each PR fix: Support study metadata and instance QIDO endpoints Jul 10, 2026
@sedghi sedghi marked this pull request as ready for review July 10, 2026 14:54
@sedghi sedghi requested a review from wayfarer3130 July 10, 2026 14:59
@wayfarer3130 wayfarer3130 merged commit b4930ab into master Jul 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants