lab results not showing on bahmni patient dashbord

i am having trouble receiving laboratory results on openmrs from openelis. here are screen shots for the event_records, markers and failed events on both openmrs and openelis

a.) Markers table- openmrs

b.) event_records, markers and failed events - openelis

c.)event_records - openmrs

d.)failed_events - openmrs

e.)failed_events - openmrs

  1. Is this a new installation? Or an existing installation – where sync was working and it suddenly stopped?
  2. Can you please attach the logs (for openmrs and openelis) in pastebin.com and put the links here.
  3. Which version of Bahmni are you using? Can you paste the output of “yum list installed | grep bahmni” command.
  4. I am guessing the sync from OpenMRS to OpenELIS is working, but not the reverse way?
  5. Can you also put a screeshot of your OpenMRS modules screen (from /openmrs admin -> Manage modules page)
  6. Is this a new patient that you created, or an existing patient which comes in Bahmni Demo database?
1 Like

hi @gsluthra

i have the same issue from bahmni patient dashboard LAB order showing to openELIS and all the lab test completed however the LAB result is not showing in bahmni patient dashboard what could be the issue ? this is my first installation and i have register 2 patient.

 <img src="/uploads/default/original/2X/5/52d43d1b5227927cf119694c2bd775a0e4e232cf.png" width="690" height="387"><img<img src="/uploads/default/original/2X/2/252926ee3c68ad2a18820f5d59a10dc20fff5740.png" width="690" height="387">

    bahmni-lab log showing 





[root@localhost log]# cat bahmni-lab.log
43 [localhost-startStop-1] INFO org.quartz.impl.StdSchedulerFactory - Using default implementation for ThreadExecutor
81 [localhost-startStop-1] INFO org.quartz.core.SchedulerSignalerImpl - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
81 [localhost-startStop-1] INFO org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.2.0 created.
83 [localhost-startStop-1] INFO org.quartz.simpl.RAMJobStore - RAMJobStore initialized.
84 [localhost-startStop-1] INFO org.quartz.core.QuartzScheduler - Scheduler meta-data: Quartz Scheduler (v2.2.0) 'OpenELIS-Scheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 4 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

84 [localhost-startStop-1] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler 'OpenELIS-Scheduler' initialized from default resource file in Quartz package: 'quartz.properties'
84 [localhost-startStop-1] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler version: 2.2.0
2017-06-07 23:22:49,751 WARN  [ELIS][RootClass] composite-id class does not override equals(): us.mn.state.health.lims.analyzerimport.valueholder.AnalyzerTestMappingPK
2017-06-07 23:22:49,752 WARN  [ELIS][RootClass] composite-id class does not override hashCode(): us.mn.state.health.lims.analyzerimport.valueholder.AnalyzerTestMappingPK
2017-06-07 23:22:49,753 WARN  [ELIS][RootClass] composite-id class does not override equals(): us.mn.state.health.lims.userrole.valueholder.UserRolePK
2017-06-07 23:22:49,753 WARN  [ELIS][RootClass] composite-id class does not override hashCode(): us.mn.state.health.lims.userrole.valueholder.UserRolePK
2017-06-07 23:22:49,755 WARN  [ELIS][RootClass] composite-id class does not override equals(): us.mn.state.health.lims.address.valueholder.AddressPK
2017-06-07 23:22:49,755 WARN  [ELIS][RootClass] composite-id class does not override hashCode(): us.mn.state.health.lims.address.valueholder.AddressPK
2017-06-07 23:22:49,758 WARN  [ELIS][RootClass] composite-id class does not override hashCode(): us.mn.state.health.lims.requester.valueholder.SampleRequester
2017-06-07 23:22:49,759 WARN  [ELIS][RootClass] composite-id class does not override equals(): us.mn.state.health.lims.testcodes.valueholder.TestSchemaPK
2017-06-07 23:22:49,759 WARN  [ELIS][RootClass] composite-id class does not override hashCode(): us.mn.state.health.lims.testcodes.valueholder.TestSchemaPK
2017-06-07 23:22:49,763 WARN  [ELIS][RootClass] composite-id class does not override equals(): us.mn.state.health.lims.address.valueholder.AddressPK
2017-06-07 23:22:49,763 WARN  [ELIS][RootClass] composite-id class does not override hashCode(): us.mn.state.health.lims.address.valueholder.AddressPK
2017-06-07 23:22:49,764 WARN  [ELIS][RootClass] composite-id class does not override equals(): us.mn.state.health.lims.testcodes.valueholder.OrganizationSchemaPK
2017-06-07 23:22:49,764 WARN  [ELIS][RootClass] composite-id class does not override hashCode(): us.mn.state.health.lims.testcodes.valueholder.OrganizationSchemaPK
2017-06-07 23:22:53,073 ERROR [ELIS][FormSet] Form 'organizationForm' already exists in FormSet[default] - ignoring.
Jun 07, 2017 11:22:53 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8052"]
123600 [Thread-6] INFO org.quartz.core.QuartzScheduler - Scheduler OpenELIS-Scheduler_$_NON_CLUSTERED started.
2017-06-07 23:51:44,030 WARN  [ELIS][NewPooledConnection] [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
2017-06-07 23:51:44,040 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.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)
        at org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.rollback(AtomFeedHibernateTransactionManager.java:88)
        at org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.executeWithTransaction(AtomFeedHibernateTransactionManager.java:49)
        at org.bahmni.feed.openelis.feed.job.event.EventRecordsPublisherTask.execute(EventRecordsPublisherTask.java:22)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:207)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560)
