HEALTHCARE FLAGSHIP · ACTIVE BETA

Digital Wellness Academy

DWA is SVTech's healthcare flagship: a mental health SaaS that psychiatric practices license to deploy between-session therapy tools their patients will actually use. Provider-led education, 21 standardized clinical assessments, MAIA safety monitoring on every patient message, and a behavioral health software portal that turns scattered patient data into clinical signal between appointments.

Customer product site: digitalwellness.academy ->

What DWA delivers to a licensed practice

Three outcomes a psychiatric practice can measure after onboarding DWA. The technical depth behind each is below - but the value shows up in the clinic first.

For patients

Structured work between sessions

Between-session therapy tools — provider-assigned lessons, thought records, exposure hierarchies, breathing exercises — replace "eat better, sleep more" with a structured curriculum that generates a patient record the clinician can review.

For providers

Signal instead of noise in the patient roster

Assessment trajectories (PHQ-9, GAD-7), crisis alerts within seconds, risk-tiered patient list, and automated pre-session briefs with source attribution. The clinician sees outcomes and exceptions, not raw text.

For the practice

Differentiation, retention, capacity

A thought-leadership moat via published content. Better between-session engagement reduces drop-off. The same provider can coordinate more patients effectively. One paying partner has already shipped the MVP of this engagement.

ORIGIN

A real clinician. A real gap between sessions.

In September 2025, a nurse-practitioner-led psychiatric practice asked SVTech for a paid-ads campaign. We pushed back: mental-health paid media is saturated with interchangeable messaging. The real gap was different - patients making no measurable progress between sessions, where lifestyle guidance lands as vague advice, without structure, quiz, progress signal, or evidence base.

The practice paid the first license fee. The MVP shipped in weeks. Both sides agreed the next version had to be interactive and HIPAA-compliant to cross from education into therapy. That became DWA - and the platform that emerged from building it became SoloFrame.

COMPLIANCE POSTURE · MANIFEST-DRIVEN

One boolean wires up the whole HIPAA stack

DWA's manifest declares phi: true. That single setting wires up retention, guardrails, the classifier sidecar, audit trails, and encryption posture automatically at engine boot - so no application code is ever making compliance decisions.

Retention · 2,557 days

Seven years for PHI-tagged records

Standard clinical retention. GTM-OS runs 395 days on the same engine. Set by manifest, read by the retention policy engine, enforced at the data layer.

Clinical guardrails

never-diagnose · always-988-on-crisis

Enforced at the AI orchestration layer, above the model. Crisis responses are pre-built and clinically reviewed - the LLM never improvises safety-critical content.

Tenant isolation

Postgres RLS as the v2 isolation target

v1 ships audited application-level tenant scoping on a shared Postgres. v2 moves the boundary into row-level security keyed on a per-request GUC, with a tenantLeakHarness CI gate. Dedicated DB available as a paid SKU for licensees that require it on top of either model.

Audit trail

Every PHI-adjacent write, logged

Append-only audit log with actor, tenant, resource, action, timestamp. Accessible to the tenant's compliance officer via the provider portal, immutable to everyone else.

UNDER THE HOOD

The rest of this page is a technical deep dive: MAIA architecture, the May 2026 alert workflow, clinical instruments, provider coordination, the in-house fine-tune roadmap, and the data flywheel that makes the moat.

MAIA · CONTINUOUSLY-RETRAINED CLASSIFIER

Generic LLM safety filters miss clinical distress. MAIA is purpose-trained to catch it.

Sentinet/suicidality (ELECTRA-base, ~110M params, CC0 baseline) runs on every user-generated message before any LLM sees it. Validated F1 0.93 / crisis recall 1.0 / trap-FP 0 on the May 2026 harness. Classifier stays text-free at inference - hash + label only. The 5-stage retrain pipeline promotes a successor only when it measurably beats the baseline; the classifier that ships on the hundredth practice is not the classifier that shipped on the first.

Serving path

CPU inference · 3-second hard timeout

  • • sentinet/suicidality (ELECTRA-base ~110M params) · FastAPI · Docker Swarm
  • • CPU-only sidecar at 22.3 ms/sample (validated May 2026 harness)
  • • 3-second hard timeout · failSafe="closed" surfaces 988 if MAIA is unavailable
  • • Endpoint: internal maia-mono:8001
  • • Classifier text-free · stores hash, label, model_version only
  • • Audit-trailed payload: {level, confidence, model_version, ts}
Three-tier output

