Skip to content

HicServices/RDMP

Repository files navigation

logoResearch Data Management Platform

Build status Total alerts NuGet Badge Coverage Status

RDMP is a free, open source software application for cohort building, loading, linking, anonymisation and extraction of datasets stored in relational databases (SQL Server, MySQL, Postgres and Oracle). It was designed from the bottom up to support with data provenance, preserving domain knowledge and configuration management workflows.

RDMP does not require your data be moved or transformed prior to processing and is integrates into existing SQL based extraction practices.

image

Install

Signed release binaries for the RDMP client and Command Line Interface (CLI) are in the available in the GitHub releases section.

Windows Install Guide

Download and unzip rdmp-client.zip from the GitHub releases section and run ResearchDataManagementPlatform.exe. This will take you to an installation/setup screen which will guide you through the rest of the initial setup process.

Linux CLI Install Guide

The following steps can be used to install the RDMP CLI and start an SqlServer docker container to install into. Make sure to set the version (e.g. 7.0.14) to the latest and set a custom password if desired.

wget https://github.com/HicServices/RDMP/releases/download/v7.0.14/rdmp-cli-linux-x64.zip

unzip -d rdmp-cli ./rdmp-cli-linux-x64.zip

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d mcr.microsoft.com/mssql/server:2019-latest

cd rdmp-cli

cat > Databases.yaml << EOF
CatalogueConnectionString: Server=localhost;Database=RDMP_Catalogue;User ID=SA;Password=<YourStrong@Passw0rd>;Trust Server Certificate=true;
DataExportConnectionString: Server=localhost;Database=RDMP_DataExport;User ID=SA;Password=<YourStrong@Passw0rd>;Trust Server Certificate=true;
EOF

chmod +x ./rdmp

./rdmp install localhost RDMP_ -e -D -u SA -p "<YourStrong@Passw0rd>"
./rdmp gui

Build

Building on Windows

You can build RDMP from the command line using dotnet build or through an IDE e.g. Visual Studio or Visual Studio Code (Requires latest dotnet SDK).

The Windows client:

dotnet build
cd Application\ResearchDataManagementPlatform\bin\Debug\net6.0-windows\win-x64
./ResearchDataManagementPlatform.exe

The console client:

dotnet build
cd Tools\rdmp\bin\Debug\net6.0\
./rdmp.exe --help

Building on Linux

Only the console client can be built/run in Linux

cd Tools/rdmp
dotnet build
cd bin/Debug/net6.0
./rdmp --help

Tests

To run tests you will need an instance of SQL Server. These instructions use LocalDb which is an optional installable package in Visual Studio. See Tests.md for more information on setting up LocalDb, testing on linux or using an alternate server as well as information on the types of tests included and how to write new ones.

dotnet test ./scripts/run-all-tests.proj -c Release -p:BuildInParallel=false

Contributing

We welcome all contributions including: