srdc / onfhir Goto Github PK
View Code? Open in Web Editor NEWHL7 FHIR Based Secure Data Repository
Home Page: https://onfhir.io
License: GNU General Public License v3.0
HL7 FHIR Based Secure Data Repository
Home Page: https://onfhir.io
License: GNU General Public License v3.0
When an undefined element is within a backbone element, it passes from validation
Content-Type and Accept HTTP parameters can be sent by setting the fhirVersion attribute. No problem occurs when used in Accept, but when used in Content-Type onFHIR has an internal server exception. .NET FHIR Client sends fhirVersion by default.
e.g. Content-Type: application/fhir+json; charset=utf-8; fhirVersion=4.0
Firely Terminal is a FHIR client command line tool.
When trying to use it with onFHIR e.g. to search for FHIR Patients:
fhir search <onfhir-endpoint-url> Patient
I get:
Operation was unsuccessful because of a client error (NotAcceptable). Body has no content.
Hence a HTTP 406 with 0 byte content.
mongodb.host parameter can be a list of mongodb hosts to support multiple mongodb instances (i.e. for sharding). But, it is not possible to pass such a list through environment variables. It would be nice to pass that list as a bare string so that it is also possible to read from an environment variable. If possible, backward compatibility will be good in order not to break older configuration files.
You may modify the test or the build howto to avoid this issue.
2020-10-08_08:51:53.745 [specs2-1] INFO i.o.c.IndexConfigurator$ - Reading DB Index Configuration file path 'db-index-conf.json'
2020-10-08_08:51:53.761 [specs2-1] INFO i.o.r.c.FhirR4Configurator - Configuring other FHIR version specific parameters (mime types, etc)...
2020-10-08_08:51:53.762 [specs2-1] INFO i.o.r.c.FhirR4Configurator - Setting up (or updating) the platform as requested ...
2020-10-08_08:51:53.772 [specs2-1] INFO i.o.d.DBInitializer$ - Preparing database ...
2020-10-08_08:51:53.772 [specs2-1] INFO i.o.d.DBInitializer$ - Creating MongoDB collections for supported resources ...
2020-10-08_08:51:54.112 [MaintenanceTimer-1-thread-1] WARN o.m.d.connection - Exception thrown during connection pool background maintenance task
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.internal.connection.AsynchronousSocketChannelStream$OpenCompletionHandler.failed(AsynchronousSocketChannelStream.java:117)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:128)
at sun.nio.ch.Invoker$2.run(Invoker.java:218)
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.UnixAsynchronousSocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishConnect(UnixAsynchronousSocketChannelImpl.java:252)
at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:198)
at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213)
at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293)
... 1 common frames omitted
When a base profile is set for a resource type, in capability statement and does not set any supported profiles, even when resource conforms to the profile the server returns missing profile.
When you try to define a new composite search parameter on an element where one of the search parameter is on an extension on the same element, search does not work due to bug in identifying actual path with extensions (missing array indicator for the root elements) and removing common path from the path while searching.
[INFO] ------------------------------------------------------------------------ [INFO] Building onfhir-path 3.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ onfhir-path --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 4 resources [INFO] [INFO] --- scala-maven-plugin:4.1.1:add-source (scala-compile-first) @ onfhir-path --- [INFO] Add Source directory: /opt/docker/onFHIR/onfhir/onfhir-path/src/main/scala [INFO] Add Test Source directory: /opt/docker/onFHIR/onfhir/onfhir-path/src/test/scala [INFO] [INFO] --- scala-maven-plugin:4.1.1:compile (scala-compile-first) @ onfhir-path --- [INFO] Using incremental compilation using JavaThenScala compile order [INFO] Compiling 10 Scala sources and 6 Java sources to /opt/docker/onFHIR/onfhir/onfhir-path/target/classes ... [ERROR] ## Exception when compiling 16 sources to /opt/docker/onFHIR/onfhir/onfhir-path/target/classes java.lang.IllegalArgumentException: invalid target release: 11 com.sun.tools.javac.main.OptionHelper$GrumpyHelper.error(OptionHelper.java:103) com.sun.tools.javac.main.Option$12.process(Option.java:216) com.sun.tools.javac.api.JavacTool.processOptions(JavacTool.java:217) com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:156) com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:107) com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:64) sbt.internal.inc.javac.LocalJavaCompiler.run(LocalJava.scala:204) sbt.internal.inc.javac.AnalyzingJavaCompiler.$anonfun$compile$11(AnalyzingJavaCompiler.scala:158) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) sbt.internal.inc.javac.AnalyzingJavaCompiler.timed(AnalyzingJavaCompiler.scala:236) sbt.internal.inc.javac.AnalyzingJavaCompiler.compile(AnalyzingJavaCompiler.scala:148) sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$5(MixedAnalyzingCompiler.scala:134) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:186) sbt.internal.inc.MixedAnalyzingCompiler.compileJava$1(MixedAnalyzingCompiler.scala:100) sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:144) sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343) sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343) sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120) sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100) sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180) sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98) sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102) sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155) sbt.internal.inc.Incremental$.compile(Incremental.scala:92) sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75) sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348) sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301) sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168) sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248) sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74) sbt_inc.SbtIncrementalCompiler.compile(SbtIncrementalCompiler.java:130) scala_maven.ScalaCompilerSupport.incrementalCompile(ScalaCompilerSupport.java:299) scala_maven.ScalaCompilerSupport.compile(ScalaCompilerSupport.java:101) scala_maven.ScalaCompilerSupport.doExecute(ScalaCompilerSupport.java:83) scala_maven.ScalaMojoSupport.execute(ScalaMojoSupport.java:555) org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) org.apache.maven.cli.MavenCli.main(MavenCli.java:199) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Handle Custom headers (https://www.hl7.org/fhir/http.html#custom) for logging and auditing purposes
Updating rest capability statement for a resource type
Adding/updating/deleting ValueSet, SearchParameter for onFHIR configuration etc
Just checked the R4 version out and could not compile it with maven package.
[ERROR] [Error] /home/florian/Development/onfhir/onfhir-server-r4/src/main/scala/io/onfhir/r4/config/R4Configurator.scala:102: value dataTypeProfiles is not a member of io.onfhir.config.FhirConfig
[ERROR] [Error] /home/florian/Development/onfhir/onfhir-server-r4/src/main/scala/io/onfhir/r4/validation/OnFhirValidationSupportR4.scala:52: value dataTypeProfiles is not a member of io.onfhir.config.FhirConfig
[ERROR] [Error] /home/florian/Development/onfhir/onfhir-server-r4/src/main/scala/io/onfhir/r4/validation/OnFhirValidationSupportR4.scala:60: value map is not a member of Any
Is it because I use OpenJDK-11?
Utilizing the configuration in the /docker directory, the Docker container won't start because onfhir-server-standalone.jar
is missing.
It is obviously the FHIR server core referenced in line 73 of docker-entrypoint.sh:
JAVA_CMD+="/fhir/onfhir-server-standalone.jar".
Unnecessary validation of type constraint event there is no match for slice causes validation error in type based slice definitions
Provide an example how to define and implement a custom FHIR operation
Provide an example how to provide custom profile chain with extensions and configure onFHIR accordingly
Provide an example how to define new search parameters and configure onFHIR accordingly
Provide an example custom authorization module that implements a specific authorization policy
Provide an example database indexing configuration
If a field is bound to a valueset through Example (e.g., Practitioner.qualification.code), and we set a binding strength in our profile (e.g., AIC-Practitioner), parse results (ProfileRestrictions) do not include these restrictions.
When an extension profile is given in the configuration set, but this profile is not mentioned in the resource profiles, validation ignores these extension profiles.
In authorization filtering mechanism for FHIR Create and Update interactions only simple search parameters are supported. Supporting chain parameters will enabling further use cases regarding enforcement of different authorization policies.
2020-09-17_15:28:17.742 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRCreateService - Requesting 'Create' for Some(Patient) ...
2020-09-17_15:28:17.771 [io-onfhir-api-endpoint-FHIRHistoryEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.util.DateTimeUtil$.instantToDateTime(DateTimeUtil.scala:190)
at io.onfhir.db.ResourceManager$.$anonfun$createResource$3(ResourceManager.scala:856)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-09-17_15:28:17.900 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRUpdateService - requesting 'update' for Patient with example...
2020-09-17_15:28:17.906 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRUpdateService - creating a new document in database as it does not exist
2020-09-17_15:28:17.910 [io-onfhir-api-endpoint-FHIRHistoryEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.util.DateTimeUtil$.instantToDateTime(DateTimeUtil.scala:190)
at io.onfhir.db.ResourceManager$.$anonfun$createResource$3(ResourceManager.scala:856)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-09-17_15:28:18.985 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRUpdateService - requesting 'update' for Patient with example...
2020-09-17_15:28:19.000 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRUpdateService - updating (creating a new version) document in database as it already exists
2020-09-17_15:28:19.029 [io-onfhir-api-endpoint-FHIRHistoryEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.util.DateTimeUtil$.instantToDateTime(DateTimeUtil.scala:190)
at io.onfhir.db.ResourceManager$.$anonfun$updateResource$3(ResourceManager.scala:955)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-09-17_15:28:19.052 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRHistoryService - Requesting 'history' for Patient with Some(example)
2020-09-17_15:28:19.095 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRHistoryService - returning history of 2 resources...
2020-09-17_15:28:22.159 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRUpdateService - requesting 'update' for Patient with example...
2020-09-17_15:28:22.163 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRUpdateService - updating (creating a new version) document in database as it already exists
2020-09-17_15:28:22.172 [io-onfhir-api-endpoint-FHIRHistoryEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.util.DateTimeUtil$.instantToDateTime(DateTimeUtil.scala:190)
at io.onfhir.db.ResourceManager$.$anonfun$updateResource$3(ResourceManager.scala:955)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-09-17_15:28:22.178 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRHistoryService - Requesting 'history' for Patient with None
2020-09-17_15:28:22.199 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRHistoryService - returning history of 0 resources...
2020-09-17_15:28:22.222 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRHistoryService - Requesting 'history' for Patient with Some(11111)
2020-09-17_15:28:22.240 [onfhir-akka.actor.default-dispatcher-3] DEBUG i.o.a.s.FHIRHistoryService - No such resource with type(Patient) and id(Some(11111)), returning 404 NotFound
Tests run: 10, Failures: 4, Errors: 0, Skipped: 0, Time elapsed: 17.129 sec <<< FAILURE! - in io.onfhir.api.endpoint.FHIRHistoryEndpointTest
FHIR History Service should::return history of a resource for create, update, and delete interactions(io.onfhir.api.endpoint.FHIRHistoryEndpointTest) Time elapsed: 0.023 sec <<< FAILURE!
org.specs2.reporter.JUnitPrinter$$anon$1: 500 Internal Server Error != 201 Created expected:<[201 Created]> but was:<[500 Internal Server Error]>
at io.onfhir.api.endpoint.FHIRHistoryEndpointTest.$anonfun$new$3(FHIRHistoryEndpointTest.scala:43)
at io.onfhir.api.endpoint.FHIRHistoryEndpointTest.$anonfun$new$2(FHIRHistoryEndpointTest.scala:42)
FHIR History Service should::return history of resource type(io.onfhir.api.endpoint.FHIRHistoryEndpointTest) Time elapsed: 0.01 sec <<< FAILURE!
org.specs2.reporter.JUnitPrinter$$anon$1: 500 Internal Server Error != 201 Created expected:<[201 Created]> but was:<[500 Internal Server Error]>
at io.onfhir.api.endpoint.FHIRHistoryEndpointTest.$anonfun$new$61(FHIRHistoryEndpointTest.scala:100)
at io.onfhir.api.endpoint.FHIRHistoryEndpointTest.$anonfun$new$60(FHIRHistoryEndpointTest.scala:100)
FHIR History Service should::honor since parameter(io.onfhir.api.endpoint.FHIRHistoryEndpointTest) Time elapsed: 0.007 sec <<< FAILURE!
org.specs2.reporter.JUnitPrinter$$anon$1: Some(2) is Some but 2 != 1 expected:<[1]> but was:<[2]>
at io.onfhir.api.endpoint.FHIRHistoryEndpointTest.$anonfun$new$75(FHIRHistoryEndpointTest.scala:120)
at io.onfhir.api.endpoint.FHIRHistoryEndpointTest.$anonfun$new$73(FHIRHistoryEndpointTest.scala:116)
FHIR History Service should::honor at parameter(io.onfhir.api.endpoint.FHIRHistoryEndpointTest) Time elapsed: 0.005 sec <<< FAILURE!
org.specs2.reporter.JUnitPrinter$$anon$1: Some(0) is Some but 0 != 2 expected:<[2]> but was:<[0]>
at io.onfhir.api.endpoint.FHIRHistoryEndpointTest.$anonfun$new$86(FHIRHistoryEndpointTest.scala:137)
at io.onfhir.api.endpoint.FHIRHistoryEndpointTest.$anonfun$new$84(FHIRHistoryEndpointTest.scala:133)
Running io.onfhir.api.endpoint.FHIRReadEndpointTest
2020-09-17_15:28:25.537 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Reading base FHIR foundation resources (base standard) to start configuration of onFhir server ...
2020-09-17_15:28:25.551 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type StructureDefinition from default path 'definitions.json.zip'
2020-09-17_15:28:26.250 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type StructureDefinition from default path 'definitions.json.zip'
2020-09-17_15:28:26.300 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type StructureDefinition from default path 'definitions.json.zip'
2020-09-17_15:28:26.453 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type StructureDefinition from default path 'definitions.json.zip'
2020-09-17_15:28:26.621 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type SearchParameter from default path 'definitions.json.zip'
2020-09-17_15:28:26.755 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type ValueSet,CodeSystem from default path 'definitions.json.zip'
2020-09-17_15:28:26.991 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type ValueSet,CodeSystem from default path 'definitions.json.zip'
2020-09-17_15:28:27.204 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type ValueSet,CodeSystem from default path 'definitions.json.zip'
2020-09-17_15:28:27.421 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type OperationDefinition from default path 'definitions.json.zip'
2020-09-17_15:28:27.670 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources of type CompartmentDefinition from default path 'definitions.json.zip'
2020-09-17_15:28:27.922 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Reading FHIR foundation resources to start configuration of onFhir server ...
2020-09-17_15:28:27.923 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading a CapabilityStatement from default path 'conformance-statement.json'
2020-09-17_15:28:27.927 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources from default folder 'profiles.zip'
2020-09-17_15:28:27.928 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources from default folder 'search-parameters.zip'
2020-09-17_15:28:27.929 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources from default folder 'operation-definitions.zip'
2020-09-17_15:28:27.931 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources from default folder 'compartments.zip'
2020-09-17_15:28:27.931 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources from default folder 'value-sets.zip'
2020-09-17_15:28:27.933 [specs2-5] INFO i.o.a.u.IOUtil$ - Reading resources from default folder 'code-systems.zip'
2020-09-17_15:28:27.933 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Configuring the platform accordingly ...
2020-09-17_15:28:27.933 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Parsing base FHIR foundation resources (base standard) ...
2020-09-17_15:28:29.604 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Validating given FHIR foundation resources for base specification conformance ...
2020-09-17_15:28:29.906 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Parsing given FHIR foundation resources ...
2020-09-17_15:28:30.342 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Configuring supported FHIR resources and profiles ...
2020-09-17_15:28:30.413 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Configuring supported FHIR search parameters for supported resources ...
2020-09-17_15:28:30.630 [specs2-5] WARN i.o.c.SearchParameterConfigurator - Problem while parsing search parameter expression 'Some(Patient.deceased.exists() and Patient.deceased != false)'! Trying xpath expression to resolve possible target paths...
2020-09-17_15:28:30.646 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Configuring supported FHIR operations ...
2020-09-17_15:28:30.658 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Configuring supported FHIR compartments ...
2020-09-17_15:28:30.658 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Configuring supported FHIR system level interaction ...
2020-09-17_15:28:30.658 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Configuring supported FHIR ValueSets ...
2020-09-17_15:28:30.658 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Configuring required database indexes and shard keys ...
2020-09-17_15:28:30.660 [specs2-5] INFO i.o.c.IndexConfigurator$ - Reading DB Index Configuration file path 'db-index-conf.json'
2020-09-17_15:28:30.667 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Configuring other FHIR version specific parameters (mime types, etc)...
2020-09-17_15:28:30.668 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Setting up (or updating) the platform as requested ...
2020-09-17_15:28:30.671 [specs2-5] INFO i.o.d.DBInitializer$ - Preparing database ...
2020-09-17_15:28:30.671 [specs2-5] INFO i.o.d.DBInitializer$ - Creating MongoDB collections for supported resources ...
2020-09-17_15:28:33.341 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'MolecularSequence' ...
2020-09-17_15:28:33.362 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'CompartmentDefinition' ...
2020-09-17_15:28:33.378 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'StructureDefinition' ...
2020-09-17_15:28:33.400 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'Observation' ...
2020-09-17_15:28:33.424 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'RiskAssessment' ...
2020-09-17_15:28:33.466 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'OperationDefinition' ...
2020-09-17_15:28:33.483 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'AuditEvent' ...
2020-09-17_15:28:33.485 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'ActivityDefinition' ...
2020-09-17_15:28:33.505 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'CodeSystem' ...
2020-09-17_15:28:33.552 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'ValueSet' ...
2020-09-17_15:28:33.557 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'Patient' ...
2020-09-17_15:28:33.566 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'CapabilityStatement' ...
2020-09-17_15:28:33.569 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'SearchParameter' ...
2020-09-17_15:28:33.584 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'Practitioner' ...
2020-09-17_15:28:33.592 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB collection created for 'Condition' ...
2020-09-17_15:28:34.474 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB history collection created for 'Practitioner' ...
2020-09-17_15:28:34.493 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB history collection created for 'Observation' ...
2020-09-17_15:28:34.508 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB history collection created for 'Condition' ...
2020-09-17_15:28:34.510 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB history collection created for 'ActivityDefinition' ...
2020-09-17_15:28:34.513 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB history collection created for 'RiskAssessment' ...
2020-09-17_15:28:34.516 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB history collection created for 'MolecularSequence' ...
2020-09-17_15:28:34.526 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.d.DBInitializer$ - MongoDB history collection created for 'Patient' ...
2020-09-17_15:28:34.527 [specs2-5] INFO i.o.d.DBInitializer$ - Creating database indexes from configurations ...
2020-09-17_15:28:34.527 [specs2-5] INFO i.o.d.DBInitializer$ - Creating indexes for MolecularSequence ...
2020-09-17_15:28:34.531 [onfhir-akka.actor.default-dispatcher-7] INFO i.o.d.DBInitializer$ - 0 indexes ensured for the collection MolecularSequence ...
2020-09-17_15:28:34.531 [specs2-5] INFO i.o.d.DBInitializer$ - Creating indexes for Practitioner ...
2020-09-17_15:28:34.532 [onfhir-akka.actor.default-dispatcher-7] INFO i.o.d.DBInitializer$ - 0 indexes ensured for the collection Practitioner ...
2020-09-17_15:28:34.532 [specs2-5] INFO i.o.d.DBInitializer$ - Creating indexes for Condition ...
2020-09-17_15:28:34.631 [onfhir-akka.actor.default-dispatcher-7] INFO i.o.d.DBInitializer$ - 2 indexes ensured for the collection Condition ...
2020-09-17_15:28:34.632 [specs2-5] INFO i.o.d.DBInitializer$ - Creating indexes for Observation ...
2020-09-17_15:28:35.141 [onfhir-akka.actor.default-dispatcher-7] INFO i.o.d.DBInitializer$ - 10 indexes ensured for the collection Observation ...
2020-09-17_15:28:35.141 [specs2-5] INFO i.o.d.DBInitializer$ - Creating indexes for ActivityDefinition ...
2020-09-17_15:28:35.142 [onfhir-akka.actor.default-dispatcher-7] INFO i.o.d.DBInitializer$ - 0 indexes ensured for the collection ActivityDefinition ...
2020-09-17_15:28:35.142 [specs2-5] INFO i.o.d.DBInitializer$ - Creating indexes for Patient ...
2020-09-17_15:28:35.142 [onfhir-akka.actor.default-dispatcher-7] INFO i.o.d.DBInitializer$ - 0 indexes ensured for the collection Patient ...
2020-09-17_15:28:35.142 [specs2-5] INFO i.o.d.DBInitializer$ - Creating indexes for RiskAssessment ...
2020-09-17_15:28:35.188 [onfhir-akka.actor.default-dispatcher-7] INFO i.o.d.DBInitializer$ - 1 indexes ensured for the collection RiskAssessment ...
2020-09-17_15:28:35.189 [specs2-5] INFO i.o.r.c.FhirR4Configurator - Storing infrastructure resources to database ...
2020-09-17_15:28:35.192 [specs2-5] DEBUG i.o.d.DBInitializer$ - Storing CapabilityStatement resources ...
2020-09-17_15:28:35.331 [onfhir-akka.actor.default-dispatcher-7] INFO i.o.d.DBInitializer$ - 1 resources stored for CapabilityStatement ...
2020-09-17_15:28:35.331 [onfhir-akka.actor.default-dispatcher-7] INFO i.o.d.DBInitializer$ - 0 resources updated for CapabilityStatement ...
2020-09-17_15:28:35.331 [specs2-5] INFO i.o.d.DBInitializer$ - No resources for StructureDefinition, skipping storage...
2020-09-17_15:28:35.331 [specs2-5] INFO i.o.d.DBInitializer$ - No resources for SearchParameter, skipping storage...
2020-09-17_15:28:35.331 [specs2-5] INFO i.o.d.DBInitializer$ - No resources for CompartmentDefinition, skipping storage...
2020-09-17_15:28:35.331 [specs2-5] DEBUG i.o.d.DBInitializer$ - Storing ValueSet resources ...
2020-09-17_15:28:35.343 [onfhir-akka.actor.default-dispatcher-6] INFO i.o.d.DBInitializer$ - 1 resources stored for ValueSet ...
2020-09-17_15:28:35.343 [onfhir-akka.actor.default-dispatcher-6] INFO i.o.d.DBInitializer$ - 0 resources updated for ValueSet ...
2020-09-17_15:28:35.343 [specs2-5] INFO i.o.d.DBInitializer$ - No resources for OperationDefinition, skipping storage...
2020-09-17_15:28:35.343 [specs2-5] INFO i.o.d.DBInitializer$ - No resources for CodeSystem, skipping storage...
2020-09-17_15:28:35.345 [specs2-5] INFO i.o.c.FhirConfigurationManager$ - ** Initialization completed ...
2020-09-17_15:28:35.346 [specs2-5] INFO i.o.c.FhirConfigurationManager$ - ** Used Memory: 305 MB
2020-09-17_15:28:35.346 [specs2-5] INFO i.o.c.FhirConfigurationManager$ - ** Free Memory: 374 MB
2020-09-17_15:28:35.346 [specs2-5] INFO i.o.c.FhirConfigurationManager$ - ** Total Memory: 680 MB
2020-09-17_15:28:35.346 [specs2-5] INFO i.o.c.FhirConfigurationManager$ - ** Max Memory: 8164 MB
2020-09-17_15:28:35.346 [specs2-5] INFO i.o.c.FhirConfigurationManager$ - ** Available Processors:8
2020-09-17_15:28:35.867 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRReadService - requesting 'read' for Patient with id example ...
2020-09-17_15:28:35.873 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRReadService - resource not found, return 404 NotFound...
2020-09-17_15:28:35.953 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRUpdateService - requesting 'update' for Patient with example...
2020-09-17_15:28:35.956 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRUpdateService - creating a new document in database as it does not exist
2020-09-17_15:28:35.972 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.util.DateTimeUtil$.instantToDateTime(DateTimeUtil.scala:190)
at io.onfhir.db.ResourceManager$.$anonfun$createResource$3(ResourceManager.scala:856)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-09-17_15:28:36.034 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRUpdateService - requesting 'update' for Patient with example...
2020-09-17_15:28:36.042 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRUpdateService - updating (creating a new version) document in database as it already exists
2020-09-17_15:28:36.069 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.util.DateTimeUtil$.instantToDateTime(DateTimeUtil.scala:190)
at io.onfhir.db.ResourceManager$.$anonfun$updateResource$3(ResourceManager.scala:955)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-09-17_15:28:36.075 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRReadService - requesting 'vread' for Patient with id example ...
2020-09-17_15:28:36.083 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.api.util.FHIRUtil$.extractLastUpdatedFromResource(FHIRUtil.scala:501)
at io.onfhir.api.util.FHIRUtil$.extractBaseMetaFields(FHIRUtil.scala:472)
at io.onfhir.api.service.FHIRReadService.$anonfun$getResource$2(FHIRReadService.scala:100)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
2020-09-17_15:28:36.105 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRReadService - requesting 'read' for Patient with id example ...
2020-09-17_15:28:36.113 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.api.util.FHIRUtil$.extractLastUpdatedFromResource(FHIRUtil.scala:501)
at io.onfhir.api.util.FHIRUtil$.extractBaseMetaFields(FHIRUtil.scala:472)
at io.onfhir.api.service.FHIRReadService.$anonfun$getResource$2(FHIRReadService.scala:100)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
2020-09-17_15:28:36.137 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRReadService - requesting 'read' for Patient with id example ...
2020-09-17_15:28:36.141 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.api.util.FHIRUtil$.extractLastUpdatedFromResource(FHIRUtil.scala:501)
at io.onfhir.api.util.FHIRUtil$.extractBaseMetaFields(FHIRUtil.scala:472)
at io.onfhir.api.service.FHIRReadService.$anonfun$getResource$2(FHIRReadService.scala:100)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
2020-09-17_15:28:36.161 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRReadService - requesting 'read' for Patient with id example ...
2020-09-17_15:28:36.166 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.api.util.FHIRUtil$.extractLastUpdatedFromResource(FHIRUtil.scala:501)
at io.onfhir.api.util.FHIRUtil$.extractBaseMetaFields(FHIRUtil.scala:472)
at io.onfhir.api.service.FHIRReadService.$anonfun$getResource$2(FHIRReadService.scala:100)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
2020-09-17_15:28:36.191 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRDeleteService - requesting a 'delete' on Patient with id example...
2020-09-17_15:28:36.194 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRDeleteService - insert a new and empty document indicating that current document is deleted...
2020-09-17_15:28:36.206 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.util.DateTimeUtil$.instantToDateTime(DateTimeUtil.scala:190)
at io.onfhir.db.ResourceManager$.$anonfun$deleteResource$2(ResourceManager.scala:1015)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-09-17_15:28:36.211 [onfhir-akka.actor.default-dispatcher-6] DEBUG i.o.a.s.FHIRReadService - requesting 'read' for Patient with id example ...
2020-09-17_15:28:36.214 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.api.util.FHIRUtil$.extractLastUpdatedFromResource(FHIRUtil.scala:501)
at io.onfhir.api.util.FHIRUtil$.extractBaseMetaFields(FHIRUtil.scala:472)
at io.onfhir.api.service.FHIRReadService.$anonfun$getResource$2(FHIRReadService.scala:100)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
2020-09-17_15:28:36.271 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.a.s.FHIRUpdateService - requesting 'update' for Patient with example...
2020-09-17_15:28:36.275 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.a.s.FHIRUpdateService - updating (creating a new version) document in database as it already exists
2020-09-17_15:28:36.283 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.util.DateTimeUtil$.instantToDateTime(DateTimeUtil.scala:190)
at io.onfhir.db.ResourceManager$.$anonfun$updateResource$3(ResourceManager.scala:955)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
2020-09-17_15:28:36.288 [onfhir-akka.actor.default-dispatcher-7] DEBUG i.o.a.s.FHIRReadService - requesting 'read' for Patient with id example ...
2020-09-17_15:28:36.295 [io-onfhir-api-endpoint-FHIRReadEndpointTest-akka.actor.default-dispatcher-2] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.NoSuchElementException: None.get
at scala.None$.get(Option.scala:349)
at scala.None$.get(Option.scala:347)
at io.onfhir.api.util.FHIRUtil$.extractLastUpdatedFromResource(FHIRUtil.scala:501)
at io.onfhir.api.util.FHIRUtil$.extractBaseMetaFields(FHIRUtil.scala:472)
at io.onfhir.api.service.FHIRReadService.$anonfun$getResource$2(FHIRReadService.scala:100)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Some fhir repositories such as Firely Server does not support return=minimal header for batch requests.
In this case, we get an java.lang.ClassCastException in parseEntryAsResponse function: https://github.com/srdc/onfhir/blob/master/onfhir-common/src/main/scala/io/onfhir/api/client/FHIRBundle.scala#L212
since the response includes an OperationOutcome, indicating that return=minimal header is not supported on interaction the system_batch, which has no response field.
Example query:
/CarePlan?_include=CarePlan:goal&_include:iterate=Goal:subject
Response:
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "transient",
"diagnostics": "empty.reduceLeft",
"expression": []
}
]
}
This functionality is not defined in FHIR Path Patch specification (https://www.hl7.org/fhir/fhirpatch.html) but it can be a usefull extension.
In current spec, the "value" parameter either provides the value or value parts (by using part elements) to patch to the given path expressed by a FHIR Path expression.
We can extend this by enabling the provision of the value (or part.value) as FHIR Expression (when valueExpression is given) which then can be evaluated at runtime on the updated resource to get the value to patch for the given path.
e.g. Update the status of a FHIR Goal resource as 'achieved' or 'not-achieved' when a new related observation is created.
PATCH http://onfhir.io/r4/Goal?subject=...&target-measure=... { "resourceType": "Parameters", "parameter": [ { "name": "operation", "part": [ { "name": "type", "valueCode": "replace" }, { "name": "path", "valueString": "Goal.achievementStatus" }, { "name": "value", "valueExpression": { "language": "text/fhirpath", "expression": "Goal.target.detailRange.iff(high > 60, 'achieved', 'not-achieved')" } } ] } ] }_
When the parameter indicated as summary parameter in FHIR StructureDefinition has multi type value, we don't resolve them to actual paths so they don't return. e.g. Patient.deceseased[x]
Current DELETE service marks the resources as "deleted" by upgrading the resource version. For some circumstances, we need a DELETE service which really removes the resources from the repository.
Expected Behavior
Should have written resources successfully
Steps to Reproduce the Problem
Logs
[mongod output] : Permission denied
[mongod output] 2020-09-21T11:40:34.228+0300 E STORAGE [WTCheckpointThread] WiredTiger error (13) [1600677634:227954][16124:140717079221488], file:WiredTiger.wt, WT_SESSION.checkpoint: __wt_turtle_update, 397: WiredTiger.turtle: fatal turtle file update error: Permission denied Raw: [1600677634:227954][16124:140717079221488], file:WiredTiger.wt, WT_SESSION.checkpoint: __wt_turtle_update, 397: WiredTiger.turtle: fatal turtle file update error: Permission denied
[mongod output] 2020-09-21T11:40:34.228+0300 E STORAGE [WTCheckpointThread] WiredTiger error (-31804) [1600677634:227954][16124:140717079221488], file:WiredTiger.wt, WT_SESSION.checkpoint: __wt_panic, 523: the process must exit and restart: WT_PANIC: WiredTiger library panic Raw: [1600677634:227954][16124:140717079221488], file:WiredTiger.wt, WT_SESSION.checkpoint: __wt_panic, 523: the process must exit and restart: WT_PANIC: WiredTiger library panic
[mongod output] 2020-09-21_11:40:34.227 [onfhir-akka.actor.default-dispatcher-2] DEBUG i.o.a.s.FHIRUpdateService - updating (creating a new version) document in database as it already exists
2020-09-21T11:40:34.228+0300 F - [WTCheckpointThread] Fatal Assertion 50853 at src\mongo\db\storage\wiredtiger\wiredtiger_util.cpp 401
[mongod output] 2020-09-21T11:40:34.228+0300 F - [WTCheckpointThread]
[mongod output]
[mongod output] ***aborting after fassert() failure
[mongod output]
[mongod output]
[mongod output] 2020-09-21T11:40:34.229+0300 F - [conn5] Fatal Assertion 28559 at src\mongo\db\storage\wiredtiger\wiredtiger_util.cpp 62
[mongod output] 2020-09-21T11:40:34.229+0300 F - [conn5]
[mongod output]
[mongod output] ***aborting after fassert() failure
[mongod output]
[mongod output]
[mongod output] 2020-09-21_11:40:34.470 [Thread-14] WARN o.m.d.connection - Got socket exception on connection [connectionId{localValue:5, serverValue:5}] to localhost:27018. All connections to localhost:27018 will be closed.
2020-09-21_11:41:04.489 [onfhir-akka.actor.default-dispatcher-4] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
com.mongodb.MongoSocketReadException: Exception receiving message
at com.mongodb.internal.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:569)
at com.mongodb.internal.connection.InternalStreamConnection.access$1200(InternalStreamConnection.java:76)
at com.mongodb.internal.connection.InternalStreamConnection$5.failed(InternalStreamConnection.java:520)
at com.mongodb.internal.connection.AsynchronousChannelStream$BasicCompletionHandler.failed(AsynchronousChannelStream.java:235)
at com.mongodb.internal.connection.AsynchronousChannelStream$BasicCompletionHandler.failed(AsynchronousChannelStream.java:203)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:128)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:157)
at sun.nio.ch.Invoker.invoke(Invoker.java:185)
at sun.nio.ch.Invoker.invoke(Invoker.java:297)
at sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask.failed(WindowsAsynchronousSocketChannelImpl.java:600)
at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:399)
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: The specified network name is no longer available.
at sun.nio.ch.Iocp.translateErrorToIOException(Iocp.java:309)
at sun.nio.ch.Iocp.access$700(Iocp.java:46)
... 5 common frames omitted
2020-09-21_11:41:04.490 [onfhir-akka.actor.default-dispatcher-2] DEBUG i.o.a.s.FHIRUpdateService - requesting 'update' for Patient with af4e036eedce9584ea564f8a75c3cdef...
2020-09-21_11:41:21.864 [MaintenanceTimer-1-thread-1] WARN o.m.d.connection - Exception thrown during connection pool background maintenance task
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.internal.connection.AsynchronousSocketChannelStream$OpenCompletionHandler.failed(AsynchronousSocketChannelStream.java:117)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:128)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:157)
at sun.nio.ch.Invoker.invoke(Invoker.java:185)
at sun.nio.ch.Invoker.invoke(Invoker.java:297)
at sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask.failed(WindowsAsynchronousSocketChannelImpl.java:302)
at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:399)
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: The remote computer refused the network connection.
at sun.nio.ch.Iocp.translateErrorToIOException(Iocp.java:309)
at sun.nio.ch.Iocp.access$700(Iocp.java:46)
... 5 common frames omitted
2020-09-21_11:42:04.497 [onfhir-akka.actor.default-dispatcher-4] ERROR i.o.s.ErrorHandler$ - Unexpected exception!
java.util.concurrent.TimeoutException: Futures timed out after [60 seconds]
at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:255)
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:259)
at scala.concurrent.Await$.$anonfun$result$1(package.scala:215)
at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:172)
at akka.dispatch.forkjoin.ForkJoinPool.managedBlock(ForkJoinPool.java:3641)
at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread.blockOn(ThreadPoolBuilder.scala:170)
at akka.dispatch.BatchingExecutor$BlockableBatch.blockOn(BatchingExecutor.scala:108)
at scala.concurrent.Await$.result(package.scala:142)
at io.onfhir.api.service.FHIRBatchTransactionService.executeChildInteraction(FHIRBatchTransactionService.scala:124)
at io.onfhir.api.service.FHIRBatchTransactionService.$anonfun$performBatchRequest$4(FHIRBatchTransactionService.scala:176)
at io.onfhir.api.service.FHIRBatchTransactionService.$anonfun$performBatchRequest$4$adapted(FHIRBatchTransactionService.scala:173)
at scala.collection.immutable.List.foreach(List.scala:389)
at io.onfhir.api.service.FHIRBatchTransactionService.$anonfun$performBatchRequest$1(FHIRBatchTransactionService.scala:173)
at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:654)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:92)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:92)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
2020-09-21_11:42:04.499 [onfhir-akka.actor.default-dispatcher-2] DEBUG i.o.a.s.FHIRUpdateService - requesting 'update' for Patient with 81babdda1eab99919b10506d6299a7fd...
2020-09-21_11:42:21.824 [MaintenanceTimer-1-thread-1] WARN o.m.d.connection - Exception thrown during connection pool background maintenance task
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.internal.connection.AsynchronousSocketChannelStream$OpenCompletionHandler.failed(AsynchronousSocketChannelStream.java:117)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:128)
at sun.nio.ch.Invoker.invokeDirect(Invoker.java:157)
at sun.nio.ch.Invoker.invoke(Invoker.java:185)
at sun.nio.ch.Invoker.invoke(Invoker.java:297)
at sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask.failed(WindowsAsynchronousSocketChannelImpl.java:302)
at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:399)
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: The remote computer refused the network connection.
at sun.nio.ch.Iocp.translateErrorToIOException(Iocp.java:309)
at sun.nio.ch.Iocp.access$700(Iocp.java:46)
... 5 common frames omitted
Although there are logs like below, the actual update of resources does not take place as expected:
2022-10-26_15:51:42.601 [onfhir-akka.actor.default-dispatcher-12] INFO i.o.d.DBInitializer$ - 0 resources stored for SearchParameter ...
2022-10-26_15:51:42.601 [onfhir-akka.actor.default-dispatcher-12] INFO i.o.d.DBInitializer$ - 20 resources updated for SearchParameter ...
2022-10-26_15:51:42.601 [main] DEBUG i.o.d.DBInitializer$ - Storing CompartmentDefinition resources ...
2022-10-26_15:51:42.606 [onfhir-akka.actor.default-dispatcher-12] INFO i.o.d.DBInitializer$ - 0 resources stored for CompartmentDefinition ...
2022-10-26_15:51:42.606 [onfhir-akka.actor.default-dispatcher-12] INFO i.o.d.DBInitializer$ - 1 resources updated for CompartmentDefinition ...
Example query:
/QuestionnaireResponse?_include=QuestionnaireResponse:questionnaire
When on of the slice definition is required, but min cardinality is not set on the actual element definition, then validation does not catch this error even the element is not given in the content.
Some mongodb indexes are not used with current search queries. The model, queries and indexing can be revisited for a better design.
When a domain resource has text
attribute with div
and status
(Narrative) is requested by a query with Accept: application/fhir+xml
header, it gives error response as described below.
If it's a read request as get fhir/ResourceType/id, the response is:
<OperationOutcome xmlns="http://hl7.org/fhir">
<issue>
<severity value="error"/>
<code value="invalid"/>
<diagnostics value="Problem while converting JSON to XML:Content is not allowed in prolog."/>
</issue>
</OperationOutcome>
If it's a search requests (fhir/ResourceType?params) that results in a bundle containing that resource, the response is:
<OperationOutcome xmlns="http://hl7.org/fhir">
<issue>
<severity value="error"/>
<code value="invalid"/>
<diagnostics value="Problem while converting JSON to XML:null"/>
</issue>
</OperationOutcome>
Implement explicit conversion functions in FHIR Path engine, See http://hl7.org/fhirpath/N1/#conversion
The wildcard include query is misinterpreted. A query like this:
/CarePlan?_id=ba717c6f-120b-478d-ac42-7c0e9f543ae0&_include=*
is interpreted into this internally:
/CarePlan?_id=ba717c6f-120b-478d-ac42-7c0e9f543ae0&_include=(CarePlan,CarePlan.goal):(CarePlan,CarePlan.care-team):(CarePlan,CarePlan.condition):(CarePlan,CarePlan.performer):(CarePlan,CarePlan.activity-reference):(CarePlan,CarePlan.part-of):(CarePlan,CarePlan.instantiates-canonical):(CarePlan,CarePlan.encounter):(CarePlan,CarePlan.based-on):(CarePlan,CarePlan.subject):(CarePlan,CarePlan.patient):(CarePlan,CarePlan.replaces)&_page=1
Describe the Feature Request
I would like to have a list of patients having more than two chronic conditions. I am able to retrieve conditions from repository through FHIR query. What I need more is to group conditions by their subject and keep the ones having at least two condition resources.
Is your feature request related to a problem? Please describe
No.
Not part of the specification but would be good add-on to support :not modifier for uri search parameters. It is needed for _source search param to be more specific.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.