Commit 5bff9d6e authored by Jeff Webb's avatar Jeff Webb
Browse files

Added Mechanical Ventilator methodology report.

parent 9b92e730
......@@ -342,6 +342,20 @@ InhalerOneActuationWithSpacerIncorrectUse=ActionEventPlotter NoGrid Header=Albut
InhalerTwoActuations=ActionEventPlotter NoGrid Header=TotalLungVolume(L) VerificationDir=equipment OutputOverride=./docs/html/plots/Inhaler/ NoEvents NoActions RemoveLegends OutputFilename=Inhaler_TwoActuations_TotalLungVolume.jpg
InhalerTwoActuations=ActionEventPlotter NoGrid Header=Albuterol-PlasmaConcentration(ug/L) VerificationDir=equipment OutputOverride=./docs/html/plots/Inhaler/ NoEvents NoActions RemoveLegends OutputFilename=Inhaler_TwoActuations_AlbuterolConcentration.jpg
##### Mechanical Ventilator Methodology Report #####
# Validation
MechanicalVentilatorPressureControlledVaried=ActionEventPlotter NoGrid Header=TotalLungVolume(L) VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents RemoveLegends OutputFilename=MechanicalVentilatorPressureControlledVaried_TotalLungVolume.jpg
MechanicalVentilatorPressureControlledVaried=ActionEventPlotter NoGrid Header=RespirationRate(1/min) VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents RemoveLegends OutputFilename=MechanicalVentilatorPressureControlledVaried_RR.jpg
MechanicalVentilatorPressureControlledVaried=ActionEventPlotter NoGrid Header=TidalVolume(mL) VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents RemoveLegends OutputFilename=MechanicalVentilatorPressureControlledVaried_TidalVolume.jpg
MechanicalVentilatorPressureControlledVaried=ActionEventPlotter NoGrid Header=InspiratoryExpiratoryRatio VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents RemoveLegends OutputFilename=MechanicalVentilatorPressureControlledVaried_InspiratoryExpiratoryRatio.jpg
MechanicalVentilatorPressureControlledVaried=ActionEventPlotter Header=TidalVolume(mL) VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents LegendOnly Title=MechanicalVentilatorPressureControlledVariedLegend ImageDimensions=1800,480
MechanicalVentilatorPressureControlledARDS=ActionEventPlotter NoGrid Header=TidalVolume(mL) VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents RemoveLegends OutputFilename=MechanicalVentilatorPressureControlledARDS_TidalVolume.jpg
MechanicalVentilatorPressureControlledARDS=ActionEventPlotter NoGrid Header=OxygenSaturation VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents RemoveLegends OutputFilename=MechanicalVentilatorPressureControlledARDS_OxygenSaturation.jpg
MechanicalVentilatorPressureControlledARDS=ActionEventPlotter NoGrid Header=CarricoIndex(mmHg) VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents RemoveLegends OutputFilename=MechanicalVentilatorPressureControlledARDS_CarricoIndex.jpg
MechanicalVentilatorPressureControlledARDS=ActionEventPlotter NoGrid Header=ShuntFraction VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents RemoveLegends OutputFilename=MechanicalVentilatorPressureControlledARDS_ShuntFraction.jpg
MechanicalVentilatorPressureControlledARDS=ActionEventPlotter Header=TidalVolume(mL) VerificationDir=equipment OutputOverride=./docs/html/plots/MechanicalVentilator/ NoEvents LegendOnly Title=MechanicalVentilatorPressureControlledARDSLegend ImageDimensions=3000,480
############# System Methodology Report #############
# Combined Validation
Cynthia=ActionEventPlotter NoGrid Header=HeartRate(1/min) VerificationDir=combined OutputOverride=./docs/html/plots/System/ NoEvents RemoveLegends OutputFilename=Cynthia_HR.jpg
......
......@@ -49,7 +49,7 @@ download the executable.-->
<CHARSET>0</CHARSET>
<FACENAME>Arial</FACENAME>
</FONT>
<FONT id='6'>
<FONT id='5'>
<HEIGHT>-9</HEIGHT>
<WIDTH>4</WIDTH>
<WEIGHT>400</WEIGHT>
......@@ -59,7 +59,7 @@ download the executable.-->
<CHARSET>0</CHARSET>
<FACENAME>Arial</FACENAME>
</FONT>
<FONT id='7'>
<FONT id='6'>
<HEIGHT>-9</HEIGHT>
<WIDTH>4</WIDTH>
<WEIGHT>400</WEIGHT>
......@@ -69,7 +69,7 @@ download the executable.-->
<CHARSET>0</CHARSET>
<FACENAME>Arial</FACENAME>
</FONT>
<FONT id='10'>
<FONT id='7'>
<HEIGHT>-9</HEIGHT>
<WIDTH>4</WIDTH>
<WEIGHT>700</WEIGHT>
......@@ -84,12 +84,7 @@ download the executable.-->
<COLOR>000000</COLOR>
<THICKNESS>1</THICKNESS>
</STYLE>
<STYLE id='5'>
<STYLE>0</STYLE>
<COLOR>000000</COLOR>
<THICKNESS>1</THICKNESS>
</STYLE>
<STYLE id='16'>
<STYLE id='4'>
<STYLE>0</STYLE>
<COLOR>000000</COLOR>
<THICKNESS>1</THICKNESS>
......@@ -108,45 +103,45 @@ download the executable.-->
<TinyCAD>
<PIN pos='70.00000,34.00000' which='0' elec='4' direction='1' part='0' number='2' show='0' length='30' number_pos='0' centre_name='0'></PIN>
<PIN pos='70.00000,54.00000' which='0' elec='4' direction='0' part='0' number='1' show='0' length='30' number_pos='0' centre_name='0'></PIN>
<POLYGON pos='68.00000,40.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,40.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='2.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,41.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,41.60000' style='4' fill='0' polygon='0'>
<POINT pos='4.00000,1.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,42.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,42.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='4.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,43.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,43.60000' style='4' fill='0' polygon='0'>
<POINT pos='4.00000,1.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,44.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,44.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='4.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,45.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,45.60000' style='4' fill='0' polygon='0'>
<POINT pos='4.00000,1.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='70.00000,46.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='70.00000,46.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='2.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='70.00000,47.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='70.00000,47.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.00000' arc='0'/>
<POINT pos='0.00000,0.40000' arc='0'/>
</POLYGON>
<POLYGON pos='70.00000,40.00000' style='5' fill='0' polygon='0'>
<POLYGON pos='70.00000,40.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.60000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
</TinyCAD>
</SYMBOLDEF>
<SYMBOLDEF id='3'>
<SYMBOLDEF id='2'>
<NAME type='0'>D2</NAME>
<REF type='0'>D?</REF>
<DESCRIPTION>small diode</DESCRIPTION>
......@@ -156,33 +151,33 @@ download the executable.-->
<TinyCAD>
<PIN pos='40.00000,26.00000' which='0' elec='0' direction='0' part='0' number='1' show='1' length='30' number_pos='0' centre_name='0'></PIN>
<PIN pos='40.00000,12.00000' which='0' elec='0' direction='1' part='0' number='2' show='1' length='30' number_pos='0' centre_name='0'></PIN>
<POLYGON pos='38.00000,20.00000' style='5' fill='0' polygon='0'>
<POLYGON pos='38.00000,20.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.00000' arc='0'/>
<POINT pos='4.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='40.00000,18.00000' style='5' fill='0' polygon='0'>
<POLYGON pos='40.00000,18.00000' style='4' fill='0' polygon='0'>
<POINT pos='2.00000,2.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='38.00000,18.00000' style='5' fill='0' polygon='0'>
<POLYGON pos='38.00000,18.00000' style='4' fill='0' polygon='0'>
<POINT pos='2.00000,0.00000' arc='0'/>
<POINT pos='0.00000,2.00000' arc='0'/>
</POLYGON>
<POLYGON pos='38.00000,18.00000' style='5' fill='0' polygon='0'>
<POLYGON pos='38.00000,18.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.00000' arc='0'/>
<POINT pos='4.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='40.00000,20.00000' style='5' fill='0' polygon='0'>
<POLYGON pos='40.00000,20.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.00000' arc='0'/>
<POINT pos='0.00000,1.00000' arc='0'/>
</POLYGON>
<POLYGON pos='40.00000,17.00000' style='5' fill='0' polygon='0'>
<POLYGON pos='40.00000,17.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
</TinyCAD>
</SYMBOLDEF>
<SYMBOLDEF id='4'>
<SYMBOLDEF id='3'>
<NAME type='0'>New Symbol</NAME>
<REF type='0'>U?</REF>
<DESCRIPTION>Source</DESCRIPTION>
......@@ -218,7 +213,7 @@ download the executable.-->
</FIELD>
<REF_POINT power='0' part='0' pos='74.00000,60.00000'/>
<TinyCAD>
<POLYGON pos='50.00000,36.00000' style='5' fill='0' polygon='0'>
<POLYGON pos='50.00000,36.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,12.00000' arc='0'/>
<POINT pos='12.00000,0.00000' arc='0'/>
<POINT pos='24.00000,12.00000' arc='0'/>
......@@ -227,7 +222,7 @@ download the executable.-->
</POLYGON>
</TinyCAD>
</SYMBOLDEF>
<SYMBOLDEF id='5'>
<SYMBOLDEF id='4'>
<NAME type='0'>RE</NAME>
<REF type='0'>R?</REF>
<DESCRIPTION>Resistor (USA Style)</DESCRIPTION>
......@@ -238,45 +233,45 @@ download the executable.-->
<TinyCAD>
<PIN pos='70.00000,34.00000' which='0' elec='4' direction='1' part='0' number='2' show='0' length='30' number_pos='0' centre_name='0'></PIN>
<PIN pos='70.00000,54.00000' which='0' elec='4' direction='0' part='0' number='1' show='0' length='30' number_pos='0' centre_name='0'></PIN>
<POLYGON pos='68.00000,40.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,40.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='2.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,41.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,41.60000' style='4' fill='0' polygon='0'>
<POINT pos='4.00000,1.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,42.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,42.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='4.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,43.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,43.60000' style='4' fill='0' polygon='0'>
<POINT pos='4.00000,1.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,44.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,44.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='4.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='68.00000,45.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='68.00000,45.60000' style='4' fill='0' polygon='0'>
<POINT pos='4.00000,1.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='70.00000,46.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='70.00000,46.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='2.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='70.00000,47.60000' style='5' fill='0' polygon='0'>
<POLYGON pos='70.00000,47.60000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.00000' arc='0'/>
<POINT pos='0.00000,0.40000' arc='0'/>
</POLYGON>
<POLYGON pos='70.00000,40.00000' style='5' fill='0' polygon='0'>
<POLYGON pos='70.00000,40.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.60000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
</TinyCAD>
</SYMBOLDEF>
<SYMBOLDEF id='23'>
<SYMBOLDEF id='5'>
<NAME type='0'>D2</NAME>
<REF type='0'>D?</REF>
<DESCRIPTION>small diode</DESCRIPTION>
......@@ -286,27 +281,27 @@ download the executable.-->
<TinyCAD>
<PIN pos='40.00000,26.00000' which='0' elec='0' direction='0' part='0' number='1' show='1' length='30' number_pos='0' centre_name='0'></PIN>
<PIN pos='40.00000,12.00000' which='0' elec='0' direction='1' part='0' number='2' show='1' length='30' number_pos='0' centre_name='0'></PIN>
<POLYGON pos='38.00000,20.00000' style='16' fill='0' polygon='0'>
<POLYGON pos='38.00000,20.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.00000' arc='0'/>
<POINT pos='4.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='40.00000,18.00000' style='16' fill='0' polygon='0'>
<POLYGON pos='40.00000,18.00000' style='4' fill='0' polygon='0'>
<POINT pos='2.00000,2.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='38.00000,18.00000' style='16' fill='0' polygon='0'>
<POLYGON pos='38.00000,18.00000' style='4' fill='0' polygon='0'>
<POINT pos='2.00000,0.00000' arc='0'/>
<POINT pos='0.00000,2.00000' arc='0'/>
</POLYGON>
<POLYGON pos='38.00000,18.00000' style='16' fill='0' polygon='0'>
<POLYGON pos='38.00000,18.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.00000' arc='0'/>
<POINT pos='4.00000,0.00000' arc='0'/>
</POLYGON>
<POLYGON pos='40.00000,20.00000' style='16' fill='0' polygon='0'>
<POLYGON pos='40.00000,20.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,0.00000' arc='0'/>
<POINT pos='0.00000,1.00000' arc='0'/>
</POLYGON>
<POLYGON pos='40.00000,17.00000' style='16' fill='0' polygon='0'>
<POLYGON pos='40.00000,17.00000' style='4' fill='0' polygon='0'>
<POINT pos='0.00000,1.00000' arc='0'/>
<POINT pos='0.00000,0.00000' arc='0'/>
</POLYGON>
......@@ -334,13 +329,13 @@ download the executable.-->
</SYMBOL>
<JUNCTION pos='107.85995,105.52997'/>
<JUNCTION pos='108.00000,116.00000'/>
<TEXT pos='110.00000,117.20000' direction='3' font='10' color='000000'>Mouth (Respiratory System)</TEXT>
<TEXT pos='110.20000,106.60000' direction='3' font='7' color='000000'>Connection</TEXT>
<TEXT pos='110.00000,117.20000' direction='3' font='7' color='000000'>Airway (Respiratory System)</TEXT>
<TEXT pos='110.20000,106.60000' direction='3' font='6' color='000000'>Connection</TEXT>
<WIRE a='107.48000,95.54000' b='107.88000,95.54000'/>
<WIRE a='107.88000,95.54000' b='107.88000,105.54000'/>
<WIRE style='2' a='107.80000,115.60000' b='107.80000,105.54000'/>
<WIRE a='107.80000,105.54000' b='107.88000,105.54000'/>
<SYMBOL id='4' pos='110.80000,75.40000' part='0' rotate='2' can_scale='1' show_power='0' scale_x='0.39167' scale_y='0.26667'>
<SYMBOL id='3' pos='110.80000,75.40000' part='0' rotate='2' can_scale='1' show_power='0' scale_x='0.39167' scale_y='0.26667'>
<FIELD type='0' description='Ref' value='U?' show='0' pos='-7.80000,2.00000'/>
<FIELD type='0' description='Name' value='New Symbol' show='0' pos='1.00000,-22.00000'/>
<FIELD type='2' description='$$SPICE_PROLOG_PRIORITY' value='5' show='0' pos='0.00000,0.00000'/>
......@@ -351,31 +346,31 @@ download the executable.-->
<TEXT pos='107.36000,69.40000' direction='3' font='3' color='000000'>-</TEXT>
<TEXT pos='106.72000,74.60000' direction='3' font='4' color='000000'>+</TEXT>
<POWER pos='107.60000,66.00000' which='3' direction='0'></POWER>
<TEXT pos='103.85893,85.06864' direction='3' font='6' color='000000'>Ventilator</TEXT>
<TEXT pos='99.23219,59.62840' direction='3' font='6' color='000000'>AmbientEnvironment</TEXT>
<SYMBOL id='23' pos='129.60000,95.60000' part='0' rotate='0' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<TEXT pos='103.85893,85.06864' direction='3' font='5' color='000000'>Ventilator</TEXT>
<TEXT pos='99.23219,59.62840' direction='3' font='5' color='000000'>AmbientEnvironment</TEXT>
<SYMBOL id='5' pos='129.60000,95.60000' part='0' rotate='0' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<FIELD type='0' description='Ref' value='D?' show='0' pos='1.00000,-9.60000'/>
<FIELD type='0' description='Name' value='' show='1' pos='1.00000,-12.00000'/>
</SYMBOL>
<TEXT pos='121.44024,99.11716' direction='3' font='6' color='000000'>ExpiratoryLimb</TEXT>
<TEXT pos='81.35077,98.83314' direction='3' font='6' color='000000'>InspiratoryLimb</TEXT>
<TEXT pos='105.18462,93.98698' direction='3' font='6' color='000000'>YPiece</TEXT>
<SYMBOL id='5' pos='127.80000,97.60000' part='0' rotate='2' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<TEXT pos='121.44024,99.11716' direction='3' font='5' color='000000'>ExpiratoryLimb</TEXT>
<TEXT pos='81.35077,98.83314' direction='3' font='5' color='000000'>InspiratoryLimb</TEXT>
<TEXT pos='105.18462,93.98698' direction='3' font='5' color='000000'>YPiece</TEXT>
<SYMBOL id='4' pos='127.80000,97.60000' part='0' rotate='2' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<FIELD type='0' description='Ref' value='R10v' show='0' pos='-12.00000,2.00000'/>
<FIELD type='0' description='Name' value='InspiratoryLimb' show='0' pos='-20.00000,-4.00000'/>
</SYMBOL>
<SYMBOL id='3' pos='89.40000,95.00000' part='0' rotate='5' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<SYMBOL id='2' pos='89.40000,95.00000' part='0' rotate='5' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<FIELD type='0' description='Ref' value='D?' show='0' pos='1.00000,-9.60000'/>
<FIELD type='0' description='Name' value='' show='1' pos='1.00000,-12.00000'/>
</SYMBOL>
<WIRE a='107.58635,75.16977' b='107.58635,80.68813'/>
<TEXT pos='121.60472,79.54859' direction='3' font='6' color='000000'>ExpiratoryValve</TEXT>
<TEXT pos='81.35975,79.66694' direction='3' font='6' color='000000'>InspiratoryValve</TEXT>
<SYMBOL id='5' pos='127.64921,83.09889' part='0' rotate='2' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<TEXT pos='121.60472,79.54859' direction='3' font='5' color='000000'>ExpiratoryValve</TEXT>
<TEXT pos='81.35975,79.66694' direction='3' font='5' color='000000'>InspiratoryValve</TEXT>
<SYMBOL id='4' pos='127.64921,83.09889' part='0' rotate='2' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<FIELD type='0' description='Ref' value='R10v' show='0' pos='-12.00000,2.00000'/>
<FIELD type='0' description='Name' value='InspiratoryLimb' show='0' pos='-20.00000,-4.00000'/>
</SYMBOL>
<SYMBOL id='5' pos='107.64921,83.09889' part='0' rotate='2' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<SYMBOL id='4' pos='107.64921,83.09889' part='0' rotate='2' can_scale='0' show_power='0' scale_x='1.00000' scale_y='1.00000'>
<FIELD type='0' description='Ref' value='R10v' show='0' pos='-12.00000,2.00000'/>
<FIELD type='0' description='Name' value='InspiratoryLimb' show='0' pos='-20.00000,-4.00000'/>
</SYMBOL>
......
......@@ -125,6 +125,7 @@ When the pMDI is used by a patient, there is a direct connection that allows air
#### Important drug properties
Losses due to drug deposition in the oropharynx region are estimated based on the droplet diameter and density. The droplet density used by the model is the density of the suspension (liquid solution including the drug). Typically, the density of these suspensions is close to that of water @cite yeh1996comparisons . Droplet diameters typically range between 0.5 and 6.0 &mu;m.
@anchor inhaler-dependencies
### Dependencies
The pMDI interacts with the %Respiratory System through a connection that delivers atmospheric air and drugs into the %Respiratory System (@ref RespiratoryMethodology). The two systems are connected to each other at the mouth node through a path that connects the mouth node of the %Respiratory System to the inhaler node (see Figure 2). Before and after the pMDI is actuated, the mouth node of the %Respiratory System is connected to the atmosphere through the %Environment System that serves as a ground node for the %Respiratory System.
......@@ -138,6 +139,7 @@ Assumptions and Limitations
- The system transport of the administered drug is treated as a gas. As a result, the model does not address drug deposition and absorption through respiratory airway surfaces other than the alveoli. All diffusion into the bloodstream occurs as a result of gas transfer from the alveoli into the pulmonary capillaries. Other transport mechanisms, such as the dissolving of deposited mass into the mucous membranes or the ingestion of orally-deposited drug mass are not addressed.
- The re-inhalation of exhaled drug mass is not addressed. Drug mass that is exhaled is presumed lost.
- Losses due to drug deposition on airway surfaces during exhalation are not addressed. Although losses during inhalation are handled, the flow geometry is more complex during exhalation and is more difficult to model.
@anchor inhaler-actions
Actions
-------
......
Mechanical Ventilator Methodology {#MechanicalVentilatorMethodology}
==========================
@anchor ventilator-overview
# Overview
@anchor ventilator-abstract
## Abstract
The Mechanical Ventilator Model is a generic representation of a positive-pressure ventilation device and
inhaled gas/agent administration. It models a semi-closed circuit breathing system. The current implementation is limited, but the data model is designed for future expansion.
The results of this system were evaluated for pressure control-continuous mandatory ventilation (PC-CMV) ventilation mode. The results show excellent correlation with the expected values.
Future work will add more ventilation modes, including assisted breathing functionality.
@anchor ventilator-intro
## Introduction
### Mechanical Ventilators and Positive-Pressure Ventilation
Mechanical ventilators use mechanical means for artificial ventilation to assist or replace spontaneous breathing. Positive pressure ventilation pushes air into the lungs through the airways. Ventilators provide the following benefits @cite cleveland2020mechanical :
- The patient does not have to work as hard to breathe - their respiratory muscles rest.
- The patient's as allowed time to recover in hopes that breathing becomes normal again.
- Helps the patient get adequate oxygen and clears carbon dioxide.
- Preserves a stable airway and preventing injury from aspiration.
@anchor ventilator-system
# System Design
## Data Flow
### Preprocess
The Mechanical Ventilator equipment object modifies circuit and substance values during the preprocess phase. It sets the connection to the respiratory system based on the airway mode, applies settings, calculates the instantaneous driving pressure value, and sets substance and aerosol values at the source.
### Process
The current implementation has no specific circuit or transport process
functionality for the mechanical ventilator. Mechanical Ventilator processing
is currently done in the %Respiratory System with the combined circuit
methodology.
### Postprocess
The Postprocess step moves values calculated in the Process step from the next
time step calculation to the current time step calculation. The current implementation has no
specific post process functionality for the mechanical ventilator. All postprocessing is done in the
%Respiratory System with the combined circuit methodology.
@anchor ventilator-features
## Features and Capabilities
### The Mechanical Ventilator Circuit
The Mechanical Ventilator model consists of a pressure source with tubes and valves for inspiration and expiration. The unidirectional valves are ideal and do not allow any backflow. Figure 1 shows the Mechanical Ventilator circuit. The compartments and transport graph mirrors the circuit. Substance values are set on the Ventilator node/compartment, assuming infinite volume.
<img src="./Images/MechanicalVentilator/MechanicalVentilatorCircuit.png" width="400">
<center>
<i>Figure 1. Circuit diagram of the Mechanical Ventilator. The circuit employs the a driver pressure source, resistance, and valves.</i>
</center><br>
### Connecting to the %Respiratory Circuit
When an mechanical ventilator is used on a patient, there is a direct
connection that allows air to flow freely between both. In the same
fashion, the Mechanical Ventilator and %Respiratory circuits in the engine are
directly connected and allowed to share the same fluid. When the machine
is turned on, both individually defined circuits are combined into a
single circuit that is then used for calculations.
### Mechanical Ventilator Settings
The Mechanical Ventilator parameters were defined to allow for setting all types of ventilation modes - all control variable types and all breath sequences. To achieve this, these hierarchical definitions are implemented:
- Connection (Off, Mask, Tube): Connection type to the %Respiratory System
- Inspiration Phase
- Trigger: Transition to inspiration
- Time: Total length of expiration phase to trigger inspiration phase
- Pressure: Ventilator sensor pressure value to trigger inspiration phase
- Flow: Ventilator sensor flow value to trigger inspiration phase
- Waveform (square, exponential, ramp, sinusoidal, sigmoidal): Pattern of driver function
- Pause: Time of plateau (i.e., constant driver pressure) between inspiration and expiration
- Target (PIP, TV, EtCO2, etc.): Value to set/achieve
- Limit: Cutoff/maximum
- Pressure: Ventilator sensor pressure cutoff/maximum
- Flow: Ventilator sensor flow cutoff/maximum
- Volume: Total lung volume cutoff/maximum
- Expiration Phase
- Cycle: Transition to expiration
- Time: Total length of inspiration phase to trigger expiration phase
- Pressure: Ventilator sensor pressure value to trigger expiration phase
- Flow: Ventilator sensor flow value to trigger expiration phase
- Waveform (square, exponential, ramp, sinusoidal, sigmoidal): Pattern of driver function
- Baseline (PEEP or FRC): Value to set/achieve
- Substances
- Fraction of inspired gas (FiO2 and other gases fractions)
- Concentration of inspired aerosol (albuterol, etc.)
- Circuit Resistances
- Inspiration tube resistance: Total resistance of inspiratory limb tubing
- Inspiration valve resistance: Total resistance of inspiratory valves
- Expiration tube resistance: Total resistance of expiratory limb tubing
- Expiration valve resistance: Total resistance of expiratory valves
- Endotracheal tube resistance: Total connection resistance
While the parameter list is meant to be all encompassing for all ventilator modes, some typical settings are required to be translated by the user or application. For example, the respiration rate (<i>RR</i>) and I:E Ratio (<i>IE</i>)settings can be translated to an inspiratory period (<i>P<sub>ins</sub></i>) and expiratory period (<i>P<sub>exp</sub></i>) by:
\f[{P_{tot}}[s] = \frac{{60}}{{RR[bpm]}}\f]
<center>
<i>Equation 1.</i>
</center><br>
\f[{P_{ins}}[s] = \frac{{IE \cdot {P_{tot}}[s]}}{{1 + IE}}\f]
<center>
<i>Equation 2.</i>
</center><br>
\f[{P_{exp}}[s] = {P_{tot}}[s] - {P_{ins}}[s]\f]
<center>
<i>Equation 3.</i>
</center><br>
Where the I:E Ratio (<i>IE</i>) is defined by a fraction, for example 1:2 is 0.5 and 1:1 is 1.0.
@anchor ventilator-dependencies
### Dependencies
The Mechanical Ventilator interacts with
the %Respiratory System
through a connection that delivers gases and aerosols into the
%Respiratory System (see @ref RespiratoryMethodology). The two
systems are connected to each other through a path that connects the airway node of the
%Respiratory System to the mask/endotracheal node (referred as Connection
in the circuit diagram) of the Mechanical Ventilator System. During spontaneous ventilation, the airway node of the
%Respiratory System is connected to the atmosphere via the %Environment System.
This serves as a ground node for the %Respiratory System.
When the Mechanical Ventilator is connected, a network of combined circuits that
include the elements from both the %Respiratory and Ventilator Systems is
created. When the combined circuit is generated at runtime, the
ground environment node connected to the mouth node of the %Respiratory System is
replaced by the Connection node that represents the mask/endotracheal node,
becoming one combined circuit.
Apart from such interaction, the Ventilator System is
also responsive to the flow resistances of the %Respiratory System. In
this regard, the ventilator driver pressure serves as a positive-pressure source for
the combined circuit. The Ventilator is linked to the %Environment
System that regulates the atmospheric/reference pressure.
@anchor ventilator-assumptions
## Assumptions and Limitations
Currently, the Mechanical Ventilator uses ideal pressure sources and one-way valves. Only setting appropriate for a PC-CMV mode are allowed and tested. However, the system is defined and implemented to allow for future mode expansion without data model changes.
@anchor ventilator-results
# Results and Conclusions
@anchor ventilator-settingsvalidation
## Validation - Settings
The Mechanical ventilator settings are fully dynamic and do not have any bounds enforced. A scenario that varies these settings in several different combinations is included with the code base and produces the outputs shown in Figure 2.
<center>
<table border="0">
<tr>
<td><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledVaried_TotalLungVolume.jpg" width="550"></td>
<td><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledVaried_RR.jpg" width="550"></td>
</tr>
<tr>
<td><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledVaried_TidalVolume.jpg" width="550"></td>
<td><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledVaried_InspiratoryExpiratoryRatio.jpg" width="550"></td>
</tr>
<tr>
<td colspan="2"><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledVariedLegend.jpg" width="1100"></td>
</tr>
</table>
</center>
<center><i>Figure 2. These plots show the successful implementation of varying Mechanical Ventilator settings without patient spontaneous breathing.</i></center><br>
@anchor ventilator-ardsvalidation
## Validation - ARDS
The %Respiratory ARDS model with mild, moderate, and severe severities is extensively tested in this scenario. The patient is administered a neuromuscular blockade to prevent spontaneous breathing and ideal PIP, PEEP, and FiO2 values are set in the ventilator to maintain adequate SpO2 values. Results successfully match expected empirical data and trends, as shown in table 1. Example outputs are shown in Figure 3.
<center>
<table border="0">
<tr>
<td><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledARDS_TidalVolume.jpg" width="550"></td>
<td><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledARDS_OxygenSaturation.jpg" width="550"></td>
</tr>
<tr>
<td><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledARDS_CarricoIndex.jpg" width="550"></td>
<td><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledARDS_ShuntFraction.jpg" width="550"></td>
</tr>
<tr>
<td colspan="2"><img src="./plots/MechanicalVentilator/MechanicalVentilatorPressureControlledARDSLegend.jpg" width="1100"></td>
</tr>
</table>
</center>
<center><i>Figure 3. These plots show the successful implementation of a ventilated patient with varying ARDS severities.</i></center><br>
<center><br>
Table 1. Cumulative validation results for Anesthesia Machine specific conditions and actions scenarios.
</center>
| Key |
| --- |
|<span class="success"> Good agreement: correct trends or <10% deviation from expected </span>|
|<span class="warning"> Some deviation: correct trend and/or <30% deviation from expected </span>|
|<span class="danger"> Poor agreement: incorrect trends or >30% deviation from expected </span>|
| Segment | Notes | Action Occurrence Time (s) | Sampled Scenario Time (s) | Respiration Rate (breaths/min) | Carrico Index [PaO2/FiO2] (mmHg) | Shunt Fraction | Oxygen Saturation | Tidal Volume (mL) | Pulmonary Compliance (L/cmH2O) |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Mild ARDS (severity = 0.3) | Chronic condition | | 0 |<span class="success"> Increased @cite mortelliti2002acute </span>|<span class="success"> >200 @cite villar2013universal </span>|<span class="success"> 2%-5% @cite Levitzky2013pulmonary </span>|<span class="success"> Reduced </span>|<span class="success"> Reduced (fatigue) </span>|<span class="success"> Reduced @cite mortelliti2002acute </span>|
| Tracheal Intubation | | 30 | 60 |<span class="success"> Increased @cite mortelliti2002acute </span>|<span class="success"> >200 @cite villar2013universal </span>|<span class="success"> 2%-5% @cite Levitzky2013pulmonary </span>|<span class="success"> Reduced </span>|<span class="success"> Reduced further (artificial airway) @cite arnal2018parameters </span>|<span class="success"> Reduced further (artificial airway) @cite mortelliti2002acute @cite arnal2018parameters </span>|
| Apnea (Dyspnea severity = 1.0); Turn on P-CMV mechanical ventilator and provide supplemental oxygen | Use apnea to mimic neuromuscular blockade; Ventilator settings chosen for target tidal volume and oxygen saturation | 60 | 360 |<span class="success"> 20 (ventilator setting) </span>|<span class="success"> >200 @cite villar2013universal </span>|<span class="success"> 2%-5% @cite Levitzky2013pulmonary </span>|<span class="success"> 88%-95% @cite mortelliti2002acute (ventilator target) </span>|<span class="success"> 6 mL/kg (ideal body weight) = 450 mL @cite mortelliti2002acute (ventilator target) </span>|<span class="success"> Reduced @cite mortelliti2002acute </span>|
| Moderate ARDS (severity = 0.3); Adjust ventilator settings | Ventilator settings chosen for target tidal volume and oxygen saturation | 360 | 660 |<span class="success"> 20 (ventilator setting) </span>|<span class="success"> 100-200 @cite villar2013universal </span>|<span class="success"> >20% @cite radermacher2017fifty </span>|<span class="success"> 88%-95% @cite mortelliti2002acute (ventilator target) </span>|<span class="success"> 6 mL/kg (ideal body weight) = 450 mL @cite mortelliti2002acute (ventilator target) </span>|<span class="success"> Reduced further @cite mortelliti2002acute </span>|
| Severe ARDS (severity = 0.9); Adjust ventilator settings | Ventilator settings chosen for target tidal volume and supplemental oxygen at max (1.0 fraction O2) | 660 | 960 |<span class="success"> 20 (ventilator setting) </span>|<span class="success"> <100 @cite villar2013universal </span>|<span class="success"> >40% @cite radermacher2017fifty </span>|<span class="success"> Reduced (100% FiO2) </span>|<span class="success"> 6 mL/kg (ideal body weight) = 450 mL @cite mortelliti2002acute (ventilator target) </span>|<span class="success"> Reduced further @cite mortelliti2002acute </span>|
@anchor ventilator-conclusion
## Conclusion
While the model is a generic representation of mechanical ventilation, inhaled gases, and inhaled agent
administration, this model represents the behavior of a complex piece of equipment that is
associated with a difficult
medical speciality. The engine provides a whole-body approach to modeling that
allows for simulation of this complex field. This system is a strong addition to the engine with the potential for
future development.