b8045eb068
Medicines: /medicine.php?id=46 Terms: /term.php?id=13 Key files: Dynamic medicine page: [public/medicine.php (line 1)](/Users/tyemeclifford/Documents/GH/workout/public/medicine.php:1) Dynamic term page: [public/term.php (line 1)](/Users/tyemeclifford/Documents/GH/workout/public/term.php:1) Shared lookup/link helpers: [app/bootstrap.php (line 1220)](/Users/tyemeclifford/Documents/GH/workout/app/bootstrap.php:1220) Reworked medicine directory: [public/nutrition.php (line 49)](/Users/tyemeclifford/Documents/GH/workout/public/nutrition.php:49) Reworked terminology page: [public/medical.php (line 64)](/Users/tyemeclifford/Documents/GH/workout/public/medical.php:64) Overflow-safe layout CSS: [public/assets/site.css (line 344)](/Users/tyemeclifford/Documents/GH/workout/public/assets/site.css:344)
126 lines
6.2 KiB
PHP
126 lines
6.2 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
require __DIR__ . '/../app/bootstrap.php';
|
|
$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';
|
|
$activePage = 'medicines';
|
|
|
|
$relatedStudies = [];
|
|
$referenceLinks = [];
|
|
if ($medicine) {
|
|
$genericName = (string) $medicine['generic_name'];
|
|
$like = '%' . $genericName . '%';
|
|
$relatedStudies = db_all(
|
|
$pdo,
|
|
"SELECT *
|
|
FROM research_studies
|
|
WHERE related_medicine LIKE ? OR title LIKE ? OR summary LIKE ?
|
|
ORDER BY category, title
|
|
LIMIT 6",
|
|
[$like, $like, $like]
|
|
);
|
|
$referenceLinks = medicine_reference_links($medicine);
|
|
} else {
|
|
http_response_code(404);
|
|
}
|
|
|
|
require __DIR__ . '/partials/site-header.php';
|
|
?>
|
|
<main>
|
|
<?php if (!$medicine): ?>
|
|
<section class="admin-public-shell record-shell">
|
|
<p class="site-eyebrow">Medicine catalog</p>
|
|
<h1>Medicine not found.</h1>
|
|
<p>The requested medicine link does not match a current catalog record.</p>
|
|
<a class="site-primary" href="/nutrition.php">Search medicines</a>
|
|
</section>
|
|
<?php else: ?>
|
|
<section class="admin-public-shell record-shell">
|
|
<div class="record-heading">
|
|
<div>
|
|
<p class="site-eyebrow">Medicine detail</p>
|
|
<h1><?= htmlspecialchars(ucfirst((string) $medicine['generic_name']), ENT_QUOTES) ?></h1>
|
|
<p><?= htmlspecialchars((string) ($medicine['common_use'] ?: 'Medicine reference entry.'), ENT_QUOTES) ?></p>
|
|
</div>
|
|
<div class="record-actions">
|
|
<a class="site-primary" href="/tracker.php">Open tracker</a>
|
|
<a class="site-secondary" href="/nutrition.php?q=<?= rawurlencode((string) $medicine['generic_name']) ?>">Catalog search</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="record-meta">
|
|
<span><?= htmlspecialchars((string) ($medicine['class_name'] ?: 'Medication'), ENT_QUOTES) ?></span>
|
|
<span><?= htmlspecialchars((string) ($medicine['drug_family'] ?: $medicine['source_name'] ?: 'Reference catalog'), ENT_QUOTES) ?></span>
|
|
<span>ID <?= htmlspecialchars((string) $medicine['id'], ENT_QUOTES) ?></span>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="admin-public-shell">
|
|
<div class="record-detail-grid">
|
|
<article class="record-field">
|
|
<span>Active Ingredient</span>
|
|
<p><?= htmlspecialchars((string) ($medicine['active_ingredient'] ?: $medicine['generic_name']), ENT_QUOTES) ?></p>
|
|
</article>
|
|
<article class="record-field">
|
|
<span>Chemical Name</span>
|
|
<p><?= htmlspecialchars((string) ($medicine['chemical_name'] ?: $medicine['active_ingredient'] ?: $medicine['generic_name']), ENT_QUOTES) ?></p>
|
|
</article>
|
|
<article class="record-field">
|
|
<span>Common Brands</span>
|
|
<p><?= htmlspecialchars((string) ($medicine['brand_names'] ?: 'Brand names vary by market.'), ENT_QUOTES) ?></p>
|
|
</article>
|
|
<article class="record-field">
|
|
<span>Generic / Alternate Names</span>
|
|
<p><?= htmlspecialchars((string) ($medicine['generic_brands'] ?: $medicine['generic_name']), ENT_QUOTES) ?></p>
|
|
</article>
|
|
<article class="record-field wide">
|
|
<span>Tracking Note</span>
|
|
<p><?= htmlspecialchars((string) ($medicine['tracking_note'] ?: 'Track dose, frequency, route, prescriber, status, side effects, and patient-specific notes.'), ENT_QUOTES) ?></p>
|
|
</article>
|
|
<article class="record-field wide">
|
|
<span>Reference Links</span>
|
|
<div class="source-links">
|
|
<?php foreach ($referenceLinks as $label => $url): ?>
|
|
<a href="<?= htmlspecialchars((string) $url, ENT_QUOTES) ?>"><?= htmlspecialchars($label, ENT_QUOTES) ?></a>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
</article>
|
|
</div>
|
|
</section>
|
|
|
|
<?php if ($relatedStudies): ?>
|
|
<section class="admin-public-shell">
|
|
<div class="site-section-heading">
|
|
<p class="site-eyebrow">Research</p>
|
|
<h2>Related NIH/NLM study links</h2>
|
|
</div>
|
|
<div class="library-list">
|
|
<?php foreach ($relatedStudies as $study): ?>
|
|
<article class="library-row">
|
|
<div class="library-row-main">
|
|
<h3><?= htmlspecialchars((string) $study['title'], ENT_QUOTES) ?></h3>
|
|
<p><?= htmlspecialchars((string) $study['summary'], ENT_QUOTES) ?></p>
|
|
<div class="library-row-meta">
|
|
<span><?= htmlspecialchars((string) $study['category'], ENT_QUOTES) ?></span>
|
|
<span><?= htmlspecialchars((string) $study['study_type'], ENT_QUOTES) ?></span>
|
|
</div>
|
|
</div>
|
|
<div class="source-links library-row-actions">
|
|
<a href="<?= htmlspecialchars((string) $study['source_url'], ENT_QUOTES) ?>"><?= htmlspecialchars((string) $study['nih_source'], ENT_QUOTES) ?></a>
|
|
<a href="<?= htmlspecialchars((string) $study['pubmed_url'], ENT_QUOTES) ?>">PubMed</a>
|
|
<a href="<?= htmlspecialchars((string) $study['clinicaltrials_url'], ENT_QUOTES) ?>">ClinicalTrials.gov</a>
|
|
</div>
|
|
</article>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
</section>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
</main>
|
|
<?php require __DIR__ . '/partials/site-footer.php'; ?>
|