Integration Notes
The goal has been to do as little modification to OpenMRS as possible – let Zcore do any heavy lifting necessary.
The OpenMRS code (formimportexport module?) that renders the .xsl files used for importing into zcore assigns Boolean values a “1” or “0” instead of a true of false, which does not de-serialise an accurate value into a java Boolean. I had to modify the code from the Apache Commons XLTSchema project (Schemabuilder class) to accommodate this condition. The code for this library is included in the Zcore source code (src/apace.ws.commons.schema) and is in the installer version. At some point I’ll track down the error in the OpenMRS module and notify the module’s maintainer.
Here's the changed code from SchemaBuilder:
if (el.hasAttribute("nillable")) { String nillValue = el.getAttribute("nillable"); if (nillValue.equals("0")) { element.isNillable = false; } else if (nillValue.equals("1")) { element.isNillable = true; } else { element.isNillable = Boolean.valueOf(el.getAttribute("nillable")).booleanValue(); } }
My version of Tomcat, the latest version, has issue w/ the jsp code in Remote form entry module - remoteformentry-2.7.omod –file localHeader.jsp. I have created a local version of this module that works around this problem. Need to discuss w/ this module’s maintainer. It’s a surprising problem – didn’t happen w/ previous version.
More integration notes tbd…
-
most of the OpenMRS encounter processing happens in ORUR01Handler
-
Discussion of custom data converters used in Xstream, which de-serialises the Zcore records to OpenMRS-friendly xml.