A Ventilator Display that consumes PIRDS data and performs most clinical respiration calculations
This is an important part of the Public Invention's goal of creating an open source ventilator ecosystem. This is a stand-alone .html file with about a thousand lines of JavaScript that implements a clinical display that doctors want to see of an operating ventilator. It includes live data trace plots of pressure and flow, as well as calculated values such as tidal volume.
You can see the vent-display from our public data lake, where you can find both live and static displays.
For a hands on demonstration of Vent Display and in-depth explanation of VentMon watch our screen cast (demonstration of Vent Display occurs at 10:56). VentMon ScreenCast
Public Invention, with help from the VentOS project from Helpful Engineering, is building Respireco, a complete, modular, composable respiration ecosystem. In March 2021, we added a (collapsible) "control interface" to VentDisplay which controls the parameters of a mechanical ventilator. This outputs the resulting commands in the Public Invention Respiration Control Standard (PIRCS) to a webserver via Ajax. The primary use case is for this information to be transmitted to a microcontroller running the VentOS ventilation Open Source Operating System platform, a project of Helpful Engineering.
The program serialserver.js (see below) is such a webserver written in Express which make serial port transmissions of the PIRCS messages.
Note: you may have to execute
npm install in order to load the packages used by serialserver.js
Although it may be moved in the future, this repo is the current home of serialserver.js. This program combines two functions:
It does both of these simultaneously while running.
A typical usage on a Mac looks like this:
node serialserver.js --uaddress=127.0.0.1 --sport=/dev/cu.usbserial-01D97104 --uport=6111
On a Windows machine, the serial port is likely named "COM4" or something similar. The parameters are:
A typical use case for serialserver.js is to log the action of the VentMon. A second use is to log data (either real or mock data) produced by the VentOS system, independent of the VentMon. These two use cases are an example of composability of the PubInv Respireco system.
This is a project with a rich set of features that need to be added involving respiration calculations. Additionally, there are GUI features such as the ability to scroll back in time that need to be added. Please contact read.robert@gmail.com if you would like to volunteer.