Metadata mapping project waiting for developers

We are looking for anyone interested in implementing a very straightforward, yet long awaited and having a big impact project. It is your chance to work on a widely used feature, which will be included in OpenMRS Reference Application.

We would like to provide a new way to refer to metadata such as locations, forms, etc. so that developers do not have to refer to them by UUIDs rather by source and code similarly as one can refer to concepts.

The project is fully described at https://wiki.openmrs.org/x/AQJl

In short it is about creating 3 new tables together with Java and REST API providing CRUD operations for them. The tables are for storing:

  1. Source, defined by a unique name
  2. Code, reference to source and reference to metadata in the system (class and uuid), all of which define the mapping
  3. Set of mappings to group together related metadata

We will implement all of that in the existing Metadata Mapping module.

The project is for developers who have made at least one commit to any OpenMRS module. I would assess it for 20-40 hours of work depending on your experience.

You can apply to work on that by replying to this post. Please let us know if you would like to implement it entirely on your own (with some guidance from us) or work with others, if you have less hours aside.

1 Like

I’m considering volunteering on this but I’m not yet sure if I have the time. Meanwhile, I would have some questions.

Namely I’m a bit confused about the big picture of the implementation. For instance, what is the “existing Metadata Mapping module” @raff mentioned? Is it related to the Metadata Sharing Module? Also, on the design page, it is mentioned that ‘A “1.0” version of Metadata Mapping would include a MetadataServicewithin openmrs-core’ but maybe the plan has changed after the design page was written as @raff talks about implementing this in a module.

Also, it would be of help if I could look at how something similar has been implemented in OpenMRS. Any pointers? Or should I just pick any module with a REST api and see how it has been put together?

Thanks!

2 Likes

Ok, it seems I still have some problems with locating relevant info regarding different parts of OpenMRS. I did eventually find the Metadata Mapping Module in Github and in the Modules directory.

@kosmik, good to hear from you! You found the correct repository. The Metadata Mapping module doesn’t have a dedicated wiki page yet.

We will start by implementing the feature in a module and once it gets mature enough, we will move it to openmrs-core.

Would you like to have a voice/text chat with me so we can discuss in detail what needs to be done? We could also have some screen sharing session to make it easier for you to start by setting up OpenMRS and IDE for the Metadata Mapping development. Let me know if I can help you in any way.

Metadata Mapping alone gives you a good view on how services are implemented in OpenMRS modules. See:

https://github.com/openmrs/openmrs-module-metadatamapping/blob/master/api-common/src/main/java/org/openmrs/module/metadatamapping/api/MetadataMappingService.java

There’s also a wiki page on how to add REST webservices to a module https://wiki.openmrs.org/display/docs/Adding+a+Web+Service+Step+by+Step+Guide+for+Module+Developers

Thanks @raff, a chat might be the best way to get started. I will get back to you this week after I have figured out my schedules for the near future.

1 Like