Null error message from Bahmni Clinical Module

Hi Everyone, I’m having an issue with the clinical module. In fact, i’ve modified some “person attribute types”.for the registration page. Since then, when i try to open a patient record in the clinical module, i have a “null error”. I checked for openmrs logs and here is the result. It seems like openmrs is not able to find some files now, and i don’t know why. I didn’t change any filename.

Can you help please!

WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:44,954| No concept found for 'REGISTRATION_CONCEPTS'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:48,756| No concept found for 'Bahmni Diagnosis Status'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:49,076| No concept found for 'Diabetes Templates'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,187| No concept found for 'Order Attributes'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,438| No concept found for 'Vitals'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,448| No concept found for 'History and Examination'
ERROR - BahmniExtensions.getExtension(31) |2018-02-13 23:49:50,458| File not found /opt/openmrs/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
ERROR - BahmniExtensions.getExtension(31) |2018-02-13 23:49:50,479| File not found /opt/openmrs/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,501| No concept found for 'Order Attributes'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,510| No concept found for 'HEIGHT'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,513| No concept found for 'Obstetrics'
ERROR - BahmniExtensions.getExtension(31) |2018-02-13 23:49:50,523| File not found /opt/openmrs/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,680| No concept found for 'Order Attributes'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,820| No concept found for 'Tuberculosis Followup Template'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,823| No concept found for 'Second Vitals'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,832| No concept found for 'Gynaecology'
ERROR - BahmniExtensions.getExtension(31) |2018-02-13 23:49:50,840| File not found /opt/openmrs/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
ERROR - BahmniExtensions.getExtension(31) |2018-02-13 23:49:50,845| File not found /opt/openmrs/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
ERROR - BahmniExtensions.getExtension(31) |2018-02-13 23:49:50,861| File not found /opt/openmrs/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:50,891| No concept found for 'Weight'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,119| No concept found for 'All Observation Templates'
ERROR - BaseRestController.handleException(115) |2018-02-13 23:49:51,122| null
java.lang.NullPointerException
at org.bahmni.module.bahmnicore.web.v1_0.search.VisitFormsSearchHandler.search(VisitFormsSearchHandler.java:62)
at org.openmrs.module.webservices.rest.web.v1_0.controller.MainResourceController.get(MainResourceController.java:186)
at sun.reflect.GeneratedMethodAccessor696.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:177)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:446)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:434)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:72)
at org.openmrs.web.filter.GZIPFilter.doFilterInternal(GZIPFilter.java:64)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:70)
at org.openmrs.module.webservices.rest.web.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:104)
at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:70)
at org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:82)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:70)
at org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:108)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:150)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,215| No concept found for 'BMI Data'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,311| No concept found for 'Summary'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,319| No concept found for 'Systolic'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,515| No concept found for 'Bahmni Diagnosis Status'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,561| No concept found for 'BMI Status Data'
ERROR - BahmniExtensions.getExtension(31) |2018-02-13 23:49:51,574| File not found /opt/openmrs/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,644| No concept found for 'Diastolic'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,738| No concept found for 'Posture'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,743| No concept found for 'BACTERIOLOGY CONCEPT SET'
WARN - HibernateConceptDAO.getConceptByName(1739) |2018-02-13 23:49:51,816| No concept found for 'Temperature'

openmrs_logs.txt (10.1 KB)

It looks like there is something wrong concept dictionary, Just check whether you have “All Observation Templates” concept and its set members are defined correctly. You can refer this link https://demo.mybahmni.org/openmrs/dictionary/concept.htm?conceptId=90 to get an idea about how it is organised in demo setup.

1 Like

You were right @sandeepe. In fact my dictionary was not working well because I changed the default locale of my instance. Since I set it back to English, everything has returned to normal.

Thanks for your help!

2 Likes

@sandeepe I am getting this error, but changing my default locale is not fixing it. What other steps can I take? Same error with the same lines.

We added some Arabic language Locale concepts to our dictionary, and this error appeared.

@darius Thoughts?

Hi We are also having the same problem for specific patients. Can you please help me with this?

Log

java.lang.NullPointerException at org.openmrs.module.bahmniemrapi.diagnosis.helper.BahmniDiagnosisMetadata.mapBahmniDiagnosis(BahmniDiagnosisMetadata.java:101) at org.bahmni.module.bahmnicore.service.impl.BahmniDiagnosisServiceImpl.getBahmniDiagnosisByPatientAndDate(BahmniDiagnosisServiceImpl.java:187) at org.bahmni.module.bahmnicore.web.v1_0.controller.BahmniDiagnosisController.search(BahmniDiagnosisController.java:29) at sun.reflect.GeneratedMethodAccessor1586.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:177) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:446) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:434) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:72) at org.openmrs.web.filter.GZIPFilter.doFilterInternal(GZIPFilter.java:64) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:70) at org.openmrs.module.webservices.rest.web.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:105) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:70) at org.openmrs.module.webservices.rest.web.filter.ContentTypeFilter.doFilter(ContentTypeFilter.java:64) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:70) at org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:82) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:70) at org.openmrs.module.owa.filter.OwaFilter.doFilter(OwaFilter.java:57) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:70) at org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:54) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:108) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:150) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)

Hi @kannan

Can you share some more details like when this issue comes up?

As we can see some “Bahmni Diagnosis Metadata” is not present. May be check whether you have this concept set " Diagnosis Set of Sets"

Hi @soorya This issues was started on 9th May, we started the visit but not able to open the patient dashboard. “Diagnosis Set of Sets” is available.

OpenMRS UI

From Bahmni UI

Can you inspect and send us the api call, request and response details.

@kannan are you seeing this only on this screen? Also, post login, if you directly go to patient’s clinical dashboard, do you get the same error?

replace with your env data below:

https://your-server/bahmni/clinical/index.html#/default/patient/patient-uuid/dashboard?currentTab=DASHBOARD_TAB_GENERAL_KEY

@soorya, please refer to the images.

@angshuonline, Getting this error when opening the clinical dashboard.

https://your-server /bahmni/clinical/index.html#/default/patient/patient-uuid /dashboard?currentTab=DASHBOARD_TAB_GENERAL_KEY

Hi @kannan Please look into the below image and verify you have these set members and this “Visit Diagnosis” Concepts

Hi @soorya, it looks the same.

Hi @kannan

You specified, you are getting this error only for specific patients. Can you give us more info on the 2 different scenarios you are trying it out.

Hi @soorya

Yes, so far, only one patient. We have no issue registering the patient but cannot access clinical details/dashboards, getting the null error.

So for that one patient what are the fields you have entered and what are the fields missed to enter in the other patients. Is there any such differences while doing registration?

No difference in the registration fields. All details are captured like other patients.

@soorya @angshuonline Same issue for one more patient.

@binduak can you help us here

Hi Soorya, any updates on this? Same issue for one more patient today.