Integrating Collaborative Programming with Automated Traceability and Reproducibility in Pharma Studies and Real-World Data Projects by Adapting DevOps Best-Practices 

To enhance integrity of research and study findings, data scientists should ensure that studies are traceable and reproducible, which involves meticulous management of datasets, tracking code changes, and robust storage of results.
Without infrastructure to support reproducibility efforts, documentation, dependency management, and version control processes can be manual, unreliable, and unclear. This creates problems with determining when analysis changes occurred, which version of study results were produced by which version of code, and whether all study steps are processed in proper order and appropriately
documented.
Implementing procedures and technical infrastructure helps to maintain and automate reproducibility and traceability. To ensure that code can be executed consistently across multiple compute environments, we structure analysis scripts into parameterized pipelines within an isolated Docker container environment which specifies all versions and dependencies. We integrate Continuous Integration (CI) and Continuous Delivery (CD) into analysis pipelines to enable automatic rerunning of analyses following code modifications and storage of results in the cloud. Our process integrates and improves collaborative programming by providing code reviewers with the validated outputs that are produced by the code. By design, study close-out and compliance activities are incorporated within our infrastructure. 
In this paper we will discuss how we implemented and adapted DevOps best-practices like CI/CD in a collaborative coding environment to work for epidemiological studies and real-world data projects. Although the concepts discussed are applicable to many tools, our implementation uses Git, GitHub Actions, SQL, Python, R, Docker, and AWS S3. This content is applicable for all skill levels.
Jennifer Dusendang | Sundeep Bath
Graticule | Graticule
Integrating Collaborative Programming with Automated Traceability and Reproducibility in Pharma
Integrating Collaborative Programming with Automated Traceability and Reproducibility in Pharma Studies and Real-World Data Projects by Adapting DevOps Best-Practices   To enhance integrity of research and study findings, data scientists should ensure that studies are traceable and reproducible, which involves meticulous management of datasets, tracking code changes, and robust storage of results. Without infrastructure to support reproducibility efforts, documentation, dependency management, and version control processes can be manual, unreliable, and unclear. This creates problems with determining when analysis changes occurred, which version of study results were produced by which version of code, and whether all study steps are processed in proper order and appropriately documented. Implementing procedures and technical infrastructure helps to maintain and automate reproducibility and traceability. To ensure that code can be executed consistently across multiple compute environments, we structure analysis scripts into parameterized pipelines within an isolated Docker container environment which specifies all versions and dependencies. We integrate Continuous Integration (CI) and Continuous Delivery (CD) into analysis pipelines to enable automatic rerunning of analyses following code modifications and storage of results in the cloud. Our process integrates and improves collaborative programming by providing code reviewers with the validated outputs that are produced by the code. By design, study close-out and compliance activities are incorporated within our infrastructure.  In this paper we will discuss how we implemented and adapted DevOps best-practices like CI/CD in a collaborative coding environment to work for epidemiological studies and real-world data projects. Although the concepts discussed are applicable to many tools, our implementation uses Git, GitHub Actions, SQL, Python, R, Docker, and AWS S3. This content is applicable for all skill levels.