You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2022/03/15 09:42:31 UTC

[camel] 02/02: CAMEL-17797: Test with FHIR version R4

This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 1b393eb05d89c4df379f75ad78e48d5f7736fc3b
Author: James Netherton <ja...@gmail.com>
AuthorDate: Tue Mar 15 09:08:57 2022 +0000

    CAMEL-17797: Test with FHIR version R4
---
 .../component/fhir/AbstractFhirTestSupport.java    |  8 ++---
 .../camel/component/fhir/FhirCapabilitiesIT.java   |  4 +--
 .../camel/component/fhir/FhirConfigurationIT.java  |  8 ++---
 .../apache/camel/component/fhir/FhirCreateIT.java  |  6 ++--
 .../component/fhir/FhirExtraParametersIT.java      |  4 +--
 .../apache/camel/component/fhir/FhirHistoryIT.java |  4 +--
 .../camel/component/fhir/FhirLoadPageIT.java       |  6 ++--
 .../apache/camel/component/fhir/FhirMetaIT.java    |  4 +--
 .../camel/component/fhir/FhirOperationIT.java      |  8 ++---
 .../apache/camel/component/fhir/FhirPatchIT.java   |  2 +-
 .../apache/camel/component/fhir/FhirReadIT.java    |  4 +--
 .../apache/camel/component/fhir/FhirSearchIT.java  |  4 +--
 .../apache/camel/component/fhir/FhirSimpleIT.java  |  6 ++--
 .../camel/component/fhir/FhirTransactionIT.java    |  6 ++--
 .../apache/camel/component/fhir/FhirUpdateIT.java  |  2 +-
 .../camel/component/fhir/FhirValidateIT.java       | 35 +++++++++++++++++-----
 .../camel/component/fhir/PatientProcessor.java     |  2 +-
 .../camel/component/fhir/UrlFetcherTest.java       |  6 ++--
 .../fhir/dataformat/FhirJsonDataFormatTest.java    | 12 ++++----
 .../FhirJsonDataformatErrorHandlerTest.java        |  4 +--
 .../fhir/dataformat/FhirXmlDataFormatTest.java     | 10 +++----
 .../FhirXmlDataformatErrorHandlerTest.java         |  4 +--
 .../spring/FhirDataformatConfigSpringTest.java     |  4 +--
 .../FhirDataformatDefaultConfigSpringTest.java     |  2 +-
 .../spring/FhirJsonDataFormatSpringTest.java       | 10 +++----
 .../FhirJsonDataformatErrorHandlerSpringTest.java  |  2 +-
 .../spring/FhirXmlDataFormatSpringTest.java        | 10 +++----
 .../FhirXmlDataformatErrorHandlerSpringTest.java   |  2 +-
 .../fhir/FhirDataFormatConfigSpringTest.xml        |  6 ++--
 .../FhirJsonDataFormatErrorHandlerSpringTest.xml   |  2 +-
 .../fhir/json/FhirJsonDataFormatSpringTest.xml     |  2 +-
 .../FhirXmlDataFormatErrorHandlerSpringTest.xml    |  2 +-
 .../fhir/services/FhirLocalContainerService.java   |  2 +-
 33 files changed, 107 insertions(+), 86 deletions(-)

diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/AbstractFhirTestSupport.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/AbstractFhirTestSupport.java
index 73400a8..233ec0d 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/AbstractFhirTestSupport.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/AbstractFhirTestSupport.java
@@ -27,9 +27,9 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.test.infra.fhir.services.FhirService;
 import org.apache.camel.test.infra.fhir.services.FhirServiceFactory;
 import org.apache.camel.test.junit5.CamelTestSupport;
-import org.hl7.fhir.dstu3.model.Bundle;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Bundle;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.TestInstance;
 import org.junit.jupiter.api.extension.RegisterExtension;
