Skip to content

Processing error in _filter searches for any nested referenced parameters (SQL error) #865

@ac-medexter

Description

@ac-medexter

Description

I focus on using FHIR R5 advanced filter (_filter parameter in search requests). Building a nested filter parameter I encountered a validation issue (with one nested search param, eg. Observation?_filter=subject.name co "Schmidt") where the search parameter is rejected by the server because it is not based on the eq or ne operators. However, nesting my search parameters further than that (eg. Observation?_filter=specimen.subject.name eq "Schmidt") causes SQL exceptions and the server returning an internal serer error 500 to my request.

Could you please assist me in this Issue, is there an accepted workaround for such requests? My goal is to handle _filter search requests with a FHIR server and use them later on in a dynamic application.

Current behaviour

Regardless of resource type, entering a _fitler search parameter (eq operator) with more than 1 reference the Server responds with an internal server error (code 500):

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "error",
            "code": "processing",
            "diagnostics": "HAPI-1212: Invalid operator specified for reference predicate.  Supported operators for reference predicate are \"eq\" and \"ne\"."
        }
    ]
}

The server logs for this request were:

2025-09-30T09:56:48.379Z  WARN 1 --- [io-8080-exec-10] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 22P02
2025-09-30T09:56:48.380011300Z 2025-09-30T09:56:48.379Z ERROR 1 --- [io-8080-exec-10] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: invalid input syntax for type bigint: "[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f"
2025-09-30T09:56:48.380016700Z   Position: 191
2025-09-30T09:56:48.380521700Z 2025-09-30T09:56:48.379Z ERROR 1 --- [io-8080-exec-10] c.u.f.j.s.b.sql.SearchQueryExecutor      : Failed to create or execute SQL query
2025-09-30T09:56:48.380557700Z 
2025-09-30T09:56:48.380566100Z org.hibernate.exception.DataException: JDBC exception executing SQL [SELECT t0.RES_ID FROM HFJ_RESOURCE t0 INNER JOIN HFJ_RES_LINK t1 ON (t0.RES_ID = t1.SRC_RESOURCE_ID) WHERE (((t0.RES_TYPE = ?) AND (t0.RES_DELETED_AT IS NULL)) AND ((t1.SRC_PATH = ?) AND ('[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f' IN (SELECT t0.RES_ID FROM HFJ_SPIDX_STRING t0 WHERE ((t0.HASH_NORM_PREFIX = ?) AND (t0.SP_VALUE_NORMALIZED LIKE ?)) UNION ALL SELECT t0.SRC_RESOURCE_ID FROM HFJ_RES_LINK t0 INNER JOIN HFJ_SPIDX_STRING t1 ON (t0.TARGET_RESOURCE_ID = t1.RES_ID) WHERE ((t0.SRC_PATH = ?) AND ((t1.HASH_NORM_PREFIX = ?) AND (t1.SP_VALUE_NORMALIZED LIKE ?))) UNION ALL SELECT t0.SRC_RESOURCE_ID FROM HFJ_RES_LINK t0 INNER JOIN HFJ_SPIDX_STRING t1 ON (t0.TARGET_RESOURCE_ID = t1.RES_ID) WHERE ((t0.SRC_PATH = ?) AND ((t1.HASH_NORM_PREFIX = ?) AND (t1.SP_VALUE_NORMALIZED LIKE ?))) UNION ALL SELECT t0.SRC_RESOURCE_ID FROM HFJ_RES_LINK t0 INNER JOIN HFJ_SPIDX_STRING t1 ON (t0.TARGET_RESOURCE_ID = t1.RES_ID) WHERE ((t0.SRC_PATH = ?) AND ((t1.HASH_NORM_PREFIX = ?) AND (t1.SP_VALUE_NORMALIZED LIKE ?)))) ))) fetch first ? rows only] [ERROR: invalid input syntax for type bigint: "[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f"
2025-09-30T09:56:48.380584900Z   Position: 191] [n/a]
2025-09-30T09:56:48.380586300Z 	at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:103)
2025-09-30T09:56:48.380587500Z 	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
2025-09-30T09:56:48.380588600Z 	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
2025-09-30T09:56:48.380589600Z 	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94)
2025-09-30T09:56:48.380590700Z 	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:268)
2025-09-30T09:56:48.380591700Z 	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:171)
2025-09-30T09:56:48.380602800Z 	at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getMetaData(AbstractResultSetAccess.java:36)
2025-09-30T09:56:48.380604000Z 	at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getColumnCount(AbstractResultSetAccess.java:52)
2025-09-30T09:56:48.380605100Z 	at org.hibernate.query.results.ResultSetMappingImpl.resolve(ResultSetMappingImpl.java:194)
2025-09-30T09:56:48.380606100Z 	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.resolveJdbcValuesSource(JdbcSelectExecutorStandardImpl.java:340)
2025-09-30T09:56:48.380607200Z 	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:137)
2025-09-30T09:56:48.380608300Z 	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:102)
2025-09-30T09:56:48.380609400Z 	at org.hibernate.sql.exec.spi.JdbcSelectExecutor.scroll(JdbcSelectExecutor.java:195)
2025-09-30T09:56:48.380610400Z 	at org.hibernate.query.sql.internal.NativeSelectQueryPlanImpl.performScroll(NativeSelectQueryPlanImpl.java:178)
2025-09-30T09:56:48.380611500Z 	at org.hibernate.query.sql.internal.NativeQueryImpl.doScroll(NativeQueryImpl.java:969)
2025-09-30T09:56:48.380612500Z 	at org.hibernate.query.spi.AbstractSelectionQuery.scroll(AbstractSelectionQuery.java:242)
2025-09-30T09:56:48.380613500Z 	at org.hibernate.query.spi.AbstractSelectionQuery.scroll(AbstractSelectionQuery.java:71)
2025-09-30T09:56:48.380617500Z 	at ca.uhn.fhir.jpa.search.builder.sql.SearchQueryExecutor.fetchNext(SearchQueryExecutor.java:140)
2025-09-30T09:56:48.380618700Z 	at ca.uhn.fhir.jpa.search.builder.sql.SearchQueryExecutor.hasNext(SearchQueryExecutor.java:85)
2025-09-30T09:56:48.380619700Z 	at ca.uhn.fhir.jpa.search.builder.SearchBuilder$QueryIterator.fetchNext(SearchBuilder.java:2703)
2025-09-30T09:56:48.380620800Z 	at ca.uhn.fhir.jpa.search.builder.SearchBuilder$QueryIterator.hasNext(SearchBuilder.java:2911)
2025-09-30T09:56:48.380621800Z 	at ca.uhn.fhir.jpa.search.builder.tasks.SearchTask.doSearch(SearchTask.java:663)
2025-09-30T09:56:48.380622800Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService$ExecutionBuilder.lambda$execute$0(HapiTransactionService.java:525)
2025-09-30T09:56:48.380623900Z 	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
2025-09-30T09:56:48.380625000Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService.doExecuteCallback(HapiTransactionService.java:458)
2025-09-30T09:56:48.380626100Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService.doExecuteInTransaction(HapiTransactionService.java:341)
2025-09-30T09:56:48.380627200Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService.doExecute(HapiTransactionService.java:279)
2025-09-30T09:56:48.380628500Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService$ExecutionBuilder.execute(HapiTransactionService.java:539)
2025-09-30T09:56:48.380629700Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService$ExecutionBuilder.execute(HapiTransactionService.java:528)
2025-09-30T09:56:48.380630800Z 	at ca.uhn.fhir.jpa.search.builder.tasks.SearchTask.call(SearchTask.java:451)
2025-09-30T09:56:48.380631800Z 	at ca.uhn.fhir.jpa.search.SearchCoordinatorSvcImpl.submitSearch(SearchCoordinatorSvcImpl.java:616)
2025-09-30T09:56:48.380632900Z 	at ca.uhn.fhir.jpa.search.SearchCoordinatorSvcImpl.registerSearch(SearchCoordinatorSvcImpl.java:438)
2025-09-30T09:56:48.380633900Z 	at ca.uhn.fhir.jpa.dao.BaseHapiFhirResourceDao.search(BaseHapiFhirResourceDao.java:2048)
2025-09-30T09:56:48.380635100Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2025-09-30T09:56:48.380636100Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2025-09-30T09:56:48.380637100Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2025-09-30T09:56:48.380638200Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
2025-09-30T09:56:48.380639300Z 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
2025-09-30T09:56:48.380640300Z 	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
2025-09-30T09:56:48.380641400Z 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
2025-09-30T09:56:48.380642400Z 	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
2025-09-30T09:56:48.380645100Z 	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138)
2025-09-30T09:56:48.380646200Z 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
2025-09-30T09:56:48.380647300Z 	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
2025-09-30T09:56:48.380648400Z 	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
2025-09-30T09:56:48.380649700Z 	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
2025-09-30T09:56:48.380650700Z 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
2025-09-30T09:56:48.380651800Z 	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
2025-09-30T09:56:48.380652900Z 	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
2025-09-30T09:56:48.380653900Z 	at ca.uhn.fhir.jpa.dao.JpaResourceDaoObservation$$SpringCGLIB$$0.search(<generated>)
2025-09-30T09:56:48.380655000Z 	at ca.uhn.fhir.jpa.rp.r5.ObservationResourceProvider.search(ObservationResourceProvider.java:409)
2025-09-30T09:56:48.380656100Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2025-09-30T09:56:48.380657200Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2025-09-30T09:56:48.380658400Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2025-09-30T09:56:48.380659400Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
2025-09-30T09:56:48.380660500Z 	at ca.uhn.fhir.rest.server.method.BaseMethodBinding.invokeServerMethod(BaseMethodBinding.java:264)
2025-09-30T09:56:48.380661500Z 	at ca.uhn.fhir.rest.server.method.SearchMethodBinding.invokeServer(SearchMethodBinding.java:311)
2025-09-30T09:56:48.380662500Z 	at ca.uhn.fhir.rest.server.method.SearchMethodBinding.invokeServer(SearchMethodBinding.java:53)
2025-09-30T09:56:48.380663600Z 	at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.doInvokeServer(BaseResourceReturningMethodBinding.java:146)
2025-09-30T09:56:48.380664600Z 	at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.invokeServer(BaseResourceReturningMethodBinding.java:275)
2025-09-30T09:56:48.380665700Z 	at ca.uhn.fhir.rest.server.RestfulServer.handleRequest(RestfulServer.java:1201)
2025-09-30T09:56:48.380666800Z 	at ca.uhn.fhir.rest.server.RestfulServer.doPost(RestfulServer.java:436)
2025-09-30T09:56:48.380667800Z 	at ca.uhn.fhir.rest.server.RestfulServer.service(RestfulServer.java:1961)
2025-09-30T09:56:48.380668800Z 	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
2025-09-30T09:56:48.380669800Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
2025-09-30T09:56:48.380672200Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.380673300Z 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
2025-09-30T09:56:48.380674400Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
2025-09-30T09:56:48.380675500Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.380676600Z 	at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113)
2025-09-30T09:56:48.380677600Z 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
2025-09-30T09:56:48.380678700Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
2025-09-30T09:56:48.380679700Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.380680800Z 	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
2025-09-30T09:56:48.380681800Z 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
2025-09-30T09:56:48.380682800Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
2025-09-30T09:56:48.380683900Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.380684900Z 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
2025-09-30T09:56:48.380686000Z 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
2025-09-30T09:56:48.380687000Z 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
2025-09-30T09:56:48.380688000Z 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)
2025-09-30T09:56:48.380689000Z 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
2025-09-30T09:56:48.380690000Z 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
2025-09-30T09:56:48.380691100Z 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
2025-09-30T09:56:48.380692100Z 	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
2025-09-30T09:56:48.380693100Z 	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
2025-09-30T09:56:48.380694200Z 	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
2025-09-30T09:56:48.380695200Z 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740)
2025-09-30T09:56:48.380696200Z 	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
2025-09-30T09:56:48.380697400Z 	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)
2025-09-30T09:56:48.380699900Z 	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)
2025-09-30T09:56:48.380701000Z 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
2025-09-30T09:56:48.380702100Z 	at java.base/java.lang.Thread.run(Thread.java:840)
2025-09-30T09:56:48.380703200Z Caused by: org.postgresql.util.PSQLException: ERROR: invalid input syntax for type bigint: "[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f"
2025-09-30T09:56:48.380704400Z   Position: 191
2025-09-30T09:56:48.380705300Z 	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2733)
2025-09-30T09:56:48.380706400Z 	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2420)
2025-09-30T09:56:48.380707400Z 	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
2025-09-30T09:56:48.380708300Z 	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:517)
2025-09-30T09:56:48.380709300Z 	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:434)
2025-09-30T09:56:48.380710400Z 	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194)
2025-09-30T09:56:48.380711400Z 	at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:137)
2025-09-30T09:56:48.380712400Z 	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
2025-09-30T09:56:48.380713400Z 	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
2025-09-30T09:56:48.380714400Z 	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:250)
2025-09-30T09:56:48.380715500Z 	... 88 common frames omitted
2025-09-30T09:56:48.380716400Z 
2025-09-30T09:56:48.381538000Z 2025-09-30T09:56:48.380Z ERROR 1 --- [io-8080-exec-10] c.u.f.j.search.builder.tasks.SearchTask  : Failed during search loading after 8ms
2025-09-30T09:56:48.381564300Z 
2025-09-30T09:56:48.381569600Z ca.uhn.fhir.rest.server.exceptions.InternalErrorException: HAPI-1262: org.hibernate.exception.DataException: JDBC exception executing SQL [SELECT t0.RES_ID FROM HFJ_RESOURCE t0 INNER JOIN HFJ_RES_LINK t1 ON (t0.RES_ID = t1.SRC_RESOURCE_ID) WHERE (((t0.RES_TYPE = ?) AND (t0.RES_DELETED_AT IS NULL)) AND ((t1.SRC_PATH = ?) AND ('[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f' IN (SELECT t0.RES_ID FROM HFJ_SPIDX_STRING t0 WHERE ((t0.HASH_NORM_PREFIX = ?) AND (t0.SP_VALUE_NORMALIZED LIKE ?)) UNION ALL SELECT t0.SRC_RESOURCE_ID FROM HFJ_RES_LINK t0 INNER JOIN HFJ_SPIDX_STRING t1 ON (t0.TARGET_RESOURCE_ID = t1.RES_ID) WHERE ((t0.SRC_PATH = ?) AND ((t1.HASH_NORM_PREFIX = ?) AND (t1.SP_VALUE_NORMALIZED LIKE ?))) UNION ALL SELECT t0.SRC_RESOURCE_ID FROM HFJ_RES_LINK t0 INNER JOIN HFJ_SPIDX_STRING t1 ON (t0.TARGET_RESOURCE_ID = t1.RES_ID) WHERE ((t0.SRC_PATH = ?) AND ((t1.HASH_NORM_PREFIX = ?) AND (t1.SP_VALUE_NORMALIZED LIKE ?))) UNION ALL SELECT t0.SRC_RESOURCE_ID FROM HFJ_RES_LINK t0 INNER JOIN HFJ_SPIDX_STRING t1 ON (t0.TARGET_RESOURCE_ID = t1.RES_ID) WHERE ((t0.SRC_PATH = ?) AND ((t1.HASH_NORM_PREFIX = ?) AND (t1.SP_VALUE_NORMALIZED LIKE ?)))) ))) fetch first ? rows only] [ERROR: invalid input syntax for type bigint: "[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f"
2025-09-30T09:56:48.381591200Z   Position: 191] [n/a]
2025-09-30T09:56:48.381593300Z 	at ca.uhn.fhir.jpa.search.builder.sql.SearchQueryExecutor.fetchNext(SearchQueryExecutor.java:154)
2025-09-30T09:56:48.381595000Z 	at ca.uhn.fhir.jpa.search.builder.sql.SearchQueryExecutor.hasNext(SearchQueryExecutor.java:85)
2025-09-30T09:56:48.381596500Z 	at ca.uhn.fhir.jpa.search.builder.SearchBuilder$QueryIterator.fetchNext(SearchBuilder.java:2703)
2025-09-30T09:56:48.381598100Z 	at ca.uhn.fhir.jpa.search.builder.SearchBuilder$QueryIterator.hasNext(SearchBuilder.java:2911)
2025-09-30T09:56:48.381599800Z 	at ca.uhn.fhir.jpa.search.builder.tasks.SearchTask.doSearch(SearchTask.java:663)
2025-09-30T09:56:48.381602400Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService$ExecutionBuilder.lambda$execute$0(HapiTransactionService.java:525)
2025-09-30T09:56:48.381604100Z 	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
2025-09-30T09:56:48.381605800Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService.doExecuteCallback(HapiTransactionService.java:458)
2025-09-30T09:56:48.381607300Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService.doExecuteInTransaction(HapiTransactionService.java:341)
2025-09-30T09:56:48.381609800Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService.doExecute(HapiTransactionService.java:279)
2025-09-30T09:56:48.381611300Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService$ExecutionBuilder.execute(HapiTransactionService.java:539)
2025-09-30T09:56:48.381612700Z 	at ca.uhn.fhir.jpa.dao.tx.HapiTransactionService$ExecutionBuilder.execute(HapiTransactionService.java:528)
2025-09-30T09:56:48.381614100Z 	at ca.uhn.fhir.jpa.search.builder.tasks.SearchTask.call(SearchTask.java:451)
2025-09-30T09:56:48.381615400Z 	at ca.uhn.fhir.jpa.search.SearchCoordinatorSvcImpl.submitSearch(SearchCoordinatorSvcImpl.java:616)
2025-09-30T09:56:48.381616700Z 	at ca.uhn.fhir.jpa.search.SearchCoordinatorSvcImpl.registerSearch(SearchCoordinatorSvcImpl.java:438)
2025-09-30T09:56:48.381618400Z 	at ca.uhn.fhir.jpa.dao.BaseHapiFhirResourceDao.search(BaseHapiFhirResourceDao.java:2048)
2025-09-30T09:56:48.381619800Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2025-09-30T09:56:48.381621300Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2025-09-30T09:56:48.381622800Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2025-09-30T09:56:48.381624300Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
2025-09-30T09:56:48.381625900Z 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355)
2025-09-30T09:56:48.381627500Z 	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
2025-09-30T09:56:48.381631900Z 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
2025-09-30T09:56:48.381633400Z 	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
2025-09-30T09:56:48.381634800Z 	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138)
2025-09-30T09:56:48.381636300Z 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
2025-09-30T09:56:48.381638100Z 	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
2025-09-30T09:56:48.381639500Z 	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:379)
2025-09-30T09:56:48.381657500Z 	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
2025-09-30T09:56:48.381659300Z 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
2025-09-30T09:56:48.381660700Z 	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768)
2025-09-30T09:56:48.381662100Z 	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720)
2025-09-30T09:56:48.381663600Z 	at ca.uhn.fhir.jpa.dao.JpaResourceDaoObservation$$SpringCGLIB$$0.search(<generated>)
2025-09-30T09:56:48.381665300Z 	at ca.uhn.fhir.jpa.rp.r5.ObservationResourceProvider.search(ObservationResourceProvider.java:409)
2025-09-30T09:56:48.381666800Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2025-09-30T09:56:48.381668100Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2025-09-30T09:56:48.381669700Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2025-09-30T09:56:48.381672500Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
2025-09-30T09:56:48.381678400Z 	at ca.uhn.fhir.rest.server.method.BaseMethodBinding.invokeServerMethod(BaseMethodBinding.java:264)
2025-09-30T09:56:48.381679800Z 	at ca.uhn.fhir.rest.server.method.SearchMethodBinding.invokeServer(SearchMethodBinding.java:311)
2025-09-30T09:56:48.381682900Z 	at ca.uhn.fhir.rest.server.method.SearchMethodBinding.invokeServer(SearchMethodBinding.java:53)
2025-09-30T09:56:48.381684400Z 	at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.doInvokeServer(BaseResourceReturningMethodBinding.java:146)
2025-09-30T09:56:48.381686400Z 	at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.invokeServer(BaseResourceReturningMethodBinding.java:275)
2025-09-30T09:56:48.381687900Z 	at ca.uhn.fhir.rest.server.RestfulServer.handleRequest(RestfulServer.java:1201)
2025-09-30T09:56:48.381689300Z 	at ca.uhn.fhir.rest.server.RestfulServer.doPost(RestfulServer.java:436)
2025-09-30T09:56:48.381696100Z 	at ca.uhn.fhir.rest.server.RestfulServer.service(RestfulServer.java:1961)
2025-09-30T09:56:48.381698500Z 	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
2025-09-30T09:56:48.381699900Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
2025-09-30T09:56:48.381701300Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.381702800Z 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
2025-09-30T09:56:48.381704100Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
2025-09-30T09:56:48.381705400Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.381707000Z 	at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113)
2025-09-30T09:56:48.381708500Z 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
2025-09-30T09:56:48.381710000Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
2025-09-30T09:56:48.381711400Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.381712900Z 	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
2025-09-30T09:56:48.381714200Z 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
2025-09-30T09:56:48.381715700Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
2025-09-30T09:56:48.381717000Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.381718400Z 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
2025-09-30T09:56:48.381719900Z 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
2025-09-30T09:56:48.381721300Z 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
2025-09-30T09:56:48.381722700Z 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)
2025-09-30T09:56:48.381724100Z 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
2025-09-30T09:56:48.381725600Z 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
2025-09-30T09:56:48.381727200Z 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
2025-09-30T09:56:48.381729300Z 	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
2025-09-30T09:56:48.381731000Z 	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
2025-09-30T09:56:48.381732400Z 	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
2025-09-30T09:56:48.381736300Z 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740)
2025-09-30T09:56:48.381737900Z 	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
2025-09-30T09:56:48.381739200Z 	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)
2025-09-30T09:56:48.381740500Z 	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)
2025-09-30T09:56:48.381741900Z 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
2025-09-30T09:56:48.381743200Z 	at java.base/java.lang.Thread.run(Thread.java:840)
2025-09-30T09:56:48.381744700Z Caused by: org.hibernate.exception.DataException: JDBC exception executing SQL [SELECT t0.RES_ID FROM HFJ_RESOURCE t0 INNER JOIN HFJ_RES_LINK t1 ON (t0.RES_ID = t1.SRC_RESOURCE_ID) WHERE (((t0.RES_TYPE = ?) AND (t0.RES_DELETED_AT IS NULL)) AND ((t1.SRC_PATH = ?) AND ('[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f' IN (SELECT t0.RES_ID FROM HFJ_SPIDX_STRING t0 WHERE ((t0.HASH_NORM_PREFIX = ?) AND (t0.SP_VALUE_NORMALIZED LIKE ?)) UNION ALL SELECT t0.SRC_RESOURCE_ID FROM HFJ_RES_LINK t0 INNER JOIN HFJ_SPIDX_STRING t1 ON (t0.TARGET_RESOURCE_ID = t1.RES_ID) WHERE ((t0.SRC_PATH = ?) AND ((t1.HASH_NORM_PREFIX = ?) AND (t1.SP_VALUE_NORMALIZED LIKE ?))) UNION ALL SELECT t0.SRC_RESOURCE_ID FROM HFJ_RES_LINK t0 INNER JOIN HFJ_SPIDX_STRING t1 ON (t0.TARGET_RESOURCE_ID = t1.RES_ID) WHERE ((t0.SRC_PATH = ?) AND ((t1.HASH_NORM_PREFIX = ?) AND (t1.SP_VALUE_NORMALIZED LIKE ?))) UNION ALL SELECT t0.SRC_RESOURCE_ID FROM HFJ_RES_LINK t0 INNER JOIN HFJ_SPIDX_STRING t1 ON (t0.TARGET_RESOURCE_ID = t1.RES_ID) WHERE ((t0.SRC_PATH = ?) AND ((t1.HASH_NORM_PREFIX = ?) AND (t1.SP_VALUE_NORMALIZED LIKE ?)))) ))) fetch first ? rows only] [ERROR: invalid input syntax for type bigint: "[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f"
2025-09-30T09:56:48.381748000Z   Position: 191] [n/a]
2025-09-30T09:56:48.381749300Z 	at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:103)
2025-09-30T09:56:48.381751000Z 	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58)
2025-09-30T09:56:48.381752500Z 	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
2025-09-30T09:56:48.381753700Z 	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94)
2025-09-30T09:56:48.381755100Z 	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:268)
2025-09-30T09:56:48.381756300Z 	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:171)
2025-09-30T09:56:48.381757700Z 	at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getMetaData(AbstractResultSetAccess.java:36)
2025-09-30T09:56:48.381759100Z 	at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getColumnCount(AbstractResultSetAccess.java:52)
2025-09-30T09:56:48.381760500Z 	at org.hibernate.query.results.ResultSetMappingImpl.resolve(ResultSetMappingImpl.java:194)
2025-09-30T09:56:48.381761900Z 	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.resolveJdbcValuesSource(JdbcSelectExecutorStandardImpl.java:340)
2025-09-30T09:56:48.381766000Z 	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:137)
2025-09-30T09:56:48.381767800Z 	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:102)
2025-09-30T09:56:48.381769600Z 	at org.hibernate.sql.exec.spi.JdbcSelectExecutor.scroll(JdbcSelectExecutor.java:195)
2025-09-30T09:56:48.381771300Z 	at org.hibernate.query.sql.internal.NativeSelectQueryPlanImpl.performScroll(NativeSelectQueryPlanImpl.java:178)
2025-09-30T09:56:48.381773000Z 	at org.hibernate.query.sql.internal.NativeQueryImpl.doScroll(NativeQueryImpl.java:969)
2025-09-30T09:56:48.381774800Z 	at org.hibernate.query.spi.AbstractSelectionQuery.scroll(AbstractSelectionQuery.java:242)
2025-09-30T09:56:48.381776600Z 	at org.hibernate.query.spi.AbstractSelectionQuery.scroll(AbstractSelectionQuery.java:71)
2025-09-30T09:56:48.381778500Z 	at ca.uhn.fhir.jpa.search.builder.sql.SearchQueryExecutor.fetchNext(SearchQueryExecutor.java:140)
2025-09-30T09:56:48.381780100Z 	... 75 common frames omitted
2025-09-30T09:56:48.381781400Z Caused by: org.postgresql.util.PSQLException: ERROR: invalid input syntax for type bigint: "[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f"
2025-09-30T09:56:48.381782900Z   Position: 191
2025-09-30T09:56:48.381784500Z 	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2733)
2025-09-30T09:56:48.381786600Z 	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2420)
2025-09-30T09:56:48.381788000Z 	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:372)
2025-09-30T09:56:48.381789400Z 	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:517)
2025-09-30T09:56:48.381790700Z 	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:434)
2025-09-30T09:56:48.381792800Z 	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:194)
2025-09-30T09:56:48.381794200Z 	at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:137)
2025-09-30T09:56:48.381795500Z 	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
2025-09-30T09:56:48.381796900Z 	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
2025-09-30T09:56:48.381798900Z 	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:250)
2025-09-30T09:56:48.381800400Z 	... 88 common frames omitted
2025-09-30T09:56:48.381803100Z 
2025-09-30T09:56:48.387051500Z 2025-09-30T09:56:48.386Z ERROR 1 --- [io-8080-exec-10] c.u.f.r.s.i.ExceptionHandlingInterceptor : Failure during REST processing
2025-09-30T09:56:48.387092100Z 
2025-09-30T09:56:48.387096000Z ca.uhn.fhir.rest.server.exceptions.InternalErrorException: ERROR: invalid input syntax for type bigint: "[Lcom.healthmarketscience.sqlbuilder.dbspec.basic.DbColumn;@276c4c5f"
2025-09-30T09:56:48.387104900Z   Position: 191
2025-09-30T09:56:48.387106100Z 	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2025-09-30T09:56:48.387107300Z 	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
2025-09-30T09:56:48.387108300Z 	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2025-09-30T09:56:48.387109500Z 	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
2025-09-30T09:56:48.387110600Z 	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
2025-09-30T09:56:48.387111700Z 	at ca.uhn.fhir.rest.server.exceptions.BaseServerResponseException.newInstance(BaseServerResponseException.java:317)
2025-09-30T09:56:48.387112800Z 	at ca.uhn.fhir.jpa.util.QueryParameterUtils.verifySearchHasntFailedOrThrowInternalErrorException(QueryParameterUtils.java:211)
2025-09-30T09:56:48.387113800Z 	at ca.uhn.fhir.jpa.search.PersistedJpaSearchFirstPageBundleProvider.size(PersistedJpaSearchFirstPageBundleProvider.java:141)
2025-09-30T09:56:48.387114900Z 	at ca.uhn.fhir.rest.server.method.OffsetCalculator.calculateOffset(OffsetCalculator.java:40)
2025-09-30T09:56:48.387115900Z 	at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.buildResponseBundleRequest(BaseResourceReturningMethodBinding.java:238)
2025-09-30T09:56:48.387117000Z 	at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.doInvokeServer(BaseResourceReturningMethodBinding.java:193)
2025-09-30T09:56:48.387118100Z 	at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.invokeServer(BaseResourceReturningMethodBinding.java:275)
2025-09-30T09:56:48.387119200Z 	at ca.uhn.fhir.rest.server.RestfulServer.handleRequest(RestfulServer.java:1201)
2025-09-30T09:56:48.387120200Z 	at ca.uhn.fhir.rest.server.RestfulServer.doPost(RestfulServer.java:436)
2025-09-30T09:56:48.387121200Z 	at ca.uhn.fhir.rest.server.RestfulServer.service(RestfulServer.java:1961)
2025-09-30T09:56:48.387122300Z 	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
2025-09-30T09:56:48.387124300Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
2025-09-30T09:56:48.387125400Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.387126400Z 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
2025-09-30T09:56:48.387127400Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
2025-09-30T09:56:48.387128500Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.387129500Z 	at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113)
2025-09-30T09:56:48.387130600Z 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
2025-09-30T09:56:48.387133000Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
2025-09-30T09:56:48.387134300Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.387135300Z 	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
2025-09-30T09:56:48.387136300Z 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
2025-09-30T09:56:48.387137400Z 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
2025-09-30T09:56:48.387138500Z 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
2025-09-30T09:56:48.387139500Z 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
2025-09-30T09:56:48.387140500Z 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
2025-09-30T09:56:48.387141500Z 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
2025-09-30T09:56:48.387142600Z 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)
2025-09-30T09:56:48.387143600Z 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
2025-09-30T09:56:48.387144600Z 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
2025-09-30T09:56:48.387145600Z 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
2025-09-30T09:56:48.387146700Z 	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
2025-09-30T09:56:48.387147800Z 	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
2025-09-30T09:56:48.387149000Z 	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
2025-09-30T09:56:48.387150100Z 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740)
2025-09-30T09:56:48.387151100Z 	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
2025-09-30T09:56:48.387152100Z 	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)
2025-09-30T09:56:48.387153100Z 	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)
2025-09-30T09:56:48.387154100Z 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
2025-09-30T09:56:48.387155200Z 	at java.base/java.lang.Thread.run(Thread.java:840)
2025-09-30T09:56:48.387156200Z 
2025-09-30T09:56:48.387157200Z 2025-09-30T09:56:48.386Z  INFO 1 --- [io-8080-exec-10] fhirtest.access                          : ERROR - POST http://localhost:8088/fhir/Observation/_search

