# Changelog All notable changes to Neon Medical Tracker are documented here. ## [Unreleased] - 2026-07-03 ### Added - Added generated medicine-to-condition and medicine-to-symptom relationship tables. - Added dynamic medicine detail sections for linked conditions and linked symptom contexts. - Added dynamic condition and symptom sections for commonly linked medicines. - Added therapeutic-use enrichment rules so imported medicine rows can show practical common-use context when a clear category match exists. - Added expanded condition and symptom seed coverage across cardiovascular, respiratory, endocrine, GI, kidney, neurologic, mental health, dermatology, infectious disease, immune, ENT, reproductive, and general medical topics. - Added openFDA brand-name and substance-name buckets to the medicine source updater. - Added official medicine-use fields and source links populated from openFDA drug label `indications_and_usage` or `purpose` text. - Added computed `used_for` values to medicine API payloads so clients can display official label use text when available. ### Changed - Increased the current SQLite snapshot to 7,646 medicines, 283 conditions, and 308 symptoms, including 200 openFDA label-derived use summaries. - Rebuilt generated relationship data to 8,077 medicine-to-condition links and 10,590 medicine-to-symptom links. - Updated medical library search so medicine searches can match linked conditions/symptoms, and condition/symptom searches can match linked medicines. - 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. - 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. ### Fixed - Cleaned generated search terms when therapeutic relationship rules change so removed links do not linger in search. - Tightened relationship rules to avoid broad steroid and chemistry keyword false positives. - Fixed medicine pages that previously depended on `common_use` only, so medicines now show official "used for" text whenever it exists. ### Verified - Refreshed public medicine sources with a 500-row-per-source run across RxNorm, DailyMed, and openFDA. - Refreshed openFDA label-use data with a 200-row run and verified 200 medicine rows have official use summaries. - Verified `/medicine.php?name=albuterol`, `/condition.php?name=Asthma`, `/symptom.php?name=Wheezing`, and `api.php?action=library_search&q=asthma&limit=10` return `200`. - Verified official-use medicine pages expose "What It Is Used For", `Used for:` label text, and an openFDA drug label source link. - Verified albuterol medicine pages show linked Asthma/Wheezing records and Asthma/Wheezing pages show linked albuterol medicines. - Verified stale adalimumab-to-asthma and celecoxib-to-UTI false positives are removed. ## [Unreleased] - 2026-06-30 ### Added - Added a public medical reference hub at `/` focused on medicines, symptoms, terminology, conditions, research, tracker access, and admin access. - Added a searchable medicine catalog with thousands of records and dynamic medicine detail pages at `/medicine.php?id=...`. - Added medicine detail fields for active ingredient, chemical name, common brand names, generic/alternate names, class, family, tracking notes, and external reference links. - Added public medicine-source refresh support through the admin dashboard and `scripts/update_medicine_catalog.php`. - Added data import/update support for RxNorm, DailyMed, and openFDA. - Added a searchable symptom reference database at `/symptoms.php`. - Added dynamic symptom detail pages at `/symptom.php?id=...`. - Added 242 seeded symptom records grouped by body system/category, with tracking notes, urgency-context notes, search terms, and MedlinePlus links. - Added a searchable condition reference database at `/workouts.php`. - Added dynamic condition detail pages at `/condition.php?id=...`. - Added 203 seeded condition records grouped by clinical category, with overviews, tracking notes, and MedlinePlus links. - Added dynamic medical terminology detail pages at `/term.php?id=...`. - Added combined medical library search across symptoms, terminology, conditions, medicines, and research-study links. - Added search-result ordering so direct symptom and condition name matches rank above broad category/overview matches. - Added related-record sections on dynamic detail pages, linking conditions, symptoms, terms, medicines, and research records where available. - Added admin dashboard support for managing profiles and refreshing medication sources. - Added profile-scoped medical tracker data for medication logs, vitals, labs, symptoms, allergies, appointments, immunizations, and notes. - Added route documentation for all dynamic medicine, symptom, condition, and terminology endpoints. - Added responsive overflow protections for long chemical names, brand names, reference URLs, symptoms, conditions, and directory rows. ### Changed - Renamed the project focus from a workout/nutrition tracker to a medical tracker and medical reference database. - Reworked the homepage from a marketing-style landing page into a direct medical reference hub. - Reworked `/nutrition.php` from nutrition tracking content into the medicine catalog route. - Reworked `/workouts.php` from workout planning content into the condition database route while keeping the legacy URL for compatibility. - Reworked `/medical.php` into a combined searchable library for symptoms, terms, conditions, medicines, and study links. - Reworked medicine and terminology list views from dense cards into compact searchable directory rows with dynamic detail links. - Updated profile management so public profile creation is no longer part of the site flow; profile creation is handled through admin/tracker tools. - Updated `README.md` to match the current medical-reference app, current routes, current data counts, source update process, and API actions. - Preserved legacy fitness, nutrition, supplement, routine, workout, and body-metric data structures as optional wellness context inside the tracker. ### Removed - Removed the public signup form and public signup JavaScript. - Removed the `public_signup` API action. - Removed signup links from the public header, footer, homepage, and condition pages. - Removed unused signup/showcase CSS from the public stylesheet. - Replaced `/signup.php` with a simple redirect to `/tracker.php` for legacy links. ### Fixed - Fixed text overflow on long medicine names, chemical names, brand lists, source URLs, and compact database rows. - Fixed searchable medicine and terminology pages so entries have shareable dynamic pages instead of only inline catalog cards. - Fixed condition and symptom search behavior so relevant name matches appear first. - Reduced one-time SQLite seeding lock risk by wrapping symptom catalog seeding in a short transaction and skipping once populated. ### Verified - Verified dynamic medicine, symptom, condition, and terminology routes return `200` for representative records. - Verified legacy `/signup.php` returns `302` to `/tracker.php`. - Verified `api.php?action=public_signup` returns `404`. - Verified then-current SQLite snapshot counts: 6,002 medicines, 242 symptoms, 203 conditions, 23 terms, and 9 research-link categories. - Verified browser layout checks for medicine, symptom, and terminology pages at desktop and mobile widths with no horizontal overflow. ## Earlier Scope ### Added - Added the original multi-user tracker foundation with SQLite storage. - Added user profiles with role, status, contact details, care focus, height, theme mode, and accent color. - Added first-user-is-admin behavior. - Added admin user-management dashboard. - Added daily, weekly, and monthly planning views. - Added workout, routine, exercise, nutrition goal, nutrition log, supplement, supplement log, body metric, medication log, vital log, lab result, symptom log, allergy, appointment, and immunization tables. - Added built-in exercise and supplement libraries. - Added neon theme styling with dark mode default, light mode support, and green, blue, red, pink, and orange accents.