@@ -82,7 +82,7 @@ public abstract class AbstractFhirTestSupport extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         final CamelContext context = super.createCamelContext();
-        this.fhirContext = new FhirContext(FhirVersionEnum.DSTU3);
+        this.fhirContext = new FhirContext(FhirVersionEnum.R4);
         // Set proxy so that FHIR resource URLs returned by the server are using the correct host and port
         this.fhirContext.getRestfulClientFactory().setProxy(service.getHost(), service.getPort());
         this.fhirClient = this.fhirContext.newRestfulGenericClient(service.getServiceBaseURL());
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirCapabilitiesIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirCapabilitiesIT.java
index 09d6edb..4110207 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirCapabilitiesIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirCapabilitiesIT.java
@@ -23,8 +23,8 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.api.ExtraParameters;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirCapabilitiesApiMethod;
-import org.hl7.fhir.dstu3.model.CapabilityStatement;
-import org.hl7.fhir.dstu3.model.Enumerations;
+import org.hl7.fhir.r4.model.CapabilityStatement;
+import org.hl7.fhir.r4.model.Enumerations;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirConfigurationIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirConfigurationIT.java
index 3e0c776..89cba93 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirConfigurationIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirConfigurationIT.java
@@ -47,7 +47,7 @@ public class FhirConfigurationIT extends AbstractFhirTestSupport {
 
     private static final String TEST_URI = "fhir://" + PATH_PREFIX + "/resource?inBody=resourceAsString&log=true&"
                                            + "encoding=JSON&summary=TEXT&compress=true&username=art&password=tatum&sessionCookie=mycookie%3DChips%20Ahoy"
-                                           + "&accessToken=token&serverUrl=http://localhost:8080/hapi-fhir-jpaserver-example/baseDstu3&fhirVersion=DSTU3";
+                                           + "&accessToken=token&serverUrl=http://localhost:8080/hapi-fhir-jpaserver-example/baseR4&fhirVersion=R4";
     private FhirConfiguration componentConfiguration;
 
     @Mock
@@ -68,8 +68,8 @@ public class FhirConfigurationIT extends AbstractFhirTestSupport {
         fhirConfiguration.setPassword("tatum");
         fhirConfiguration.setSessionCookie("mycookie=Chips Ahoy");
         fhirConfiguration.setAccessToken("token");
-        fhirConfiguration.setServerUrl("http://localhost:8080/hapi-fhir-jpaserver-example/baseDstu3");
-        fhirConfiguration.setFhirVersion("DSTU3");
+        fhirConfiguration.setServerUrl("http://localhost:8080/hapi-fhir-jpaserver-example/baseR4");
+        fhirConfiguration.setFhirVersion("R4");
         component.setConfiguration(fhirConfiguration);
 
         final IGenericClient client = component.createClient(fhirConfiguration);
@@ -88,7 +88,7 @@ public class FhirConfigurationIT extends AbstractFhirTestSupport {
         GenericClient client = (GenericClient) endpoint.getClient();
         FhirConfiguration configuration = endpoint.getConfiguration();
         assertEquals(this.componentConfiguration, configuration);
-        assertEquals("http://localhost:8080/hapi-fhir-jpaserver-example/baseDstu3", client.getUrlBase());
+        assertEquals("http://localhost:8080/hapi-fhir-jpaserver-example/baseR4", client.getUrlBase());
         assertEquals(EncodingEnum.JSON, client.getEncoding());
         assertEquals(SummaryEnum.TEXT, client.getSummary());
         List<Object> interceptors = client.getInterceptorService().getAllRegisteredInterceptors();
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirCreateIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirCreateIT.java
index 8ca2bf0..625a6fa 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirCreateIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirCreateIT.java
@@ -29,8 +29,8 @@ import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirCreateApiMethod;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.spi.Registry;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -58,7 +58,7 @@ public class FhirCreateIT extends AbstractFhirTestSupport {
             context = new DefaultCamelContext();
         }
 
-        this.fhirContext = new FhirContext(FhirVersionEnum.DSTU3);
+        this.fhirContext = new FhirContext(FhirVersionEnum.R4);
         // Set proxy so that FHIR resource URLs returned by the server are using the correct host and port
         this.fhirContext.getRestfulClientFactory().setProxy(service.getHost(), service.getPort());
         this.fhirClient = this.fhirContext.newRestfulGenericClient(service.getServiceBaseURL());
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirExtraParametersIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirExtraParametersIT.java
index a30baf2..cb74426 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirExtraParametersIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirExtraParametersIT.java
@@ -23,8 +23,8 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.api.ExtraParameters;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirSearchApiMethod;
-import org.hl7.fhir.dstu3.model.Bundle;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Bundle;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirHistoryIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirHistoryIT.java
index 2e2cedd..e46febc 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirHistoryIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirHistoryIT.java
@@ -23,8 +23,8 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.api.ExtraParameters;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirHistoryApiMethod;
-import org.hl7.fhir.dstu3.model.Bundle;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Bundle;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirLoadPageIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirLoadPageIT.java
index a93d542..1f0f112 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirLoadPageIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirLoadPageIT.java
@@ -26,11 +26,11 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.api.ExtraParameters;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirLoadPageApiMethod;
-import org.hl7.fhir.dstu3.model.Bundle;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.Patient;
 import org.hl7.fhir.instance.model.api.IBaseBundle;
 import org.hl7.fhir.instance.model.api.IBaseResource;
+import org.hl7.fhir.r4.model.Bundle;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirMetaIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirMetaIT.java
index 307c63f..fba1036 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirMetaIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirMetaIT.java
@@ -23,9 +23,9 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.api.ExtraParameters;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirMetaApiMethod;
-import org.hl7.fhir.dstu3.model.Meta;
-import org.hl7.fhir.dstu3.model.Patient;
 import org.hl7.fhir.instance.model.api.IBaseMetaType;
+import org.hl7.fhir.r4.model.Meta;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirOperationIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirOperationIT.java
index 9a5ea4e..d6e76b6 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirOperationIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirOperationIT.java
@@ -22,10 +22,10 @@ import java.util.Map;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirOperationApiMethod;
-import org.hl7.fhir.dstu3.model.Bundle;
-import org.hl7.fhir.dstu3.model.IdType;
-import org.hl7.fhir.dstu3.model.Parameters;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Bundle;
+import org.hl7.fhir.r4.model.IdType;
+import org.hl7.fhir.r4.model.Parameters;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirPatchIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirPatchIT.java
index f581778..7c4215e 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirPatchIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirPatchIT.java
@@ -26,9 +26,9 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.api.ExtraParameters;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirPatchApiMethod;
-import org.hl7.fhir.dstu3.model.Patient;
 import org.hl7.fhir.instance.model.api.IBaseResource;
 import org.hl7.fhir.instance.model.api.IIdType;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirReadIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirReadIT.java
index 3320601..b810b9f 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirReadIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirReadIT.java
@@ -23,8 +23,8 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.api.ExtraParameters;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirReadApiMethod;
-import org.hl7.fhir.dstu3.model.IdType;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.IdType;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirSearchIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirSearchIT.java
index f76a401..dbf8e46 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirSearchIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirSearchIT.java
@@ -19,8 +19,8 @@ package org.apache.camel.component.fhir;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirSearchApiMethod;
-import org.hl7.fhir.dstu3.model.Bundle;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Bundle;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirSimpleIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirSimpleIT.java
index 5a9de40..db840c7 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirSimpleIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirSimpleIT.java
@@ -25,8 +25,8 @@ import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirCreateApiMethod;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.spi.Registry;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -77,7 +77,7 @@ public class FhirSimpleIT extends AbstractFhirTestSupport {
             public void configure() {
                 from("direct://RESOURCE")
                         .to("fhir://" + PATH_PREFIX + "/resource?inBody=resource&serverUrl=" + service.getServiceBaseURL()
-                            + "&fhirVersion=DSTU3");
+                            + "&fhirVersion=R4");
             }
         };
     }
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirTransactionIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirTransactionIT.java
index 7969e24..21319c4 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirTransactionIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirTransactionIT.java
@@ -26,10 +26,10 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.api.ExtraParameters;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirTransactionApiMethod;
-import org.hl7.fhir.dstu3.model.Bundle;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.Patient;
 import org.hl7.fhir.instance.model.api.IBaseResource;
+import org.hl7.fhir.r4.model.Bundle;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirUpdateIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirUpdateIT.java
index aea8c37..0ceabb9 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirUpdateIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirUpdateIT.java
@@ -27,7 +27,7 @@ import ca.uhn.fhir.rest.api.PreferReturnEnum;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirUpdateApiMethod;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirValidateIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirValidateIT.java
index 2a19439..a622e2b 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirValidateIT.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirValidateIT.java
@@ -16,17 +16,22 @@
  */
 package org.apache.camel.component.fhir;
 
+import java.util.List;
+
 import ca.uhn.fhir.rest.api.MethodOutcome;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirValidateApiMethod;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.OperationOutcome;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Narrative;
+import org.hl7.fhir.r4.model.OperationOutcome;
+import org.hl7.fhir.r4.model.OperationOutcome.OperationOutcomeIssueComponent;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
@@ -43,27 +48,43 @@ public class FhirValidateIT extends AbstractFhirTestSupport {
     @Test
     public void testResource() throws Exception {
         Patient bobbyHebb = new Patient().addName(new HumanName().addGiven("Bobby").setFamily("Hebb"));
+        bobbyHebb.getText().setStatus(Narrative.NarrativeStatus.GENERATED);
+        bobbyHebb.getText().setDivAsString("<div>This is the narrative text</div>");
+
         // using org.hl7.fhir.instance.model.api.IBaseResource message body for single parameter "resource"
         MethodOutcome result = requestBody("direct://RESOURCE", bobbyHebb);
 
         assertNotNull(result, "resource result");
         LOG.debug("resource: " + result);
-        assertNotNull(result.getOperationOutcome());
-        assertTrue(((OperationOutcome) result.getOperationOutcome()).getText().getDivAsString()
+        OperationOutcome operationOutcome = (OperationOutcome) result.getOperationOutcome();
+        assertNotNull(operationOutcome);
+
+        List<OperationOutcomeIssueComponent> issue = operationOutcome.getIssue();
+        assertNotNull(issue);
+        assertEquals(1, issue.size());
+        assertTrue(issue.get(0).getDiagnostics()
                 .contains("No issues detected during validation"));
     }
 
     @Test
     public void testResourceAsString() throws Exception {
         Patient bobbyHebb = new Patient().addName(new HumanName().addGiven("Bobby").setFamily("Hebb"));
+        bobbyHebb.getText().setStatus(Narrative.NarrativeStatus.GENERATED);
+        bobbyHebb.getText().setDivAsString("<div>This is the narrative text</div>");
+
         // using org.hl7.fhir.instance.model.api.IBaseResource message body for single parameter "resource"
         MethodOutcome result
                 = requestBody("direct://RESOURCE_AS_STRING", this.fhirContext.newXmlParser().encodeResourceToString(bobbyHebb));
 
         assertNotNull(result, "resource result");
         LOG.debug("resource: " + result);
-        assertNotNull(result.getOperationOutcome());
-        assertTrue(((OperationOutcome) result.getOperationOutcome()).getText().getDivAsString()
+        OperationOutcome operationOutcome = (OperationOutcome) result.getOperationOutcome();
+        assertNotNull(operationOutcome);
+
+        List<OperationOutcomeIssueComponent> issue = operationOutcome.getIssue();
+        assertNotNull(issue);
+        assertEquals(1, issue.size());
+        assertTrue(issue.get(0).getDiagnostics()
                 .contains("No issues detected during validation"));
     }
 
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/PatientProcessor.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/PatientProcessor.java
index 6589f5c..c7f8457 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/PatientProcessor.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/PatientProcessor.java
@@ -20,7 +20,7 @@ import ca.uhn.hl7v2.model.v24.message.ORU_R01;
 import ca.uhn.hl7v2.model.v24.segment.PID;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Patient;
 
 /**
  * Simple Patient processor that converts the Patient segment of a {@link ORU_R01} message into a FHIR dtsu3
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/UrlFetcherTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/UrlFetcherTest.java
index bad6b14..84c928c 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/UrlFetcherTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/UrlFetcherTest.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.fhir;
 import ca.uhn.fhir.context.FhirContext;
 import ca.uhn.fhir.rest.client.api.IGenericClient;
 import ca.uhn.fhir.rest.client.interceptor.LoggingInterceptor;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
@@ -29,8 +29,8 @@ public class UrlFetcherTest {
     @Test
     public void getUrlTest() {
         // Create a client to talk to your favorite test server
-        FhirContext ctx = FhirContext.forDstu3();
-        IGenericClient client = ctx.newRestfulGenericClient("http://localhost:8080/hapi-fhir-jpaserver-example/baseDstu3");
+        FhirContext ctx = FhirContext.forR4();
+        IGenericClient client = ctx.newRestfulGenericClient("http://localhost:8080/hapi-fhir-jpaserver-example/baseR4");
         // URL will be logged in console, see log4j2.properties
         client.registerInterceptor(new LoggingInterceptor(true));
 
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirJsonDataFormatTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirJsonDataFormatTest.java
index b3f1095..7a24e7e 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirJsonDataFormatTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirJsonDataFormatTest.java
@@ -24,11 +24,11 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit5.CamelTestSupport;
-import org.hl7.fhir.dstu3.model.Address;
-import org.hl7.fhir.dstu3.model.Base;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.Patient;
 import org.hl7.fhir.instance.model.api.IBaseResource;
+import org.hl7.fhir.r4.model.Address;
+import org.hl7.fhir.r4.model.Base;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -73,7 +73,7 @@ public class FhirJsonDataFormatTest extends CamelTestSupport {
 
         Exchange exchange = mockEndpoint.getExchanges().get(0);
         InputStream inputStream = exchange.getIn().getBody(InputStream.class);
-        IBaseResource iBaseResource = FhirContext.forDstu3().newJsonParser().parseResource(new InputStreamReader(inputStream));
+        IBaseResource iBaseResource = FhirContext.forR4().newJsonParser().parseResource(new InputStreamReader(inputStream));
         assertTrue(patient.equalsDeep((Base) iBaseResource), "Patients should be equal!");
     }
 
@@ -89,7 +89,7 @@ public class FhirJsonDataFormatTest extends CamelTestSupport {
         return new RouteBuilder() {
             public void configure() {
                 from("direct:marshal")
-                        .marshal().fhirJson("DSTU3")
+                        .marshal().fhirJson("R4")
                         .to("mock:result");
 
                 from("direct:unmarshal")
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirJsonDataformatErrorHandlerTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirJsonDataformatErrorHandlerTest.java
index 1f2a055..401cf74 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirJsonDataformatErrorHandlerTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirJsonDataformatErrorHandlerTest.java
@@ -27,7 +27,7 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.FhirJsonDataFormat;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit5.CamelTestSupport;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -41,7 +41,7 @@ public class FhirJsonDataformatErrorHandlerTest extends CamelTestSupport {
             = "{\"resourceType\":\"Patient\",\"extension\":[ {\"valueDateTime\":\"2011-01-02T11:13:15\"} ]}";
 
     private MockEndpoint mockEndpoint;
-    private final FhirContext fhirContext = FhirContext.forDstu3();
+    private final FhirContext fhirContext = FhirContext.forR4();
 
     @Override
     @BeforeEach
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirXmlDataFormatTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirXmlDataFormatTest.java
index 3965e70..c6845b5 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirXmlDataFormatTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirXmlDataFormatTest.java
@@ -24,11 +24,11 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit5.CamelTestSupport;
-import org.hl7.fhir.dstu3.model.Address;
-import org.hl7.fhir.dstu3.model.Base;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.Patient;
 import org.hl7.fhir.instance.model.api.IBaseResource;
+import org.hl7.fhir.r4.model.Address;
+import org.hl7.fhir.r4.model.Base;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -74,7 +74,7 @@ public class FhirXmlDataFormatTest extends CamelTestSupport {
         Exchange exchange = mockEndpoint.getExchanges().get(0);
         InputStream inputStream = exchange.getIn().getBody(InputStream.class);
         final IBaseResource iBaseResource
-                = FhirContext.forDstu3().newXmlParser().parseResource(new InputStreamReader(inputStream));
+                = FhirContext.forR4().newXmlParser().parseResource(new InputStreamReader(inputStream));
         assertTrue(patient.equalsDeep((Base) iBaseResource), "Patients should be equal!");
     }
 
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirXmlDataformatErrorHandlerTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirXmlDataformatErrorHandlerTest.java
index 8e60b25..c2cd0cd 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirXmlDataformatErrorHandlerTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/FhirXmlDataformatErrorHandlerTest.java
@@ -27,7 +27,7 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.fhir.FhirXmlDataFormat;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit5.CamelTestSupport;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -39,7 +39,7 @@ public class FhirXmlDataformatErrorHandlerTest extends CamelTestSupport {
     private static final String INPUT = "<Patient><active value=\"true\"/><active value=\"false\"/></Patient>";
 
     private MockEndpoint mockEndpoint;
-    private final FhirContext fhirContext = FhirContext.forDstu3();
+    private final FhirContext fhirContext = FhirContext.forR4();
 
     @Override
     @BeforeEach
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirDataformatConfigSpringTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirDataformatConfigSpringTest.java
index 4268809..7405a70 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirDataformatConfigSpringTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirDataformatConfigSpringTest.java
@@ -27,7 +27,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.component.fhir.FhirDataFormat;
 import org.apache.camel.reifier.dataformat.DataFormatReifier;
 import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.hl7.fhir.dstu3.model.IdType;
+import org.hl7.fhir.r4.model.IdType;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.support.AbstractApplicationContext;
@@ -58,7 +58,7 @@ public class FhirDataformatConfigSpringTest extends CamelSpringTestSupport {
     }
 
     private void assertConfig(FhirDataFormat fhirJson) {
-        assertEquals(FhirVersionEnum.DSTU3, fhirJson.getFhirContext().getVersion().getVersion());
+        assertEquals(FhirVersionEnum.R4, fhirJson.getFhirContext().getVersion().getVersion());
         Set<String> dontEncodeElements = fhirJson.getDontEncodeElements();
         assertCollection(dontEncodeElements);
         List<String> dontStripVersionsFromReferencesAtPaths = fhirJson.getDontStripVersionsFromReferencesAtPaths();
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirDataformatDefaultConfigSpringTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirDataformatDefaultConfigSpringTest.java
index 0f32587..df45104 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirDataformatDefaultConfigSpringTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirDataformatDefaultConfigSpringTest.java
@@ -50,7 +50,7 @@ public class FhirDataformatDefaultConfigSpringTest extends CamelSpringTestSuppor
     }
 
     private void assertDefaultConfig(FhirDataFormat fhirJson) {
-        assertEquals(FhirVersionEnum.DSTU3, fhirJson.getFhirContext().getVersion().getVersion());
+        assertEquals(FhirVersionEnum.R4, fhirJson.getFhirContext().getVersion().getVersion());
         assertNull(fhirJson.getDontEncodeElements());
         assertNull(fhirJson.getDontStripVersionsFromReferencesAtPaths());
         assertNull(fhirJson.getEncodeElements());
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirJsonDataFormatSpringTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirJsonDataFormatSpringTest.java
index 1162785..a75ae0a 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirJsonDataFormatSpringTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirJsonDataFormatSpringTest.java
@@ -23,11 +23,11 @@ import ca.uhn.fhir.context.FhirContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.hl7.fhir.dstu3.model.Address;
-import org.hl7.fhir.dstu3.model.Base;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.Patient;
 import org.hl7.fhir.instance.model.api.IBaseResource;
+import org.hl7.fhir.r4.model.Address;
+import org.hl7.fhir.r4.model.Base;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.support.AbstractApplicationContext;
@@ -74,7 +74,7 @@ public class FhirJsonDataFormatSpringTest extends CamelSpringTestSupport {
 
         Exchange exchange = mockEndpoint.getExchanges().get(0);
         InputStream inputStream = exchange.getIn().getBody(InputStream.class);
-        IBaseResource iBaseResource = FhirContext.forDstu3().newJsonParser().parseResource(new InputStreamReader(inputStream));
+        IBaseResource iBaseResource = FhirContext.forR4().newJsonParser().parseResource(new InputStreamReader(inputStream));
         assertTrue(patient.equalsDeep((Base) iBaseResource), "Patients should be equal!");
     }
 
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirJsonDataformatErrorHandlerSpringTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirJsonDataformatErrorHandlerSpringTest.java
index 2cbf117..ada3da8 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirJsonDataformatErrorHandlerSpringTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirJsonDataformatErrorHandlerSpringTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.support.AbstractApplicationContext;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirXmlDataFormatSpringTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirXmlDataFormatSpringTest.java
index 8ca6c1a..75b09d6 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirXmlDataFormatSpringTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirXmlDataFormatSpringTest.java
@@ -23,11 +23,11 @@ import ca.uhn.fhir.context.FhirContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.hl7.fhir.dstu3.model.Address;
-import org.hl7.fhir.dstu3.model.Base;
-import org.hl7.fhir.dstu3.model.HumanName;
-import org.hl7.fhir.dstu3.model.Patient;
 import org.hl7.fhir.instance.model.api.IBaseResource;
+import org.hl7.fhir.r4.model.Address;
+import org.hl7.fhir.r4.model.Base;
+import org.hl7.fhir.r4.model.HumanName;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.support.AbstractApplicationContext;
@@ -76,7 +76,7 @@ public class FhirXmlDataFormatSpringTest extends CamelSpringTestSupport {
         Exchange exchange = mockEndpoint.getExchanges().get(0);
         InputStream inputStream = exchange.getIn().getBody(InputStream.class);
         final IBaseResource iBaseResource
-                = FhirContext.forDstu3().newXmlParser().parseResource(new InputStreamReader(inputStream));
+                = FhirContext.forR4().newXmlParser().parseResource(new InputStreamReader(inputStream));
         assertTrue(patient.equalsDeep((Base) iBaseResource), "Patients should be equal!");
     }
 
diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirXmlDataformatErrorHandlerSpringTest.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirXmlDataformatErrorHandlerSpringTest.java
index e877571..fefc77d 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirXmlDataformatErrorHandlerSpringTest.java
+++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/dataformat/spring/FhirXmlDataformatErrorHandlerSpringTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.hl7.fhir.dstu3.model.Patient;
+import org.hl7.fhir.r4.model.Patient;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.support.AbstractApplicationContext;
diff --git a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/FhirDataFormatConfigSpringTest.xml b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/FhirDataFormatConfigSpringTest.xml
index bf9dfbf..788d4f0 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/FhirDataFormatConfigSpringTest.xml
+++ b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/FhirDataFormatConfigSpringTest.xml
@@ -111,10 +111,10 @@
     </property>
   </bean>
 
-  <bean id="fhirContext" class="ca.uhn.fhir.context.FhirContext" factory-method="forDstu3"/>
+  <bean id="fhirContext" class="ca.uhn.fhir.context.FhirContext" factory-method="forR4"/>
   <bean id ="errorHandler" class="ca.uhn.fhir.parser.LenientErrorHandler"/>
   <bean id="parserOptions" class="ca.uhn.fhir.context.ParserOptions" />
-  <bean id="forceResourceId" class="org.hl7.fhir.dstu3.model.IdType" />
-  <bean id="patient" class="org.hl7.fhir.dstu3.model.Patient" />
+  <bean id="forceResourceId" class="org.hl7.fhir.r4.model.IdType" />
+  <bean id="patient" class="org.hl7.fhir.r4.model.Patient" />
 
 </beans>
diff --git a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatErrorHandlerSpringTest.xml b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatErrorHandlerSpringTest.xml
index 10d8bd0..20e3c09 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatErrorHandlerSpringTest.xml
+++ b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatErrorHandlerSpringTest.xml
@@ -48,5 +48,5 @@
     </property>
     <property name="fhirContext" ref="fhirContext"/>
   </bean>
-  <bean id="fhirContext" class="ca.uhn.fhir.context.FhirContext" factory-method="forDstu3"/>
+  <bean id="fhirContext" class="ca.uhn.fhir.context.FhirContext" factory-method="forR4"/>
 </beans>
diff --git a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatSpringTest.xml b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatSpringTest.xml
index 4572a75..2d5ddaa 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatSpringTest.xml
+++ b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatSpringTest.xml
@@ -28,7 +28,7 @@
     <route>
       <from uri="direct:marshal"/>
       <marshal>
-        <fhirJson fhirVersion="DSTU3" prettyPrint="true"/>
+        <fhirJson fhirVersion="R4" prettyPrint="true"/>
       </marshal>
       <to uri="mock:result"/>
     </route>
diff --git a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/xml/FhirXmlDataFormatErrorHandlerSpringTest.xml b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/xml/FhirXmlDataFormatErrorHandlerSpringTest.xml
index 095ace9..d39af5d 100644
--- a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/xml/FhirXmlDataFormatErrorHandlerSpringTest.xml
+++ b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/xml/FhirXmlDataFormatErrorHandlerSpringTest.xml
@@ -48,5 +48,5 @@
     </property>
     <property name="fhirContext" ref="fhirContext"/>
   </bean>
-  <bean id="fhirContext" class="ca.uhn.fhir.context.FhirContext" factory-method="forDstu3"/>
+  <bean id="fhirContext" class="ca.uhn.fhir.context.FhirContext" factory-method="forR4"/>
 </beans>
diff --git a/test-infra/camel-test-infra-fhir/src/test/java/org/apache/camel/test/infra/fhir/services/FhirLocalContainerService.java b/test-infra/camel-test-infra-fhir/src/test/java/org/apache/camel/test/infra/fhir/services/FhirLocalContainerService.java
index bc5f3ed..489c1bf 100644
--- a/test-infra/camel-test-infra-fhir/src/test/java/org/apache/camel/test/infra/fhir/services/FhirLocalContainerService.java
+++ b/test-infra/camel-test-infra-fhir/src/test/java/org/apache/camel/test/infra/fhir/services/FhirLocalContainerService.java
@@ -48,7 +48,7 @@ public class FhirLocalContainerService implements FhirService, ContainerService<
         return new GenericContainer(imageName)
                 .withNetworkAliases(containerName)
                 .withExposedPorts(FhirProperties.DEFAULT_SERVICE_PORT)
-                .withEnv("HAPI_FHIR_VERSION", "DSTU3")
+                .withEnv("HAPI_FHIR_VERSION", "R4")
                 .withEnv("HAPI_REUSE_CACHED_SEARCH_RESULTS_MILLIS", "-1")
                 .waitingFor(Wait.forListeningPort())
                 .waitingFor(Wait.forHttp("/hapi-fhir-jpaserver/fhir/metadata"));