2017-06-07 23:51:44,046 ERROR [ELIS][JDBCTransaction] JDBC rollback failed
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)
        at org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.rollback(AtomFeedHibernateTransactionManager.java:88)
        at org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.executeWithTransaction(AtomFeedHibernateTransactionManager.java:49)
        at org.bahmni.feed.openelis.feed.job.event.EventRecordsPublisherTask.execute(EventRecordsPublisherTask.java:22)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:207)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560)
2017-06-07 23:51:44,049 WARN  [ELIS][NewPooledConnection] [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
2017-06-07 23:51:44,050 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 org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.rollback(AtomFeedHibernateTransactionManager.java:88)
        at org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.executeWithTransaction(AtomFeedHibernateTransactionManager.java:49)
        at org.bahmni.feed.openelis.feed.job.event.EventRecordsPublisherTask.execute(EventRecordsPublisherTask.java:22)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:207)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560)
2017-06-07 23:51:44,052 WARN  [ELIS][NewPooledConnection] [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
2017-06-07 23:51:44,052 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 org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.rollback(AtomFeedHibernateTransactionManager.java:88)
        at org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.executeWithTransaction(AtomFeedHibernateTransactionManager.java:49)
        at org.bahmni.feed.openelis.feed.job.event.EventRecordsPublisherTask.execute(EventRecordsPublisherTask.java:22)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:207)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560)
1735821 [OpenELIS-Scheduler_Worker-1] ERROR org.quartz.core.JobRunShell - Job atom-feed-events-publisher.atom-feed-events-publisherJob threw an unhandled Exception:
org.hibernate.TransactionException: JDBC rollback failed
        at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:170)
        at org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.rollback(AtomFeedHibernateTransactionManager.java:88)
        at org.bahmni.feed.openelis.feed.transaction.support.AtomFeedHibernateTransactionManager.executeWithTransaction(AtomFeedHibernateTransactionManager.java:49)
        at org.bahmni.feed.openelis.feed.job.event.EventRecordsPublisherTask.execute(EventRecordsPublisherTask.java:22)

any update on this thread !! the report are not showing on patient dashboard although LAB order can be receive on Openls

bhandari

Lab order results in ELIS is not showing up in the patient dashboard. Please hints to fix? Thanks

yum list installed | grep bahmni atomfeed-console.noarch 1.0-18 @bahmni
bahmni-emr.noarch 0.90-519 @bahmni
bahmni-erp.noarch 0.90-39 @bahmni
bahmni-erp-connect.noarch 0.90-39 @bahmni
bahmni-implementer-interface.noarch 0.90-93 @bahmni
bahmni-installer.noarch 0.90-308 @/bahmni-installer-0.90-308.noarch bahmni-lab.noarch 0.90-36 @bahmni
bahmni-lab-connect.noarch 0.90-519 @bahmni
bahmni-openmrs.noarch 0.90-56 @bahmni
bahmni-reports.noarch 0.90-41 @bahmni
bahmni-web.noarch 0.90-519 @bahmni
python-gdata.noarch 2.0.11-1.el6 @bahmni

