Lab data are not syncing to bahmni Dashboard


(andrew bhandari) #1

hi there

i have an issue regarding bahmni-lab data are not syncing to bahmni from openelis however if doctor make lab order it is visible openelis after validating lab report there is nothing showing in bahmni patient dashboard can anyone please help me in this regard. thanks

with best regard Bhandari


(swathi varkala) #2

Hi @andrewbhandari,

Check OpenMRS logs Check if there are any exceptions in openmrs logs regarding atomfeed.

Check markers table Check the markers table in openmrs if there is an entry for reading the corresponding feed from openelis. Make sure the markers are in sync

Check failed_events table Check the failed_events table for any entries recorded.


(andrew bhandari) #3

hi @swathivarkala

according to openmrs log regarding atomfeed.

  Caused by: java.lang.ClassNotFoundException: org.bahmni.module.elisatomfeedclient.api.task.OpenElisPatientFeedTask
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1320)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1173)
    at org.openmrs.util.OpenmrsClassLoader.loadClass(OpenmrsClassLoader.java:166)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.openmrs.scheduler.TaskFactory.createInstance(TaskFactory.java:51)
    ... 37 more
13-06-2017 18:18:53 [ERROR] TimerSchedulerServiceImpl - Failed to schedule task for class org.bahmni.module.elisatomfeedclient.api.task.OpenElisPatientFeedTask
org.openmrs.scheduler.SchedulerException: Failed to schedule task
    at org.openmrs.scheduler.timer.TimerSchedulerServiceImpl.scheduleTask(TimerSchedulerServiceImpl.java:274)
    at org.openmrs.scheduler.timer.TimerSchedulerServiceImpl.onStartup(TimerSchedulerServiceImpl.java:107)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at com.sun.proxy.$Proxy205.onStartup(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.cache.interceptor.CacheInterceptor$1.invoke(CacheInterceptor.java:52)
    at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:303)
    at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.openmrs.aop.LoggingAdvice.invoke(LoggingAdvice.java:121)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at com.sun.proxy.$Proxy206.onStartup(Unknown Source)
    at org.openmrs.scheduler.SchedulerUtil.startup(SchedulerUtil.java:52)
    at org.openmrs.web.Listener.startOpenmrs(Listener.java:269)
    at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:42)
Caused by: org.openmrs.scheduler.SchedulerException: could not load class
    at org.openmrs.scheduler.TaskFactory.createInstance(TaskFactory.java:72)
    at org.openmrs.scheduler.timer.TimerSchedulerServiceImpl.scheduleTask(TimerSchedulerServiceImpl.java:217)
    ... 36 more
Caused by: java.lang.ClassNotFoundException: org.bahmni.module.elisatomfeedclient.api.task.OpenElisPatientFeedTask
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1320)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1173)
    at org.openmrs.util.OpenmrsClassLoader.loadClass(OpenmrsClassLoader.java:166)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.openmrs.scheduler.TaskFactory.createInstance(TaskFactory.java:51)
    ... 37 more
Jun 13, 2017 6:18:56 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [2,129] milliseconds.
13-06-2017 18:18:57 [WARN ] OpenmrsUtil - Unable to find a runtime properties file at /openmrs-runtime.properties
Jun 13, 2017 6:18:57 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8050"]
Jun 13, 2017 6:18:57 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'openmrs'
13-06-2017 18:21:51 [WARN ] HibernateConceptDAO - No concept found for 'REGISTRATION_CONCEPTS'
13-06-2017 18:22:07 [WARN ] HibernateConceptDAO - No concept found for 'REGISTRATION_CONCEPTS'
Jun 13, 2017 6:32:06 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'openmrs_static_content'

(andrew bhandari) #4

