Open Source Community
Technical Details
Are there step-by-step instructions for setting up MADiE from source code?
Yes. For individuals who are comfortable with performing the installation of software components and modules, step-by-step instructions exist here. MADiE is comprised of a number of micro-services and micro-frontends. Because of this architecture, there is no singular repository that is “MADiE”, but all needed repositories can be found on GitHub. The step-by-step instructions indicate which repositories are needed.
What web browsers can be used with MADiE?
MADiE currently supports the latest versions of Microsoft Edge and Google Chrome. Chrome is the recommended browser.
What technologies does MADiE use?
MADiE’s frontend and backend are built on different technologies. The frontend is written primarily in React (Typescript), and deployed as micro-frontends using a framework called single-spa. The backends are written primarily as RESTful web services in Java using the Spring Boot framework. MADiE uses MongoDB as a datastore.
Is MADiE related to HL7 / HQMF?
MADiE currently supports two data models – QDM and QI-Core. For QDM measures, MADiE supports an export of an XML file based on the HL7 HQMF standard. For QI-Core measures, MADiE supports a FHIR resource structured export in both JSON and XML format. For both models, it supports other exports generated based on the Clinical Quality Language (CQL).
Can I download a previous version of MADiE?
Because MADiE is comprised of a number of micro-frontends and micro-services, running a specific, previous version of MADiE would require targeting specific commits in the history of each needed repository.
At the time of this writing, MADiE releases are based on the completion of a scope of work in a specific sprint. At the end of each sprint, any modified repositories are tagged to indicate they should be released. The format for this tag is “sprint/<sprint_name>-<date>” and can be viewed on the list of tags under each repository on GitHub.
In short, it is possible to download a previous version of MADiE, however, it is harder than running the latest version of MADiE.
Open Source
How is communication managed on the open-source project?
Current activities and public communication are maintained on this website. Whenever possible, please utilize resources available here. For further information, you can contact the MADiE Support Desk via the Contact Us page of this website.
Can I contribute software source code to MADiE?
Yes. Code contributions, bug fixes, and enhancement requests are all welcome. A requirement for contributing is that any and all software contributed to MADiE projects is released under a Create Commons CC0 distribution license, and that you transfer copyright of any code submitted. Do not include any third party software in a submission. If third party software is required, you must include detailed instructions on how to acquire that software directly from the third party.
To submit a new feature for consideration, you must set up an account on GitHub. Log in, navigate to the MAT repository, and fork the specific MADiE project repository to create a branch. When your contribution is complete, email the link to your branch to the MADiE Support Desk. You must include an explanation of the included changes.
If you wish to contribute a bug or enhancement request, contact the MADiE Support Desk with either the details to reproduce the bug, or a detailed description about the suggested enhancement.
Are there coding conventions that I must follow to submit code?
Yes. The MADiE open source community is dedicated to ensuring that the code base always meets a high standard. Any code contribution should adhere to both Checkstyle and PMD coding standards. Further, any code contributions must include mature unit tests in order to be accepted.
What response can I expect after submitting a code contribution?
Your contribution will be tracked and then evaluated by the MADiE development team. You will receive a response that this process has begun within five business days of submission. Once the team has evaluated your contribution, you will receive notice of the next step. The contribution will either be rejected, with an applicable explanation.