The reason is that for creating an Order via the OpenMRS OrderService.saveOrder we need to create an Encounter. An encounter can be created without a Visit but the Visit is used to group Encounters. So we thought that it would be great to also create a Visit and attach our radiology Enounter created for the RadiologyOrder to that Visit. So later it is easy to get all Encounters created during this Visit. Now the EMR API has already solved this part giving us the EmrEncounterService. It not only creates a radiology Encounter for us, it also creates a Visit if there is no active Visit for the patient we want to create an order for and attaches the Encounter to that Visit. If there is an active Visit it attaches the new Encounter to this Visit.
So now because of our dependency to the EMR API we now need to install a bunch of other modules:
I understand that this is more work for the implementer.
We could remove the dependency again, this would just mean a lot of work from our side to implement the behavior described above. We just do not have a lot of resources available for the radiology module.
Let me know what you think.