Hi! I have been selected for Google Summer of Code 2021 to work on the project “Improving Functionalities of DHIS Connector”. So I’ll be using this thread for the discussions and updates of the project.
I have scheduled the first weekly meeting for the project on 2021-05-22T11:30:00Z (Link)
Project Details:
Name: Improving Functionalities of DHIS Connector Module
I tried to implement the location mapping UI using a layout in this thread . Perviously I was able to create a table in the database to store location-orgunit mappings. Today i tried to implement the basic functionality of location mapping UI, and it was successful.
Had a meeting with @k.joseph to discuss the updates and issues.
Notes:
@piumal1999 Briefly explained the objectives and plan of the project
Showed the layouts created for the location mapping UI
Showed the preview of location mapping UI which I tested
@k.joseph made some suggestions for the new features:
Location Mapping:
Location and orgunit selection can be added to the create mapping UI to save in the report to dataset mapping file itself if needed. Also can be done as in the proposal.
Feel free to update the UI
Remove unwanted columns from the location mapping table (created_date, created_by)
Use the saved information to autofill the run-reports UI (location and orgunit)
User Privileges:
No need for a separate privilege for import/export
It’ll be better if we can create a privilege for metadata maintenance
Automation UI
Add enable/disable automation option for every mapping
Configure Server UI
Can add a status check button
Further enhancements
mADX support
Discussed about creating a test dataset.
@k.joseph sent a previous demo video of DHIS Connector module
Today I was able to fetch the mapped locations of the Report-DataSet mapping using the DHIS2 API. It was a required thing for the location mapping feature.
Every Report to Dataset Mapping consists of and OpenMRS period indicator report and a DHIS2 Dataset
Every DHIS2 Dataset have a set of organisation Units
I used DHIS2 API to fetch the organisation units list of the DHIS2 Dataset
Got the mapped location using the location_mapping table
Displayed those in the run reports UI when the report and mapping is selected
Hi, I created an Epic on JIRA for the location mapping feature and added 1 task to that. The task I added was “Generating the required tables for the location mapping feature”
I found that keeping the location UUID in the location_to_orgunit would be useful than keeping the location id in that table because the openmrs rest API works with the location UUID (not the location id). So I tried updating the table, but the reference application crashed for some reason. So I reinstalled the reference application using the SDK, but after that, it keeps throwing exceptions. (It crashes after the initial setup page) error log - Pastebin.com
Update:
I think these errors are caused by something wrong with the webModuleApplicationContext.xml of every module
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.openmrs.module.webservices.rest.web.api.impl.RestServiceImpl#35352ef8' defined in URL [jar:file:/home/user/openmrs/myserver/.openmrs-lib-cache/webservices.rest/webservices.rest.jar!/webModuleApplicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'com.sun.proxy.$Proxy447 implementing org.openmrs.api.OpenmrsService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised,org.springframework.core.DecoratingProxy,java.io.Serializable,org.springframework.transaction.interceptor.TransactionalProxy' to required type 'org.openmrs.module.webservices.rest.web.api.RestHelperService' for property 'restHelperService';
Update 2: Fortunately I had a copy of module .omod files saved on my pc. I replaced the modules with it and the reference application is working now😅
I created a set of JIRA issues for the Extended Period Support feature. And I added those issues to the “Support all available period types in DHIS2” Epic. All those issues are about extending period support in Automation UI. Also I created a JIRA issue for the task “Initiating the location mapping UI”.
Hi, I have created an Issue for initiating the location mapping User interface. It’s for creating the DTOs, and displaying the mapped location-orgUnit sets according to the layout we discussed previously.
Could you please mark it as available for work, so i can send the Pull Request.