What's the difference between "emr-api" and "emrapi"?

Application Name: EMR API Version Number: All

Question: I was just looking through http://mavenrepo.openmrs.org/ when i came across a strange thing: There are 3 artifacts listed as “emr-api” and several others as “emrapi”. Is there a (significant) difference? I saw that the 1.2-SNAPSHOT version of “emr-api” contains radiology classes, but I am unable to find any of them on GitHub. Thanks in advance, Georg

Yes, a bit confusing. The reason is there are two difference modules: an old, legacy module called “EMR” that is not part of the reference app (and as far as I know, is only used by PIH) and then the “EMRAPI” module.

So “EMR-API” is the API submodule of the EMR module, while EMRAPI-API would be the API submodule of the EMRAPI module.

Basically, it’s probably all the modules that start with “EMRAPI” that are of actual interest to you.


Oh, and if you do want to see the EMR module code, it is here:


… but we are (slowly) phasing this out and migrating the code to other modules.


Thank you for your quick and straight answer :slight_smile:


Wow, this is really confusing. @darius or @burke any thoughts on how we can ease this confusion?

I don’t think we should change anything at this point.

The effort required to change the name of something, and communicate this everywhere, is greater than the savings of less confusion. (The only way anyone who is not working with PIH is going to come across the older EMR module is by manually searching through the maven repository, which doesn’t happen so much.)

In the long run I know that PIH plans to eventually get rid of the EMR module entirely, but that specific refactoring won’t be prioritized for a long time. If the OpenMRS community really cared about this a lot, it could invest some resources in moving that code for PIH. (But again, I don’t think this is worth the effort.)

1 Like