None / Mild / Crisis

  • None < 60% confidence · no intervention.
  • Mild 60–85% · supportive resources surfaced in-context.
  • Crisis ≥ 85% · provider notification, 988 Lifeline escalation, UI intervention, further AI chat blocked pending acknowledgment.
Integration points

Every text-input boundary, gated

• Journal entries · on submit
• Assessment free-text · on submit
• Forum posts · pre-publish
• Coaching chat · before LLM
• Onboarding reflections
• Forum topic routing
• RAG cross-encoder re-ranking
• Check-in submissions
Training path

Validated baseline · audited promotion gate

MAIA's production baseline is sentinet/suicidality - an open-source CC0 ELECTRA classifier C-SSRS-trained for high-risk suicidality detection (F1 0.93 / Acc 0.94 upstream; crisis recall 1.000 / trap-FP 0 on the May 2026 local validation harness). SVTech-built successor classifiers can join the retrain queue, but a candidate only ships when it measurably beats the baseline on held-out validation, with audited human sign-off. Validation runs on Apple Silicon MPS; production serving stays CPU-bound for predictability.

Inference is the boring, reliable path. Improvement happens out-of-band, audited per model_version.

Clinical instruments, standardized and immutable

Validated assessments are platform-owned. A vertical references them by ID - it cannot fork the scoring logic. That's the contract: if two practices both run DWA, a PHQ-9 score means the same thing on both.

Validated instruments · 21 total

7 standardized + 14 condition-specific

Standardized
  • PHQ-9 / PHQ-2 - depression severity
  • GAD-7 - anxiety severity
  • PDSS-SR - panic disorder self-report
  • SPIN - social anxiety
  • PSQI / ISI - sleep quality
Condition-specific

14 condition-specific self-checks covering OCD, PTSD/PCL-5, bipolar, anger, perfectionism, low self-esteem, grief, trauma, and more. Each assessment crisis-item aware — PHQ-9 Item 9 triggers MAIA regardless of total band score.

Content corpus

77 courses · 922 lessons · three schools on shared identity

Therapeutic school · 39 courses, 316 lessons across anxiety, mood, panic, OCD, PTSD, DBT/CBT/ERP/somatic. Provider-assignable, symptom-gated onboarding.

Optimization school · 19 courses, 375 lessons across five pillars - physical vitality, social connection, mental clarity, emotional resilience, purpose & meaning. Open enrollment, no clinical gating.

Shared auth. Isolated progress at the database-row level - therapeutic enrollments never bleed into optimization analytics.

Interactive components · 30+ types

Not passive videos - clinical-grade interactivity

Each lesson embeds five or more interactive components from a library of 30+ types. Every component persists state to the provider portal.

• CBT thought records (16 templates)
• Exposure hierarchy builder (ERP gold-standard)
• Anatomical body-map (HPA axis, somatic)
• Guided breathing (4-7-8 · box · diaphragmatic)
• Branching decision scenarios
• Mood tracking logs with trajectories
• Symptom-driven quizzes with feedback
• Checklists with persistence
• AI coach flyout · context-aware
SCREENING → ALERT WORKFLOW · MAY 2026

Screen first. Escalate on the second signal. Dedup per session.

A system that fires on every euphemism gets muted by week 2. A system that mutes its way past the actual signal is worse than no system. The right asymmetry: screen first, err toward firing on the second beat. Urgency tiers ratchet monotonically — never reverse.

State: normal
No flag yet this session
MAIA classifies the turn. Confidence below 60%: standard LLM response. First mild flag: transition to screening.
State: screening
Hardcoded calibration turn
Open-ended question, no LLM, deterministic. "Can you tell me more about what you mean?" — no hypothesis-supplying. If response de-escalates: return to normal. If escalates or MAX_SCREENING_TURNS hit: fire alert.
State: alerted
Open episode → upsert, not insert
Provider sees one card per session, not ten. Urgency ratchets: monitoring → elevated → critical. Episode frozen at fire-time for stable provider view.
Urgency rubric · deterministic
Critical · MAIA crisis ≥ 85% confidence. Single turn fires immediately. 988 surfaced; push notification; top of provider queue.
Elevated · Mild → crisis trajectory across screening, or ambiguous response after MAX_SCREENING_TURNS. Email + portal badge.
Monitoring · Mild once, screening de-escalated. Portal-only, no push.
Provider response composer
  • 7 PMHNP-curated response templates, seeded at boot, idempotent
  • {{officePhone}} and {{aliasCode}} substituted client-side at template-select
  • POST /api/provider/alerts/[id]/respond writes care_message, closes episode
  • Clinical voice and AI voice stay on separate surfaces — patient knows which they're reading
