Skip to content

An optional server for the electronic data capture (EDC) system OpenEDC.

License

Notifications You must be signed in to change notification settings

jinlee-m/OpenEDC-Server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenEDC Server

OpenEDC is an electronic data capture (EDC) system for designing and conducting secure medical research studies based on the CDISC ODM-XML standard. The standard is adopted without modifications to foster data exchange, metadata reuse, and open science.

Quick links

About

While the OpenEDC App is a standalone progressive web application (PWA), the OpenEDC Server can be used to move from a single-user to a multi-user and multi-site research project with automated data backup. For this purpose, the OpenEDC Server provides an authentication and authorization service with a file storage. Since data is encrypted before it is sent from the OpenEDC App to the server, the server has no reading access to the data itself. It only stores encrypted files and manages access to them.

Getting Started

These instructions will get you an OpenEDC Server up and running.

Prerequisites

You need to have Deno installed on your machine which can be downloaded here.

Installing

After installing Deno, download all files from this repository and move them to a directory on your machine. All metadata and captured clinical data files will be later stored in this directory as well.

Then, download all OpenEDC App files from here and move them to the public folder within the previously created OpenEDC Server directory.

Deployment

Open your terminal, navigate to the folder where you placed the OpenEDC Server files and execute the following command

deno run --allow-read --allow-write --allow-net app.js [port] [instance_name]

Replace [port] with the port number you would like to run the OpenEDC Server at. This can be 3000, for example. If you would like to run multiple server instances on one machine, you can also specify an [instance_name]. The server will then create a new directory with all files for this instance. Do not forget to specify a different port number for each instance. If you only want to run a single instance, you can omit the instance name.

Important: If you want to be able to sync data from the OpenEDC App to the server, the server must be available over HTTPS. Otherwise, your browser will block the mixed content fetch request. If you are using HTTP, you can still use the locally hosted OpenEDC App to connect to and initialize your server. Remember to put http:// in front of the URL during the server initialization (Project Options within the App) in this case.

Contributing

Feel free to submit reasonable changes like bugfixes or functional additions. We will look into and test every contribution and will accept it in case it provides value for the general community. When you are planning to make an extensive contribution, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository.

Authors

License

This project is licensed under the MIT License — see the LICENSE.md file for details.

About

An optional server for the electronic data capture (EDC) system OpenEDC.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 95.6%
  • HTML 4.4%