eurekaclinical/i2b2-export

Error parsing dates and i2b2 1.7.08b

Opened this issue · 0 comments

It appears i2b2 1.7.08b changed something about date formats, because now we're getting the following error when the export plugin attempts to write out dates. It appears that our code is expecting a "T" between the date and the time, and i2b2 no longer includes the T. See example below:

java.io.IOException: Error parsing i2b2 metadata: Error parsing "1967-04-08 00:00:00"; SQL statement:
SELECT parsedatetime('1967-04-08 00:00:00', 'yyyy-MM-dd''T''HH:mm:ss.SSSX') IS NOT 'NULL' FROM DUAL [90014-185]
	edu.emory.bmi.aiw.i2b2export.output.PatientDataOutputFormatter.format(PatientDataOutputFormatter.java:61)
	edu.emory.bmi.aiw.i2b2export.output.DataOutputFormatter.format(DataOutputFormatter.java:65)
	edu.emory.bmi.aiw.i2b2export.resource.DataResource$1.write(DataResource.java:114)
	com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:71)
	com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:57)
	com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:306)
	com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1479)
	com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
	com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
	com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
	com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
	com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
	com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
	com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
	com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
	com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)
	com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
	com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
	com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)