Lab data are not syncing to bahmni Dashboard

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

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.

2 Likes

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'

@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]#

hi @swathivarkala

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

with best regard bhandari

hi there

any help in this ticket ?

with best regard bhandari

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

hi, @swathivarkala

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

Hi @andrewbhandari, Can you try restarting the services.

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

Regard Bhandari

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

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!

Hello @andrewbhandari,

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

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

hi @asaidi are you still facing this issue ?

Yes I am facing it. This is a clean install, bhamni 0.91.

Hi but mine is customers registration on bahmni dashboard data not syncing with ERP customers. After prescribing meds on the dashboard, no data appears on the ERP.

In my case there is no entry in the markers table and failed_events relation does not exist.

I tried to reinstall bahmni-erp and bahmni-erp-connect only but still got the same error