Sending a message to the Orderer - Drug Order / Pharmacy Module

Hi @hariniparth, I am a newbie to OpenMRS module development and Spring framework. I got access to Drug Orders module on your github page and was able to compile it. When I uploaded the omod file in OpenMRS, it shows two links ‘Manage module’ and ‘Administration’ under the heading of Drug Orders module. But on clicking Manage module link, it displays nothing just the following screenshot.

And throws an exception when I tried to access Administration page:

Please help me with this. I second @hpardess that a step by step screenshots based ReadMe file would definitely help developers explore your module easily.

I look forward to your kind cooperation.

Many thanks, Tahira

Hello Tahira,

Thanks for reaching out to me. Here is the link to the Drug Order and Pharmacy module repository - https://github.com/HariniParth/OpenMRS-DrugOrders-Pharmacy

I will be happy to share the user guide for this module as well after making a few changes. I will get back to you with that soon.

Also, here is the link to the Youtube videos describing the functionality of the module.

(https://www.youtube.com/watch?v=Jq4Umlopw6w&index=1&list=PLtI3geVLx5pC4M-IAL2oQ2LjR2En6OglH&t=5s)

Regards, Harini

Thanks for responding Harini. Highly appreciated.

Hoping to hear from you soon :slight_smile:

Hi Tahira,

Please find the link to the User Guide here - User Guide

Thanks, Harini

Thanks Harini, it is really helpful.

Hi Harini,

I am unable to upload this module in OpenMRS. After uploading it says that the module is started successfully but in actual, it didn’t…

And when I explicitly start it, it does not start because of an error.

Apologies… last post was not complete. I was able to compile and generate omod file successfully through executing mvn -U clean install.

I request you to please help me install this module in OpenMRS.

Hi Tahira,

Sorry for the delay in response. Are you using OpenMRS 2.3 Standalone or something else? Because, that is what I developed the module on.

Hi Harini,

No problem. Thanks for responding though. I have tried it on OpenMRS 1.11.4 and 1.11.6. So, is it not compatible with this version of OpenMRS?

Hi Tahira,

It should be compatible with 1.11.4

Can you please guide me, what am I missing?

Sure, could you please share the error logs with me.

I’m encountering this error in the drugorders-omod/pom.xml

Plugin execution not covered by lifecycle configuration: de.saumya.mojo:gem-maven-plugin:1.1.5:exec (execution: default, phase: generate-resources)

here is the piece of code which throws error…

<plugin>
            <groupId>de.saumya.mojo</groupId>
            <artifactId>gem-maven-plugin</artifactId>
            <extensions>true</extensions>
            <executions>
                <execution>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                    <phase>generate-resources</phase>
                </execution>
            </executions>
            <configuration>
                <jrubyVersion>1.7.10</jrubyVersion>
                <execArgs>${project.build.directory}/rubygems/bin/compass compile ${basedir}/src/main/compass</execArgs>
            </configuration>
        </plugin>

If I select “Permanently mark goal exec in pom.xml as ignored in Eclipse build”, it starts building successfully. Do you think this would solve the issue? please suggest an alternative if so…

Here are the logs…


INFO - LoggingAdvice.invoke(155) |2017-08-29 11:32:18,871| Exiting method deleteOldReportRequests WARN - HibernateConceptDAO.getConceptByName(1741) |2017-08-29 11:32:29,660| Multiple concepts found for ‘Other’ WARN - ModuleUtil.refreshApplicationContext(879) |2017-08-29 11:32:29,814| Unable to invoke started() method on the module’s activator org.openmrs.api.DuplicateConceptNameException: ‘Other’ is a duplicate name in locale ‘en_US’ at org.openmrs.validator.ConceptValidator.validate(ConceptValidator.java:166) at org.openmrs.api.db.hibernate.HibernateAdministrationDAO.validate(HibernateAdministrationDAO.java:369) at org.openmrs.api.impl.AdministrationServiceImpl.validate(AdministrationServiceImpl.java:1248) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy568.validate(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.openmrs.aop.LoggingAdvice.invoke(LoggingAdvice.java:121) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy569.validate(Unknown Source) at org.openmrs.validator.ValidateUtil.validate(ValidateUtil.java:64) at org.openmrs.aop.RequiredDataAdvice.before(RequiredDataAdvice.java:124) at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy557.saveConcept(Unknown Source) at org.openmrs.module.drugorders.drugordersActivator.saveConcept(drugordersActivator.java:328) ** at org.openmrs.module.drugorders.drugordersActivator.started(drugordersActivator.java:115)** at org.openmrs.module.ModuleUtil.refreshApplicationContext(ModuleUtil.java:875) at org.openmrs.module.web.WebModuleUtil.refreshWAC(WebModuleUtil.java:962) at org.openmrs.module.web.WebModuleUtil.startModule(WebModuleUtil.java:323) at org.openmrs.module.web.controller.ModuleListController.onSubmit(ModuleListController.java:177) at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:272) at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:268) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:72) at org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:54) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:109) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:230) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2442) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2431) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) WARN - OpenmrsUtil.deleteDirectory(1112) |2017-08-29 11:32:29,821| …could not remove directory: C:\Apache\apache-tomcat-7.0.54\temp\1503985858529.openmrs-lib-cache\drugorders\lib WARN - OpenmrsUtil.deleteDirectory(1112) |2017-08-29 11:32:29,899| …could not remove directory: C:\Apache\apache-tomcat-7.0.54\temp\1503985858529.openmrs-lib-cache\drugorders ERROR - CommonsLoggingOutput.error(75) |2017-08-29 11:32:29,978| Line=60 The content of element type “dwr” must match “(init?,allow?,signatures?)”. ERROR - CommonsLoggingOutput.error(75) |2017-08-29 11:32:29,980| Parameter mismatch parsing signatures section in dwr.xml on line: DWRHtmlFormEntryService.checkIfLoggedIn() ERROR - CommonsLoggingOutput.error(75) |2017-08-29 11:32:29,995| Parameter mismatch parsing signatures section in dwr.xml on line: DWREncounterService.findEncounters(String phrase, Integer patientId, boolean includeVoided)

