bahmni-standard docker PACS configuration

Application Name: Bahmni Version Number: bahmni-standard 1.0.0 beta

Question: I am trying to set up bahmni-standard 1.0.0 beta using docker. I followed the documentation regarding setting up bahmni using docker compose, and most of the system is running fine. But the PACS integration is not properly working, I followed the docs here, but I cannot see any orders appearing in dcm4chee.

I started everything with the docker compose profile ‘bahmni-standard’, and the containers are up and running so I think there is an error in my configuration. What could I do to further troubleshoot this?

@mohant Can you help out, please? Thanks.

Please check the logs of pacs-integration service.

Hi together, these are the logs of the pacs-integration service:

[INFO] Substituting Environment Variables
Waiting for pacsdb..
Updating OpenMRS Host Port in markers and failed_events table
UPDATE 1
UPDATE 1
Waiting for openmrs..
[INFO] Starting Application
OpenJDK 64-Bit Server VM warning: ignoring option PermSize=256m; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
Listening for transport dt_socket at address: 8000
Aug 26, 2024 7:43:35 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8054"]
Aug 26, 2024 7:43:35 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Aug 26, 2024 7:43:35 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Tomcat
Aug 26, 2024 7:43:35 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.42
Aug 26, 2024 7:43:35 AM org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment
INFO: No global web.xml found
Aug 26, 2024 7:43:37 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Aug 26, 2024 7:43:37 AM org.apache.catalina.core.ApplicationContext log
INFO: Spring WebApplicationInitializers detected on classpath: [org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration@e3d3bd9, org.bahmni.module.PacsIntegration@620d36ea]
2024-08-26 07:43:37,704 localhost-startStop-1 INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.2.4.RELEASE)

INFO 8/26/24 7:43 AM: liquibase: Successfully acquired change log lock
INFO 8/26/24 7:43 AM: liquibase: Reading from public.databasechangelog
INFO 8/26/24 7:43 AM: liquibase: Successfully released change log lock
2024-08-26 07:43:41,164 main INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
2024-08-26 07:43:41,167 main INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.

So I dont see any activity in the pacs-integration service, I did however see something interesting in the OpenMRS logs, there seems to be an issue with the configuration between OpenMRS and the PACS system:

