尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A mobile-first progressive web app for anesthesia training, focused on pharmacokinetic/pharmacodynamic simulation of propofol Target-Controlled Infusion (TCI).
⚠️ Simulation only — not a medical device. Do not use to guide clinical drug administration.
deliver_cpt algorithm with eigenstate-based maintenanceNo build step required. Serve the project directory with any static file server:
# Python
python3 -m http.server 8080
# Node
npx serve .
Open http://localhost:8080 on a mobile device or browser.
node tests/run-tests.js
tci-sim/
├── index.html # Single-page app (setup + sim screens)
├── manifest.json # PWA manifest
├── js/
│ ├── app.js # Main application controller
│ ├── app/
│ │ ├── settings-ui.js # Settings modal DOM wiring
│ │ ├── tci-modal.js # TCI delay + first-step countdown modals
│ │ ├── session.js # Case save / restore / new case
│ │ └── chart-bridge.js # Chart refresh, BIS overlay, per-frame updates
│ ├── version.js # APP_VERSION — single source of truth
│ ├── pk/
│ │ ├── eleveld.js # Eleveld 2018 parameter calculation
│ │ ├── engine.js # Matrix-exponential PK engine
│ │ ├── pd.js # PD model (BIS prediction)
│ │ ├── decay-predictor.js # Context-sensitive decrement times
│ │ ├── fentanyl.js # Fentanyl PK parameters
│ │ ├── ketamine.js # Ketamine PK parameters
│ │ └── steady-state-predictor.js # Analytical SS + plateau detection
│ ├── sim/
│ │ ├── simulation.js # Stateless model facade
│ │ ├── events.js # Re-export shim → events/
│ │ ├── events/
│ │ │ ├── index.js # Event list orchestrator + facade
│ │ │ ├── delivery.js # Bolus delivery math
│ │ │ ├── replay.js # Per-drug engine replay
│ │ │ ├── list-ops.js # CRUD + clear operations
│ │ │ ├── query.js # Concentration queries + curve sampling
│ │ │ └── actions.js # findActiveBolus + add/edit/delete
│ │ ├── tci-planner.js # Re-export shim → tci/
│ │ ├── tci/
│ │ │ ├── index.js # Barrel re-export + planTCIFromEvents
│ │ │ ├── shared.js # Config, quantizers, findMaintenanceRate
│ │ │ ├── stepped.js # Stepped planner (conservative)
│ │ │ ├── cet.js # CET planner (fast onset)
│ │ │ ├── cet-conservative.js # CET Conservative (rate-corrected)
│ │ │ └── emulation.js # CET Emulation (SimTIVA port)
│ │ └── simtiva-reference.js # UDF computation, rate correction
│ ├── ui/
│ │ ├── setup.js # Patient/pump configuration screen
│ │ ├── patient-modal.js # Patient demographics modal + inline keypad
│ │ ├── chart.js # Re-export shim → chart/
│ │ ├── chart/
│ │ │ ├── index.js # Chart.js wrapper — curves, overlays, setters
│ │ │ ├── annotations.js # Annotation rebuild (bands, lines, cursor)
│ │ │ ├── gestures.js # Touch/mouse: Y-drag, dbl-tap, inspect-handle drag
│ │ │ ├── state.js # Shared chart state object
│ │ │ └── plugins/ # afterDraw plugins (target-label, cursor-dots,
│ │ │ # inspect-dots, inspect-handle, readout-panel,
│ │ │ # event-markers)
│ │ ├── history.js # Event history panel
│ │ ├── event-editor.js # Unified event editor modal
│ │ ├── keypad.js # Numeric keypad modal
│ │ ├── timer.js # Elapsed time / wall clock
│ │ ├── controls.js # Start/pause pump controls
│ │ ├── mode.js # TCI/manual mode tracking
│ │ ├── drug-panel.js # Re-export shim → drug-panel/
│ │ ├── drug-panel/
│ │ │ ├── index.js # rAF loop, update(), public getters
│ │ │ ├── approach.js # Approach line computation + rendering
│ │ │ ├── step-bar.js # Step bar progress + countdown
│ │ │ ├── exit-readout.js # Emergence countdown line
│ │ │ └── formatters.js # Display formatting helpers
│ │ ├── settings.js # Settings & event warning system
│ │ ├── alert-sound.js # AudioContext; playAlert(level)
│ │ └── persist.js # LocalStorage case save/restore
│ ├── app/
│ │ ├── settings-ui.js # Settings modal wiring
│ │ ├── tci-modal.js # TCI delay + first-step countdown modals
│ │ ├── session.js # Case save / restore / new case
│ │ ├── chart-bridge.js # Chart refresh + per-frame settings push
│ │ └── portrait-layout.js # Dynamic grid-row sizing on portrait tablet
│ └── util/
│ ├── constants.js # Drug config, DRUG_IDS, pump settings
│ ├── math.js # Matrix-exp, eigenvalue utilities
│ └── units.js # Unit conversion helpers
├── tests/
│ ├── run-tests.js # Test runner (554 tests, 16 suites)
│ └── test-*.js # Test suites
└── _legacy/ # Archived legacy code
PK engine validated against SimTIVA (by Terence Luk) to 0.0000% Cp deviation across all Eleveld patient archetypes. PD model validated against published Eleveld 2018 Ce50 values and TivaTrainer DiY4 spreadsheet.
The CET Emulation planner produces maintenance rate schemes that match SimTIVA's step values and timing from interval 2 onward (56, 51, 47 mL/h at identical time points for the reference 35y M patient).