As a general matter of fact reusing/expanding modules should be preferred over starting anything from scratch (see here for my comments on another case like this with unintended dramatic consequences for a low-resource setting). Especially when it comes to creating a REST/Java API, there is just no reason for such APIs to not be reusable across the whole OpenMRS spectrum (Ref App vs Bahmni… etc etc).
I have not been through all the Trello cards (I can’t comment on them btw, for reference my user is mks_d on Trello) but I would suggest the usual approach:
OWA for the front-end.
Shared REST API for the backend, hopefully the Generic Tagging module.
Hi @ssmusoke, @mksd, Thank you for your suggestions! On giving it a thought, I decided to compare the generic tagging module with what I aim to build, and came up with a few observations that I would like to discuss here.
Kindly go through this link and let me know your thoughts on the limitations and the reusable part of the API that I have listed here.
@ssmusoke@mksd and others interested, i am completely inline with your thoughts around trying to leverage and build upon existing work rather than doing stuff for scratch.
We (I, @vinay and @smartyrad) already had the plan to review the generic tagging module and have done that.
The findings from a spike @smartyrad did are already shared by her.
While its designed keeping in mind how the tagging functionality generally is used on blogs, etc, that is type any string against an entity and it would be tagged with that, its not inline with the usecase and how we have thought the functionality as (usecase detailed in this openmrs talk thread). Like it doesn’t have the ability to have predefined tags or user-scoping of tags, etc. The difference in use-cases also makes me think if we should call this “lists” instead of “tags” but that’s a minor change.
While the existing module can act as a good starting point and can definitely be modified and extended to meet these use-cases, i am not sure if everyone and the owner of the module (if there is one) would be open to that as there might be some divergence as well from existing behaviour.
How do you guys suggest moving forward? While we have decided to fork the project and proceed for now, shall we discuss this in the Bahmni PAT call this Wednesday?
Its done part of a internship project, so we have limited time at hand.
The idea is to tag patients, then what you do with the tags is another matter. Usually we create lists of out of tags which may be better placed in the cohort builder OWA/module which creates lists of patients
@mksd based on the current implementation of the module, same tag means a tag with the same name and not really the same tag object, it’s still possible to look up patients with the same tag even though the referenced tag object might be different.