How to reproduce

  1. Running Hapi Fhir JpaServer on docker compose (an empty datastore suffices)
    services:
        storage-fhir-repository:
        container_name: storage-fhir-repository
        hostname: storage-fhir-repository
        image: git.medexter.network:5002/momo/momo-4-cloud/hapi:v8.2.0-1-medexter
        environment:
          - "hapi.fhir.fhir_version=R5"
          - "hapi.fhir.allow_multiple_delete=true"
          - "hapi.fhir.delete_expunge_enabled=true"
          - "hapi.fhir.filter_search_enabled=true"
          - "hapi.fhir.search_index_full_text_enabled=true"
          - "hapi.fhir.enable_index_contained_resource=true"
          - "hapi.fhir.allow_contains_searches=true"
          - "spring.datasource.url=jdbc:postgresql://storage-fhir-db:5432/hapi"
          - "spring.datasource.username=admin"
          - "spring.datasource.password=admin"
          - "spring.datasource.driverClassName=org.postgresql.Driver"
          - "spring.jpa.properties.hibernate.dialect=ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect"
          - "spring.jpa.properties.search.enabled=false"
        depends_on:
          - storage-fhir-db
        ports:
          - "8088:8080"
      storage-fhir-db:
        image: postgres:17.6
        restart: always
        environment:
          POSTGRES_PASSWORD: admin
          POSTGRES_USER: admin
          POSTGRES_DB: hapi
        volumes:
          - hapi-postgres-data:/var/lib/postgresql/data
    
    volumes:
      hapi-postgres-data:
    
  2. You may upload 3 linked resources (Observation -> Specimen -> Patient) (PUT the listed resources:)
    {
        "resourceType": "Patient",
        "id": "1",
        "name": [
            {
                "use": "usual",
                "text": "RIKER, Diana",
                "family": "RIKER",
                "given": [
                    "DIANA"
                ]
            }
        ],
        "gender": "female",
        "birthDate": "1952-08-19",
    }
    
    {
        "resourceType": "Specimen",
        "id": "2",
        "subject": {
            "reference": "Patient/1",
            "type": "Patient"
        }
    }
    
    {
        "resourceType": "Observation",
        "id": "3",
        "status": "final",
        "code": {
            "text": "Test"
        },
        "specimen": {
            "reference": "Specimen/2",
            "type": "Specimen"
        }
    }
    
  3. Perform the _filter search with (valid) nested references as deep or deeper than 2 (for readability the request is not URL-encoded in this pseudocode):
    POST {base}/Observation/_search
    Headers: Content-Type=application/x-www-form-urlencoded
    Request: _filter=specimen.subject.name eq "diana"
    

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions