Orthanc Joins the Ozone Ecosystem: OpenMRS-Orthanc PACS Integration

Hi Team,

We’re excited to announce that with the upcoming release of Ozone 1.0.0-alpha.12 the Ozone ecosystem will welcome a new app: Orthanc. Orthanc is a lightweight DICOM server designed to store, receive, and transfer medical images.

OpenMRS ←→ Orthanc Data Flows:

Orthanc, acting as a DICOM server, receives DICOM images from a modality (e.g., an X-ray machine). For this integration, we’ve used the ‘Other Patient IDs’ DICOM tag to store the OpenMRS identifier, thereby mapping the study to a specific patient.

A thumbnail is generated by Orthanc out of each DICOM study and is made available as a very minimal representation of the study, and we have leveraged this feature. Once Orthanc receives a DICOM image with a patient identifier set in that tag, a dedicated OpenMRS-Orthanc EIP route saves the thumbnail in OpenMRS as a patient attachment.

Moreover we have enriched this attachment with a hyperlink to Orthanc’s viewer for the associated DICOM study. This way OpenMRS users have a convenient way to access the study, provided they have the credentials to do so in Orthanc.This integration is currently a proof of concept and has the potential for further enhancements, such as:

  • Sending radiology orders (ServiceRequests) from OpenMRS to Orthanc and syncing back the studies to OpenMRS when available in Orthanc.
  • SSO across OpenMRS and Orthanc.
  • Implement role-based access control Orthanc.
  • Expand the use of FHIR across the OpenMRS ←→ Orthanc data flows

We welcome your feedback and ideas.

Ozone Orthanc OpenMRS Integration Demo

cc: @michaelbontyes @weisadre @jeshiver @anish @ibacher @grace @johnny94

11 Likes

Dear @sidvaish97,

great proof of concept!

Does Orthanc also support a DICOM modality worklist functionality? Because then indeed the functionality for send radiology orders would be super useful.

I also like the simple approach how you have solved the display of the results as an overview image with a link to the actual study!

Do you have an opinion if this UI esm app could be of use for tracking the radiology status if ordering exists GitHub - palladiumkenya/esm-radiology-app ?

@mksd Thanks for mentioning!

BR, Johannes

1 Like

It does, but I believe it’s coming through plugin that needs to be explicitly added. Perhaps @weisadre could speak to this a little?

See also:

Thanks on behalf of @sidvaish97, all credits to him :clap:

I wasn’t aware of this Palladium ESM. Perhaps this could be used indeed but it would have to be assessed, specifically what’s being done on the backend side of it, and brought back to /openmrs.

1 Like

Dear all,

As the leader of the Orthanc project, I am excited to discover this integration! Do not hesitate to share this announcement with the Orthanc community.

I confirm that Orthanc supports DICOM worklists, but it does not force the way worklists are stored. Orthanc comes with a sample worklist plugin that stores the worklits as DICOM instances on the filesystem.

However, the Orthanc SDK provides full flexibility about how worklists are retrieved given an incoming DICOM C-FIND SCU query (cf. the low-level function OrthancPluginRegisterWorklistCallback() in the Orthanc documentation). This offers the opportunity of tight integration, for instance against OpenMRS.

Note that even if the Orthanc SDK is written in C, a Python mapping does exist to help with the prototyping. The same feature could be wrapped in Java if need be.

Hope this helps, Sébastien-

NB: As a new user on this forum, I cannot share more than 2 hyperlinks in this message, so I am unable to provide direct links to the SDK documentation and to the Python/Java plugins.

3 Likes

Thank you so much for your message Prof. Jodogne! Absolutely, we will cross-post on the Orthanc community, that’s on our to-do list.

2 Likes