We are looking to add relationship management to the PIH EMR, and when looking at our existing code, it looks like we have three different Angular widgets for managing relationships…
One is in the registration app, and is for adding relationships during registration:
Another in core apps (and may not be complete) from a couple years ago and is for adding and deleting relationships for an existing patient:
And a third one in core apps for viewing existing relationships on the clinicial dashboard:
Not quite sure exactly what I’m suggesting here–and it may be that we want to maintain all three widgets (or two of them) as they have different use cases–but it seems like there’s potential for some better integration here. For one thing, the two widgets in coreapps live in completely different folders within the scripts hierarchy.
It just took @cioan and I awhile to thread through the code and determine what is available.
We currently are working on adding relationship adding, editing, and viewing to our system, so have some bandwidth to work on this. Any suggestions on what path to take? We could just use the coreapps “dashboard” widget to display the relationshps on the dashboard, and provide an edit link that links to the coreapps “add and remove” widget (and then confirm that widget is working properly) or we could go further in terms of integrating the widgets more.
I think that generally makes sense to me, but as @cioan pointed out to me, the dashboard widget is an angular app (I originally assumed it was just a UI Framework fragment) so incorporating the edit functionality into that widget (via a popup?) could be a better option–especially since the original edit widget was just a prototype that @darius built, as, as you said, doesn’t work 100% correctly, so we are going to have to do some work on it anyway.
My thought, however, would be to start by wiring everything up as you suggest, and then we can take a look at how it looks and feels and go from there.
@mogoodrich A question how are the 2 editable widgets mentioned integrated with the HTML Form Entry tag? I am happy to help and test this out (as you move forward)
They aren’t integrated at all. The HTML Form Entry tag is a completely separate widget. Honestly, I hadn’t given the Html Form Entry widget that much thought. I believe it was developed for our Rwanda system, but I don’t know if they are still using it. We aren’t using it anywhere else, and it hasn’t been touched in 5 years, so it wouldn’t shock me if it doesn’t work with the latest versions of OpenMRS and/or doesn’t provide the level of functionality or ease of use we’d need/want in the Ref App.
@mogoodrich, adding the edit functionality to the dashboard widget as a popup would be ideal. If you can afford spending a bit more time on that, it’s great. Let me know, if you need any assistance implementing it.
I forget if the functionality is there in the widget used on the registration form, but @cioan recently added that functionality to the dashboard widget (might not be in the current release as it was just in the past couple days). I believe he was going to add it to the documentation. @cioan what is the attribute to use again?
In order to be able to edit relationships via the widget you have to add the “editPrivilege” config parameter as it is indicated in RA-1342 ticket and to give this new edit privilege to the user.
Hi @ssmusoke, you could restrict the relationship types by using the “includeRelationshipTypes” config parameter which we added recently. We have not added the capability to filter patient search on gender. I think it could be easily added via another config parameter.