integrating "openmrs-module-radiology" in openmrs

application Name: Platform openmrs, openmrs-module-radiology Version Number: 2.0.5

Hi, I’m a student and I’m working on the integration of openmrs-module-radiology in openmrs on my thesis. I have built and installed the openmrs-module-radiology as described in the following tutorial: https://github.com/openmrs/openmrs-module-radiology#openmrs-module-radiology. I’m facing a problem while trying to start the module and I’m getting this error: WARN - ModuleFactory.startModuleInternal(788) |2017-06-29 12:35:51,070| Error while trying to start module: radiology org.openmrs.module.ModuleException: Unable to update data model using liquibase.xml. Module: Radiology at org.openmrs.module.ModuleFactory.runLiquibase(ModuleFactory.java:1034) at org.openmrs.module.ModuleFactory.startModuleInternal(ModuleFactory.java:728) at org.openmrs.api.context.Daemon$1.run(Daemon.java:74) Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set liquibase.xml::radiology-4::juanp: Reason: liquibase.exception.DatabaseException: Error executing SQL CREATE TABLE radiology_study (id INT AUTO_INCREMENT NOT NULL, uid VARCHAR(255) NULL, order_id INT NULL, scheduled_status INT DEFAULT -1 NULL, performed_status INT DEFAULT -1 NULL, priority INT DEFAULT -1 NULL, modality INT DEFAULT -1 NULL, scheduler_user_id INT DEFAULT -1 NULL, performing_physician_user_id INT DEFAULT -1 NULL, reading_physician_user_id INT DEFAULT -1 NULL, mwl_status INT DEFAULT -1 NULL, CONSTRAINT PK_RADIOLOGY_STUDY PRIMARY KEY (id), UNIQUE (order_id)): Table ‘radiology_study’ already exists: Caused By: Error executing SQL CREATE TABLE radiology_study (id INT AUTO_INCREMENT NOT NULL, uid VARCHAR(255) NULL, order_id INT NULL, scheduled_status INT DEFAULT -1 NULL, performed_status INT DEFAULT -1 NULL, priority INT DEFAULT -1 NULL, modality INT DEFAULT -1 NULL, scheduler_user_id INT DEFAULT -1 NULL, performing_physician_user_id INT DEFAULT -1 NULL, reading_physician_user_id INT DEFAULT -1 NULL, mwl_status INT DEFAULT -1 NULL, CONSTRAINT PK_RADIOLOGY_STUDY PRIMARY KEY (id), UNIQUE (order_id)): Table ‘radiology_study’ already exists: Caused By: Table ‘radiology_study’ already exists at liquibase.changelog.ChangeSet.execute(ChangeSet.java:347) at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:27) at org.openmrs.util.DatabaseUpdater$1OpenmrsUpdateVisitor.visit(DatabaseUpdater.java:189) at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:58) at org.openmrs.util.DatabaseUpdater.executeChangelog(DatabaseUpdater.java:218) at org.openmrs.module.ModuleFactory.runLiquibase(ModuleFactory.java:1024) … 2 more Caused by: liquibase.exception.DatabaseException: Error executing SQL CREATE TABLE radiology_study (id INT AUTO_INCREMENT NOT NULL, uid VARCHAR(255) NULL, order_id INT NULL, scheduled_status INT DEFAULT -1 NULL, performed_status INT DEFAULT -1 NULL, priority INT DEFAULT -1 NULL, modality INT DEFAULT -1 NULL, scheduler_user_id INT DEFAULT -1 NULL, performing_physician_user_id INT DEFAULT -1 NULL, reading_physician_user_id INT DEFAULT -1 NULL, mwl_status INT DEFAULT -1 NULL, CONSTRAINT PK_RADIOLOGY_STUDY PRIMARY KEY (id), UNIQUE (order_id)): Table ‘radiology_study’ already exists at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:62) at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:104) at liquibase.database.AbstractDatabase.execute(AbstractDatabase.java:1091) at liquibase.database.AbstractDatabase.executeStatements(AbstractDatabase.java:1075) at liquibase.changelog.ChangeSet.execute(ChangeSet.java:317) … 7 more Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘radiology_study’ already exists at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.Util.getInstance(Util.java:386) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2819) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2768) at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:949) at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:795) at liquibase.executor.jvm.JdbcExecutor$1ExecuteStatementCallback.doInStatement(JdbcExecutor.java:92) at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:55) … 11 more INFO - LoggingAdvice.invoke(115) |2017-06-29 12:35:51,111| In method AlertService.saveAlert. Arguments: Alert=Alert: #null, INFO - LoggingAdvice.invoke(155) |2017-06-29 12:35:51,113| Exiting method saveAlert

please how to fix that?

@ivange94 you must now be an expert in this. :smile:

Let me put it in other words, i was pinging @ivange94 to help you. :smile:

@intidhar from the errors it looks a changeset was modified after the radiology module has already been deployed once. Can you create a new openmrs instance and try redeploying the module and see if the error persits?

Can you also check if another module is not creating a table called radiology_study?

@intidhar the active development of the radiology module is done in librehealth … see https://gitlab.com/librehealth/lh-radiology

I’m trying this module with another openmrs version. I installed the openmrs 1.9.8 and i have successfully integrated the radiology module version 0.1.0.0-dev-SNAPSHOT. Every thing seemed going good as shown in the following pictures :

But when i click on “Add radiology order”, I get many errors and problems that I couldn’t resolve, those are the whole errors appearing in the browser :

Etat HTTP 500 - /WEB-INF/view/module/radiology/radiologyOrderForm.jsp (line: 56, column: 6) “${!referring && !super}” contient d’incorrecte(s) expression(s): javax.el.ELException: Failed to parse the expression [${!referring && !super}] type Rapport d’‘exception message /WEB-INF/view/module/radiology/radiologyOrderForm.jsp (line: 56, column: 6) “${!referring && !super}” contient d’incorrecte(s) expression(s): javax.el.ELException: Failed to parse the expression [${!referring && !super}] description Le serveur a rencontré une erreur interne qui l’'a empêché de satisfaire la requête. exception

org.apache.jasper.JasperException: /WEB-INF/view/module/radiology/radiologyOrderForm.jsp (line: 56, column: 6) “${!referring && !super}” contient d’incorrecte(s) expression(s): javax.el.ELException: Failed to parse the expression [${!referring && !super}] org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199) org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1223) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:875) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1538) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2427) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:894) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1538) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2427) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:894) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1538) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2427) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2433) org.apache.jasper.compiler.Node$Root.accept(Node.java:474) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2375) org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1798) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217) org.apache.jasper.compiler.Compiler.compile(Compiler.java:373) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.openmrs.web.filter.JspClassLoaderFilter.doFilter(JspClassLoaderFilter.java:51) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70) org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65) org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76) org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58) org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:111) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:109) org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:109) org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:109) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/7.0.47.

Please could anyone help me to resolve this issue?

I’ve responded to your question in the other thread you created.