Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/get_schema_on_tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Run Python Script on Tag

on:
push:
tags:
- '*' # Trigger on all tags

permissions:
contents: write

jobs:
run-script:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt

- name: Run script with tag
run: |
TAG_NAME=${GITHUB_REF#refs/tags/}
echo "Running script with tag: $TAG_NAME"
python schemas/isaric_schema.py "$TAG_NAME"

- name: Commit and push changes
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add arc_$TAG_NAME_isaric_long_schema.json
git commit -m "Add generated schema for tag $TAG_NAME" || echo "No changes to commit"
git push
env:
TAG_NAME: ${GITHUB_REF#refs/tags/}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.venv
.vscode/
.DS_Store

__pycache__/
*.pyc
47 changes: 47 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,50 @@ ARC v1.1.3 delivers significant updates to support dengue research and harmonisa
- Restructured **Dengue ARChetype CRF**, aligning variable definitions with current WHO classification.
- Introduced **recommended outcomes for Dengue**, enabling more standardised reporting across studies.

## ARC v1.1.1 (02 Jul 2025)

### Overview
In ARC v1.1.1, variables in the ONSET & PRESENTATION section were updated to use the prefix pres_ instead of date_ to better reflect their meaning..

### Variable‑Level Updates
Prefix change in ONSET & PRESENTATION section: Variables previously using the date_ prefix were renamed to pres_ (e.g., date_adm, → pres_adm).

### Interoperability
Standardised term code lists have been revised to align with SNOMED‑CT, LOINC, and UMLS.

## ARC v1.1.0 (09 May 2025)

### Overview
ARC v1.1.0 delivers a substantial expansion of the data model, introduces a dedicated **Acute Respiratory Infection (ARI)** preset, and separates **signs** from **symptoms** to improve semantic clarity and analytic power.

### Column / Preset Changes
| Category | Details |
|---|---|
| **New presets / columns (1)** | `preset_ARChetype Syndromic CRF_ARI` **(new)** |
| **Renamed / (4)** | `preset_ARChetype CRF_Covid` → `preset_ARChetype Disease CRF_Covid`<br>`preset_ARChetype CRF_Dengue` → `preset_ARChetype Disease CRF_Dengue`<br>`preset_ARChetype CRF_Mpox` → `preset_ARChetype Disease CRF_Mpox`<br>`preset_ARChetype CRF_H5Nx` → `preset_ARChetype Disease CRF_H5Nx`|

### Variable‑Level Updates
- **Added variables**: 472 (e.g., `adsym_blurryvis`, `adsym_cough_type`).
- **Removed variables**: 303 (e.g., `adasses_bacsi_oth`, `adasses_lymph`).
- **Field‑type changes**: 84 variables.
- **List updates**: 652 variables.
- **Answer‑choice updates**: 68 variables.
- **Signs vs Symptoms**: Clinical **signs** are now represented by brand‑new `sign_*` variables and no longer stored in `sympt_*`, clearly separating objective observations from patient‑reported symptoms.

### Interoperability
Standardised term code lists have been revised to align with **SNOMED‑CT**, **LOINC**, and **UMLS**.

## ARC v1.0.4 (04 Mar 2025)

### Overview
The changes in ARC v1.0.4 are designed to enhance the system’s usability and ensure a more coherent structure for data entry and analysis. Users are encouraged to review their workflows and adjust any scripts or processes to reflect the updated variable names and group structures.

### Key Updates

**Renaming of Presets**
- The preset "disease" has been renamed to "ARChetype CRF" in the principal ARC CSV and in the lists.

**Updates to Answer Choices**
- The test_biospecimentype variable has been changed to a userlist.

---
113 changes: 113 additions & 0 deletions schemas/isaric-core.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "ISARIC Core Wide Schema",
"type": "object",
"properties": {
"subjid": {
"type": "string",
"description": "Patient Identification Number (PIN). May not uniquely identify a patient."
},
"siteid": {
"type": "string",
"description": "Site ID that collected the data for the patient."
},
"dataset_id": {
"type": "string",
"description": "Dataset ID that patient belongs to."
},
"dataset_disease": {
"type": "string",
"description": "Disease or syndrome corresponding to the primary reason for the data collection (same for each patient in the dataset)."
},
"demog_sex": {
"type": "string",
"enum": [
"male",
"female",
"other"
],
"description": "Sex at birth"
},
"demog_age_days": {
"type": "integer",
"minimum": 0,
"description": "Age in days"
},
"demog_country_iso3": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 3166-1 alpha-3 country code"
},
"pres_adm": {
"type": "string",
"description": "Admitted to hospital",
"enum": [
"unknown",
"yes",
"no"
]
},
"pres_date": {
"type": "string",
"anyOf": [
{
"format": "date-time"
},
{
"format": "date"
},
{
"pattern": "^[0-9]{4}-[0-9]{2}$"
},
{
"pattern": "^[0-9]{4}$"
}
],
"description": "Most recent presentation/admission date at this facility"
},
"outco_outcome": {
"type": "string",
"enum": [
"discharged_alive",
"still_hospitalised",
"transfer_to_other_facility",
"death",
"palliative_care",
"discharged_against_medical_advice",
"alive_not_admitted"
],
"description": "Outcome"
},
"outco_date": {
"type": "string",
"anyOf": [
{
"format": "date-time"
},
{
"format": "date"
},
{
"pattern": "^[0-9]{4}-[0-9]{2}$"
},
{
"pattern": "^[0-9]{4}$"
}
],
"description": "Outcome date"
}
},
"required": [
"subjid",
"siteid",
"dataset_id",
"dataset_disease",
"demog_sex",
"demog_age_days",
"demog_country_iso3",
"pres_adm",
"pres_date",
"outco_outcome",
"outco_date"
]
}
Loading