The purpose of Barista is to provide a streamlined, standard way to create and manage all of the study assets needed throughout the life of an observational study conducted using RWD transformed into the OMOP Common Data Model and OHDSI tools.
In prior OHDSI studies, researchers have built cohort and concept set manifests to track all of the assets in a study. In this context, a manifest is merely a table of all of the assets and their metadata needed for the study.
Each manifest was manually maintained in a CSV file, and brought organization and transparency improvements.
However, the manual edits to the CSV needed were challenging as a study lead, and the id management was cumbersome to maintain accurately.
To avoid manual CSV edits, Barista is built upon a Sqlite manifest system. This allows us to track concept sets, cohorts, files, analyses, and tags in a robust manner.
As the database is SQLite, the object can be stored on disk without any setup, and it can be tracked in version control (e.g. Git).
Based upon prior studies, we have observed that ids for cohorts and concept sets are largely arbitrary - they just need to be consistent and unique.
Therefore, Barista uses the built-in benefits of a SQLite database to automatically generated ids for each manifest table.
This means that you can add new items to the manifest without worrying about id management, and the ids will be unique and consistent.
Barista is built to support the Ulysses lifecycle, which is a set of best practices for managing RWD studies. This includes the idea of analysis tasks, migration tasks, and dissemination tasks to support a very linear lifecycle of a study.
For cohorts, Barista integrates with the CohortGenerator package by producing a Cohort Definition Set that then can be leveraged by CohortGenerator’s functions.
With observational studies, we often have many versions of concept sets and cohort definitions, either due to ongoing development work, or due to the specific needs of endpoints within a study.
To ensure that all of the metadata for a given manifest item is tracked and transparent, Barista offers a TagManifest, which can be used to create a 1-to-many relationship of a manifest item to tag values.
# First construct a ManifestDb object
Barista::createManifestDb(
dbPath = "/path/to/manifestdb.sqlite"
)
# Create a Concept Set Manifest Item
thisConceptSetItem <- Barista::createConceptSetManifestItem(
name = "My Concept Set",
provenanceId = "123", # this is the id of the concept set as it existed in Atlas
designMethod = "Atlas",
relativeJsonPath = "path/to/thisConceptSet.json"
)
# Add it to the Concept Set Manifest
Barista::addConceptSetManifestItem(
manifestDb = manifestDb,
conceptSetManifestItem = thisConceptSetItem
)
# Create a Cohort Manifest Item based on a JSON definition
thisCohortItem <- Barista::createCohortManifestItem(
name = "My Cohort",
provenanceId = "456", # this is the id of the cohort as it existed in Atlas
designMethod = "Atlas",
relativeJsonPath = "path/to/thisCohort.json"
)
# Add it to the Cohort Manifest
Barista::addCohortManifestItem(
manifestDb = manifestDb,
cohortManifestItem = thisCohortItem
)
# View the Cohort Definition Set
Barista::viewCohortDefinitionSet(
manifestDb = manifestDb
)
# Add a tag to the Cohort Manifest Item
Barista::addTagToCohortManifestItem(
manifestDb = manifestDb,
cohortId = 1,
tagName = "QC Status",
tagValue = "Complete"
)
Barista is an R package.
Requires R (version 4.2.3 or higher).
Make sure your R environment is properly configured. This means that Java must be installed. See these instructions for how to configure your R environment.
In R, use the following commands to download and install Barista:
remotes::install_github("OHDSI/Barista", ref = "develop")
Please add feature requests in the Github issue tracker. If you want to contribute code, please fork the repository and submit a pull request towards the develop branch.
Barista is licensed under Apache License 2.0
This package is being developed in RStudio.
Beta