lab results not showing on bahmni patient dashbord


(Tumganile Magingo) #1

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


(Gurpreet Luthra) #2
  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?

(andrew bhandari) #3

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)

(andrew bhandari) #4

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

bhandari


(Krishna Shetty) #5

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


(Krishna Shetty) #6

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


(Angshuman Sarkar) #7

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.


(justine etaku) #8

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


(Angshuman Sarkar) #9

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;


(justine etaku) #10

@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


(justine etaku) #11

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


(Angshuman Sarkar) #12

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)


(justine etaku) #13

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