Skip to content

DICOMWeb

michaelkain edited this page Mar 16, 2022 · 8 revisions

DICOMWeb + OpenID Connect (OIDC)

Introduction

Shanoir-NG supports DICOMWeb, please see the conformance statement below for more details. Shanoir-NG integrates by default the DICOM viewer OHIF, that is based on DICOMWeb and therefore the first ongoing "user" of the DICOMWeb-REST-API implementation. This has been implemented as a proof of concept and ongoing test for the DICOMWeb support.

Any viewer supporting DICOMWeb can in the future be connected to Shanoir-NG. To access to the DICOMWeb-REST-API of Shanoir the authentication will have to be implemented by the viewer with OpenID Connect (OIDC) and the internal Keycloak of Shanoir-NG, that offers full support for that question.

Internally Shanoir-NG exposes its DICOMWeb-REST-API inside the microservice MS Datasets under the URL /dicomweb: MS Datasets. Shanoir-NG bases its DICOMWeb implementation on dcm4chee arc light 5, the Java PACS reference implementation. Shanoir-NG wraps the access to the internal DICOMWeb of the PACS of Shanoir-NG and uses Apache HTTPClient to query dcm4chee arc light 5. Shanoir-NG manages the access rights and handles the wrapping between the two information models: Shanoir-NG and DICOM model.

For this mapping:

  • IDs (Long) in Shanoir-NG for examinations == (are equal) to the StudyInstanceUID in DICOM
  • IDs (Long) in Shanoir-NG for acquisitions == (are equal) to the SerieInstanceUID in DICOM

The IDs of examinations (Long values in Java) have to be used as Strings to query e.g. searchForStudies and are returned instead of the "classic" StudyInstanceUIDs. This does not change anything for the usage and access on the DICOMWeb client side. Only the returned StudyInstanceUIDs will look like "1" or "4300" instead of the typical "1.23.5.6.4444.5624523466666" format. As the viewer OHIF shows, the clients handle the StudyInstanceUIDs as Strings and work perfectly fine, even if the format is slightly different. All the access security to Shanoir-NG DICOMWeb-API is based on the examinationIds in Shanoir database.

Conformance statement

QIDO-RS

Method Resource Implemented
GET SearchForPatients N
GET SearchForStudies Y
GET SearchForSeries Y
GET SearchForInstances N

WADO-RS

Method Resource Implemented
GET RetrieveStudy Y
GET RetrieveSeries Y
GET RetrieveInstance Y
GET RetrieveMetadata Y
GET RetrieveBulkdata N
GET RetrieveFrames Y
GET RetrieveRenderedTransaction N

Metadata resource representations are requested in JSON format according to the DICOM JSON model using application/dicom+json media type. Retrieval of metadata in XML form using application/dicom+xml is not supported.

STOW-RS

Method Resource Implemented
POST StoreInstances N (coming soon)

Implementation

  • The viewer OHIF is integrated via Docker compose and loaded as a separate Docker image, using a separate URL to access and connected on using OpenID Connect (OIDC) with Shanoir-NG.
Clone this wiki locally