Design of a System that Transfers
Ventilator Information
to the Internet
Lauren Sims
Advisor: Dr. Bill Walsh
Background
Mechanical neonatal respirators play an important role….
Ensuring adequate respiration in infants is difficult
–
–
–
–
–
involuntary mechanism
the tongue is proportionally larger than in an adult
trachea is very flexible (easy to kink)
lungs have proportionally less volume and compliance
large head/body ratio requires care to maximize airway
Ensuring adequate respiration is very important
– primary cause of cardiac arrest is respiratory failure
– risk of long term (i.e., brain) damage from abnormal breathing
Typical Flow Time Waveform
This Flow Time Waveform is from a
full term infant. The lungs are
essentially normal. The normal
decelerating flow time waveform
consists of the following:
*Rapid rise to peak inspiratory flow
with the initiation of inspiration.
*Inspiratory flow decays rapidly to
baseline and smoothly transitions
to expiratory flow. The decay
becomes exponential as it
approaches the baseline.
*Rapid rise to peak expiratory flow.
*Exponential decay of expiratory flow
back to baseline.
Background
.... but careful monitoring of respiration is not efficient !
Respirator has a built in monitoring system, but...
– screen is local to respirator
– controls are local to respirator
– requires dedicated personnel presence at all times
Respirator also has the capability for remote monitoring
– built-in data collection via internal microprocessor
– built-in RS-232C data transmission capability
– built-in software command set for microprocessor data retrieval
Remote monitoring capability is currently unused
Siemens SV300 Servo Ventilator
My Project
Investigate the possibility of moving monitoring function to the web
– Is it possible to get at performance data via the serial port?
– Is it possible to post the data to a web page on a server?
– Would web enabled monitoring bring better care or lower costs?
Results
Good performance data is available on the SV300 via an RS-232 interface.....
–
–
–
–
–
–
Curve
Trend
Alarm
Breath
Settings
Technical (battery state, etc.)
.... but RS-232 is difficult and code is computer Operating System dependent.
('ServoVentilator 300/300A ReferenceManual', Siemens-Elema AB, 1997).
Some Parameters and Scaling Factors
Channels 00-99: Basic
Channels 100-199: Extended
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Airway Flow
Insp. Tidal Volume
Airway Pressure
Exp. Tidal Volume
O2 Concentration
Barometric Press.
Aux Code
Pause Pressure
Resp. Rate calc
Peak Pressure
Exp. Minute vol.
Airway pressure
CI Battery Voltage
End exp. Pressure
5V/l/s
5V/L
50mV/cm H2O
5V/L
50mV/%
4.883 V/Bar
4.883 mV/bit
50mV/cm H2O
50mV/breaths/minute
50mv/cm H2O
0.2V/l/min
50mV/cm H2O
1mV/mV
100mV/cm H2O
Airway Flow and Pressure
AUX Channels 1-8
CI battery voltage
Measured & CMV frequency
Exp/Insp Tidal Volume and minute volume
Peak Pressure
O2 concentration
Barometric & Gas supply pres. (air, O2)
Inspiration and pause times
Alarm Reset/2 min off & option
SIMV frequency
PEEP, set; Pressure limits, set
Exp. Minute vol; upper/lower alarm limit
Ventilation mode, Set
Valve slots 1-3, binary codes
Alarms: apnea, power failure, mode switch error,
Mains failure, overrange, CI internal
communication error, O2 concentration levels, gas
supply, battery, etc.
Results
• An example RS-232 communications program for DOS is available.
–
–
–
–
printed in the ventilator technical manual
around 1200 lines of 'C' code
uses the Greenleaf CommLib version 3.2 'C' libraries for DOS ($400)
has some 'C' functions that are peculiar to DOS compiler ($400) (e.g., delay(),
kbhit(), getch(), itoa(), etc.)
• I am trying to port this code to Linux (with help).
–
–
–
–
–
linux is free
linux has a C compiler (also free)
I have access to a free serial library for Linux (serial.c)
linux has equivalent function calls (i.e., usleep() instead of delay())
linux has a built-in web server
Results
• I have obtained a unix serial library ([email protected])
• I have typed in all of the example 'C' code from the manual
(see: <http://www.virtualdave.com/~lauren/bme272>)
• I am working on porting the example code to unix (linux); i.e., replacing all
the DOS Greenleaf library calls in the example code (e.g., asigetc(),
aisputc(), etc.) with unix serial calls (e.g. IO_Read(), IO_Write, etc.) with
Prof. J. M. Fitzpatrick.
• Only three functions left to port over (asigets_timed(), asigetc_timed() and
isrxempty()) which are all similar
• Should have a RS-232 communication executable by Wednesday, April 4
Resources Needed
• I need access to an SV300 ventilator to test/debug (weekend?)
• I need a laptop that I can install linux on for testing/debugging
Future Work
• Once communications are established and access to the data
from the respirator is obtained, it shouldn't be too hard to
pipe the data to a web page and serve it.
• Finalize poster presentation for April 11th.
© Copyright 2026 Paperzz