Backlog
Two-Way Radio Simulation
Simulated two-way radio with an instructor (controller) handset and a student (field) handset/display. Channel switching mimics the real-world distinction between dispatch, hospital-direct, and tactical frequencies. Students push-to-talk; instructors play different roles on different channels (dispatcher, ED charge nurse, IC, medical control). Components to build: - Radio display (student side): channel name, signal indicator, last-traffic timestamp, PTT button, mimics a real handset/console - Channel list: Dispatch, Hospital 1, Hospital 2, Tac 1, Tac 2, Med Channel, etc. Configurable per session - PTT (push-to-talk): browser microphone capture, transmits to anyone on the same channel - Controller voice: instructor speaks as dispatcher, ED charge nurse, IC, medical control, switching channels to play different roles - Recording: every transmission logged with timestamp, channel, speaker - powerful for debrief - Selective audibility: students on Tac 1 do not hear Hospital 2 traffic - Optional radio reception artifacts: static, breakup, key-up tones (skinnable) - Async/text fallback: type your transmission, others see it as a transcribed radio call Key engineering challenges: - WebRTC for live voice adds infrastructure (TURN servers, signaling) - a real complexity jump from TMA's current state - Latency and quality: bad radio sim is worse than no radio sim - Bandwidth and hosting cost: voice is expensive at scale; TMA is free forever so this needs a sustainability plan - Browser permissions: microphone access prompts, iOS Safari quirks, classroom IT policies that block WebRTC Strategic note: real radio comms training is a major gap in EMS education with almost no free tools addressing it. However this is the most engineering-heavy and cost-heavy feature in the v2/v3 brainstorm and most clearly redefines what TMA is. Recommended sequencing: ship Reference Library first, then Mini CAD, then Two-Way Radio - giving the positioning question time to resolve and validating demand before the largest investment. Open questions before spec: voice (live WebRTC) vs async/text vs hybrid; hosting cost projection at concurrency; integration with CAD or independent ship; radio procedure scope (US EMS / UK ambulance / generic); browser audio compatibility audit.
Feature Request
1 day ago
Backlog
Two-Way Radio Simulation
Simulated two-way radio with an instructor (controller) handset and a student (field) handset/display. Channel switching mimics the real-world distinction between dispatch, hospital-direct, and tactical frequencies. Students push-to-talk; instructors play different roles on different channels (dispatcher, ED charge nurse, IC, medical control). Components to build: - Radio display (student side): channel name, signal indicator, last-traffic timestamp, PTT button, mimics a real handset/console - Channel list: Dispatch, Hospital 1, Hospital 2, Tac 1, Tac 2, Med Channel, etc. Configurable per session - PTT (push-to-talk): browser microphone capture, transmits to anyone on the same channel - Controller voice: instructor speaks as dispatcher, ED charge nurse, IC, medical control, switching channels to play different roles - Recording: every transmission logged with timestamp, channel, speaker - powerful for debrief - Selective audibility: students on Tac 1 do not hear Hospital 2 traffic - Optional radio reception artifacts: static, breakup, key-up tones (skinnable) - Async/text fallback: type your transmission, others see it as a transcribed radio call Key engineering challenges: - WebRTC for live voice adds infrastructure (TURN servers, signaling) - a real complexity jump from TMA's current state - Latency and quality: bad radio sim is worse than no radio sim - Bandwidth and hosting cost: voice is expensive at scale; TMA is free forever so this needs a sustainability plan - Browser permissions: microphone access prompts, iOS Safari quirks, classroom IT policies that block WebRTC Strategic note: real radio comms training is a major gap in EMS education with almost no free tools addressing it. However this is the most engineering-heavy and cost-heavy feature in the v2/v3 brainstorm and most clearly redefines what TMA is. Recommended sequencing: ship Reference Library first, then Mini CAD, then Two-Way Radio - giving the positioning question time to resolve and validating demand before the largest investment. Open questions before spec: voice (live WebRTC) vs async/text vs hybrid; hosting cost projection at concurrency; integration with CAD or independent ship; radio procedure scope (US EMS / UK ambulance / generic); browser audio compatibility audit.
Feature Request
1 day ago
Backlog
Sensor Location Parameter for Pleth PTT
A sensor location dropdown (finger, ear, toe, forehead) that adjusts the default PTT range to reflect the chosen anatomy: - Ear: shorter PTT (proximal to heart) - Finger: middle range (current default) - Toe: longer PTT (most distal) - Forehead: shorter PTT (reflectance oximetry) Useful for advanced scenarios that simulate sensor placement decisions or teach the physiological basis of PTT differences by site. Deferred from v1 due to added complexity.
Feature Request
1 day ago
Backlog
Sensor Location Parameter for Pleth PTT
A sensor location dropdown (finger, ear, toe, forehead) that adjusts the default PTT range to reflect the chosen anatomy: - Ear: shorter PTT (proximal to heart) - Finger: middle range (current default) - Toe: longer PTT (most distal) - Forehead: shorter PTT (reflectance oximetry) Useful for advanced scenarios that simulate sensor placement decisions or teach the physiological basis of PTT differences by site. Deferred from v1 due to added complexity.
Feature Request
1 day ago
Backlog
Per-Beat Pleth PTT Variability
Real Pulse Transit Time (PTT) varies slightly beat-to-beat due to respiratory variation and other physiological factors. Adding subtle randomization of +/-10-20 ms per beat would increase the realism of the pleth waveform. In v1, PTT is a fixed value per the slider setting. This feature adds optional per-beat variability around the set value. Deferred from v1 - low priority but meaningful for advanced realism. Can be implemented as an optional toggle for instructors who want maximum physiological fidelity.
Feature Request
1 day ago
Backlog
Per-Beat Pleth PTT Variability
Real Pulse Transit Time (PTT) varies slightly beat-to-beat due to respiratory variation and other physiological factors. Adding subtle randomization of +/-10-20 ms per beat would increase the realism of the pleth waveform. In v1, PTT is a fixed value per the slider setting. This feature adds optional per-beat variability around the set value. Deferred from v1 - low priority but meaningful for advanced realism. Can be implemented as an optional toggle for instructors who want maximum physiological fidelity.
Feature Request
1 day ago
Backlog
Mini CAD - Computer-Aided Dispatch Simulation
A second screen/panel that delivers scenario context the way a real EMS crew receives it: dispatch tones, call card, address, optional map preview, and the ability to push en-route updates. Components to build: - Dispatch tones and voice (pre-recorded or synthesized) - Call card: call type, address, caller info, age/sex, chief complaint, dispatch notes - Map view: static map tile or simple route line (OpenStreetMap recommended) - En-route updates: controller can push mid-response updates - Pre-arrival info: pertinent history if dispatch has it - Timestamps: dispatch, en-route, on-scene, transporting, at-hospital (auto or controller-stamped, feeds event log) Architectural fit: extends TMA's existing Controller/Display architecture. Controllers gain a CAD tab in session controls. Scenarios in the existing library can carry an optional cad block (call type, address template, dispatch notes) so loading a scenario auto-populates dispatch. Recommended starting scope: ship the call card + dispatch audio + en-route updates first. Defer maps and full CAD-vendor styling. Delivers most of the teaching value at a fraction of the build cost. Note: almost no free tool offers this. Pulls TMA toward free EMS scene simulator positioning - a deliberate positioning decision is needed before v2 ships.
Feature Request
1 day ago
Backlog
Mini CAD - Computer-Aided Dispatch Simulation
A second screen/panel that delivers scenario context the way a real EMS crew receives it: dispatch tones, call card, address, optional map preview, and the ability to push en-route updates. Components to build: - Dispatch tones and voice (pre-recorded or synthesized) - Call card: call type, address, caller info, age/sex, chief complaint, dispatch notes - Map view: static map tile or simple route line (OpenStreetMap recommended) - En-route updates: controller can push mid-response updates - Pre-arrival info: pertinent history if dispatch has it - Timestamps: dispatch, en-route, on-scene, transporting, at-hospital (auto or controller-stamped, feeds event log) Architectural fit: extends TMA's existing Controller/Display architecture. Controllers gain a CAD tab in session controls. Scenarios in the existing library can carry an optional cad block (call type, address template, dispatch notes) so loading a scenario auto-populates dispatch. Recommended starting scope: ship the call card + dispatch audio + en-route updates first. Defer maps and full CAD-vendor styling. Delivers most of the teaching value at a fraction of the build cost. Note: almost no free tool offers this. Pulls TMA toward free EMS scene simulator positioning - a deliberate positioning decision is needed before v2 ships.
Feature Request
1 day ago
Backlog
Reference Library - ECG, Capnography, and Waveform Encyclopedia
A built-in, browsable, searchable encyclopedia of every waveform and rhythm TMA can render. Usable both as a standalone study tool (no session required) and as a quick lookup during active sessions. Each entry is a live, animated rendering using TMA's existing rhythm/waveform engine - not static images. Sub-libraries confirmed for v2: ECG Rhythm Library: Every rhythm TMA supports (50+). Each entry includes a live animated strip, rhythm name and common synonyms, AHA/ACLS classification, rate range/regularity/P-wave/PR/QRS details, key identifying features and common look-alikes, common causes, and a Load into active session button (controllers only). Ectopy Library: Dedicated section for ectopic beats - PVCs (unifocal, multifocal, coupled, bigeminy, trigeminy, R-on-T), PACs, PJCs, and escape beats. Each entry shows the underlying rhythm with the ectopic beat in context and labeled callout overlays. Capnography Library: All 15 waveforms with live animation, phase labels (I, II, III, 0), typical EtCO2 range, and clinical correlation. Stretch sub-libraries to consider: Pleth waveform library, 12-lead presentation library (pairs with v1.5), alarm sound library. Strategic value: reuses existing rendering engine at low engineering cost, creates a non-session use case driving traffic, significant SEO opportunity (high-volume search queries like what does torsades look like), and evergreen content for MedTechKits.
Feature Request
1 day ago
Backlog
Reference Library - ECG, Capnography, and Waveform Encyclopedia
A built-in, browsable, searchable encyclopedia of every waveform and rhythm TMA can render. Usable both as a standalone study tool (no session required) and as a quick lookup during active sessions. Each entry is a live, animated rendering using TMA's existing rhythm/waveform engine - not static images. Sub-libraries confirmed for v2: ECG Rhythm Library: Every rhythm TMA supports (50+). Each entry includes a live animated strip, rhythm name and common synonyms, AHA/ACLS classification, rate range/regularity/P-wave/PR/QRS details, key identifying features and common look-alikes, common causes, and a Load into active session button (controllers only). Ectopy Library: Dedicated section for ectopic beats - PVCs (unifocal, multifocal, coupled, bigeminy, trigeminy, R-on-T), PACs, PJCs, and escape beats. Each entry shows the underlying rhythm with the ectopic beat in context and labeled callout overlays. Capnography Library: All 15 waveforms with live animation, phase labels (I, II, III, 0), typical EtCO2 range, and clinical correlation. Stretch sub-libraries to consider: Pleth waveform library, 12-lead presentation library (pairs with v1.5), alarm sound library. Strategic value: reuses existing rendering engine at low engineering cost, creates a non-session use case driving traffic, significant SEO opportunity (high-volume search queries like what does torsades look like), and evergreen content for MedTechKits.
Feature Request
1 day ago
Backlog
Device Skins (LP12, LP15, LP35, Zoll X)
Add visual skins that re-style the monitor display to mimic the layout, colors, and information hierarchy of common real-world EMS monitors: LIFEPAK 12, LIFEPAK 15, LIFEPAK 35, and Zoll X Series. The underlying simulation engine is unchanged - same vitals, same alarms, same scenarios. Only the display rendering changes. A skin selector appears in the controller's display settings; the chosen skin applies to the monitor view and persists for the session. Each skin replicates the target device's vital sign placement, font choices, color palette, alarm banner styling, and waveform layout to a level that allows students to recognize the device they will see in the field. Branding remains generic where trademark concerns apply (no manufacturer logos), but visual layout faithfully matches the real device. This is the strongest single feature for closing the gap with institutional platforms whose pitch is trains on the monitor your hospital uses. Initial release ships the four skins listed; additional skins (Philips, Corpuls, GE) considered based on user demand. Note: implementation must follow the legal risk mitigation framework - plain-text manufacturer names only, original TMA color palette and typography, functional layout only, and persistent non-affiliation disclaimers.
Feature Request
1 day ago
Backlog
Device Skins (LP12, LP15, LP35, Zoll X)
Add visual skins that re-style the monitor display to mimic the layout, colors, and information hierarchy of common real-world EMS monitors: LIFEPAK 12, LIFEPAK 15, LIFEPAK 35, and Zoll X Series. The underlying simulation engine is unchanged - same vitals, same alarms, same scenarios. Only the display rendering changes. A skin selector appears in the controller's display settings; the chosen skin applies to the monitor view and persists for the session. Each skin replicates the target device's vital sign placement, font choices, color palette, alarm banner styling, and waveform layout to a level that allows students to recognize the device they will see in the field. Branding remains generic where trademark concerns apply (no manufacturer logos), but visual layout faithfully matches the real device. This is the strongest single feature for closing the gap with institutional platforms whose pitch is trains on the monitor your hospital uses. Initial release ships the four skins listed; additional skins (Philips, Corpuls, GE) considered based on user demand. Note: implementation must follow the legal risk mitigation framework - plain-text manufacturer names only, original TMA color palette and typography, functional layout only, and persistent non-affiliation disclaimers.
Feature Request
1 day ago
Next Up
Auto-Coupled Pleth Signal Loss at Low Perfusion
At very low PTT settings combined with very low Pleth Amplitude, real monitors lose the pleth signal entirely and display SpO2 unable to read. Simulating this signal-loss threshold is a meaningful teaching scenario. Proposed behavior: when Pleth Amplitude falls below ~10% AND PTT is at or near maximum (450+ ms), the SpO2 channel should drop the pleth waveform, display SpO2 as ---, and trigger an SpO2 INOP alarm. This teaches students that peripheral SpO2 measurement becomes unreliable in severe shock or profound vasoconstriction. Deferred to v1.5 - in v1 the waveform always renders if amplitude > 0%.
Feature Request
1 day ago
Next Up
Auto-Coupled Pleth Signal Loss at Low Perfusion
At very low PTT settings combined with very low Pleth Amplitude, real monitors lose the pleth signal entirely and display SpO2 unable to read. Simulating this signal-loss threshold is a meaningful teaching scenario. Proposed behavior: when Pleth Amplitude falls below ~10% AND PTT is at or near maximum (450+ ms), the SpO2 channel should drop the pleth waveform, display SpO2 as ---, and trigger an SpO2 INOP alarm. This teaches students that peripheral SpO2 measurement becomes unreliable in severe shock or profound vasoconstriction. Deferred to v1.5 - in v1 the waveform always renders if amplitude > 0%.
Feature Request
1 day ago
Next Up
Grouped Perfusion Parameter
A single Perfusion slider that adjusts Pleth Amplitude, Pleth Morphology, and Pleth PTT together along realistic physiological curves, with a toggle to decouple for advanced scenarios. In v1 the three pleth controls are independently adjustable - ideal for power users. The Perfusion grouped parameter is the long-term direction for instructor ease-of-use, allowing a single drag from Normal to Severe Shock with all three parameters adjusting together realistically. A decouple toggle lets instructors break out of grouped mode for advanced or atypical scenarios. Should only be built after the three independent v1 controls have been validated.
Feature Request
1 day ago
Next Up
Grouped Perfusion Parameter
A single Perfusion slider that adjusts Pleth Amplitude, Pleth Morphology, and Pleth PTT together along realistic physiological curves, with a toggle to decouple for advanced scenarios. In v1 the three pleth controls are independently adjustable - ideal for power users. The Perfusion grouped parameter is the long-term direction for instructor ease-of-use, allowing a single drag from Normal to Severe Shock with all three parameters adjusting together realistically. A decouple toggle lets instructors break out of grouped mode for advanced or atypical scenarios. Should only be built after the three independent v1 controls have been validated.
Feature Request
1 day ago
Next Up
Custom Scenario Authoring
Allow controllers to save the current state of a session as a custom scenario for future reuse. A Save as Scenario button on the controller opens a small form: scenario name, scenario group (from the existing 12 groups or a Custom group), patient population, and brief clinical context note. On save, the system serializes all current vital values, rhythm, ectopy, capnography waveform, threshold preset, and pleth parameters into a scenario object using the same data model as system scenarios (the v1 spec includes a system: true/false flag for this). Saved scenarios appear in the scenario library modal in a My Scenarios group, accessible to that controller. v1.5 ships with author-only access. Future releases will add scenario sharing via export/import (JSON) and shareable links.
Feature Request
1 day ago
Next Up
Custom Scenario Authoring
Allow controllers to save the current state of a session as a custom scenario for future reuse. A Save as Scenario button on the controller opens a small form: scenario name, scenario group (from the existing 12 groups or a Custom group), patient population, and brief clinical context note. On save, the system serializes all current vital values, rhythm, ectopy, capnography waveform, threshold preset, and pleth parameters into a scenario object using the same data model as system scenarios (the v1 spec includes a system: true/false flag for this). Saved scenarios appear in the scenario library modal in a My Scenarios group, accessible to that controller. v1.5 ships with author-only access. Future releases will add scenario sharing via export/import (JSON) and shareable links.
Feature Request
1 day ago
Next Up
Transcutaneous Pacing
Add transcutaneous pacing as an extension of the manual defibrillation panel. Controller exposes a Pacing mode toggle; when enabled, the controller sets a pacing rate (30-180 bpm) and current output (0-200 mA in 5 mA increments). The monitor displays pacing spikes preceding each captured beat in the ECG waveform. Capture is controller-determined via a Capture toggle. When capturing: rhythm shows wide complexes following each pacing spike at the set rate. When not capturing: pacing spikes appear without consistent QRS response. This teaches the clinically critical distinction between pacer firing and pacer firing AND capturing. Pacing events log to the event log with rate, output, and capture state.
Feature Request
1 day ago
Next Up
Transcutaneous Pacing
Add transcutaneous pacing as an extension of the manual defibrillation panel. Controller exposes a Pacing mode toggle; when enabled, the controller sets a pacing rate (30-180 bpm) and current output (0-200 mA in 5 mA increments). The monitor displays pacing spikes preceding each captured beat in the ECG waveform. Capture is controller-determined via a Capture toggle. When capturing: rhythm shows wide complexes following each pacing spike at the set rate. When not capturing: pacing spikes appear without consistent QRS response. This teaches the clinically critical distinction between pacer firing and pacer firing AND capturing. Pacing events log to the event log with rate, output, and capture state.
Feature Request
1 day ago
Next Up
Manual Defibrillation
Extend the existing AED Trainer architecture to support manual defibrillation. Add an AED/Manual toggle in the AED panel. In Manual mode, the controller exposes energy selection (50-360J in standard increments: 50, 70, 100, 120, 150, 200, 300, 360), a Charge button, and a Shock button. The shock workflow mirrors real device behavior: select energy, charge (with audible charging tone and ready indicator), shock. Add a Sync mode toggle for synchronized cardioversion - when Sync is on, the device waits for the next R-wave before delivering the shock and energy ranges shift to cardioversion-appropriate values. Post-shock rhythm outcome is controller-determined. All shocks log to the event log with energy, sync state, and resulting rhythm.
Feature Request
1 day ago
Next Up
Manual Defibrillation
Extend the existing AED Trainer architecture to support manual defibrillation. Add an AED/Manual toggle in the AED panel. In Manual mode, the controller exposes energy selection (50-360J in standard increments: 50, 70, 100, 120, 150, 200, 300, 360), a Charge button, and a Shock button. The shock workflow mirrors real device behavior: select energy, charge (with audible charging tone and ready indicator), shock. Add a Sync mode toggle for synchronized cardioversion - when Sync is on, the device waits for the next R-wave before delivering the shock and energy ranges shift to cardioversion-appropriate values. Post-shock rhythm outcome is controller-determined. All shocks log to the event log with energy, sync state, and resulting rhythm.
Feature Request
1 day ago
Next Up
12-Lead ECG View
Extend the ECG display to support a 12-lead view alongside the existing single-lead waveform. Rather than a generic 12-lead generator, ship a curated library of clinically meaningful presentations: Anterior STEMI, Inferior STEMI, Lateral STEMI, Posterior STEMI, LBBB, RBBB, Hyperkalemia (peaked T waves), Pericarditis (diffuse ST elevation with PR depression), Wellens syndrome, AFib in 12-lead view, and VTach in 12-lead view. Controllers select the 12-lead presentation from a dropdown analogous to the existing rhythm dropdown. The monitor renders all 12 leads in the standard 3x4 grid layout with a rhythm strip at the bottom. Single-lead view remains the default; controllers toggle into 12-lead mode when the scenario calls for it. Pairs with the cardiac scenario library - STEMI scenarios should auto-suggest the appropriate 12-lead presentation when loaded.
Feature Request
1 day ago
Next Up
12-Lead ECG View
Extend the ECG display to support a 12-lead view alongside the existing single-lead waveform. Rather than a generic 12-lead generator, ship a curated library of clinically meaningful presentations: Anterior STEMI, Inferior STEMI, Lateral STEMI, Posterior STEMI, LBBB, RBBB, Hyperkalemia (peaked T waves), Pericarditis (diffuse ST elevation with PR depression), Wellens syndrome, AFib in 12-lead view, and VTach in 12-lead view. Controllers select the 12-lead presentation from a dropdown analogous to the existing rhythm dropdown. The monitor renders all 12 leads in the standard 3x4 grid layout with a rhythm strip at the bottom. Single-lead view remains the default; controllers toggle into 12-lead mode when the scenario calls for it. Pairs with the cardiac scenario library - STEMI scenarios should auto-suggest the appropriate 12-lead presentation when loaded.
Feature Request
1 day ago
case media
One feature that would be huge for EMS simulation would be a temporary case-media upload option inside the monitor app. The instructor could upload a 12-lead, scene photo, patient presentation image, med list, or other case-specific visual. Students could access it during the scenario through a tab on the monitor, use it for clinical decision-making, and then the image would clear when the simulation ends. It would create faster engagement, more realistic decision-making, and a stronger bridge between classroom scenarios and actual patient care without permanently storing sensitive images.
Feedback
25 days ago
case media
One feature that would be huge for EMS simulation would be a temporary case-media upload option inside the monitor app. The instructor could upload a 12-lead, scene photo, patient presentation image, med list, or other case-specific visual. Students could access it during the scenario through a tab on the monitor, use it for clinical decision-making, and then the image would clear when the simulation ends. It would create faster engagement, more realistic decision-making, and a stronger bridge between classroom scenarios and actual patient care without permanently storing sensitive images.
Feedback
25 days ago