While consulting for medical projects over the years and working on some, I collected hundreds of domain-specific libraries and frameworks built to help developers make medical applications. However, many of the libraries were not supported or popular enough to survive as they were abandoned by their creators over the years.
Here in Medevel, we are always keeping an eye on medical and health-care development libraries and frameworks for building clinical, medical imaging and digital pathology applications. So, It's the time for this list which contains the most used and production-ready frameworks and libraries.
Although I already wrote about DICOM libraries and frameworks here in this blog to serve as guides for developers and programmers, my list is still growing to include user-interfaces toolkits, medical records frameworks. So I decided to write this article.
We (Medevel.com) made several tests with most of these open-source libraries listed here and prepared notes for some of our customers to help them choose the best that fits their projects' requirements.
Why choose an open-source Framework/ Library for Building Clinical and Medical Apps?
- The freedom of license, legal issues
- The community
- Own your data
- More involvement of your team
- Custom workflow/ case design on top of the framework
Things to consider
The decision to use open-source case-specific framework or library should always come with these considerations:
- Is the project frequently updated?
- Is it supported by its creators?
- How big and active its community?
- Does it have enough demos and tutorials?
- Does it use popular supported or unpopular technologies?
- Is the code-based outdated?
- Does it have poor or good support?
- How is the project's documentation?
Please note the order of this list does not reflect the strength of the project.
Open-source Medical and Health-care Frameworks and Libraries
1- Opal: Medical records specific framework
Opal is my top pick here because I consider it the best project to address the creation of electronic medical records "EMR/ EHR". It's built-on top of Django which is an old but powerful python framework for creating rich database applications.
I used Django to create two EMR solutions for clients, and I consider Django is the best stable solution to create medical record applications, in terms of application structure, clean-code , support, and finding/ hiring Django-developers to keep up the project updated.
Opal provides a set of command-line tools, modules, batteries to ease the production of EMR solutions. It has rich documentation and a powerful community of developers in its back.
2- OHIF Viewer
OHIF Viewer is a product of OHIF "Open Health Imaging Foundation"; It's an advanced feature-rich web-based DICOM viewer. It's a good option for developers who want to build web-based DICOM applications. The project is well-supported, well documented, and built with modern technologies (Node.JS and React) that make it easy to find developers to customize it.
OHIF Viewer is almost the only project on this list that can create both DICOM viewer and Whole-Slide Image (Digital Pathology/ Virtual Slide) Viewer.
OHIF viewer is our top pick as an open-source web-based DICOM viewer.
Recommended for: Building Web-based DICOM applications.
3- Cornerstone: DICOM Viewer toolkit
Building a web-based DICOM from scratch is not easy, That requires hundreds of hours for developing, testing, fixing bugs, and managing usability issues. So here comes this library. Cornerstone is a library to build web-based browser-ready DICOM viewers. It has a long-list of function-ready tools to do almost everything with DICOM files.
It's also battled-tested with real-world applications, to explain more check OHIF Viewer which uses it.
Medevel's Proof of concept:
We were able to run Cornerstone with Meteor seamlessly smoothly without any issue.
Recommended for: Building web-based DICOM viewer.
4- The X Toolkit
This toolkit is providing a high education value for developers and researchers as it has rich documentation, tutorial-set, and demos.
We have covered written a quick preview about this toolkit here: The X Toolkit: Open source Browser-based 3D Scientific & Medical Visualization Framework for building Web-based WebGL powered Application.
EasyPACS is an open-source DICOM/ PACS-server that is packed in one-file. Despite it's built by one developer, it's a powerful and production-ready system.
Unlike other open-source PACS-servers out there, EasyPACS is easy to use and developer-friendly enough to build applications on top of it.
Here is our review about EasyPACS: EasyPACS: Free Open source DICOM/ PACS server in single file.
There are some downsides for using EasyPACS for production:
1- It's created and maintained by one developer
2- Does not have a community
3- Has not been updated for 5 years.
7- Terra UI (React)
To know more about Terra UI, we got you covered: erra UI : React based Components for Building Clinical/ Medical Applications.
Recommended for: We highly recommend Terra UI for react developers who are building clinical healthcare/ medical applications, either for desktop or mobile.
8- OpenSlide: Digital Pathology and Virtual Slide Master
You may find some projects where OpenSlide library is used here: 10 Open-source Whole-Slide Image Solutions.
Creating a digital pathology virtual slide viewer.
9- Dicoogle (PACS system)
Dicoogle is an enterprise-grade modular developer-friendly PACS-server. It's completely free "open-source" that comes with extensive developer documentation.
Dicoogle is our top recommendation at Medevel for building PACS-server applications. It's well developed, supported, and with a good community of developers. You may find some projects where OpenSlide library was begin used in this list: 10 Open-source Whole-Slide Image Solutions.
10- Orthanc (PACS-server)
Orthanc is an enterprise open-source PACS-server. It has a community edition and enterprise "Pro" edition.
Orthanc developers are providing enterprise-grade training, support, and consultation services for its enterprise users.
11- DWV (DICOM Web Viewer)
12- GIMIAS (Medical Imaging Framework)
GIMIAS is a medical imaging-specific framework for building medical imaging and medical imaging simulation applications. It comes with a highly configurable user-interface and a powerful feature-list.
GIMIAS is currently working on Linux and Windows only.
GIMIAS quick review on Medevel.com.
13- ResearchKit (iOS/ macOS)
ResearchKit is a native framework for building healthcare, medical and clinical applications for Apple devices. It supports iOS development as well as macOS desktop applications.
It's the only Apple-specific framework in this list. It's well-documented, stable, and production-ready. It's gaining a strong foothold among iOS/ macOS developers who are building medical and healthcare applications worldwide. It comes with full support for Objective-C and Swift.
14- CamiTK:CAMI Medical imaging Prototyping Toolkit
CamiTK or CAMI is a medical imaging prototyping toolkit, aims to save the development time while building medical imaging applications. The CamiTK provides a rich set of development tools and libraries that manage image processing, visualization, and analysis tasks.
CamiTK "CAMI" focuses on medical imaging visualization, image processing, and biomechanical modeling and prototyping.
Although the project is aiming for researchers and focuses on prototyping, It captures the attention of enterprise users, therefore the developers provide training, support, and consultation for freelancers, researchers, and enterprises.
15- DCM4CHE: DICOM + Java
Because Java is the programming language for enterprise solutions, We can't skip mentioning the most popular open-source DICOM library for Java developers; "DCM4CHE".
DCM4CHE is a set of tools and libraries and tools for managing, retrieving, and processing DICOM images. It also comes with a web user-interface, storage manager, archive manager, and complete HL7-server building tools.
DCM4CHE is our top recommendation for Java developers for building medical imaging applications.
16- ITK (Insight ToolKit)
Insight ToolKit or ( ITK) is a free and open-source image analysis toolkit. It has been the core engine behind many medical imaging applications for the last ten years.
It's regularly updated and supported by an active community of software engineers and developers. It also comes with full support for C++ and Python.
ITK is already used to build multi-platform imaging applications that work seamlessly on macOS, Windows, and Linux.
OpenHealth.org is setting up standards for medical application development.
- QtDCM: A library for building DICOM applications with QT.
A note to the developers;
We thank all open-source developers who are involved in creating clinical, health-care, and medical-imaging specific libraries and frameworks. We greatly value the effort, the time required to code, test, polish such projects to the production state as an open-source project.
So, THANK YOU.
Here ends our list, but we are planning to keep it updated with more frameworks and libraries. If you know any other open-source framework that worth mention