3.1 KiB
Bedside Tools And Calculators
This doc describes the current responsibilities of the bedside/reference area without hardcoded line numbers. The source of truth is the code plus the calculator test suite.
Areas
| Area | Files | Notes |
|---|---|---|
| Bedside emergencies | public/js/bedside/* |
ES-module pocket for emergency reference sections. |
| Core calculators | public/js/calc-math.js, public/js/calculators.js, public/js/drugs-loader.js |
calc-math.js keeps a dual browser/CommonJS wrapper so tests can require() the same formulas used in browser. |
| Drug data | public/data/drugs.json |
Loaded by drugs-loader.js; fallback constants remain in some UI modules for resilience. |
| PE Guide | public/js/peGuide.js, src/routes/peGuide.js, public/components/pe-guide.html |
Structured PE reference plus AI narrative endpoint. |
| Well-visit schedule | public/js/wellVisit/scheduleData.js, public/data/well-visit/schedule.json, public/js/wellVisit.js |
Schedule JSON is loaded and applied to legacy globals used by the UI. |
| Milestones | public/js/milestonesData.js, public/js/milestones.js, src/routes/milestones.js, src/routes/adminMilestones.js |
DB-backed milestone data with static fallback. |
Calculator Accuracy Rule
Do not change clinical formulas or reference data without tests. Add or update
test vectors first, then change data/code, then run npm test.
Protected examples include:
- APLS and Best Guess weights.
- Maintenance fluids.
- Parkland burn fluids and Lund-Browder TBSA.
- PRAM, Westley croup, GCS, Apgar, bilirubin, BMI, BP, growth, Fenton, and equipment sizing.
- Emergency medication dosing in resuscitation, anaphylaxis, seizure, sedation, agitation, emesis, trauma, and NRP modules.
Schedule Data
Well-visit schedule data now lives in JSON:
public/data/well-visit/schedule.json- loader:
public/js/wellVisit/scheduleData.js - consumer:
public/js/wellVisit.js - server enrichment:
src/routes/wellVisit.js
The loader exposes the legacy names expected by the existing UI, including
VISIT_AGES, PERIODICITY, CATCH_UP_SCHEDULE, GROWTH_REFERENCE, and BMI
classification data.
Bedside ES Modules
The bedside tab is intentionally split by emergency/reference topic. Keep new
sections small and self-contained. Shared formatting/helpers should stay in the
bedside support modules rather than growing calculators.js again.
PE Guide
The PE Guide is partly deterministic reference UI and partly AI-assisted narrative generation:
- Browser code collects assessed systems, selected normals/abnormals, and clinician notes.
POST /api/generate-pe-narrativewraps user-derived text withwrapUserTextand appliesINJECTION_GUARDbeforecallAI.- The route returns a generated narrative plus summary metadata.
Extension Checklist
When adding or changing a bedside/calculator feature:
- Add test vectors for any clinical formula or reference boundary.
- Keep UI state local unless persistence is explicitly required.
- Avoid PHI storage in reference/calculator-only areas.
- Prefer small files for new bedside sections.
- Run
node --checkon touched scripts andnpm testbefore deploy.