Version 0.99.03: Advanced cardiac modeling (axis deviation, pulsus paradoxus and alternans)

Available for download now!

Continuing in beta testing and bug fixing while implementing new features.

Major implementations since last release (v0.97):

  • All personal data (usage statistics and statistics for patient mirroring) uploaded to server are anonymous, hashed with MD5
  • Cardiac axis deviation implemented: modeled normal, left physiologic, left pathologic, right, extreme, and indeterminate.
  • Pulsus paradoxus modeled and displays on waveforms and arterial blood pressure reading
  • Pulsus alternans modeled and displays on waveforms
  • Realism adjustments and dampening to waveforms based on intrathoracic pressure (respiratory rhythm, ventilation status)
  • Vital sign clamping for respiratory rhythms separate from cardiac rhythm vital sign clamping
  • Waveform variation implemented (for realism)
  • Localization strings all updated (for all 15 languages)

Beta testing bug fixes:

  • Fixed multiple Strip drawing bugs/issues including
    • Flatline delay on rhythm change
    • Forward (future) Strip buffer length to fix brady waveforms disappearing/failing to complete polygon
    • Remedied delayed changes of future Strip drawing (by dynamically changing forward Strip buffer according to updates on HR/RR)
  • Fixed multiple issues with pacemaker including
    • Pacemaker spikes spamming Strip when rate turned to 0 (“divide by 0” bug)
    • Pacemaker no longer turns on when switching modes (timer was reset/restarted bug)
  • Miscellaneous bug fixes and improvements:
    • Resetting switches/counters for cardiac aberrancy that were remaining on during rhythm changes
    • Numerics update at dynamic times based on every 2nd beat and breath
    • Drawing of pacer spikes fixed as actual spikes (not ramps)
    • Code styling for solution saved/tracked; CodeMaid cleaning up code.
    • Mirror accession key TextBox filtered for alphanumeric input (making it safe for SQL queries)
    • Mirror password TextBoxes changed to PasswordBox for password masking

Version 0.97: Patient Parameter Mirroring (Broadcasting)

Available for download!

Version 0.97 includes the ability to mirror (broadcast) the simulated patient’s parameters utilizing a “server and client” method. For example, an instructor (the host), can create a simulated patient on one computer, and set up multiple computers (or students logging in remotely) to mirror the broadcast data in real-time!

Continuing on the security features added in previous releases, portions of data transmitted over the Internet are encrypted and, specifically, passwords are not transmitted or stored in raw form; Infirmary uses industry standard the MD5 hashing algorithm for passwords.

And to use Infirmary without broadcasting, simply select “Inactive” (which is the default mode anyway!).

A screenshot of the portion of Infirmary Integrated that allows for broadcasting/mirroring of simulated patient parameters, such as broadcasting from an instructor’s computer to multiple simulation stations or students’ computers.

Version 0.96: Encrypted Save file format (.ii)

Available for download now!

File formatting for save files (.ii) are now utilizing encryption (previously just utilized obfuscation). This allows for safe transmission across the Internet (for future planned features) and cannot easily be read into by text editors.

Note: save files created with previous versions of Infirmary cannot be opened by version 0.96 onward. Contact me if you need any files converted to this new file format!

Version 0.95: Defibrillation, Cardioversion, and Transcutaneous Pacemaking!

Available for download!

Major changes since last release (v0.93):

  • Defibrillator functionality: defibrillation, cardioversion, and transcutaneous pacemaker implemented
    • Can defibrillate and cardiovert with regular sequence (select function, change energy, charge, shock)
    • Transcutaneous pacemaker functional: select energy and rate, will pace if it meets patient’s capture threshold
      • Patient’s capture threshold adjustable in Patient Editor
  • Realism updates
    • Waveform modeling (e.g. CVP) with both atrial and ventricular components now draw both portions dependent on rhythm
  • Localization strings updated.
  • Server functionality implemented:
    • Automatically checks for updates to Infirmary, notifies if update available
    • Basic data collection for usage statistics (Infirmary version, date/time, username, IP address, MAC address)
    • Exceptions (handled program crashes) updated to server for debugging purposes
  • Debugged implementation of:
    • Save()/Load() functionality, all pertinent data passed through and processed
    • Error handling and exception handling strengthened

Next steps before release: beta testing and minor interface updates/debugging.

Version 0.93: Intracranial and intra-abdominal pressures, realism and interface improvements.