26-Aug-2024 07:44:22.503 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
26-Aug-2024 07:44:22.509 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 47640 ms
WARN - OpenmrsJspServlet.rescanTldsIfNeeded(56) |2024-08-26T07:44:22,606| Rescanning TLDs
26-Aug-2024 07:44:22.720 INFO [http-nio-8080-exec-3] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
ERROR - BahmniExtensions.getExtension(32) |2024-08-26T07:45:52,820| File not found /openmrs/data/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
ERROR - BahmniExtensions.getExtension(32) |2024-08-26T07:45:54,942| File not found /openmrs/data/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
ERROR - BahmniExtensions.getExtension(32) |2024-08-26T07:45:58,471| File not found /openmrs/data/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
ERROR - BahmniExtensions.getExtension(32) |2024-08-26T07:45:58,517| File not found /openmrs/data/bahmni_config/openmrs/observationsAdder/CurrentMonthOfTreatment.groovy
WARN - ObsToObsTabularFlowSheetController.getPivotTableByFormNames(150) |2024-08-26T07:45:58,532| Form name(s) and concept name(s) are required for forms 2.0
ERROR - DicomStudiesQueryController.fetchStudies(41) |2024-08-26T07:45:58,583| Error occurred while trying to query PACS server
java.lang.UnsupportedOperationException: Pacs Server configuration not setup
	at org.bahmni.module.pacsquery.service.impl.Dcm4cheServiceImpl.findStudies(Dcm4cheServiceImpl.java:73) ~[pacsquery-api-1.4.0.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_372]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_372]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_372]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_372]
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.cache.interceptor.CacheInterceptor.lambda$invoke$0(CacheInterceptor.java:53) ~[spring-context-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:352) ~[spring-context-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61) ~[spring-context-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.openmrs.aop.LoggingAdvice.invoke(LoggingAdvice.java:123) ~[openmrs-api-2.5.12.jar:?]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) ~[spring-aop-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at com.sun.proxy.$Proxy274.findStudies(Unknown Source) ~[?:?]
	at org.bahmni.module.pacsquery.web.controller.DicomStudiesQueryController.fetchStudies(DicomStudiesQueryController.java:38) ~[pacsquery.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_372]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_372]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_372]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_372]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) ~[spring-webmvc-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) ~[spring-webmvc-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) ~[spring-webmvc-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) ~[spring-webmvc-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:489) ~[servlet-api.jar:?]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:583) ~[servlet-api.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:212) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:60) ~[legacyui.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-websocket.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:73) ~[openmrs-web-2.5.12.jar:?]
	at org.openmrs.web.filter.GZIPFilter.doFilterInternal(GZIPFilter.java:65) ~[openmrs-web-2.5.12.jar:?]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:71) ~[openmrs-web-2.5.12.jar:?]
	at org.openmrs.module.webservices.rest.web.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:121) ~[webservices.rest-omod-common-2.44.0.jar:?]
	at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:71) ~[openmrs-web-2.5.12.jar:?]
	at org.openmrs.module.webservices.rest.web.filter.ContentTypeFilter.doFilter(ContentTypeFilter.java:64) ~[webservices.rest-omod-common-2.44.0.jar:?]
	at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:71) ~[openmrs-web-2.5.12.jar:?]
	at org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:106) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:71) ~[openmrs-web-2.5.12.jar:?]
	at org.openmrs.module.owa.filter.OwaFilter.doFilter(OwaFilter.java:93) ~[owa.jar:?]
	at org.openmrs.module.owa.filter.OwaFilter.doFilter(OwaFilter.java:61) ~[owa.jar:?]
	at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:71) ~[openmrs-web-2.5.12.jar:?]
	at org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:57) ~[openmrs-web-2.5.12.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:105) ~[openmrs-web-2.5.12.jar:?]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.openmrs.web.filter.CookieClearingFilter.doFilterInternal(CookieClearingFilter.java:77) ~[openmrs-web-2.5.12.jar:?]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:156) ~[spring-orm-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:110) ~[openmrs-web-2.5.12.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:110) ~[openmrs-web-2.5.12.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:110) ~[openmrs-web-2.5.12.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.14.RELEASE.jar:5.2.14.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[catalina.jar:8.5.88]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) ~[catalina.jar:8.5.88]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[catalina.jar:8.5.88]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:682) ~[catalina.jar:8.5.88]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[catalina.jar:8.5.88]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[catalina.jar:8.5.88]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:617) ~[tomcat-coyote.jar:8.5.88]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-coyote.jar:8.5.88]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:932) ~[tomcat-coyote.jar:8.5.88]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1695) ~[tomcat-coyote.jar:8.5.88]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-coyote.jar:8.5.88]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-util.jar:8.5.88]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-util.jar:8.5.88]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.5.88]
	at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_372]
INFO - OrderServiceImpl.getOrderNumberGenerator(381) |2024-08-26T07:46:08,638| Setting default order number generator

I followed this: https://bahmni.atlassian.net/wiki/spaces/BAH/pages/3117613179/PACS+Configurations+docker#One-time-setup-for-pacs-integration

And also performed the steps described in step 4 here: https://bahmni.atlassian.net/wiki/spaces/BAH/pages/36077574/Setup+DCM4CHEE+Server+with+Oviyam2

I started the whole system with the bahmni-standard compose profile which should start all required dependencies and it should start with a correct configuration, right? Or am I missing some manual steps here? I made sure to start everything fresh, so I deleted all previously existing docker volumes which might have contained data from previous runs.

Did you try placing a radiology order ? Also can you check the failed events in pacs-integration database

Thanks for the answer, yes I placed an radiology order through:

Clinical → Selected my patient → Consultation → Orders → Radiology Orders → Selected a random one (X-ray of mandible)

I can see the order I placed through the ‘Orders’ button in Bahmni.

These are the logs of the pacsdb container (exported after I placed the order):

➜  ~ docker logs bahmni-standard-pacsdb-1 

