diff --git a/GeneticsCore/build.gradle b/GeneticsCore/build.gradle
index 3d96f0f6f..0b773f12f 100644
--- a/GeneticsCore/build.gradle
+++ b/GeneticsCore/build.gradle
@@ -6,6 +6,8 @@ plugins {
dependencies {
BuildUtils.addLabKeyDependency(project: project, config: "implementation", depProjectPath: ":server:modules:LabDevKitModules:LDK", depProjectConfig: "apiJarFile")
+ BuildUtils.addLabKeyDependency(project: project, config: "implementation", depProjectPath: ":server:modules:ehrModules:ehr", depProjectConfig: "apiJarFile")
+
BuildUtils.addLabKeyDependency(project: project, config: "modules", depProjectPath: ":server:modules:ehrModules:ehr", depProjectConfig: 'published', depExtension: 'module')
BuildUtils.addLabKeyDependency(project: project, config: "modules", depProjectPath: ":server:modules:LabDevKitModules:LDK", depProjectConfig: 'published', depExtension: 'module')
BuildUtils.addLabKeyDependency(project: project, config: "implementation", depProjectPath: ":server:modules:dataintegration", depProjectConfig: "apiJarFile")
diff --git a/GeneticsCore/resources/etls/KinshipDataImport.xml b/GeneticsCore/resources/etls/KinshipDataImport.xml
new file mode 100644
index 000000000..eb666d9db
--- /dev/null
+++ b/GeneticsCore/resources/etls/KinshipDataImport.xml
@@ -0,0 +1,14 @@
+
+
+ KinshipDataImport
+ Import PRIMe-seq Kinship Data
+
+
+
+
+
+
+
+
+
+
diff --git a/GeneticsCore/resources/module.xml b/GeneticsCore/resources/module.xml
index cf9c91b9a..15a6c54a2 100644
--- a/GeneticsCore/resources/module.xml
+++ b/GeneticsCore/resources/module.xml
@@ -21,6 +21,13 @@
This is the containerPath to the folder holding the primary data for Parentage. Use of slashes is very important - it should be in the format '/myProject/folder'
+
+ true
+
+ ADMIN
+
+ This is the filepath of a folder where externally kinship/inbreeding TSVs calculated externally will be deposited. It is used by the KinshipData ETL to initiate import.
+
diff --git a/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreController.java b/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreController.java
index d1b201e96..77f3e6494 100644
--- a/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreController.java
+++ b/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreController.java
@@ -4,10 +4,15 @@
import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
import org.labkey.GeneticsCore.mhc.MhcTaskRef;
+import org.labkey.api.action.ApiResponse;
+import org.labkey.api.action.ApiSimpleResponse;
import org.labkey.api.action.ConfirmAction;
+import org.labkey.api.action.MutatingApiAction;
import org.labkey.api.action.SpringActionController;
+import org.labkey.api.di.DataIntegrationService;
import org.labkey.api.security.RequiresPermission;
import org.labkey.api.security.permissions.AdminPermission;
+import org.labkey.api.security.permissions.UpdatePermission;
import org.labkey.api.util.HtmlString;
import org.labkey.api.util.URLHelper;
import org.labkey.api.view.HtmlView;
@@ -62,4 +67,26 @@ public URLHelper getSuccessURL(Object o)
return getContainer().getStartURL(getUser());
}
}
+
+
+ @RequiresPermission(UpdatePermission.class)
+ public static class ImportGeneticsDataAction extends MutatingApiAction