https://github.com/douglasneuroinformatics/opendatacapture

An electronic data capture platform for administering remote and in-person clinical instruments

https://github.com/douglasneuroinformatics/opendatacapture

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.9%) to scientific vocabulary

Keywords

clinical data-collection electronic-data-capture esbuild form-builder full-stack monaco-editor monorepo multilingual nodejs prisma react research tailwindcss turborepo typescript

Keywords from Contributors

interactive versions projection archival sequences embedded genomics observability autograding hacking
Last synced: 5 months ago · JSON representation

Repository

An electronic data capture platform for administering remote and in-person clinical instruments

Basic Info
  • Host: GitHub
  • Owner: DouglasNeuroInformatics
  • License: apache-2.0
  • Language: TypeScript
  • Default Branch: main
  • Homepage: https://opendatacapture.org
  • Size: 79.6 MB
Statistics
  • Stars: 113
  • Watchers: 4
  • Forks: 16
  • Open Issues: 129
  • Releases: 42
Topics
clinical data-collection electronic-data-capture esbuild form-builder full-stack monaco-editor monorepo multilingual nodejs prisma react research tailwindcss turborepo typescript
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Codeowners Security

README.md

Logo

Open Data Capture

An electronic data capture platform designed for administering remote and in-person clinical instruments
Explore the docs »

Report Bug · Request Feature · Instrument Playground · View Demo

![license](https://img.shields.io/github/license/DouglasNeuroInformatics/OpenDataCapture) ![version](https://img.shields.io/github/package-json/v/DouglasNeuroInformatics/OpenDataCapture) ![build](https://github.com/DouglasNeuroInformatics/OpenDataCapture/actions/workflows/ci.yaml/badge.svg)


About

Open Data Capture is a web-based platform designed for continuous clinical data collection. The platform is centered on the concept of an instrument. Broadly defined, an instrument refers to any tool that can be used to collect data (e.g., forms, interactive tasks).

Features

  • Built with TypeScript and modern frameworks for robustness and scalability 🚀
  • Natively multilingual for global accessibility 🇬🇧🇫🇷
  • Intuitive interface for clinicians to conduct in-person assessments 🏥
  • External gateway service for patients to self-administer remote assignments 🏠
  • Flexible instrument build system implemented directly in the browser via WebAssembly ⚡
    • Declarative form creation with a JSON-like syntax for accessibility ✨
    • Custom instrument runtime with dynamic imports and native ES modules for experienced users 🔥
  • Secure by default with JWT authentication and granular permission controls 🔐
  • Beautiful data visualization 📈
  • On-demand data export for research integration 🔬

Quick Start

Assuming that Docker and Docker Compose are already installed on your system, you can deploy an instance of Open Data Capture using the following command:

sh ./scripts/generate-env.sh && docker compose up -d

By default, the application will run on port 5500. So, navigate to http://localhost:5500 in your browser and you should be greeted with the setup screen. After getting started, we highly recommend reading our deployment guide for additional information on how to configure Open Data Capture to best meet the needs of your organization.

Contribution

We welcome contributions! If you're interested in improving the platform or adding new features, please refer to our Contribution Guide.

License

Copyright (C) 2022 Douglas Neuroinformatics Platform

This program is free software: you can redistribute it and/or modify it under the terms of the Apache License, Version 2.0.

Owner

  • Name: Douglas NeuroInformatics Platform
  • Login: DouglasNeuroInformatics
  • Kind: organization
  • Email: gabriel.devenyi@mcgill.ca
  • Location: Verdun, Quebec, Canada

Software and Documentation of the Neuroinformatics Platform of the Douglas Mental Health University Institute

GitHub Events

Total
  • Create event: 45
  • Release event: 26
  • Issues event: 120
  • Watch event: 11
  • Delete event: 15
  • Issue comment event: 185
  • Push event: 111
  • Pull request review comment event: 117
  • Pull request review event: 140
  • Pull request event: 217
  • Fork event: 4
Last Year
  • Create event: 45
  • Release event: 26
  • Issues event: 120
  • Watch event: 11
  • Delete event: 15
  • Issue comment event: 185
  • Push event: 111
  • Pull request review comment event: 117
  • Pull request review event: 140
  • Pull request event: 217
  • Fork event: 4

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 5,199
  • Total Committers: 10
  • Avg Commits per committer: 519.9
  • Development Distribution Score (DDS): 0.122
Past Year
  • Commits: 1,013
  • Committers: 4
  • Avg Commits per committer: 253.25
  • Development Distribution Score (DDS): 0.277
Top Committers
Name Email Commits
joshunrau c****t@j****m 4,564
David Roper d****1@g****m 470
dependabot[bot] 4****] 108
David Roper r****v@d****3 21
Weijie Tan t****4@h****m 10
RyanHaniff h****r@g****m 9
Thomas Beaudry w****x@g****m 9
PIRONT Thibault n****s@p****a 4
Gabriel A. Devenyi g****i@g****m 3
vvaliquette 4****a 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 92
  • Total pull requests: 191
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Total issue authors: 8
  • Total pull request authors: 4
  • Average comments per issue: 0.61
  • Average comments per pull request: 0.87
  • Merged pull requests: 169
  • Bot issues: 0
  • Bot pull requests: 17
