Custom data source (minimal endpoints)

  • I have created a rudimentary DICOM proxy for our PACS
    – it communicates with PACS via traditional C-FIND and converts this to JSON using the DICOM WEB spec
    {server}/studies?patientid={patient_id}
    {server}/series?studyuid={study_instance_uid}
    {server}/instances?seriesuid={series_instance_uid}
    – it uses C-MOVE to retrieve temporary DICOM files to respond as multipart application/dicom
    {server}/studies/{study_instance_uid}/series/{series_instance_uid}
  • I wish to leverage what I’ve built to point OHIF Viewer
    {ohif_server}/viewer?StudyInstanceUIDS={study_instance_uid}
    – I want that to communicate with my existing endpoint to download and display the study
  • I’ve tried reading the docs on custom data sources but not having much knowledge on Node.JS development - it’s driving me a bit loco
  • I guess ultimately I would like to know what are bare minimum endpoints I need to create in order for OHIF to get, render and display a study?
  • And how would one set this up as a custom data source?

Thank you very much for reading and I’ll get back to keep trying while I wait for your kind responses.

Just started reading about DICOM JSON:

Still would like to know about my minimal DICOM WEB custom data source though. Which solution would be better?

Thanks again.

EDIT: turns out my PACS server does not allow per instance C-MOVE so DICOM JSON might be out of the question because I cannot serve per instance download URL’s.

What PACS are you using ? A commercial product, DCM4CHEE, Orthanc, etc. It might help to know exactly what you are trying to do. For instance, where are the raw .dcm files / data stored ? In the Cloud somewhere, on a local network, on a local computer.

Do you absolutely need to use DicomWeb ?

Hi @sscotti,

I’m trying to get my proxy to be agnostic against multiple different commercial PACS.

The raw .dcm files are mostly stored on the local network to my proxy app. However, we should assume that my app does not have direct access to the .dcm files and only DIMSE access to the PACS.

I essentially need to act as an intermediary between the OHIF viewer and the PACS. OHIF sends its requests to my app which then gets the data from PACS.

Thank you.