diff --git a/CHANGELOG.md b/CHANGELOG.md index fd71c4d..b577016 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -All notable changes to Neon Medical Tracker are documented here. +All notable changes to Medical Tracker are documented here. ## [Unreleased] - 2026-07-03 @@ -23,6 +23,7 @@ All notable changes to Neon Medical Tracker are documented here. - Updated medicine catalog, medicine detail, condition, symptom, terminology, and combined-library pages to show "what it is used for" text through one shared helper. - Updated relationship generation so official medicine-use label text participates in condition and symptom linking. - Updated openFDA refreshes to fetch label documents first, then fall back to generic, brand, and substance buckets for broader coverage. +- Renamed user-facing branding from "Neon Medical Tracker" to "Medical Tracker". - Batched imported medicine upserts inside a SQLite transaction for faster source refreshes. - Increased SQLite busy timeout for safer first-run migrations and source refreshes. - Updated `README.md` with current counts, relationship data, and source-refresh behavior. diff --git a/README.md b/README.md index 047ff8d..752e9c7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Neon Medical Tracker +# Medical Tracker A dependency-free PHP, HTML5, JavaScript, and SQLite web app for multi-user medical tracking, searchable medical reference data, medication catalog lookup, common-use and official-label medicine context, terminology, symptoms, conditions, NIH/NLM study links, and admin-managed profiles. @@ -68,7 +68,7 @@ The database also stores user profiles, medication logs, vitals, lab results, sy - Medical terminology database with plain-language definitions, clinical context, source links, and dynamic detail pages. - Combined medical library search across symptoms, conditions, terminology, medicines, and research links. - NIH/NLM study-link categories related to listed medicines and conditions. -- Neon dark theme by default, light mode option, and green, blue, red, pink, and orange accents. +- Dark neon theme by default, light mode option, and green, blue, red, pink, and orange accents. ## Medicine Catalog Updates diff --git a/app/bootstrap.php b/app/bootstrap.php index 5707043..c0d5fca 100644 --- a/app/bootstrap.php +++ b/app/bootstrap.php @@ -1889,7 +1889,7 @@ function medicine_rows_with_use_summary(array $rows): array function therapeutic_relationship_source_name(): string { - return 'Neon therapeutic-use relationships'; + return 'Medical Tracker therapeutic-use relationships'; } function therapeutic_relationship_source_url(): string @@ -2197,7 +2197,7 @@ function relationship_common_use(array $rules): string function seed_medical_relationships(PDO $pdo, bool $force = false): void { - $version = '2026-07-03-therapeutic-links-v5'; + $version = '2026-07-03-therapeutic-links-v6'; $medicineCount = (int) db_value($pdo, 'SELECT COUNT(*) FROM medication_catalog'); $conditionCount = (int) db_value($pdo, 'SELECT COUNT(*) FROM medical_conditions'); $symptomCount = (int) db_value($pdo, 'SELECT COUNT(*) FROM medical_symptoms'); @@ -2247,8 +2247,8 @@ function seed_medical_relationships(PDO $pdo, bool $force = false): void } try { - $pdo->prepare('DELETE FROM medication_condition_links WHERE source_name = ?')->execute([$sourceName]); - $pdo->prepare('DELETE FROM medication_symptom_links WHERE source_name = ?')->execute([$sourceName]); + $pdo->prepare('DELETE FROM medication_condition_links WHERE source_name IN (?, ?)')->execute([$sourceName, 'Neon therapeutic-use relationships']); + $pdo->prepare('DELETE FROM medication_symptom_links WHERE source_name IN (?, ?)')->execute([$sourceName, 'Neon therapeutic-use relationships']); foreach ($medicines as $medicine) { $haystack = relationship_haystack($medicine); @@ -3028,7 +3028,7 @@ function http_json(string $url, int $timeout = 20): ?array 'http' => [ 'method' => 'GET', 'timeout' => $timeout, - 'header' => "Accept: application/json\r\nUser-Agent: NeonMedicalTracker/1.0\r\n", + 'header' => "Accept: application/json\r\nUser-Agent: MedicalTracker/1.0\r\n", ], ]); $body = @file_get_contents($url, false, $context); @@ -3041,7 +3041,7 @@ function http_json(string $url, int $timeout = 20): ?array $command = escapeshellarg($curl) . ' -fsSL --max-time ' . (int) $timeout . ' -H ' . escapeshellarg('Accept: application/json') - . ' -A ' . escapeshellarg('NeonMedicalTracker/1.0') + . ' -A ' . escapeshellarg('MedicalTracker/1.0') . ' ' . escapeshellarg($url) . ' 2>/dev/null'; $body = shell_exec($command); diff --git a/data/health_tracker.sqlite b/data/health_tracker.sqlite index 4ca4c9d..fb4a664 100644 Binary files a/data/health_tracker.sqlite and b/data/health_tracker.sqlite differ diff --git a/public/admin.php b/public/admin.php index 5a9afec..b8b94d9 100644 --- a/public/admin.php +++ b/public/admin.php @@ -4,7 +4,7 @@ declare(strict_types=1); require __DIR__ . '/../app/bootstrap.php'; app_db(); -$pageTitle = 'Admin Dashboard | Neon Medical Tracker'; +$pageTitle = 'Admin Dashboard | Medical Tracker'; $activePage = 'admin'; require __DIR__ . '/partials/site-header.php'; ?> diff --git a/public/condition.php b/public/condition.php index 4364f4c..9ada4c1 100644 --- a/public/condition.php +++ b/public/condition.php @@ -6,8 +6,8 @@ $pdo = app_db(); $condition = find_medical_condition_item($pdo, $_GET); $pageTitle = $condition - ? (string) $condition['name'] . ' | Condition Detail | Neon Medical Tracker' - : 'Condition Not Found | Neon Medical Tracker'; + ? (string) $condition['name'] . ' | Condition Detail | Medical Tracker' + : 'Condition Not Found | Medical Tracker'; $activePage = 'conditions'; $relatedSymptoms = []; diff --git a/public/index.php b/public/index.php index 3617513..ec1ddbb 100644 --- a/public/index.php +++ b/public/index.php @@ -4,7 +4,7 @@ declare(strict_types=1); require __DIR__ . '/../app/bootstrap.php'; $pdo = app_db(); -$pageTitle = 'Medical Reference Library | Neon Medical Tracker'; +$pageTitle = 'Medical Reference Library | Medical Tracker'; $activePage = 'home'; $totalMedicines = (int) db_value($pdo, 'SELECT COUNT(*) FROM medication_catalog'); $totalTerms = (int) db_value($pdo, 'SELECT COUNT(*) FROM medical_terms'); diff --git a/public/medical.php b/public/medical.php index b013d12..7f22d25 100644 --- a/public/medical.php +++ b/public/medical.php @@ -4,7 +4,7 @@ declare(strict_types=1); require __DIR__ . '/../app/bootstrap.php'; $pdo = app_db(); -$pageTitle = 'Medical Terminology Database | Neon Medical Tracker'; +$pageTitle = 'Medical Terminology Database | Medical Tracker'; $activePage = 'terminology'; $searchQuery = trim((string) ($_GET['q'] ?? '')); $library = library_search_payload(['q' => $searchQuery, 'limit' => 500]); diff --git a/public/medicine.php b/public/medicine.php index 1835541..2dbf529 100644 --- a/public/medicine.php +++ b/public/medicine.php @@ -6,8 +6,8 @@ $pdo = app_db(); $medicine = find_medication_catalog_item($pdo, $_GET); $pageTitle = $medicine - ? ucfirst((string) $medicine['generic_name']) . ' | Medicine Detail | Neon Medical Tracker' - : 'Medicine Not Found | Neon Medical Tracker'; + ? ucfirst((string) $medicine['generic_name']) . ' | Medicine Detail | Medical Tracker' + : 'Medicine Not Found | Medical Tracker'; $activePage = 'medicines'; $relatedStudies = []; diff --git a/public/nutrition.php b/public/nutrition.php index 2dc907a..4c1aafc 100644 --- a/public/nutrition.php +++ b/public/nutrition.php @@ -4,7 +4,7 @@ declare(strict_types=1); require __DIR__ . '/../app/bootstrap.php'; $pdo = app_db(); -$pageTitle = 'Medicine Catalog | Neon Medical Tracker'; +$pageTitle = 'Medicine Catalog | Medical Tracker'; $activePage = 'medicines'; $searchQuery = trim((string) ($_GET['q'] ?? '')); $library = library_search_payload(['q' => $searchQuery, 'limit' => 500]); diff --git a/public/partials/site-footer.php b/public/partials/site-footer.php index 3cc93cc..2bf38f7 100644 --- a/public/partials/site-footer.php +++ b/public/partials/site-footer.php @@ -1,6 +1,6 @@