@swathivarkala Bahmni-lab log

  2017-06-09 18:34:52,132 WARN  [ELIS][NewPooledConnection] [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
    2017-06-09 18:34:52,133 WARN  [ELIS][NewPooledConnection] [c3p0] Another error has occurred [ org.postgresql.util.PSQLException: This connection has been closed. ] which will not be reported to listeners!
    org.postgresql.util.PSQLException: This connection has been closed.
            at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:714)
            at org.postgresql.jdbc2.AbstractJdbc2Connection.getWarnings(AbstractJdbc2Connection.java:578)
            at com.mchange.v2.c3p0.impl.NewProxyConnection.getWarnings(NewProxyConnection.java:907)
            at org.hibernate.util.JDBCExceptionReporter.logAndClearWarnings(JDBCExceptionReporter.java:22)
            at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:449)
            at org.hibernate.jdbc.ConnectionManager.aggressiveRelease(ConnectionManager.java:406)
            at org.hibernate.jdbc.ConnectionManager.afterTransaction(ConnectionManager.java:293)
            at org.hibernate.jdbc.JDBCContext.afterTransactionCompletion(JDBCContext.java:225)
            at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:174)
            at us.mn.state.health.lims.scheduler.LateStartScheduler$ElisJobListener.jobWasExecuted(LateStartScheduler.java:164)
            at org.quartz.core.QuartzScheduler.notifyJobListenersWasExecuted(QuartzScheduler.java:2020)
            at org.quartz.core.JobRunShell.notifyJobListenersComplete(JobRunShell.java:355)
            at org.quartz.core.JobRunShell.run(JobRunShell.java:229)
            at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560)
    2017-06-09 18:34:52,133 WARN  [ELIS][NewPooledConnection] [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
    2017-06-09 18:34:52,133 WARN  [ELIS][NewPooledConnection] [c3p0] Another error has occurred [ org.postgresql.util.PSQLException: This connection has been closed. ] which will not be reported to listeners!
    org.postgresql.util.PSQLException: This connection has been closed.
            at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:714)
            at org.postgresql.jdbc2.AbstractJdbc2Connection.clearWarnings(AbstractJdbc2Connection.java:597)
            at com.mchange.v2.c3p0.impl.NewProxyConnection.clearWarnings(NewProxyConnection.java:933)
            at org.hibernate.util.JDBCExceptionReporter.logAndClearWarnings(JDBCExceptionReporter.java:31)
            at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:449)
            at org.hibernate.jdbc.ConnectionManager.aggressiveRelease(ConnectionManager.java:406)
            at org.hibernate.jdbc.ConnectionManager.afterTransaction(ConnectionManager.java:293)
            at org.hibernate.jdbc.JDBCContext.afterTransactionCompletion(JDBCContext.java:225)
            at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:174)
            at us.mn.state.health.lims.scheduler.LateStartScheduler$ElisJobListener.jobWasExecuted(LateStartScheduler.java:164)
            at org.quartz.core.QuartzScheduler.notifyJobListenersWasExecuted(QuartzScheduler.java:2020)
            at org.quartz.core.JobRunShell.notifyJobListenersComplete(JobRunShell.java:355)
            at org.quartz.core.JobRunShell.run(JobRunShell.java:229)
            at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560)
    3071153 [OpenELIS-Scheduler_Worker-2] ERROR org.quartz.core.ErrorLogger - Unable to notify JobListener(s) of Job that was executed: (error will be ignored). trigger= atom-feed-events-publisher.atom-feed-events-publisherTrigger job= atom-feed-events-publisher.atom-feed-events-publisherJob
    org.quartz.SchedulerException: JobListener 'Elis Job Listener' threw exception: JDBC rollback failed [See nested exception: org.hibernate.TransactionException: JDBC rollback failed]
            at org.quartz.core.QuartzScheduler.notifyJobListenersWasExecuted(QuartzScheduler.java:2022)
            at org.quartz.core.JobRunShell.notifyJobListenersComplete(JobRunShell.java:355)
            at org.quartz.core.JobRunShell.run(JobRunShell.java:229)
            at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560)
    Caused by: org.hibernate.TransactionException: JDBC rollback failed
            at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:170)
            at us.mn.state.health.lims.scheduler.LateStartScheduler$ElisJobListener.jobWasExecuted(LateStartScheduler.java:164)
            at org.quartz.core.QuartzScheduler.notifyJobListenersWasExecuted(QuartzScheduler.java:2020)
            ... 3 more
    Caused by: org.postgresql.util.PSQLException: This connection has been closed.
            at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:714)
            at org.postgresql.jdbc2.AbstractJdbc2Connection.rollback(AbstractJdbc2Connection.java:731)
            at com.mchange.v2.c3p0.impl.NewProxyConnection.rollback(NewProxyConnection.java:855)
            at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
            at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
            ... 5 more
    [root@localhost log]#

(andrew bhandari) #5

hi @swathivarkala

can you please look at the log file regarding bahmni-lab sync issue ? appreciate you !!

with best regard bhandari


(andrew bhandari) #6

hi there

any help in this ticket ?

with best regard bhandari


(swathi varkala) #7

Can you go to /openmrs -> Administration -> Modules and see if all the modules are loaded fine?


(andrew bhandari) #8

hi, @swathivarkala

from /openmrs -> Administration -> Modules seems loaded fine, what could be the cause may be ? any other way to find this issue


(swathi varkala) #9

Hi @andrewbhandari, Can you try restarting the services.


(andrew bhandari) #10

yes i did restart, even i reboot system, it does not work anymore. is there any other way to get around?

Regard Bhandari


(andrew bhandari) #11

finally i could figure out, the problem is database is not define on /etc/bahmni-installer/local after making changes it is okay.


bahmni-lab not start after install bahmni!!!
(ramses o) #12

Hi Andrew

What did you change exactly in the local file? I have the same error but all database sections seem to be there. Did you define something extra?

Thanks in advance!


(Gift Mfugale) #13

Hello @andrewbhandari,

Kindly help me too!! what did you do with local file, I do have the same problem here Thanks


(SAIDI Aimé) #14

kindly help me. I’m facing the same problem, what did you di with the local inventory file?