After introducing try/catch, it resulted in the trivial Null pointer exception error. Here are the logs below:


ERROR - CommonsLoggingOutput.error(75) |2017-08-29 11:47:39,525| Line=60 The content of element type “dwr” must match “(init?,allow?,signatures?)”. ERROR - CommonsLoggingOutput.error(75) |2017-08-29 11:47:39,533| Parameter mismatch parsing signatures section in dwr.xml on line: DWRHtmlFormEntryService.checkIfLoggedIn() ERROR - CommonsLoggingOutput.error(75) |2017-08-29 11:47:39,543| Parameter mismatch parsing signatures section in dwr.xml on line: DWREncounterService.findEncounters(String phrase, Integer patientId, boolean includeVoided) ERROR - JDBCExceptionReporter.logExceptions(234) |2017-08-29 11:57:37,202| java.lang.OutOfMemoryError: GC overhead limit exceeded ERROR - TokenServiceImpl.startupProviderWithoutDaemon(114) |2017-08-29 11:57:37,203| Error starting class org.openmrs.logic.datasource.ObsDataSource org.hibernate.exception.GenericJDBCException: could not initialize a collection batch: [org.openmrs.Concept.names#<162820, 156673, 139119, 80971, 134451, 139105, 164845, 136621, 143963, 125589, 124631, 104314, 124622, 78194, 154974, 137056, 130756, 132412, 126251, 123945, 110332, 113821, 135378, 130086, 143534>] at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.loader.Loader.loadCollectionBatch(Loader.java:2211) at org.hibernate.loader.collection.BatchingCollectionInitializer.initialize(BatchingCollectionInitializer.java:81) at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:627) at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:83) at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1863) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:369) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:111) at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:186) at org.openmrs.Concept.getNames(Concept.java:1214) at org.openmrs.Concept.getNames(Concept.java:1197) at org.openmrs.Concept.getNames(Concept.java:842) at org.openmrs.Concept.getPreferredName(Concept.java:752) at sun.reflect.GeneratedMethodAccessor322.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197) at org.openmrs.Concept_$$jvst65b_10.getPreferredName(Concept$$_jvst65b_10.java) at org.openmrs.logic.datasource.ObsDataSource.getAllKeysAndTokens(ObsDataSource.java:177) at org.openmrs.logic.rule.provider.RegisterAtStartupDataSourceRuleProvider.afterStartup(RegisterAtStartupDataSourceRuleProvider.java:38) at org.openmrs.logic.token.impl.TokenServiceImpl.startupProviderWithoutDaemon(TokenServiceImpl.java:112) at org.openmrs.logic.token.impl.TokenServiceImpl.startupProviderAsDaemon(TokenServiceImpl.java:99) at org.openmrs.logic.token.impl.TokenServiceImpl.initialize(TokenServiceImpl.java:72) at org.openmrs.logic.token.impl.TokenServiceImpl.onStartup(TokenServiceImpl.java:64) at sun.reflect.GeneratedMethodAccessor1486.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.openmrs.aop.LoggingAdvice.invoke(LoggingAdvice.java:121) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy899.onStartup(Unknown Source) at org.openmrs.api.context.Daemon$4.run(Daemon.java:224) Caused by: java.sql.SQLException: java.lang.OutOfMemoryError: GC overhead limit exceeded at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920) at com.mysql.jdbc.Util.handleNewInstance(Util.java:435) at com.mysql.jdbc.PreparedStatement.getInstance(PreparedStatement.java:882) at com.mysql.jdbc.ConnectionImpl.clientPrepareStatement(ConnectionImpl.java:1573) at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4597) at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4495) at com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement(NewProxyConnection.java:213) at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534) at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452) at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1700) at org.hibernate.loader.Loader.doQuery(Loader.java:801) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274) at org.hibernate.loader.Loader.loadCollectionBatch(Loader.java:2204) … 37 more ERROR - TaskUtils$LoggingErrorHandler.handleError(95) |2017-08-29 11:58:23,703| Unexpected error occurred in scheduled task. java.lang.OutOfMemoryError: GC overhead limit exceeded WARN - ModuleUtil.getResourceFromInnerJar(1177) |2017-08-29 11:59:49,278| Could not delete temporary jarfile: C:\Apache\apache-tomcat-7.0.54\temp\tempFile3362558811635626039jar WARN - ModuleUtil.getResourceFromInnerJar(1177) |2017-08-29 11:59:49,284| Could not delete temporary jarfile: C:\Apache\apache-tomcat-7.0.54\temp\tempFile2631454568340090384jar WARN - ModuleUtil.getResourceFromInnerJar(1177) |2017-08-29 11:59:49,290| Could not delete temporary jarfile: C:\Apache\apache-tomcat-7.0.54\temp\tempFile4853912899652669602jar WARN - ModuleUtil.getResourceFromInnerJar(1177) |2017-08-29 11:59:49,647| Could not delete temporary jarfile: C:\Apache\apache-tomcat-7.0.54\temp\tempFile8479899531786788362jar WARN - ModuleUtil.getResourceFromInnerJar(1177) |2017-08-29 11:59:49,654| Could not delete temporary jarfile: C:\Apache\apache-tomcat-7.0.54\temp\tempFile5401930386458056568jar INFO - LoggingAdvice.invoke(115) |2017-08-29 11:59:49,749| In method AdministrationService.saveGlobalProperty. Arguments: GlobalProperty=property: drugorders.started value: true, INFO - LoggingAdvice.invoke(155) |2017-08-29 11:59:49,754| Exiting method saveGlobalProperty INFO - LoggingAdvice.invoke(115) |2017-08-29 11:59:49,763| In method AdministrationService.saveGlobalProperty. Arguments: GlobalProperty=property: drugorders.mandatory value: false, INFO - LoggingAdvice.invoke(155) |2017-08-29 11:59:49,765| Exiting method saveGlobalProperty INFO - LoggingAdvice.invoke(115) |2017-08-29 11:59:49,823| In method SchedulerService.saveToMemento. Arguments: INFO - LoggingAdvice.invoke(155) |2017-08-29 11:59:49,881| Exiting method saveToMemento INFO - ServiceContext.startRefreshingContext(902) |2017-08-29 11:59:49,887| Refreshing Context INFO - AbstractSessionFactoryBean.destroy(223) |2017-08-29 11:59:49,905| Closing Hibernate SessionFactory WARN - DisposableBeanAdapter.destroy(247) |2017-08-29 11:59:49,905| Invocation of destroy method failed on bean with name ‘sessionFactory’: org.hibernate.cache.CacheException: java.lang.IllegalStateException: The CacheManager has been shut down. It can no longer be used. INFO - LocalSessionFactoryBean.buildSessionFactory(780) |2017-08-29 11:59:53,705| Building new Hibernate SessionFactory INFO - ServiceContext.doneRefreshingContext(913) |2017-08-29 11:59:56,075| Done refreshing Context INFO - LoggingAdvice.invoke(115) |2017-08-29 12:00:03,905| In method AdministrationService.saveGlobalProperty. Arguments: GlobalProperty=property: order.drugDispensingUnitsConceptUuid value: 162384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, INFO - LoggingAdvice.invoke(155) |2017-08-29 12:00:03,909| Exiting method saveGlobalProperty INFO - LoggingAdvice.invoke(115) |2017-08-29 12:00:03,913| In method AdministrationService.saveGlobalProperty. Arguments: GlobalProperty=property: order.drugDosingUnitsConceptUuid value: 162384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, INFO - LoggingAdvice.invoke(155) |2017-08-29 12:00:03,915| Exiting method saveGlobalProperty INFO - LoggingAdvice.invoke(115) |2017-08-29 12:00:03,919| In method AdministrationService.saveGlobalProperty. Arguments: GlobalProperty=property: order.drugRoutesConceptUuid value: 162394AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, INFO - LoggingAdvice.invoke(155) |2017-08-29 12:00:03,922| Exiting method saveGlobalProperty INFO - LoggingAdvice.invoke(115) |2017-08-29 12:00:03,925| In method AdministrationService.saveGlobalProperty. Arguments: GlobalProperty=property: order.durationUnitsConceptUuid value: 1732AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, INFO - LoggingAdvice.invoke(155) |2017-08-29 12:00:03,930| Exiting method saveGlobalProperty INFO - LoggingAdvice.invoke(115) |2017-08-29 12:00:05,199| In method ReportService.deleteOldReportRequests. Arguments: INFO - LoggingAdvice.invoke(155) |2017-08-29 12:00:05,206| Exiting method deleteOldReportRequests WARN - HibernateConceptDAO.getConceptByName(1741) |2017-08-29 12:00:24,137| Multiple concepts found for ‘Other’ WARN - HibernateConceptDAO.getConceptByName(1741) |2017-08-29 12:00:26,791| Multiple concepts found for ‘Other’ WARN - ModuleUtil.refreshApplicationContext(879) |2017-08-29 12:00:26,793| Unable to invoke started() method on the module’s activator java.lang.NullPointerExction **at org.openmrs.module.drugorders.drugordersActivator.started(drugordersActivator.java:140) at org.openmrs.module.ModuleUtil.refreshApplicationContext(ModuleUtil.java:875) at org.openmrs.module.web.WebModuleUtil.refreshWAC(WebModuleUtil.java:962) at org.openmrs.module.web.WebModuleUtil.startModule(WebModuleUtil.java:323) at org.openmrs.module.web.controller.ModuleListController.onSubmit(ModuleListController.java:177) at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:272) at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:268) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:72) at org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:54) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:109) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:230) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:105) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2442) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2431) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) WARN - OpenmrsUtil.deleteDirectory(1112) |2017-08-29 12:00:26,800| …could not remove directory: C:\Apache\apache-tomcat-7.0.54\temp\1503985858529.openmrs-lib-cache\drugorders\lib WARN - OpenmrsUtil.deleteDirectory(1112) |2017-08-29 12:00:26,884| …could not remove directory: C:\Apache\apache-tomcat-7.0.54\temp\1503985858529.openmrs-lib-cache\drugorders ERROR - CommonsLoggingOutput.error(75) |2017-08-29 12:00:28,259| Line=60 The content of element type “dwr” must match “(init?,allow?,signatures?)”. ERROR - CommonsLoggingOutput.error(75) |2017-08-29 12:00:28,261| Parameter mismatch parsing signatures section in dwr.xml on line: DWRHtmlFormEntryService.checkIfLoggedIn() ERROR - CommonsLoggingOutput.error(75) |2017-08-29 12:00:29,345| Parameter mismatch parsing signatures section in dwr.xml on line: DWREncounterService.findEncounters(String phrase, Integer patientId, boolean includeVoided)

Thank you for sharing the logs. It seems like a Concept for ‘Other’ was attempted to be created and added to a Concept Class but that failed. Let me go through the logs in more detail and get back to you.

Hi Tahira,

I am still working on fixing some issues. I hope you will be able to successfully install it after that.

Hi Harini,

Thank you for your time and efforts. Are the issues fixed now so that I can install it?

Hi Tahira, just making some final changes. Hopefully, I can fix it by tonight. I will let you know.

Hi Tahira,

I am presently working on editing a DrugOrder record. Until now, I have revised a drug order record to edit it which basically creates a new drug order record. Do you know if there is a way I can edit the fields of an existing record.

Error message: Cannot edit an existing order, you need to revise it instead org.openmrs.api.APIException: Cannot edit an existing order, you need to revise it instead

Thanks!

Thanks Harini, this might help you that why you are unable to edit an existing drug order…