Understanding Server-Side Code
Bahmni EMR server consists of the OpenMRS core and all the OpenMRS modules (OMODs) packaged as part of the Bahmni distribution. We have few core omods (necessary to run OpenMRS) and others are mostly per feature. If you want to modify the Bahmni EMR's server-side behavior (for example to add REST endpoints or to run scheduled tasks), you will need to modify an existing OMOD, or create a new one of your own.
To understand the code structure of omod refer Creating OMODS.
There are two ways of writing Web API, and based on the requirement/module convention we adopt one of the two ways:
- CRUD API: CRUD means the basic operations to be done to a domain object (Create, Read, Update, Delete). You directly handle records or objects; apart from these operations, the records are passive entities.
- Example: ConceptResource
- See Adding a CRUD API(*Resource.java)
- REST API: REST, on the other hand, operates on resource representations, each one identified by an URL. These are typically complex objects abstractions/operations.
- Example: BahmniEncounterController.
- See Adding REST API(*Controller.java).
The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)