Get Involved: Open Source Healthcare Software

Danny Brown
Mar 18 · 4 min read

As a software developer, I feel I can have outsized impact. At a certain point, I felt that impact was wasted on helping a pizza chain increase online sales or a mortgage lender improve margins. With the COVID-19 pandemic in full force, I want to help shine a light on a project that’s near and dear to me.

The OHIF Viewer

The OHIF Viewer is an open source, web-based, medical imaging viewer. Maintained extensions add support for viewing, annotating, and reporting on images in 2D (slices) and 3D (volumes).

Example lesion labeling workflow
  • It is 100% free and open source
  • It is primarily used for clinical research and trials
  • It is a great option for developing countries (it can run on a Raspberry Pi)
  • It has some funding through grants (won’t disappear tomorrow)

How Can I Help?

👋 It might sound odd, but simply adding 🌠 to our GitHub Repository helps us advocate for additional funding through grants.

Our current grant funds two full-time developers through August. We’re using this time wisely to complete a redesign and core architecture changes that improve the OHIF Viewer’s extensibility while strengthening our out of the box support for oncologic imaging research.

Sketch design of our target for a “general viewing” mode

React Component Library

We have a component library that follows atomic design principles. We need help creating React components that satisfy our design. Most of them are “dumb” and composed to create example “Views” that demonstrate the different UI states using mocked data and fake interactions. We accomplish this using the docz component library (built on Gatsby). Every contributed component, test, and bit of documentation is incredibly helpful in moving us toward our goal.

Core Architecture Changes

Our first implementation of the OHIF Viewer was a streamlined meteor application that had one purpose. While it was (and is) very useful, we are adapting to support the varied use cases of our community, and making it easier to “share” workflows, features, and functionality with others.

Nearly all of this code is vanilla JavaScript and not domain specific. Developers capable of writing unit tests, discussing implementations, and satisfying a specification are well equipped to assist us here.

Freesurfer segmentation visualization using react-vtkjs-viewport

Imaging, Segmentation, and 3D Visualization Expertise

This category is less likely to apply to most of you. Any help with the previous items frees up our limited resources to make more progress on these items. If you do have expertise here and wish to contribute, please don’t hesitate to reach out and we can collaborate. In particular we have a PET-CT Fusion and multi-volume wish-list that requires WebGL/shader experience.

Additional Funding and Resources

While our current grant runs out in August, we have applied for a renewal that would extend funding for 2 full-time developers for an additional 5-years. If you are interested in funding OHIF for key features, or have development resources you would like to allocate but don’t know how best to do so, please reach out.

Some items detailed in our grant renewal include:

  • Simplifying deployment and installation
  • Support for mobile resolutions and an Electron desktop app
  • Expand extension and mode support; a directory of shared “workflows”
  • Much more

Related Projects

There are many projects in this space. If you are aware of any great projects that are liberally licenses and responsive to contributors, please call them out in the comments and I will try to update this list.

EMR/HIS

Electronic health record and health information systems. These often allow for management and viewing of patients / records, and are a common integration point for many other system. For example, you might use an EMR to find a patient’s “imaging study” and to launch a viewing session in the OHIF Viewer.

Hospital Run: https://hospitalrun.io/

Medical Imaging Data Storage and Retrieval

There are more options in this category. Traditionally, these are called PACS ( Picture archiving and communication system) or Image Archives. These hold the medical imaging data and expose APIs for retrieving and storing.

dicomweb-server: https://github.com/dcmjs-org/dicomweb-server (js)
DICOMCloud:
https://github.com/DICOMcloud/DICOMcloud (C#)
Orthanc:
https://www.orthanc-server.com/ (C++)
DCM4CHEE: https://www.dcm4che.org/ (Java)

How to Reach out

  • Create a GitHub issue!
  • Contact me directly: danny.ri.brown@gmail.com

Regular contributors can receive an invite to our collaborators Slack Group. We also have regular governance and planning meetings with individuals and organizations capable of dedicating time and resources.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade