There are many healthcare and medical solution built on top of open source technologies, Like open source languages, frameworks, and libraries. However, this article is about to complete platforms designed to provide developers with what they need to build usable apps and extend the functionalities of the platforms.
Building on top of a platform, advantages
Many developers and decision makers face the same decision soon as they start to convert their idea into a product, Many starts from scratch, others to actualize their ideas on existing successful platforms. It's not just a risky decision, It's the decision that will shape the future of the product itself. There are enormous advantages to use a platform to base the product upon it, but they come with consequences. But first list the advantages :
1- Extending the features not rewrite them:
Making use of the platform functionalities and features, There is no need to write several modules and features as they already exist in the platform. As example translation, user management, content management, and more.
2- Limiting boilerplate time:
Designing from scratch requires the developer to boilerplate his idea ( several times if the idea is complicated ) until he delivers it into a viable product. Building on top of platform minimizes that time.
3- Features Integration:
Features are well integrated within the platform, as for the core module features and the extended ones, The clearest example is open source ERP solutions with providing the developers with what they need to integrate their extensions and apps with the basic apps.
4- Community support:
Successful open source platforms are backed by huge communities of end-users and developers, which provide very active feedback, support model for end-users and developers. So the developer will benefit form the community while building his application as the end-user.
5- User management:
User management with security compatibility is not a road trip, It's a major part of the multi-user system. It saves development and implementation time.
6- Secure systems:
Most of the open source platforms are built on top of advanced security, aiming to provide the most secure experience possible for its users. So the developer can focus on product instead of wasting time managing security issues if he decided to go from scratch.
7- Ecosystem and Marketplace ready:
One of the most powerful advantages of building over a platform is taking advantage of the ecosystem and reaching to the customers through it, As example Odoo ERP healthcare applications in Odoo marketplace has been viewed and bought by hundreds in short time, as Odoo apps marketplace provided online store for the apps, portfolio for the developers and rich feedback system for the end-users with one-click buy access to the products (apps).
8- Surviving for years:
PloneCMS has been around since 1999, Odoo since 2005 and Django since 2005. The other platforms are fairly new, but they were built to survive as managed to secure powerful communities of developers and power users.
Disadvantages of building on top of a platform
1- The end product is an extension of a platform
2- The product is restricted by the platform limitations
3- The product has to be used within the platform for the end-user
4- Customization could be limited but not restricted to the platform
Are you building healthcare or medical application? Consider these open source platforms!
1- Plone CMS: since 1999 series of Medical and Science apps
PloneCMS is more than simple CMS, its highly customizable platform built on top of Zope framework, with a history of creating enterprise apps as medical and healthcare solutions including the most famous laboratory management solutions as Bika LIMS, Senaite and Baobab LIMS. Bika LIMS is the most famous and the most usable around the world with many variations, but Plone has huge share when it comes to open source LIMS.
Ultimate EMR is an open source electronic medical records (EMR), It was built on top of PloneCMS. But it's not popular as Plone based laboratory management solutions.
PloneCMS is backed by a powerful community of developers as it is regularly upgraded.
2- Sandstorm: Dev Not Ops
Sandstorm is unlike other platforms we have mentioned here, It’s a web application productivity platform aiming to provide a secure, powerful platform to install, run, manage many web applications with less configuration and less time.
Sandstorm handles users, logins and access control to the applications as it provides easy access to the installed applications with one account. Imagine you have a hospital information system (HIS) and several smaller LIMS, accounting or ERP platform, Sandstorm can provide single access with one account to the required applications according to the assigned permissions.
That's not all, Sandstorm has another amazing feature as it allows multiple instances of the same app to run for certain users/user groups. In a previous article, I have reviewed Care2x a legacy HIS system, but with a feature as private messaging/forum boards per hospital department. Well, Sandstorm can easily do that as running multiple instances of RocketChat. (Though I don't think it's needed as RocketChat itself is managing the users and private channels perfectly). Another example as one LIMS is running in multiple instances for different laboratories in the hospital.
3- Django: Full stack web framework
Django is a full stack Python framework, Opal was built on it, It may look old but it is still the first choice of many developers, It's full stack framework supports different database backend with very rich ecosystem including apps and libraries.
For some, they may not consider Django a platform, but I do like to think otherwise, It supports multiple database options, has highly customizable admin dashboard, hundreds of reusable apps and packages listed in DjangoPackages.
Django has been used in enterprise and successful projects for over than a decade. There are many Django centred developers community aiming to support Django adapting new web tools, maintain and upgrade Django packages as Jazzband.
Django had been the core framework to develop famous web applications including first versions of Instagram, Pinterest, Disqus (we are using it here) and many others.
Opal is a Django based healthcare centred framework for building healthcare and medical application, It provides the developer with the tools and data structure required to build clinical applications.
4- RocketChat: Real-time communication, messaging, and file sharing
RocketChat is a free and open source real-time communication platform, RocketChat supports multiple users/ groups, team chat, unlimited users and channels, private channels, file uploads, encryptions, guest chat, and web widget.
RocketChat is the ideal platform and solution for communications among teams, and staffs, either they are on their desks or on the move as RocketChat has also mobile apps for Android and iOS.
RocketChat's developers went beyond providing good documentation for developers they also provide a set of API options for developers including REST API, GraphQL API, Real-time API, and LiveChat API. However, if you are a Meteor experienced developer, you can extend RocketChat functionalities by building your own packages.
5- ERPNext: ERP based platform
ERPNext is an open source enterprise resources planning solution (ERP), It was built to fix major problems and concerns in the current open source ERP solutions, and to provide more solid ground as a stable interactive real-time system.
ERPNext has hospital and laboratory apps built on top of it and released as ERPNext healthcare ready solution, However, ERPNext is developer friendly as it provides the developers with what they require to build their apps with full integration of ERPNext core models.
It is the perfect choice for writing integrated healthcare application, as it is developer friendly and advanced web technologies.
ERPNext: Free Open source ERP as a Hospital Information System and Healthcare apps development platform
6- NextCloud: Cloud file sharing and application platform
NextCloud is an open source self-hosted cloud file sharing and apps platform, NextCloud provides developer friendly tools, and documentation to build applications on top of NextCloud and allow developers to submit their apps to NextCloud Marketplace.
NextCloud is HIPAA compliant (Health Insurance Portability and Accountability Act), The core developers made sure NextCloud is ready for healthcare and medical applications.
When it comes to security, NextCloud provides many options to the users, including encryption, many security applications extending the security options for NextCloud.
NextCloud, as we reviewed before, can be used as a cloud DICOM sharing platform as it has a powerful DICOM viewer listed in the marketplace.