- Implemented the symptom database as a full searchable reference area, parallel to terminology.

Added:
New medical_symptoms SQLite catalog with 242 seeded symptom records, 
categories, body systems, tracking notes, urgency-context notes, search 
terms, and MedlinePlus links: [app/bootstrap.php (line 
186)](/Users/tyemeclifford/Documents/GH/workout/app/bootstrap.php:186), 
[seed logic (line 
635)](/Users/tyemeclifford/Documents/GH/workout/app/bootstrap.php:635)
New searchable symptom directory: [public/symptoms.php (line 
1)](/Users/tyemeclifford/Documents/GH/workout/public/symptoms.php:1)
New dynamic per-symptom page, e.g. /symptom.php?id=24: 
[public/symptom.php (line 
1)](/Users/tyemeclifford/Documents/GH/workout/public/symptom.php:1)
Symptom helper/link lookup functions: [app/bootstrap.php (line 
1473)](/Users/tyemeclifford/Documents/GH/workout/app/bootstrap.php:1473)
medicalSymptoms added to the combined library search/API: 
[app/bootstrap.php (line 
2024)](/Users/tyemeclifford/Documents/GH/workout/app/bootstrap.php:2024)
Symptoms added to nav, homepage, and combined medical search: 
[site-header.php (line 
27)](/Users/tyemeclifford/Documents/GH/workout/public/partials/site-header.php:27), 
[index.php (line 
11)](/Users/tyemeclifford/Documents/GH/workout/public/index.php:11), 
[medical.php (line 
13)](/Users/tyemeclifford/Documents/GH/workout/public/medical.php:13)
This commit is contained in:
Ty Clifford
2026-06-30 16:19:09 -04:00
parent b8045eb068
commit 0d492451c7
14 changed files with 638 additions and 352 deletions
+76 -50
View File
@@ -2,81 +2,107 @@
declare(strict_types=1);
require __DIR__ . '/../app/bootstrap.php';
app_db();
$pdo = app_db();
$pageTitle = 'Neon Medical Tracker';
$pageTitle = 'Medical Reference Library | Neon Medical Tracker';
$activePage = 'home';
$heroImage = 'https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Jogging_Woman_in_Grass.jpg/1280px-Jogging_Woman_in_Grass.jpg';
$totalMedicines = (int) db_value($pdo, 'SELECT COUNT(*) FROM medication_catalog');
$totalTerms = (int) db_value($pdo, 'SELECT COUNT(*) FROM medical_terms');
$totalSymptoms = (int) db_value($pdo, 'SELECT COUNT(*) FROM medical_symptoms');
$totalConditions = (int) db_value($pdo, 'SELECT COUNT(*) FROM medical_conditions');
$totalStudies = (int) db_value($pdo, 'SELECT COUNT(*) FROM research_studies');
require __DIR__ . '/partials/site-header.php';
?>
<main>
<section class="site-hero">
<img src="<?= htmlspecialchars($heroImage, ENT_QUOTES) ?>" alt="Runner training outdoors in bright green grass">
<div class="site-hero-copy">
<p class="site-eyebrow">Medication logs, vitals, labs, terminology, NIH/NLM research links</p>
<h1>Neon Medical Tracker</h1>
<p class="site-lede">A multi-user medical tracking workspace for people who want medicines, readings, labs, symptoms, source links, and profile administration in one web dashboard.</p>
<div class="site-actions">
<a class="site-primary" href="/signup.php">Start tracking</a>
<a class="site-secondary" href="/medical.php">Explore database</a>
</div>
<section class="admin-public-shell">
<div class="site-section-heading">
<p class="site-eyebrow">Medical reference</p>
<h1>Medicines, symptoms, terminology, conditions, and NIH/NLM study links.</h1>
<p>Search the reference database or open the tracker/admin tools for profile-managed medical logs.</p>
</div>
<form class="library-search" method="get" action="/medical.php">
<label>
<span>Search medical library</span>
<input name="q" placeholder="Try warfarin, CBC, blood pressure, metformin, asthma">
</label>
<button class="site-primary" type="submit">Search</button>
</form>
<div class="library-stats" aria-label="Library totals">
<article><strong><?= number_format($totalMedicines) ?></strong><span>medicines</span></article>
<article><strong><?= number_format($totalSymptoms) ?></strong><span>symptoms</span></article>
<article><strong><?= number_format($totalTerms) ?></strong><span>terms</span></article>
<article><strong><?= number_format($totalConditions) ?></strong><span>conditions</span></article>
<article><strong><?= number_format($totalStudies) ?></strong><span>study categories</span></article>
</div>
<p class="photo-credit">
Photo: <a href="https://commons.wikimedia.org/wiki/File:Jogging_Woman_in_Grass.jpg">Jogging Woman in Grass</a>
by Mike Baird, <a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a>.
</p>
</section>
<section class="site-band">
<section class="admin-public-shell">
<div class="site-section-heading">
<p class="site-eyebrow">Built for daily use</p>
<h2>One workspace for personal health records and sourced reference links.</h2>
<p class="site-eyebrow">Reference sections</p>
<h2>Open a database area.</h2>
</div>
<div class="feature-grid">
<article>
<span>01</span>
<h3>Medication tracking</h3>
<p>Log prescription and over-the-counter medicines by date, dose, route, frequency, status, prescriber, and notes.</p>
<span>Rx</span>
<h3>Medicines</h3>
<p>Search by generic name, chemical name, active ingredient, brand name, or medication class.</p>
<a class="site-secondary" href="/nutrition.php">Open medicines</a>
</article>
<article>
<span>02</span>
<h3>Vitals and symptoms</h3>
<p>Track blood pressure, pulse, temperature, oxygen saturation, glucose, pain scores, symptoms, and context.</p>
<span>ABC</span>
<h3>Terminology</h3>
<p>Browse plain-language medical terms with clinical context and reference links.</p>
<a class="site-secondary" href="/medical.php">Open terminology</a>
</article>
<article>
<span>03</span>
<h3>Labs and terminology</h3>
<p>Store lab values and browse plain-language medical terms connected to MedlinePlus, RxNorm, PubMed, and ClinicalTrials.gov.</p>
<span>Sx</span>
<h3>Symptoms</h3>
<p>Search symptom names, body systems, tracking notes, and urgency-context references.</p>
<a class="site-secondary" href="/symptoms.php">Open symptoms</a>
</article>
<article>
<span>04</span>
<h3>NIH/NLM studies</h3>
<p>Browse NIH/NLM research categories and study-search links related to the medicines included in the catalog.</p>
<span>NIH</span>
<h3>Research</h3>
<p>Open NIH/NLM, PubMed, and ClinicalTrials.gov study categories tied to medicines.</p>
<a class="site-secondary" href="/recovery.php">Open research</a>
</article>
<article>
<span>Dx</span>
<h3>Conditions</h3>
<p>Review condition-tracking topics for vitals, labs, symptoms, medications, and notes.</p>
<a class="site-secondary" href="/workouts.php">Open conditions</a>
</article>
</div>
</section>
<section class="site-split">
<div>
<p class="site-eyebrow">For households, caregivers, and small teams</p>
<h2>Profiles stay separate, admins stay in control.</h2>
<p>Each user gets a profile, theme preference, medication logs, vitals, lab results, medical notes, and research references. Admins can create users, edit details, activate or deactivate accounts, and remove profiles from a dedicated dashboard.</p>
<a class="site-secondary inline-link" href="/admin.php">Open admin dashboard</a>
<section class="admin-public-shell">
<div class="site-section-heading">
<p class="site-eyebrow">Profile tools</p>
<h2>Manage medical logs through Tracker and Admin.</h2>
</div>
<div class="site-metric-stack">
<article><strong>Daily</strong><span>Log todays medicines, readings, symptoms, and notes.</span></article>
<article><strong>Weekly</strong><span>Review medication adherence, vital trends, labs, and follow-up context.</span></article>
<article><strong>Monthly</strong><span>Keep longer-term records ready for visits with clinicians or caregivers.</span></article>
<div class="library-list">
<article class="library-row">
<div class="library-row-main">
<h3>Tracker</h3>
<p>Use existing profiles for medications, vitals, labs, symptoms, allergies, appointments, immunizations, and notes.</p>
</div>
<div class="library-row-actions">
<a class="site-primary" href="/tracker.php">Open tracker</a>
</div>
</article>
<article class="library-row">
<div class="library-row-main">
<h3>Admin</h3>
<p>Create, update, activate, deactivate, and remove profiles from the admin dashboard.</p>
</div>
<div class="library-row-actions">
<a class="site-secondary" href="/admin.php">Manage profiles</a>
</div>
</article>
</div>
</section>
<section class="cta-strip">
<div>
<p class="site-eyebrow">Ready when you are</p>
<h2>Create your profile and open the medical tracker.</h2>
</div>
<a class="site-primary" href="/signup.php">Sign up</a>
</section>
</main>
<?php require __DIR__ . '/partials/site-footer.php'; ?>