Invite-only testers
Cardiac specialists, cardiology trainees and junior doctors interested in reviewing triage behaviour, retrieval grounding and answer quality.
Features, intended use and limitations for Cardiac Aftercare.
Cardiac Aftercare helps adults recovering after a cardiac event or procedure ask free-text recovery questions and receive plain-English answers grounded only in approved NHS / BHF / NICE-derived sources.
Before any answer is composed, every message passes a safety-first triage engine. Red-flag results stop generation and return vetted escalation wording. The system never tells a patient they are “safe,” and it does not diagnose, prescribe or interpret ECGs.
Distribution is intentionally narrow while clinical safety and governance work continues.
Cardiac specialists, cardiology trainees and junior doctors interested in reviewing triage behaviour, retrieval grounding and answer quality.
Patients, carers, the general public, or any App Store / open distribution channel until Clinical Safety Officer sign-off and regulatory readiness.
This page is written as an AI / modelling portfolio piece. The build order was deliberate: govern the knowledge, lock safety rules, then add constrained generation — not “train a chatbot on PDFs.”
Source register, ingestion, cleaning, clinical metadata, chunking, indexing and retrieval testing across a curated NHS/BHF/NICE-first corpus.
Red / amber / yellow / green / blue triage rules, medication and safeguarding overlays, escalation wording and local audit before any generative path.
Question handling, BM25 retrieval over approved chunks only, prompt construction from retrieved evidence, answer validation and source traceability.
Retrieval and red-flag evaluations, clarification-depth evidence packages, CARE-RAG review portals and clinician assessment workflows.
Moved from networked server RAG to a privacy-first on-device pack: no patient free text leaves the phone; template fallback if the local LLM fails.
llama.cpp + Qwen2.5-1.5B-Instruct (Q4_K_M), temperature 0 / seed 0, used only for escalate-only safety classification, clinical interpretation and grounded composition.
Every patient-style message follows the same fail-closed path. Generation is optional; escalation and templates are not.
The modelling story is about constraint, evaluation and clinical governance — not unconstrained chat.
The corpus is a governed retrieval pack. Patient answers cite approved chunks; the assistant is not trained to invent cardiac advice.
Layer 2 returns a triage category only. It never writes patient-facing text and cannot downgrade a deterministic red flag.
Composer and interpreter run greedy decoding (temp 0, seed 0) with timeouts, JSON repair, closed taxonomies and template fallback.
Pathway / topic tags and approval gates block unapproved content. Incomplete profiles block personalised green-path answers.
Phased clarification-depth evaluation, CARE-RAG governance portals and clinician research tooling support review before any patient release.
Current architecture is on-device: no networked LLM for patient answers, no server-side patient free-text store, local audit only.
| Client | Flutter (iOS + Android) with shared Dart triage / RAG services |
|---|---|
| On-device LLM | llama.cpp · Qwen2.5-1.5B-Instruct Q4_K_M · MethodChannel bridge |
| Retrieval | BM25 over approved knowledge pack (~966 chunks from clinician-gated sources) |
| Triage | 51+ deterministic rules + semantic escalate layer + constrained LLM classifier |
| Corpus governance | 191 registered sources → approved / withheld split → pathway-tagged chunks |
| Reference / parity | Python triage engine, pytest suites, CARE-RAG review + governance portals |
| Earlier server path | FastAPI + PostgreSQL / pgvector prototype retained as historical architecture context |
Related internal review surface (unlisted): CARE-RAG governance review portal.
Cardiac Aftercare is an independent development prototype by the developer. It is not affiliated with, endorsed by, or approved by the NHS, NICE, the British Heart Foundation, MHRA, Apple, Google, or any hospital trust.
Content grounded in publicly available guidance remains subject to licence, clinical review and local trust variation. Do not use this prototype for real patient advice. In an emergency, call 999.