PostgreSQL Database directory appears to contain a database; Skipping initialization

LOG:  incomplete startup packet
LOG:  database system was shut down at 2024-08-27 08:22:26 UTC
FATAL:  the database system is starting up
LOG:  MultiXact member wraparound protections are now enabled
LOG:  autovacuum launcher started
LOG:  database system is ready to accept connections
LOG:  incomplete startup packet
ERROR:  relation "jbm_dual" already exists
STATEMENT:  CREATE TABLE JBM_DUAL (DUMMY INTEGER, PRIMARY KEY (DUMMY))
ERROR:  relation "jbm_msg_ref" already exists
STATEMENT:  CREATE TABLE JBM_MSG_REF (MESSAGE_ID BIGINT, CHANNEL_ID BIGINT, TRANSACTION_ID BIGINT, STATE CHAR(1), ORD BIGINT, PAGE_ORD BIGINT, DELIVERY_COUNT INTEGER, SCHED_DELIVERY BIGINT, PRIMARY KEY(MESSAGE_ID, CHANNEL_ID))
ERROR:  relation "jbm_msg_ref_tx" already exists
STATEMENT:  CREATE INDEX JBM_MSG_REF_TX ON JBM_MSG_REF (TRANSACTION_ID, STATE)
ERROR:  relation "jbm_msg" already exists
STATEMENT:  CREATE TABLE JBM_MSG (MESSAGE_ID BIGINT, RELIABLE CHAR(1), EXPIRATION BIGINT, TIMESTAMP BIGINT, PRIORITY SMALLINT, TYPE SMALLINT, HEADERS BYTEA, PAYLOAD BYTEA, PRIMARY KEY (MESSAGE_ID))
ERROR:  relation "jbm_tx" already exists
STATEMENT:  CREATE TABLE JBM_TX (NODE_ID INTEGER, TRANSACTION_ID BIGINT, BRANCH_QUAL BYTEA, FORMAT_ID INTEGER, GLOBAL_TXID BYTEA, PRIMARY KEY (TRANSACTION_ID))
ERROR:  relation "jbm_counter" already exists
STATEMENT:  CREATE TABLE JBM_COUNTER (NAME VARCHAR(255), NEXT_ID BIGINT, PRIMARY KEY(NAME))
ERROR:  relation "jbm_id_cache" already exists
STATEMENT:  CREATE TABLE JBM_ID_CACHE (NODE_ID INTEGER, CNTR INTEGER, JBM_ID VARCHAR(255), PRIMARY KEY(NODE_ID, CNTR))
ERROR:  duplicate key value violates unique constraint "jbm_dual_pkey"
DETAIL:  Key (dummy)=(1) already exists.
STATEMENT:  INSERT INTO JBM_DUAL VALUES (1)
ERROR:  relation "jbm_user" already exists
STATEMENT:  CREATE TABLE JBM_USER (USER_ID VARCHAR(32) NOT NULL, PASSWD VARCHAR(32) NOT NULL, CLIENTID VARCHAR(128), PRIMARY KEY(USER_ID))
ERROR:  relation "jbm_role" already exists
STATEMENT:  CREATE TABLE JBM_ROLE (ROLE_ID VARCHAR(32) NOT NULL, USER_ID VARCHAR(32) NOT NULL, PRIMARY KEY(USER_ID, ROLE_ID))
ERROR:  duplicate key value violates unique constraint "jbm_role_pkey"
DETAIL:  Key (user_id, role_id)=(john, subscriber) already exists.
STATEMENT:  INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('subscriber','john')
ERROR:  duplicate key value violates unique constraint "jbm_role_pkey"
DETAIL:  Key (user_id, role_id)=(guest, john) already exists.
STATEMENT:  INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('john','guest')
ERROR:  duplicate key value violates unique constraint "jbm_role_pkey"
DETAIL:  Key (user_id, role_id)=(nobody, noacc) already exists.
STATEMENT:  INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('noacc','nobody')
ERROR:  duplicate key value violates unique constraint "jbm_role_pkey"
DETAIL:  Key (user_id, role_id)=(guest, j2ee) already exists.
STATEMENT:  INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('j2ee','guest')
ERROR:  duplicate key value violates unique constraint "jbm_role_pkey"
DETAIL:  Key (user_id, role_id)=(dynsub, durpublisher) already exists.
STATEMENT:  INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('durpublisher','dynsub')
ERROR:  duplicate key value violates unique constraint "jbm_role_pkey"
DETAIL:  Key (user_id, role_id)=(guest, guest) already exists.
STATEMENT:  INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('guest','guest')
ERROR:  duplicate key value violates unique constraint "jbm_role_pkey"
DETAIL:  Key (user_id, role_id)=(john, durpublisher) already exists.
STATEMENT:  INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('durpublisher','john')
ERROR:  duplicate key value violates unique constraint "jbm_user_pkey"
DETAIL:  Key (user_id)=(dynsub) already exists.
STATEMENT:  INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('dynsub', 'dynsub')
ERROR:  duplicate key value violates unique constraint "jbm_role_pkey"
DETAIL:  Key (user_id, role_id)=(dynsub, publisher) already exists.
STATEMENT:  INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('publisher','dynsub')
ERROR:  duplicate key value violates unique constraint "jbm_user_pkey"
DETAIL:  Key (user_id)=(nobody) already exists.
STATEMENT:  INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('nobody', 'nobody')
ERROR:  duplicate key value violates unique constraint "jbm_role_pkey"
DETAIL:  Key (user_id, role_id)=(john, publisher) already exists.
STATEMENT:  INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('publisher','john')
ERROR:  duplicate key value violates unique constraint "jbm_user_pkey"
DETAIL:  Key (user_id)=(john) already exists.
STATEMENT:  INSERT INTO JBM_USER (USER_ID, PASSWD, CLIENTID) VALUES ('john', 'needle', 'DurableSubscriberExample')
ERROR:  duplicate key value violates unique constraint "jbm_user_pkey"
DETAIL:  Key (user_id)=(j2ee) already exists.
STATEMENT:  INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('j2ee', 'j2ee')
ERROR:  duplicate key value violates unique constraint "jbm_user_pkey"
DETAIL:  Key (user_id)=(guest) already exists.
STATEMENT:  INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('guest', 'guest')
ERROR:  relation "jbm_postoffice" already exists
STATEMENT:  CREATE TABLE JBM_POSTOFFICE (POSTOFFICE_NAME VARCHAR(255), NODE_ID INTEGER, QUEUE_NAME VARCHAR(255), COND VARCHAR(1023), SELECTOR VARCHAR(1023), CHANNEL_ID BIGINT, CLUSTERED CHAR(1), ALL_NODES CHAR(1), PRIMARY KEY(POSTOFFICE_NAME, NODE_ID, QUEUE_NAME))
ERROR:  relation "ht_order_details" already exists
STATEMENT:  create table HT_order_details (id integer not null, hib_sess_id CHAR(36))
ERROR:  relation "ht_quartz_cron_scheduler" already exists
STATEMENT:  create table HT_quartz_cron_scheduler (id integer not null, hib_sess_id CHAR(36))
ERROR:  relation "ht_modality" already exists
STATEMENT:  create table HT_modality (id integer not null, hib_sess_id CHAR(36))
ERROR:  relation "ht_order_type" already exists
STATEMENT:  create table HT_order_type (id integer not null, hib_sess_id CHAR(36))
ERROR:  relation "ht_test_order" already exists
STATEMENT:  create table HT_test_order (id integer not null, hib_sess_id CHAR(36))

No matter what I do with orders in Bahmni, I can never see any activity in the pacsdb.

Did you add the PACS procedure code mapping to the concept? That is missing IMO.

Yes, I added the PACS procedure code mapping to the concept:

Is there a chance that I added the concept wrong? I followed the steps here

There is a table named failed_events in pacs-integration database. Can you check for the entries in that table ?

These are the entries in the failed_events table:

failed_events.csv (8.9 KB)

As you can see, the failed_events says the concept is missing the concept source for mapping

This is the concept source:

Where is the mapping going wrong?