diff --git a/docs/images/c4-container.svg b/docs/images/c4-container.svg index eca78bbe..18cd015f 100644 --- a/docs/images/c4-container.svg +++ b/docs/images/c4-container.svg @@ -1,4 +1,4 @@ - + -
Secure environment
[Data supplier]
Secure environment...
Runs and publishes jobs
Runs and publishes jobs
Stores study code
Stores study code
Writes
Writes
Runs study locally
Runs study locally
Researcher
[Person]

Researcher...
Runs
Runs
Executes
Executes
OpenSAFELY CLI
[Container: Command Line, Python]

Run the pipeline locally, as provided by the Dataset Definition
OpenSAFELY CLI...
Retrieves Dataset Definition
Retrieves Dataset Definition
Job Server
[Container: Python,Django,JavaScript,React]

Logs all jobs executed on production data. Releases the artefacts from those jobs
Job Server...
ehrQL
[Container: Python]

Uses the Dataset Definition to generate a dataset used by subsequent steps in the analytics pipeline
ehrQL...
Uses reusable actions
Uses reusable actions
Uses codelists
Uses codelists
Dataset Definition
[Container: Python,R,YAML]

Based on the Research Template GitHub repository
Dataset Definition...
Executes
Executes
Polls queue to check
for new jobs
Polls queue to check...
Executes
Executes
Outputs
Outputs
Job Runner
[Container: Python]

Runs jobs within the secure research environment
Job Runner...
Approves release
Approves release
Output Checker
[Person]

Output Checker...
OpenSafely
[Software System]
OpenSafely...
Reads outputs from older style studies
Reads outputs from older style studies
Fetches reports
Fetches reports
Releases files
Releases files
Accesses
Accesses
OpenSAFELY Release
[Container: Python]

Runs within the secure research environment to manage releases of files
OpenSAFELY Release...
Reusable Actions Repository
[Container: Python,R]

Logical units of analytic code that can be shared between studies
Reusable Actions Repository...
GitHub
[Software System]

Repository of all code used in the research
GitHub...
Views
Views
Member of the public
[Person]

Member of the public...
Long-term storage
[Container : A networked file system]

Stores job outputs within the secure research environment
Long-term storage...
Requests an analysis
Requests an analysis
NHS Researcher/
Policy Maker
[Person]

NHS Researcher/...
Uses codelists
Uses codelists
Submits analysis
Submits analysis
Generates
Generates
Stores analysis code
Stores analysis code
OpenSAFELY Interactive
[Container: Python,Django,JavaScript]

A point and click tool to perform fast and secure analyses on electronic patient records
OpenSAFELY Interactive...
OpenSAFELY Reports
[Container: Python,Django]

Regularly updated reports related to the COVID-19 pandemic, curated by the Bennett Institute and created by OpenSAFELY
OpenSAFELY Reports...
OpenCodelists
[Container: Python,Django,JavaScript]

Tools for for creating and sharing codelists
OpenCodelists...
Text is not SVG - cannot display
+
Secure environment
[Data supplier]
Airlock domain
[Security boundary]
High sensitivity domain
[Security boundary]
OpenSafely
[Software System]
Manages
jobs
Develops
analysis code
Checks
outputs
Searches for 
and writes
codelists
Researcher
[Person]

Retrieves
analysis code
Job Server
[Container: Python, JavaScript, PostgreSQL]

Triggers job execution, holds released outputs
Fetches
new jobs
Stores
outputs
Job Runner
[Container: Python, Docker, SQLite]

Runs jobs within the secure research environment
Checks and
approves outputs
Output Checker
[Person]

Releases
outputs
Accesses
Airlock
[Container: Python, SQLite]

Runs within the secure research environment to manage access to and release of outputs
GitHub
[Software System]

Repository of all code used in the research
Views published
outputs
Member of the public
[Person]

Long-term storage
[Container : A networked file system]

Stores job outputs within the secure research environment
Retrieves
codelists
Stores
analysis code
Development Environment
[Container: Python, R, Docker, IDE]

The researcher's local environment where studies are written
OpenCodelists
[Container: Python, JavaScript, SQLite]

Tools for for creating and sharing codelists
\ No newline at end of file