OpenMRS version: 1.11.6
Created a custom module(overriding search patient functionality)
Module: fingerprint
Repository: https://github.com/smuwanga/openmrs-module-ugandaemr-fingerprint
I have coreapps-omod-1.11.0.omod on the server at /openmrs/WEB-INF/bundledModules/coreapps-omod-1.11.0.omod
In an attempt to override the patient search in core-apps module, I have created my own module called fingerprint. I am unable to render the findpatient.page like it is in coreapps. Not sure how to configure this.
Am happy to be helped.
Stacktrace;
UI Framework Error
Root Error
java.lang.ClassNotFoundException: org.openmrs.module.coreapps.helper.BreadcrumbHelper
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1858)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1709)
at org.openmrs.module.ModuleClassLoader.loadClass(ModuleClassLoader.java:594)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.openmrs.module.fingerprint.page.controller.findpatient.FindPatientPageController.get(FindPatientPageController.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.openmrs.ui.framework.UiFrameworkUtil.invokeMethodWithArguments(UiFrameworkUtil.java:109)
at org.openmrs.ui.framework.UiFrameworkUtil.executeControllerMethod(UiFrameworkUtil.java:68)
at org.openmrs.ui.framework.page.PageFactory.handleRequestWithController(PageFactory.java:217)
at org.openmrs.ui.framework.page.PageFactory.processThisFragment(PageFactory.java:159)
at org.openmrs.ui.framework.page.PageFactory.process(PageFactory.java:115)
at org.openmrs.ui.framework.page.PageFactory.handle(PageFactory.java:85)
at org.openmrs.module.uiframework.PageController.handlePath(PageController.java:115)
at org.openmrs.module.uiframework.PageController.handleUrlWithDotPage(PageController.java:82)
@smuwanga my guess is that you need to do more to achieve what you want, to override the find patient page in the RA, you need to do the following:
Disable the find patient app that comes with the RA from the System Administration -> Manage apps page
In your module, add a custom find patient app with its own page and controller if necessary, you’ll need to duplicate this app and change a few things like the appId, description, URL and privilege
Thank you @dkayiwa. I corrected that xml config for coreapps. @Thanks@wyclif, on disabling the find patient app in the ReferenceApplication, all worked well.
@darius, yes. Seems I hadn’t specified the scope pretty well.
By the way it looks like in findpatientfingerprint_app.json you forgot to change the id of the extension and the value of the app parameter in the url.