Skip to content

A standardized form generation and data collection schema to harmonize results by design across projects.

License

Notifications You must be signed in to change notification settings

ReproNim/reproschema

Repository files navigation

Python package DOI

ReproSchema: Enhancing Research Reproducibility through Standardized Survey Data Collection

The ReproSchema project integrates five key components designed to standardize research protocols and enhance consistency across various stages of data collection.

  • Foundational Schema (reproschema): This core schema delineates the content and relationships of protocols, assessments, and items to ensure consistency and facilitate data harmonization across studies.
  • Assessment Library (reproschema-library): This library provides a comprehensive collection of standardized questionnaires, supporting the application of uniform assessments across time and different studies.
  • Python-based CLI Tool (reproschema-py): This command-line interface tool facilitates schema development and validation, aiding researchers in efficiently creating and refining data collection frameworks.
  • User Interface (reproschema-ui): This intuitive user interface simplifies the visualization and interaction with data, enhancing the manageability of the data collection process for researchers.
  • Protocol Template (reproschema-protocol-cookiecutter): This customizable template supports the design and implementation of research protocols tailored to specific study requirements.

This repository contains:

Developing ReproSchema

Updating the schema

As of release 1.0.0, a linked data modeling language, LinkML, is used to create a YAML file with the schema.

The context file was automatically generated using LinkML, and then manually curated in order to support all the reproschema feature.

Style

This repo uses pre-commit to check styling.

  • Install pre-commit with pip: pip install pre-commit
  • In order to use it with the repository, you have to run run pre-commit install in the root directory the first time you use it.

Release

Upon release, there are additional formats, jsonsld, turtle, n-triples and pydantic that are created using LinkML tools, reproschema-py, and reproschema-specific script to "fix" the pydantic format. The entire process is automated in the GitHub Action Workflow: Validate and Release. This workflow must be manually triggered by the core developers once a new release is ready. All the releases can be found in releases directory.

Updating model in reproschema-py

Another GitHub Action Workflow: Create Pull Request to reproschema-py is responsible for creating pull request to the reproschema-py Python library with the new version of pydantic model and context. The workflow is currently also triggered manually by the core developers.

Licenses

Code

The content of this repository is distributed under the Apache 2.0 license.

Documentation

Creative Commons License
The corresponding documentation is licensed under a Creative Commons Attribution 4.0 International License.

Contributors

https://github.com/ReproNim/reproschema/graphs/contributors