Where should be the source of an OWA for a module?

Hello there,

According to my GSOC project (GSoC 2020: Improving OpenMRS DHIS2 Integration), I’m planning to create an OWA for the DHIS2 Reporting Module. When surfing around OpenMRS’ repositories I found that,

  1. Some modules contain their OWA in the same repositories. ( ex: openmrs-module-patientflags )
  2. Some repositories contain only the OWA itself. ( ex: openmrs-owa-addonmanager )

Since this is a module, I think we have to with option number one. Could someone please help me to clarify this?

Also, I’m planning to implement this using React. Is it okay? or do I need to implement it with Angular?

Hi @jayasanka, any reason why you wouldn’t do this as a micro frontend (in React)?

1 Like

Hi @mksd,

Thanks for your suggestion. I’m a newbie to Micro Frontends Architecture for OpenMRS. Could you please help me to get started? or provide an existing implementation?

Also, will it work with the reference application?

cc: @akshika47 @heliostrike


These docs seem helpful. @mksd, are there any other resources that we might want to look at?


Hi @jayasanka,

@heliostrike did point you to the main gateway on the wiki, thank him for that.

Also, will it work with the reference application?

The short answer is yes. Having said that it looks like the UI you’re developing is not a clinician-facing UI anyway.

1 Like

@jayasanka This project has an OWA based on Angular [https://github.com/openmrs/openmrs-module-locationbasedaccess]

But I also suggest moving to React based on micro frontends architecture.


Thanks @suthagar23 @mksd and @heliostrike

I went through this interesting micro frontend architecture and the single SPA. I’ve prepared a set of questions to ask, but in the meanwhile I found another few openMRS docs on this. First I’ll go through them and post further unresolved questions.

Thanks & Regards,


I still think there’s an argument to be made that it’s worth using the MF architecture even for non-clinician facing functions. At any rate, I wouldn’t want to encourage the development of new OWAs (since the underlying technology was not widely adopted).