Major features introduced in v0.93:

  • Intracranial pressure waveform and reading added
    • Increased ICP (range 15 – 25) progressively decreases compliance on waveform.
    • Cerebral perfusion pressure (calculated from arterial MAP) displayed on numeric reading
  • Intra-abdominal pressure waveform and reading added
    • Adjusts for intrathoracic pressure on waveform amplitude

Realism and interface updates and debugging:

  • Issues in waveform propagation and timing fixed (issues #20#16#15#14)
  • Waveform amplitude adjustable on DeviceMonitor via context menu
  • Miscellaneous debugging and logic fixes (issues #17#18)

Version 0.92: Realism updates, UI improvements, 15 languages!

Introducing new features added to Infirmary Integrated in version 0.92:

  • Realism and interface improvements made to Intra-Aortic Balloon Pump (IABP) simulator
    • Augmentation options added (percent augmented, augmentation alarm)
    • Assisted systole (decreased pressure prior to native systolic waveform)
    • Mean arterial pressure (MAP) accurately calculated on IABP
    • Diastolic pressures adjusted for realism
    • Control sizes and colors adjusted for ease of use
  • Realism improvements made to all devices and waveforms
    • Mean arterial pressure (MAP) realistically miscalculated on other devices when IABP active (since these devices don’t factor IABP functionality into their calculations)
    • Tracing timing adjusted between electrical vs. pressure tracings (electrical activity precedes mechanical activity by approx. 100-200 ms)
  • Full support for 15 languages
    • Amharic
    • Arabic
    • Chinese
    • Farsi
    • Hebrew
    • Hindi
  • Development and release improvements
    • Defibrillator device actively under development, possibly for next release
    • Development portions of program removed from release build
      • Release is fully functional- no clutter from development

See the screenshots and captions below for more information, and check out the Downloads page to get the new version!

Monitor advanced hemodynamics in the cardiac monitor- identify the anomalous parameters to determine the cause, such as this picture of right heart failure!
A side-by-side comparison of the cardiac monitor and intra-aortic balloon pump functioning simultaneously. Note the inaccurate MAP calculation of the bedside cardiac monitor, and the balloon pump factoring augmentation pressures into hemodynamic values.
Infirmary Integrated is localized into 15 languages that can easily be selected from the Settings menu, and can be changed on the fly!

Intra-Aortic Balloon Pump! 9 Languages! Version 0.91

Introducing new features added to Infirmary Integrated in version 0.91:

  • Intra-Aortic Balloon Pump (IABP) simulator is complete
    • Arterial waveforms accurately modeled with and without IABP inflation and/or pulsed cardiac rhythm.
    • Augmentation time on waveform scales with heart rate.
  • Full support for 9 languages (recently added Korean and Swahili)
  • Miscellaneous improvements to realism
    • Transduced lines now must be zeroed prior to use.

See the screenshots and captions below for more information, and check out the Downloads page to get the new version!

A realistic experience setting up a balloon pump! You must zero the arterial blood pressure transducer for the balloon pump to function if it is set to pressure trigger. Also, don’t forget to prime the balloon pump with helium! And keep an eye on the helium tank to make sure it’s not empty…

Currently, frequency and triggers work properly! You can toggle 1:1, 1:2, or 1:3. And if set to pressure trigger, the pump will only operate if there is an arterial waveform (zeroed the transducer with a pulsed rhythm); similarly, ECG trigger will only operate if there is a QRS complex.

12 Lead ECG! 7 Languages! Version 0.9

Major improvements done to Infirmary Integrated over the past few weeks are finally unveiled today with the release of version 0.9!

Major highlights include:
– 12 lead ECG simulator is fully functional.
– Full support for 7 languages has been implemented.
– Complete user interface re-write for a faster, cleaner look and experience.
– Groundwork for cross-platform compatibility is complete.

See the screenshots and captions below for more information, and check out the Downloads page to get the new version!

A screenshot of the 12-lead ECG simulator running. Can you tell the location of this simulated patient’s myocardial infarct based on the electrocardiogram?

A screenshot of Infirmerie Integree (Infirmary Integrated in French). Full support was added for 7 languages: German, English, Spanish, French, Italian, Portuguese, and Russian. Though some spelling mistakes are still being ironed out, plans are for Infirmary Integrated to be usable around the world! Language options can be changed in the “Settings” menu.

While the entire user interface of Infirmary Integrated was re-written in order to run faster on all computers, the Cardiac Monitor also got a little bit of a new look!

The main screen for Infirmary Integrated got a new look with the user interface re-write. Future plans include implementing more devices including simulators for a defibrillator, a ventilator, a fetal heart monitor, and others! In the meantime, the buttons for these devices that aren’t yet implemented will remain grayed out.