Past Year
  • Issues: 88
  • Pull requests: 189
  • Average time to close issues: 19 days
  • Average time to close pull requests: 1 day
  • Issue authors: 8
  • Pull request authors: 4
  • Average comments per issue: 0.59
  • Average comments per pull request: 0.88
  • Merged pull requests: 167
  • Bot issues: 0
  • Bot pull requests: 17
Top Authors
Issue Authors
  • joshunrau (109)
  • gdevenyi (54)
  • david-roper (40)
  • thomasbeaudry (15)
  • Singer-JJ-Lin (3)
  • CMonnin (2)
  • suyashcjoshi (1)
  • yassinebha (1)
  • carona898 (1)
Pull Request Authors
  • joshunrau (329)
  • david-roper (58)
  • dependabot[bot] (25)
  • thomasbeaudry (16)
  • Flyinchicken (1)
  • ValiquetteVanessa (1)
  • gdevenyi (1)
Top Labels
Issue Labels
Enhancement (42) Bug (31) Discussion (18) Feature (17) Priority: Low (9) Priority: High (8) Difficulty: Low (7) Difficulty: Medium (4) Priority: Medium (2) Difficulty: High (1)
Pull Request Labels
dependencies (25) javascript (7) Feature (1)

Packages

  • Total packages: 1
  • Total downloads:
    • npm 161 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 24
  • Total maintainers: 2
npmjs.org: @opendatacapture/runtime-v1
  • Versions: 24
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 161 Last month
Rankings
Dependent repos count: 32.1%
Average: 39.1%
Dependent packages count: 46.1%
Maintainers (2)
Last synced: 6 months ago

Dependencies

backend/package-lock.json npm
  • 388 dependencies
backend/package.json npm
  • @types/body-parser ^1.19.2 development
  • @types/express ^4.17.14 development
  • @types/node ^18.11.9 development
  • @typescript-eslint/eslint-plugin ^5.42.0 development
  • @typescript-eslint/parser ^5.42.0 development
  • eslint ^8.26.0 development
  • eslint-import-resolver-typescript ^3.5.2 development
  • eslint-plugin-import ^2.26.0 development
  • nodemon ^2.0.20 development
  • ts-node ^10.9.1 development
  • typescript ^4.8.4 development
  • body-parser ^1.20.1
  • express ^4.18.2
  • mongodb ^4.11.0
  • mongoose ^6.7.2
frontend/package-lock.json npm
  • 634 dependencies
frontend/package.json npm
  • @types/node ^18.8.2 development
  • @types/react ^18.0.21 development
  • @types/react-datepicker ^4.8.0 development
  • @types/react-dom ^18.0.6 development
  • @types/webpack ^5.28.0 development
  • @typescript-eslint/eslint-plugin ^5.42.0 development
  • @typescript-eslint/parser ^5.42.0 development
  • css-loader ^6.7.1 development
  • eslint ^8.26.0 development
  • eslint-plugin-react ^7.31.10 development
  • react-router-dom ^6.4.3 development
  • sass ^1.55.0 development
  • sass-loader ^13.1.0 development
  • style-loader ^3.3.1 development
  • stylelint ^14.13.0 development
  • stylelint-config-standard-scss ^5.0.0 development
  • stylelint-order ^5.0.0 development
  • ts-loader ^9.4.1 development
  • ts-node ^10.9.1 development
  • typescript ^4.8.4 development
  • webpack ^5.74.0 development
  • webpack-cli ^4.10.0 development
  • webpack-dev-server ^4.11.1 development
  • @fortawesome/fontawesome-svg-core ^6.2.0
  • @fortawesome/free-regular-svg-icons ^6.2.0
  • @fortawesome/free-solid-svg-icons ^6.2.0
  • @fortawesome/react-fontawesome ^0.2.0
  • bootstrap ^5.2.2
  • formik ^2.2.9
  • html-webpack-plugin ^5.5.0
  • react ^18.2.0
  • react-bootstrap ^2.5.0
  • react-datepicker ^4.8.0
  • react-dom ^18.2.0
  • yup ^0.32.11