What I understand is that

  1. Your orders from Clinical is going to LAB
  2. Your results from LAB is not getting to EMR (OpenMRS)

Few questions

  1. Have you published your results? (Stupid question - but have to ask)
  2. Do you have the “schedulers” running in OpenMRS? for that, Check - openmrs => admin => manage schedulers - and ensure that " OpenElis Patient Atom Feed Task" is running. (Btw, if you see duplicate tasks in there, you should delete one of them. Check the release notes for further details on this)
  3. Have you checked if the “circuit breaker” kicked in - any system in Bahmni will tolerate a certain level of errors, till it can no longer take a risk of processing further information. The synchronization happens through feeds between systems. To check
  • Check the feed status on Clinical side for processing events from LAB. If you have atomfeed-console installed, you can check by going to the following URL

https://[your server]/atomfeed-console/#/apps/OpenMRS/feedStatus

What does the “count of failed events” say?

  • If you do not “Atomfeed-console”, check in database directly (mysql ‘openmrs’ db)

select count(*) from failed_events;

If the number is high (more than that specified in /opt/openmrs/bahmnicore.properties file) then the sync may not start on its own.

Hope the above helps in narrowing down the problem.

Hello @angshuonline, I also seem to having run into the same senario with bahmni 0.9, the lab results are captured, but do not show on the Patient dashboard On checking on the schedulers the had stopped, have tried start and they don’'t.

Thank you

You have some of the schedulers stopped! check “OpenELIS Patient Atom Feed Task”; you need to keep that job running.

Also, seems like you some schedulers duplicate. You can verify whether you have duplicate task configured by either checking the scheduler console (as above) or running the following query

select schedulable_class, count (*) from scheduler_task_config group by schedulable_class;

@angshuoline these are my findings on the Atom feed

Could these be the duplicate schedulers on the console? > OpenElis Patient Atom Feed Task

Thank you

Tried the above query and was getting an error so ran this one: image

Actually, you want to check duplicate schedulers by the schedulable_class here. So you want to put the other query. The above query had a space between “count” and “(”. Run the below one.

select schedulable_class, count(*) from scheduler_task_config group by schedulable_class;

Remove the duplicates - keep one for per schedulable_class entry in the scheduler_task_config table. (Note: it is possible to have multiple rows per schedulable_class in openmrs, but in Bahmni so far we haven’t had any, and all the existing schedulers are supposed to be declared just once.

Run the schedulers. (or restart OpenMRS service)

Ran the query

Also checked the Atom feed module on the Openmrs Administration page and it had stopped. used these queries on both openmrs and openelis DB

  • delete from failed_events;
  • delete from event_records;
  • delete from markers;
  • delete from event_records_offset_marker;
  • delete from event_records_queue;

Then had to start the Atom feed module and restart the openmrs service it worked.

Thank you

1 Like

@angshuonline I have created a new patient and added all the info in the consultation, For labs I went to Openelis and filled the data but it is not displaying in the patient dashboard. I am using bahmni version 0.92.

When I execute

https://[your server]/atomfeed-console/#/apps/OpenMRS/feedStatus

then no errors shown, in admin the openelis is up and running already. What might be the issue.

check “failed_events” table in openmrs. Also if you have the atomfeed console component installed check status over there

@angshuonline My “Failed_events” as suggested by @ejustine I have removed my “Failed_eventns” table. and as I already told my atomfeed console is showing empty, Is there any other way to identify them.

Don’t delete the “failed_events” table, before you figure out whats wrong! failed events table lets you know which event has failed and if there is any associated error! So try to figure out which event and why it failed first. also there is a “retries” column - try setting it to 0 for that record. then it will be retried again (max 5 attempts). and you can then tail and keep watching the log “/var/log/openmrs.log” … and see if you get more information in it.

1 Like

@angshuonline Lab results are not syncing with OpenMRS Used all the standard methods of clearing markers, failed_events etc. But we keep seeing this error failed_events of openmrs database.

| 12 | http://localhost:8052/openelis/ws/feed/patient/recent | 2020-08-16 01:58:31 | Failed processing event in feed [http://localhost:8052/openelis/ws/feed/patient/3] Don’t know how to handle ZZjava.lang.RuntimeException: Don’t know how to handle ZZ

But the atomfeed-console->OpenMRS is not showing anything. It is not even showing the Feed URI which should have shown http://localhost:8052/openelis/ws/feed/patient/recent Please help.