Skip to content

vmedium/information-diagnostics

Repository files navigation

Information Diagnostics

A health condition explorer and treatment resource platform for people navigating complex, underdiagnosed conditions. Provides plain-language, evidence-graded information to support better conversations with healthcare providers.

Version: 0.1.0 — Phase 0 (Local Prototype) Status: Active development

This is an informational resource only. It is not a diagnostic tool and does not provide medical advice.


What It Does

Information Diagnostics helps users understand:

  • Complex conditions that frequently co-occur and are often missed (MCAS, hEDS, POTS, lipedema, fibromyalgia, and others)
  • Symptom patterns across body systems, with evidence-weighted condition associations
  • Treatment options graded by evidence level, including mechanism, typical dosing, and cautions
  • Comorbidity relationships between conditions, with overlap statistics

Two Primary User Journeys

  1. Undiagnosed Explorer — Symptomatic for years without a clear diagnosis. Uses the symptom mapper to identify potential conditions and generate a structured summary to bring to a doctor.
  2. Already-Diagnosed User — Knows their condition(s) and wants to understand treatment options, comorbidities, and the evidence behind recommendations.

Pages & Features

Page File Description
Home index.html Entry point and orientation
Condition Library explore.html Browse and search all conditions
Condition Detail condition.html Full detail: symptoms, comorbidities, treatments, sources
Symptom Index symptoms.html Browse all symptoms by body system
Symptom Mapper questionnaire.html 5-step wizard → matched conditions
Results results.html Tiered condition matches with treatment links
Treatment Explorer treatment.html Browse treatments by condition, type, or evidence level
Source Library sources.html Curated references with credibility notes
Design System design-system.html Component and token showcase

Symptom Mapper (Questionnaire)

A 5-step guided flow:

  1. Intro & disclaimer
  2. Body system selection
  3. Symptom selection (with search)
  4. Qualifiers (e.g., "worse when standing", "triggered by food")
  5. Scored results

Scoring algorithm: Each symptom carries condition-specific weights. Qualifiers apply a 1.2x boost. Scores are normalized and tiered:

Tier Threshold
Strong Match ≥ 0.35
Moderate Match 0.20–0.34
Possible Association < 0.20

Minimum 2 matched symptoms required to surface a result. Results persist in localStorage across sessions.


Data

All content is stored as static JSON in the data/ directory.

File Contents Count
conditions.json Condition records 9
symptoms.json Symptoms with condition weights and qualifiers 34
treatments.json Treatment entries with evidence levels 27
condition-treatments.json Condition–treatment relationship map
sources.json Curated citations and references 15
meta.json Site config and content counts

Conditions Covered

  • MCAS (Mast Cell Activation Syndrome)
  • hEDS (Hypermobile Ehlers-Danlos Syndrome)
  • POTS (Postural Orthostatic Tachycardia Syndrome)
  • Lipedema
  • Histamine Intolerance
  • Fibromyalgia
  • Small Fiber Neuropathy
  • Dysautonomia
  • Chronic Venous Insufficiency

The MCAS–hEDS–POTS triad is specifically highlighted as a clinically meaningful cluster with significant comorbidity overlap.

Evidence Level System

Level Label Meaning
A Research-Backed Multiple RCTs or strong meta-analyses
B Limited Evidence Small studies, case series, preliminary trials
C Expert Consensus Broadly accepted clinically, limited RCT data
D Anecdotal Patient-reported, community-supported, no clinical data
E Contested Significant scientific disagreement

Recognition Status

Status Meaning
Mainstream Well-established, ICD-10 coded, formal diagnostic criteria
Emerging Growing recognition, recent formal criteria
Contested Significant medical community disagreement

Tech Stack

Pure static site — no build step, no framework, no backend required.

  • HTML5 — semantic markup
  • Vanilla JavaScript (ES6+) — no libraries or frameworks
  • CSS3 — custom design system with CSS variables
  • Google Fonts — Inter (UI), Lora (body text)
  • JSON — all data loaded client-side via fetch()

Data is loaded in parallel using Promise.all() on page init. State is managed via localStorage.


Running Locally

The site uses fetch() to load JSON data, which requires an HTTP server (opening file:// directly will fail due to CORS restrictions).

Option 1: VS Code Live Server (recommended)

  1. Open the project folder in VS Code
  2. Right-click index.html
  3. Select "Open with Live Server"
  4. Opens at http://localhost:5501

Option 2: Python

cd information-diagnostics
python3 -m http.server 8080
# Visit http://localhost:8080

No installation, no npm install, no build process.


Project Structure

information-diagnostics/
├── index.html
├── explore.html
├── condition.html
├── symptoms.html
├── questionnaire.html
├── results.html
├── treatment.html
├── sources.html
├── design-system.html
├── favicon.svg
├── css/
│   └── styles.css
├── js/
│   ├── app.js              # Data loader, navigation, utilities, shared components
│   ├── questionnaire.js    # Wizard state machine and scoring algorithm
│   ├── results.js          # Results rendering
│   ├── explore.js          # Condition library filtering
│   ├── condition.js        # Condition detail page
│   └── treatment.js        # Treatment explorer filtering
├── data/
│   ├── conditions.json
│   ├── symptoms.json
│   ├── treatments.json
│   ├── condition-treatments.json
│   ├── sources.json
│   └── meta.json
└── docs/
    ├── 01-product-plan.md  # Vision, features, phasing strategy
    ├── 02-architecture.md  # Technical architecture and data model
    └── 03-content-data.md  # Editorial content reference

Design System

Documented at design-system.html. Key tokens:

Token Value Usage
--color-primary #5B7F6E Calm green — primary actions
--color-secondary #8B6F5C Warm brown — secondary elements
--color-accent #C4956A Warm orange — highlights
--color-text #2C2926 Near-black body text
--color-surface #FAF8F5 Warm off-white backgrounds

Spacing uses an 8px base unit. Evidence levels and recognition status have distinct color treatments throughout.


Documentation

Doc Contents
docs/01-product-plan.md Product vision, user journeys, full feature set, content standards, phase roadmap
docs/02-architecture.md Data model schemas, questionnaire algorithm, local and full-stack architecture, database schema, migration path
docs/03-content-data.md Human-readable editorial content for all conditions, symptoms, and treatments (source of truth for data files)

Roadmap

Phase 0 (current): Local static prototype

  • Vanilla JS, JSON files, no backend
  • Full questionnaire flow and condition library

Phase 1 (next): Deployed MVP

  • Next.js + React + Tailwind
  • Supabase backend (auth, database)
  • Hosted on Vercel
  • Expanded to 10+ conditions

Phase 2: Depth & engagement

  • Treatment tracking
  • PDF export for doctor visits
  • Fibromyalgia, ME/CFS, mold illness added

Phase 3: Scale & trust

  • Medical advisory board
  • Clinician-facing version
  • Research API

Disclaimer

Information Diagnostics is an informational resource only. It does not provide medical diagnoses, replace professional medical advice, or constitute a doctor-patient relationship. All content should be reviewed with a qualified healthcare provider.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors