Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Symptom Triage Tool

Healthcare-professional-use symptom differential aid. Given patient symptoms and basic demographic context, returns a ranked list of possible conditions with confidence scores -- intended to help narrow a differential for discussion, not to diagnose.

This is not a diagnostic tool. It does not replace clinical judgment. It is not intended for patient self-diagnosis.


What it does

  1. Patient Details -- age, sex, pregnancy status, genetic/family risk factors, collected first.
  2. Symptom Search -- live autocomplete search across 545 unique symptoms (type "fev" to find fever, high fever, low-grade fever, etc.), click to add, builds a symptom list.
  3. Ranked Differential -- weighted symptom-overlap scoring, adjusted by demographic modifiers (age range, sex -- both hard anatomical exclusions like prostate cancer and directional epidemiological skew like lupus, pregnancy risk, genetic risk factor matches).
  4. Red Flags -- symptom combinations matching urgent conditions are surfaced separately, regardless of ranking position.
  5. New Patient loops back to step 1 without restarting the app.

Current data

  • 186 diseases, spanning Critical (18) / Severe (32) / Moderate (64) / Mild (72) severity tiers
  • 61 diseases marked red_flag (urgent, needs immediate care -- not just "this disease is serious")
  • Original dataset, compiled with AI assistance and manually verified by the author across multiple review passes (symptoms, severity, demographics, red-flag designation) -- see LICENSE-DATA.txt for terms
  • Sex modifiers split into anatomical (biological certainty, e.g. prostate cancer) and epidemiological skew (directional weighting only, e.g. lupus skewing female -- no fabricated percentage stored)

Running it

GUI (recommended):

python src/gui_app.py

CLI:

python src/main.py

Both require typing CONFIRM past the professional-use disclaimer gate before proceeding -- see the note on this in src/access_gate.py: it's an honor-system acknowledgment, not real credential verification, and is described accurately as such (not "verified access") anywhere this project is discussed.

Standalone Windows .exe: see BUILD_EXE.md.

Project structure

src/
  main.py              -- CLI entry point
  gui_app.py           -- desktop GUI (gate -> patient details -> symptom search -> results)
  scoring_engine.py     -- core weighted-overlap scoring + demographic modifiers + red-flag detection
  access_gate.py         -- professional-use disclaimer gate
  build_from_csv.py      -- builds data/diseases.json from the source CSV
  review_diseases.py     -- interactive tool for reviewing red_flag/pregnancy/genetic fields per disease
  refix_red_flags.py     -- targeted re-review tool for a subset of entries
  check_progress.py      -- data completion/consistency tracker
data/
  diseases.json           -- final compiled dataset (see LICENSE-DATA.txt)
  raw/                    -- source CSV
  schema_template.json    -- field reference for the diseases.json schema

Data workflow (for extending the dataset)

  1. Edit/extend data/raw/disease_symptom_dataset_corrected.csv
  2. Run python src/build_from_csv.py to rebuild data/diseases.json
  3. Run python src/check_progress.py to see what's reviewed vs. pending
  4. Run python src/review_diseases.py to fill in red_flag / pregnancy_risk / genetic_risk_factors for any new or flagged entries

Licensing

Code and data are licensed separately and both default to a strict, closed license (all rights reserved) while this project is being used for academic admissions and portfolio purposes:

  • LICENSE -- covers everything in src/
  • LICENSE-DATA.txt -- covers data/diseases.json and its source CSV

Status / roadmap

  • 186-disease dataset compiled and reviewed
  • Weighted scoring engine (symptom overlap + demographic modifiers)
  • Red-flag detection, reviewed and corrected for over-flagging
  • Desktop GUI with autocomplete symptom search
  • Professional-use access gate
  • Windows .exe packaging
  • Precautions field (currently empty for all entries -- optional for v1)
  • Expansion beyond 186 diseases (candidate: larger dataset merge, v1.1/v2)

About

Symptom differential triage tool for healthcare professionals — weighted symptom-overlap scoring across 186 conditions with demographic modifiers and red-flag detection for urgent presentations. Not a diagnostic tool; for licensed clinician use only.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages