diff --git a/pom.xml b/pom.xml
index 2549b9fd23..8c8e946b61 100644
--- a/pom.xml
+++ b/pom.xml
@@ -780,6 +780,11 @@
commons-lang3
3.12.0
+
+ org.apache.commons
+ commons-text
+ 1.10.0
+
org.flywaydb
flyway-core
diff --git a/src/main/java/org/ohdsi/webapi/check/checker/ir/helper/IRAnalysisExpressionHelper.java b/src/main/java/org/ohdsi/webapi/check/checker/ir/helper/IRAnalysisExpressionHelper.java
index 6a1f59056a..8a6d8f2341 100644
--- a/src/main/java/org/ohdsi/webapi/check/checker/ir/helper/IRAnalysisExpressionHelper.java
+++ b/src/main/java/org/ohdsi/webapi/check/checker/ir/helper/IRAnalysisExpressionHelper.java
@@ -1,6 +1,6 @@
package org.ohdsi.webapi.check.checker.ir.helper;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.ohdsi.webapi.check.builder.IterableForEachValidatorBuilder;
import org.ohdsi.webapi.check.builder.NotNullNotEmptyValidatorBuilder;
import org.ohdsi.webapi.check.builder.PredicateValidatorBuilder;
diff --git a/src/main/java/org/ohdsi/webapi/estimation/converter/EstimationToEstimationShortDTOConverter.java b/src/main/java/org/ohdsi/webapi/estimation/converter/EstimationToEstimationShortDTOConverter.java
index 1aafbd9dc2..3d8af2813d 100644
--- a/src/main/java/org/ohdsi/webapi/estimation/converter/EstimationToEstimationShortDTOConverter.java
+++ b/src/main/java/org/ohdsi/webapi/estimation/converter/EstimationToEstimationShortDTOConverter.java
@@ -1,6 +1,6 @@
package org.ohdsi.webapi.estimation.converter;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.ohdsi.webapi.estimation.Estimation;
import org.ohdsi.webapi.estimation.dto.EstimationShortDTO;
import org.ohdsi.webapi.service.converters.BaseCommonEntityToDTOConverter;
diff --git a/src/main/java/org/ohdsi/webapi/exampleapplication/ExampleApplicationWithJobService.java b/src/main/java/org/ohdsi/webapi/exampleapplication/ExampleApplicationWithJobService.java
index 0c34950ea4..db275544b4 100644
--- a/src/main/java/org/ohdsi/webapi/exampleapplication/ExampleApplicationWithJobService.java
+++ b/src/main/java/org/ohdsi/webapi/exampleapplication/ExampleApplicationWithJobService.java
@@ -1,6 +1,6 @@
package org.ohdsi.webapi.exampleapplication;
-import org.apache.commons.lang.RandomStringUtils;
+import org.apache.commons.lang3.RandomStringUtils;
import org.ohdsi.circe.vocabulary.Concept;
import org.ohdsi.webapi.exampleapplication.model.Widget;
import org.ohdsi.webapi.exampleapplication.repository.WidgetRepository;
diff --git a/src/main/java/org/ohdsi/webapi/generationcache/CleanupScheduler.java b/src/main/java/org/ohdsi/webapi/generationcache/CleanupScheduler.java
index 37e951eef2..d89b278907 100644
--- a/src/main/java/org/ohdsi/webapi/generationcache/CleanupScheduler.java
+++ b/src/main/java/org/ohdsi/webapi/generationcache/CleanupScheduler.java
@@ -1,7 +1,7 @@
package org.ohdsi.webapi.generationcache;
import com.cosium.spring.data.jpa.entity.graph.domain.EntityGraphUtils;
-import org.apache.commons.lang.time.DateUtils;
+import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
diff --git a/src/main/java/org/ohdsi/webapi/report/mapper/GenericRowMapper.java b/src/main/java/org/ohdsi/webapi/report/mapper/GenericRowMapper.java
index 64d4707c99..c84dcaed26 100644
--- a/src/main/java/org/ohdsi/webapi/report/mapper/GenericRowMapper.java
+++ b/src/main/java/org/ohdsi/webapi/report/mapper/GenericRowMapper.java
@@ -3,7 +3,7 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.commons.lang.WordUtils;
+import org.apache.commons.text.WordUtils;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.support.JdbcUtils;
diff --git a/src/main/java/org/ohdsi/webapi/shiro/filters/UpdateAccessTokenFilter.java b/src/main/java/org/ohdsi/webapi/shiro/filters/UpdateAccessTokenFilter.java
index f5597058e8..20dce484e0 100644
--- a/src/main/java/org/ohdsi/webapi/shiro/filters/UpdateAccessTokenFilter.java
+++ b/src/main/java/org/ohdsi/webapi/shiro/filters/UpdateAccessTokenFilter.java
@@ -18,7 +18,7 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.ws.rs.core.UriBuilder;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.PrincipalCollection;
diff --git a/src/main/java/org/ohdsi/webapi/shiro/management/AtlasRegularSecurity.java b/src/main/java/org/ohdsi/webapi/shiro/management/AtlasRegularSecurity.java
index e19a1ebc8b..6b083b9e82 100644
--- a/src/main/java/org/ohdsi/webapi/shiro/management/AtlasRegularSecurity.java
+++ b/src/main/java/org/ohdsi/webapi/shiro/management/AtlasRegularSecurity.java
@@ -4,7 +4,7 @@
import io.buji.pac4j.filter.CallbackFilter;
import io.buji.pac4j.filter.SecurityFilter;
import io.buji.pac4j.realm.Pac4jRealm;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.realm.Realm;
import org.apache.shiro.realm.activedirectory.ActiveDirectoryRealm;
import org.apache.shiro.realm.ldap.DefaultLdapRealm;
diff --git a/src/main/java/org/ohdsi/webapi/shiro/realms/ADRealm.java b/src/main/java/org/ohdsi/webapi/shiro/realms/ADRealm.java
index 6594666d84..3b0d4d6e82 100644
--- a/src/main/java/org/ohdsi/webapi/shiro/realms/ADRealm.java
+++ b/src/main/java/org/ohdsi/webapi/shiro/realms/ADRealm.java
@@ -1,6 +1,6 @@
package org.ohdsi.webapi.shiro.realms;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
diff --git a/src/main/java/org/ohdsi/webapi/user/importer/providers/ActiveDirectoryProvider.java b/src/main/java/org/ohdsi/webapi/user/importer/providers/ActiveDirectoryProvider.java
index 9ad48582c4..66c6708be9 100644
--- a/src/main/java/org/ohdsi/webapi/user/importer/providers/ActiveDirectoryProvider.java
+++ b/src/main/java/org/ohdsi/webapi/user/importer/providers/ActiveDirectoryProvider.java
@@ -1,7 +1,7 @@
package org.ohdsi.webapi.user.importer.providers;
import com.google.common.collect.ImmutableSet;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.ohdsi.webapi.user.importer.model.LdapGroup;
import org.ohdsi.webapi.user.importer.model.LdapUser;
import org.springframework.beans.factory.annotation.Value;
@@ -13,11 +13,9 @@
import org.springframework.ldap.support.LdapUtils;
import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
import javax.naming.NamingException;
import javax.naming.directory.Attributes;
import javax.naming.directory.SearchControls;
-import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
diff --git a/src/main/java/org/ohdsi/webapi/util/PreparedStatementRenderer.java b/src/main/java/org/ohdsi/webapi/util/PreparedStatementRenderer.java
index 96436da4f6..de7632c9c5 100644
--- a/src/main/java/org/ohdsi/webapi/util/PreparedStatementRenderer.java
+++ b/src/main/java/org/ohdsi/webapi/util/PreparedStatementRenderer.java
@@ -1,6 +1,5 @@
package org.ohdsi.webapi.util;
-import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
@@ -11,10 +10,8 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import com.google.common.collect.ImmutableList;
-import com.odysseusinc.arachne.commons.types.DBMSType;
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
import org.ohdsi.circe.helper.ResourceHelper;
import org.ohdsi.sql.BigQuerySparkTranslate;
import org.ohdsi.sql.SqlRender;