diff --git a/onfhir-common/src/main/scala/io/onfhir/api/util/FHIRUtil.scala b/onfhir-common/src/main/scala/io/onfhir/api/util/FHIRUtil.scala index dd0562ce..6c3a3cff 100644 --- a/onfhir-common/src/main/scala/io/onfhir/api/util/FHIRUtil.scala +++ b/onfhir-common/src/main/scala/io/onfhir/api/util/FHIRUtil.scala @@ -747,11 +747,18 @@ object FHIRUtil { result match { case JNothing => Nil - case org.json4s.JsonAST.JArray(arr) => arr + case a:org.json4s.JsonAST.JArray => flattenJArray(a) case _ => Seq(result) } } + private def flattenJArray(a:JArray):Seq[JValue] = { + a.arr.flatMap { + case sa:JArray => flattenJArray(sa) + case o => Seq(o) + } + } + /** * Extract FHIR reference values from a resource * @param refPath Path to the reference element e.g. Observation.subject --> subject