What is OpenMRS?
OpenMRS is an open source electronic medical record (EMR) system, designed for use in the developing world. Since its beginning in 2004, the system has evolved into a medical informatics platform used on every continent, supporting health care delivery and research in an extremely wide variety of contexts. See also:
- The about page (mandatory reading).
- Brief textual guide to OpenMRS (very good for context).
- 16-minute introductory screencast.
- 50-minute tech talk video (2007).
What is the Concept Proposal Module?
- Every OpenMRS implementation is a concept dictionary that defines the medical concepts (questions and answers)
- Each organisation has their own OpenMRS instance which is isolated from other OpenMRS instances
- The Concept Proposal Module aims to let users
- create proposed concepts on their own OpenMRS instance
- send these concept proposals to an official dictionary manager to be review/approved
- track the status of their proposal
- The Concept Proposal Module is actually comprised of 2 sub modules
- Concept Proposal submodule: meant for the users to create proposals
- Concept Review submodule: meant for the dictionary managers to review proposals
- More in depth information regarding this module can be found on the project page
How can I help?
Sign up at Meetup and join us for the hack night next Tuesday! We need humans mostly – project managers, developers, translators, QAs, BAs, XDs...
Install the development VM and play around and get familiar with OpenMRS. If you have any issues we will gladly help you at the hack night.
How do I get started?
- Set up the Vagrant box with OpenMRS install to get it up and running
- New to vagrant? This wiki page should help with the basics and troubleshoot any problems you face. If you run into a problem, let us know or add it here
- Take a look at the Trello Board / Mailing list / GitHub pages for the on-goings
- https://trello.com/b/9OlGMLQm/openmrs-melb
- https://groups.google.com/forum/#!topic/openmrs-australia
- https://github.com/OpenMRS-Australia/openmrs-cpm: the main CPM code
- https://github.com/OpenMRS-Australia/configuration-master : used for building and deploying to the Go CI Pipeline
- https://github.com/crolfe/vagrant-OpenMRS: Vagrant box
What Technologies Are Being Used?
The core is built on Java but current development has leveraged REST services to enable client side development in AngularJS as show in the diagram below
Links to technologies used
- AngularJS (Training material: http://docs.angularjs.org/tutorial / )
- Spring
- Hibernate
Build process uses Gradle (previously was Maven)
BDD via Cucumber
References
Spring REST
- Spring RestTemplate: http://www.springframework.net/rest/doc-latest/reference/html/resttemplate.html / http://spring.io/blog/2009/03/27/rest-in-spring-3-resttemplate/
- Consuming a RESTful Web Service with AngularJS: https://spring.io/guides/gs/consuming-rest-angularjs/
- Handling exceptions: http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
Angular
- Services: https://docs.angularjs.org/tutorial/step_11 / https://docs.angularjs.org/api/ngResource/service/$resource
- Filters: https://docs.angularjs.org/guide/filter / https://docs.angularjs.org/tutorial/step_09
- Directives: http://www.sitepoint.com/practical-guide-angularjs-directives/ / https://docs.angularjs.org/guide/directive
- Routing & HTML partials: https://docs.angularjs.org/tutorial/step_07
RequireJS
Testing