Public editor: https://aurint.ca/ari-editor/
This repository contains the curated autoimmune disease data, ontology artifacts, and generated reports that support the ARI Disease Metadata Manager v2 shown on the public site.
The editor is the main interface for reviewing and maintaining autoimmune disease metadata. It presents the curated registry as a searchable, editable catalog with disease detail panels and source-linked outputs.
- Search diseases, synonyms, and codes
- Create new disease entries
- Search by symptoms
- Browse diseases alphabetically or by tissue target
- Review disease details in a split-pane layout
- Toggle edit mode for record maintenance
- Adjust settings and theme
- Display supporting panels, graphs, and ontology metadata in the footer
This repository supports the curated disease model behind the editor:
- Core disease records with ARI IDs and IRIs
- Synonyms, subtypes, definitions, and evidence metadata
- SNOMED, OMOP, DX code, and DOID mappings
- Proposed diseases and proposed changes
- Supplemental per-disease reports and indexes
- Grounding workflows for local ontology matching
| Path | Purpose |
|---|---|
data/ |
Master list instructions, report outputs, and supporting source tables |
data_model/ |
Reference spreadsheets and model snapshots |
mappings/ |
ARI equivalency and SSSOM mapping exports |
notebook/ |
Notebook-driven data preparation and grounding scripts |
ontologies/ |
ARI ontology artifacts |
sparql/ |
SPARQL queries and generated term sets |
data/4-reports/1_Core_ARI_Diseases.xlsxdata/4-reports/2_Proposed_Diseases.xlsxdata/4-reports/3_Proposed_Changes.xlsxdata/4-reports/4_Additional_Info_Index.xlsxdata/4-reports/5_DOID_Mapping.xlsxdata/4-reports/6_DOID_Matches_All.xlsxdata/4-reports/7_SNOMED_Matches_All.xlsx
The grounding pipeline in notebook/ari-grounding/ builds local DOID and SNOMED matches
from repository data only.
Scripts run in this order:
parse_doid_local.pyground_doid.pyground_snomed.pymake_match_reports.py
Primary inputs are the master list in data/1-master/ and the supporting files in
data/3-meta-database-sources/, ontologies/, mappings/, and sparql/results/.
.github/scripts/validate_mappings.py checks the two mapping exports against each other
and against the ontology. It needs only the standard library:
python .github/scripts/validate_mappings.pyAdd --since main to report only the rows a branch changed. Two workflows run it:
| Workflow | Trigger | Scope |
|---|---|---|
Validate mappings |
pull requests touching mappings/ or ontologies/ |
rows the branch added or rewrote — fails the check |
Audit mappings |
Mondays 07:00 UTC, or on demand | every row, so the standing backlog stays visible |
What it catches:
- Structural damage — wrong header, wrong column count, stray tabs, mixed line endings,
a byte-order mark, a prefix missing from the SSSOM
curie_map. - Identifiers that are not identifiers —
mesh:nulland other placeholders, doubled prefixes such asMONDO:MONDO:0014523, ids that do not fit their vocabulary's shape, and ICD-9 codes filed under theicd10cmprefix. - Contradictions — the same pair recorded as both confirmed and flagged wrong, duplicate rows, one disease under two different labels, dates in the future, unattributed edits.
- Drift between
ari.sssom.tsvandari.equivalencies.tsv, which is how spreadsheet round-trips show up:362.50losing its trailing zero,0111157losing its leading ones. - Disagreement with the ontology — a disease id or label that does not match, a cross-reference the curators flagged wrong that is still stored and still served, or a confirmed one that was never stored.
- Prefer the curated master list as the source of truth.
- Keep changes surgical and focused on one data path at a time.
- Use local ontology and report artifacts rather than online sources when generating matching outputs.
- Do not read
.envfiles unless explicitly authorized.