42 safety unit tests · all pure functions · always in CI
deriveState() × 6 · decide() × 12 (incl. paired CRISIS_CONFIDENCE_GATE=0.85 tests) · extractSafetyFeatures() × 11 · generateScreeningQuestion() × 5 · safetySignalBlock() × 7

Provider coordination without PHI exposure

Providers see outcomes - mood trends, assessment trajectories, distress alerts, completion velocity, risk tiers. They don't see raw text. That's an architecture choice, not a UI choice.

Session-prep RAG

Automated pre-appointment briefs

Before an appointment, the provider RAG synthesizes a patient's recent activity, assessment deltas, quiz trends, and relevant course material into a short clinical brief. Source attribution on every paragraph - the provider can click through to the specific lesson or assessment cited.

Risk-tiered roster

"Three patients need attention this week"

The patient roster is sorted by composite risk score, not alphabetically. Risk is derived from assessment slopes, engagement deltas, distress frequency, and sentiment trajectory - converted into tiers providers can triage against.

Crisis escalation

Seconds, not hours

A crisis-level classification triggers an immediate in-app UI intervention for the patient, a provider notification via email and dashboard, and a logged audit event. The patient sees 988 Lifeline resources before the chat is re-enabled; the provider sees the alert before the next session.

Longitudinal tracking

Assessments + engagement + sentiment, over time

PHQ-9 and GAD-7 trajectories. Engagement rhythm. Daily mood tracking. Sentiment trajectory from journal entries (inferred, never quoted). Rendered as charts the provider can scan in seconds.

GPU-BOUND ROADMAP

Six scoped ML systems, each independently deployable

Every layer of the clinical-analytics moat is GPU-bound: fine-tuning, batch embedding, causal inference, mastery modeling, plus MAIA inference on the hot path. Each line below is a specific, scoped system with a clear metric.

MAIA v2 · granular distress

ClinicalBERT second-pass classifier

Categorizes distress into anxiety · depression · stress · trauma response · personality-related. Fine-tuned on platform interaction text with clinical-instrument-aligned labeling.

Outcome · "anxiety markers rising" not just "distress"
Sentiment trajectory

RoBERTa fine-tuned for MH sentiment

Per-patient emotional progression over weeks. Longitudinal analysis across journal and forum corpora. Output is publishable-grade research.

Outcome · measurable cohort-level improvement curves
Adaptive learning

IRT + BKT + FSRS

Item Response Theory calibrates question difficulty. Bayesian Knowledge Tracing tracks per-skill mastery in real time. Free-Spaced-Repetition-Scheduler picks optimal review timing.

Outcome · personalized path per learner, not linear sequence
Risk stratification

XGBoost composite risk scoring

Features: assessment trajectories, engagement, quiz trends, distress frequency, sentiment. Output: Low / Watch / Elevated / High + contributing factors.

Outcome · provider signal, not provider noise
Content intelligence

Embeddings + HDBSCAN + causal inference

Forum topic clustering surfaces unmet content needs. Causal content-outcome correlation identifies which specific lessons drive measurable assessment-score improvement.

Outcome · "lesson 3.4 ↔ 2.1-point PHQ-9 improvement"
Semantic retrieval

pgvector + user-facing RAG

Batch-embed lessons by semantic boundary, migrate from JSONB cosine-similarity to pgvector HNSW. Extend RAG from provider-only to user-facing coaching chat.

Outcome · coaching grounded in your curriculum, not generic LLM
THE DATA FLYWHEEL

~394K labeled signals per month at target scale

At 10 practices × 200 patients = 2,000 active users, DWA generates a continuous stream of labeled interaction data that feeds every GPU-bound ML system above. A competitor starting from zero needs 12–18 months of adoption to reach comparable training data; by then, MAIA has iterated 12–18 times.

394K
Labeled signals / mo
at target scale
12–18×
Retraining iterations
while a competitor bootstraps
0
Shortcuts available
Longitudinal clinical data can't be bought.
Data typeMonthly volumeML application
Quiz responses~100,000IRT calibration · BKT mastery
Journal entries~30,000Distress · sentiment · ClinicalBERT
Assessment scores~4,000Risk stratification · outcome correlation
Forum posts~10,000Topic clustering · content gap detection
Lesson interactions~200,000Engagement prediction · churn detection
Coaching messages~50,000RAG quality · Socratic refinement
Total~394,000 / month

This page is a SoloFrame case study

If you're evaluating DWA as a product - licensing terms, RTM billing, clinical content detail, provider onboarding - that lives on the dedicated product site.