Physiology.proto 45.6 KB
Newer Older
1
syntax = "proto3";
2
package pulse.cdm.bind;
3
option java_package = "com.kitware.pulse.cdm.bind";
4
option csharp_namespace = "pulse.cdm.bind";
5
option optimize_for = SPEED;
6

Aaron Bray's avatar
Aaron Bray committed
7
import "pulse/cdm/bind/Enums.proto";
8
9
import "pulse/cdm/bind/Properties.proto";
import "pulse/cdm/bind/PatientNutrition.proto";
10

Aaron Bray's avatar
Aaron Bray committed
11
12
13

enum eHeartRhythm
{
14
15
16
17
18
  NormalSinus                      = 0; /**<< @brief Normal electical signal and mechanical function. */ 
  SinusBradycardia                 = 1; /**<< @brief Normal electical signal with reduced heart rate.   */
  SinusTachycardia                 = 2; /**<< @brief Normal electical signal and increased heart rate.  */
  SinusPulselessElectricalActivity = 3; /**<< @brief Electical signal, but no mechanical function. */
  Asystole                         = 4; /**<< @brief No electrical signal or mechanical function. */
Aaron Bray's avatar
Aaron Bray committed
19
20
21
  CoarseVentricularFibrillation    = 5; /**<< @brief Unorganized electrical signal, no mechanical function. */
  FineVentricularFibrillation      = 6; /**<< @brief Unorganized electrical signal, reduced amplitude compared to coarse VF, no mechanical function. */
  PulselessVentricularTachycardia  = 7; /**<< @brief Ventricular tachycardia electrical signal with reduced amplitude, but no mechanical function. */
22
23
  StableVentricularTachycardia     = 8; /**<< @brief Ventricular tachycardia electrical signal with increased heart rate.  */
  UnstableVentricularTachycardia   = 9; /**<< @brief Ventricular tachycardia electrical signal with increased heart rate, reduced heart elastance. */
Aaron Bray's avatar
Aaron Bray committed
24
25
}

26

27
28
29
30
/** @brief 
    @details */
message PupillaryResponseData
{
31
  ScalarNegative1To1Data              ReactivityModifier                             = 1; /**<< @brief Change in pupil reaction time -1 complete reduction/no response, 0 is normal, and 1 is the fastest reaction time. */
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  ScalarNegative1To1Data              ShapeModifier                                  = 2; /**<< @brief Percentage change in pupil shape from normal. Positive is vertical ovoid. Negative is horizontal ovoid. */
  ScalarNegative1To1Data              SizeModifier                                   = 3; /**<< @brief Pupil size change from normal. -1 is fully constricted, 0 is no change, +1 is fully dilated. */
}


/** @brief Provides clinician level data reflecting the composition of the blood.
    @details Blood Chemistry is complete analysis on the blood at any given point during the simulation.
    The blood chemistry system houses all of the blood concentrations and compositions needed to assess a patient's health. This system is under development
    and will be improved in future releases to include more substances that can provide clinician level details and assessments, such as a CBC and blood panel.*/
message BloodChemistrySystemData
{
  ScalarMassPerVolumeData             BloodDensity                                   = 1; /**<< @brief Mass per unit volume of the blood. */
  ScalarData                          BloodPH                                        = 2; /**<< @brief Measure of acidity or basicity of the blood. */
  ScalarHeatCapacitancePerMassData    BloodSpecificHeat                              = 3; /**<< @brief The amount of energy required to raise one kilogram of blood by one degree Celsius. */
  ScalarMassPerVolumeData             BloodUreaNitrogenConcentration                 = 4; /**<< @brief The BUN concentration in the blood.*/  
  Scalar0To1Data                      CarbonDioxideSaturation                        = 5; /**<< @brief The fraction of hemoglobin that is carbon dioxide bound.*/          
  Scalar0To1Data                      CarbonMonoxideSaturation                       = 6; /**<< @brief The fraction of hemoglobin that is carbon monoxide bound.*/  
  Scalar0To1Data                      Hematocrit                                     = 7; /**<< @brief Volume percentage of red blood cells in the blood.*/
  ScalarMassData                      HemoglobinContent                              = 8; /**<< @brief The total amount of hemoglobin in the blood.*/
Aaron Bray's avatar
Aaron Bray committed
51
  Scalar0To1Data                      OxygenSaturation                               = 9; /**<< @brief The fraction of hemoglobin that is oxygen bound.*/
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  ScalarAmountPerVolumeData           Phosphate                                      = 10;/**<< @brief Sum of all inorganic phosphate in the blood.*/
  ScalarVolumeData                    PlasmaVolume                                   = 11;/**<< @brief Volume of the plasma.*/
  Scalar0To1Data                      PulseOximetry                                  = 12;/**<< @brief The fraction of hemoglobin with bound oxygen as measured optically, which can include Carbon Monoxide.*/
  ScalarAmountPerVolumeData           RedBloodCellCount                              = 13;/**<< @brief Total number of red blood cells in the blood.*/
  Scalar0To1Data                      ShuntFraction                                  = 14;/**<< @brief Fraction of the blood flow that bypasses the alveoli; therefore, does not engage is gas exchange.*/
  ScalarAmountPerVolumeData           StrongIonDifference                            = 15;/**<< @brief Difference between the positive and negative strong ion concentrations in the blood.*/
  ScalarMassPerVolumeData             TotalProteinConcentration                      = 16;/**<< @brief The concentration of urea in the blood.*/
  Scalar0To1Data                      VolumeFractionNeutralLipidInPlasma             = 17;/**<< @brief Fraction of the plasma that is made up of neutral lipids.*/
  Scalar0To1Data                      VolumeFractionNeutralPhospholipidInPlasma      = 18;/**<< @brief Fraction of the plasma that is made up of neutral phospholipids.*/
  ScalarAmountPerVolumeData           WhiteBloodCellCount                            = 19;/**<< @brief Total number of white blood cells in the blood.*/
  /** Substance Pressures */
  ScalarPressureData                  ArterialCarbonDioxidePressure                  = 20;/**<< @brief Partial pressure of carbon dioxide in the aorta.*/
  ScalarPressureData                  ArterialOxygenPressure                         = 21;/**<< @brief Partial pressure of oxygen in the aorta.*/
  ScalarPressureData                  PulmonaryArterialCarbonDioxidePressure         = 22;/**<< @brief Partial pressure of carbon dioxide in the pulmonary arteries.*/
  ScalarPressureData                  PulmonaryArterialOxygenPressure                = 23;/**<< @brief Partial pressure of oxygen in the pulmonary arteries.*/
  ScalarPressureData                  PulmonaryVenousCarbonDioxidePressure           = 24;/**<< @brief Partial pressure of carbon dioxide in the pulmonary veins.*/
  ScalarPressureData                  PulmonaryVenousOxygenPressure                  = 25;/**<< @brief Partial pressure of oxygen in the pulmonary veins.*/
  ScalarPressureData                  VenousCarbonDioxidePressure                    = 26;/**<< @brief Partial pressure of carbon dioxide in the vena cava.*/        
  ScalarPressureData                  VenousOxygenPressure                           = 27;/**<< @brief Partial pressure of oxygen in the vena cava.*/  
}

/** @brief Provides a representation of the human vasculature.
    @details The heart is the driving force that creates blood flow through the cardiovascular system. 
    The resulting blood flow is utilized by other physiologic systems as a means of transporting the oxygen, carbon dioxide
    and other substances throughout the human body.*/
message CardiovascularSystemData
{
79
  ScalarPressureData                  ArterialPressure                               = 1; /**<< @brief The current arterial pressure.*/
80
81
82
83
84
85
86
  ScalarVolumeData                    BloodVolume                                    = 2; /**<< @brief The total volume of fluid within the cardiovascular system.*/
  ScalarVolumePerTimeAreaData         CardiacIndex                                   = 3; /**<< @brief Relates heart performance to the size of the individual.*/
  ScalarVolumePerTimeData             CardiacOutput                                  = 4; /**<< @brief The volume of blood being pumped from the heart in a given time interval.<br> It is defined as the heart rate multiplied by the stroke volume.*/
  ScalarPressureData                  CentralVenousPressure                          = 5; /**<< @brief The instantaneous pressure of the venus return.*/
  ScalarVolumePerTimeData             CerebralBloodFlow                              = 6; /**<< @brief The rate of blood flow into the skull, thus supplying the brain.*/
  ScalarPressureData                  CerebralPerfusionPressure                      = 7; /**<< @brief The difference between the mean arterial pressure and the cerebral blood pressure. Defines the hydrostatic diffusion gradient.*/
  ScalarPressureData                  DiastolicArterialPressure                      = 8; /**<< @brief The minimum pressure in the aorta over the course of a cardiac cycle.*/
Aaron Bray's avatar
Aaron Bray committed
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
  ScalarPressureData                  DiastolicLeftHeartPressure                     = 9; /**<< @brief The minimum pressure in the left heart over the course of a cardiac cycle.*/
  ScalarPressureData                  DiastolicRightHeartPressure                    = 10;/**<< @brief The minimum pressure in the right heart over the course of a cardiac cycle.*/
  Scalar0To1Data                      HeartEjectionFraction                          = 11;/**<< @brief The current pressure in the aorta.*/
  ScalarFrequencyData                 HeartRate                                      = 12;/**<< @brief The fraction of the blood that is pumped out of the ventricle during a cardiac cycle.*/
  eHeartRhythm                        HeartRhythm                                    = 13;/**<< @brief @ref eHeartRhythmTable */
  ScalarVolumeData                    HeartStrokeVolume                              = 14;/**<< @brief The volume of blood pumped from the left ventricle in one contraction.*/
  ScalarPressureData                  IntracranialPressure                           = 15;/**<< @brief The pressure inside the skull. Equal to the cerebral blood pressure with the cerebrospinal fluid pressure being assumed equal.*/
  ScalarPressureData                  MeanArterialPressure                           = 16;/**<< @brief The average arterial pressure throughout each cardiac cycle.*/
  ScalarPressureData                  MeanArterialCarbonDioxidePartialPressure       = 17;/**<< @brief The mean of the partial pressure of carbon dioxide in the aorta over a cardiac cycle.*/
  ScalarPressureData                  MeanArterialCarbonDioxidePartialPressureDelta  = 18;/**<< @brief The change of the the mean of the partial pressure of carbon dioxide in the aorta from the previous cardiac cycle.*/
  ScalarPressureData                  MeanCentralVenousPressure                      = 19;/**<< @brief The average pressure in the vena cava over the course of a cardiac cycle.*/
  ScalarVolumePerTimeData             MeanSkinFlow                                   = 20;/**<< @brief The blood flow to the skin  averaged over the current cardiac cycle time*/
  ScalarPressureData                  PulmonaryArterialPressure                      = 21;/**<< @brief The current pressure in the pulmonary arteries.*/
  ScalarPressureData                  PulmonaryCapillariesWedgePressure              = 22;/**<< @brief The pressure within the pulmonary capillaries.*/
  ScalarPressureData                  PulmonaryDiastolicArterialPressure             = 23;/**<< @brief The minimum pressure that occurs in the pulmonary arteries over the course of a cardiac cycle.*/
  ScalarPressureData                  PulmonaryMeanArterialPressure                  = 24;/**<< @brief The average pressure that occurs in the pulmonary arteries over the course of a cardiac cycle.*/
  ScalarVolumePerTimeData             PulmonaryMeanCapillaryFlow                     = 25;/**<< @brief The average blood flow in the pulmonary capillaries over the course of a cardiac cycle.*/
  ScalarVolumePerTimeData             PulmonaryMeanShuntFlow                         = 26;/**<< @brief The average blood flow diverted from the pulmonary capillaries (not oxygenated) over the course of a cardiac cycle.*/
  ScalarPressureData                  PulmonarySystolicArterialPressure              = 27;/**<< @brief The maximum pressure in the pulmonary arteries over the course of a cardiac cycle.*/
  ScalarPressureTimePerVolumeData     PulmonaryVascularResistance                    = 28;/**<< @brief The resistance offered by the pulmonary circulation.*/
  ScalarPressureTimePerVolumeAreaData PulmonaryVascularResistanceIndex               = 29;/**<< @brief Relates pulmonary circulation performance to the size of the individual. */
  ScalarPressureData                  PulsePressure                                  = 30;/**<< @brief The difference between the systolic and diastolic pressures.*/
  ScalarPressureTimePerVolumeData     SystemicVascularResistance                     = 31;/**<< @brief The resistance to blood flow through the entire systemic vasculature, not including the pulmonary circulation.*/
  ScalarPressureData                  SystolicArterialPressure                       = 32;/**<< @brief The maximum pressure in the aorta over the course of a cardiac cycle.*/
  ScalarPressureData                  SystolicLeftHeartPressure                      = 33;/**<< @brief The maximum pressure in the aorta over the course of a cardiac cycle.*/
  ScalarPressureData                  SystolicRightHeartPressure                     = 34;/**<< @brief The maximum pressure in the aorta over the course of a cardiac cycle.*/
  ScalarVolumePerTimeData             TotalHemorrhageRate                            = 35;/**<< @brief The total rate of blood loss due to all active hemorrhages.*/
  ScalarVolumeData                    TotalHemorrhagedVolume                         = 36;/**<< @brief The total amount of blood lost due to all hemorrhages.*/
115
116
117
118
119
120
121
122
123
}

/** @brief Provides transport of drugs through the blood and air in the cardiovascular and respiratory systems, respectively.
    @details The exchange of gases across the alveoli/pulmonary capillary barrier, and the diffusion of substances into and out of tissues. 
    Important substances required for cell function are transported to the organs, while waste material is transported away for expulsion from the body.
    Drugs impact physiologic behavior, such as heart rate, respiration rate, and blood pressure through modifiers.
    Totals are from all active drugs in the body.*/
message DrugSystemData
{
124
  ScalarNegative1To1Data              BronchodilationLevel                           = 1; /**<< @brief */
125
126
127
128
129
130
131
132
  ScalarFrequencyData                 HeartRateChange                                = 2; /**<< @brief */
  ScalarPressureData                  MeanBloodPressureChange                        = 3; /**<< @brief */
  Scalar0To1Data                      NeuromuscularBlockLevel                        = 4; /**<< @brief */
  ScalarPressureData                  PulsePressureChange                            = 5; /**<< @brief */
  PupillaryResponseData               PupillaryResponse                              = 6; /**<< @brief */
  ScalarFrequencyData                 RespirationRateChange                          = 7; /**<< @brief */
  Scalar0To1Data                      SedationLevel                                  = 8; /**<< @brief */
  ScalarVolumeData                    TidalVolumeChange                              = 9; /**<< @brief */
133
  ScalarNegative1To1Data              TubularPermeabilityChange                      = 10;/**<< @brief */
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
}

/** @brief Releases hormones to maintain homeostasis and regulate body functions, including metabolism and behavior.
    @details The release of the hormones in response to the stimuli to represent the response of the sympathetic nervous system.*/
message EndocrineSystemData
{

  ScalarAmountPerTimeData             InsulinSynthesisRate                           = 1; /**<< @brief Insulin production rate. */
                
}

/** @brief Provides heat transfer, nutrition, and exercise physiology in the human body.
    @details */
message EnergySystemData
{
  Scalar0To1Data                      AchievedExerciseLevel                          = 1;/**<< @brief The fraction of how much of the requested exercise the patient is able to achieve. 1.0 means the the patient is performing at the requested level. Nan is the patient is not exercising (no Action)*/
  ScalarTemperatureData               CoreTemperature                                = 2; /**<< @brief The internal body temperature.*/
  ScalarAmountPerTimeData             CreatinineProductionRate                       = 3; /**<< @brief The generation of creatinine in the muscle tissue per */  
  ScalarPressureData                  ExerciseMeanArterialPressureDelta              = 4;/**<< @brief The pressure delta that occurs during exercise. Used to modify the baroreceptor set-point */
  Scalar0To1Data                      FatigueLevel                                   = 5; /**<< @brief The exhaustion level of the body, or inability to perform physical exercise @details The amount of energy available for activity divided by the normal rested energy */
  ScalarAmountPerTimeData             KetoneProductionRate                           = 6; /**<< @brief The molar amount of ketones generated in the liver */          
  ScalarAmountPerTimeData             LactateProductionRate                          = 7; /**<< @brief The molar amount of lactate generated on the tissue level from anaerobic metabolism */
  ScalarTemperatureData               SkinTemperature                                = 8; /**<< @brief The skin surface temperature.*/
  ScalarMassPerTimeData               SweatRate                                      = 9; /**<< @brief Mass of sweat generated per unit time due to elevated core temperature */
  ScalarPowerData                     TotalMetabolicRate                             = 10;/**<< @brief The basal metabolic rate plus additional energy expenditure rates due to activity.*/
159
  Scalar0To1Data                      TotalWorkRateLevel                             = 11;/**<< @brief The current patient work rate above basal over the maximum work rate capable by the patient */
160
161
162
163
164
165
}

/** @brief Provides nutrients to the body
    @details Balances out the fluid and substances lost through other functionalities such as urination, sweating, and water loss from breathing.*/
message GastrointestinalSystemData
{
166
  ScalarVolumePerTimeData             WaterAbsorptionRate                            = 1; /**<< @brief Rate of the absorption of water from the stomach into the blood stream*/
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
  NutritionData                       StomachContents                                = 2; /**<< @brief The contents in the stomach*/
}

/** @brief Provides liver function by clearing and maintaining substances in the blood
    @details Carries blood from parts of the gastrointestinal (GI) tract to the liver. The products of digestion are processed in the liver.*/
message HepaticSystemData
{

}

/** @brief 
    @details
 */
message NervousSystemData
{
Aaron Bray's avatar
Aaron Bray committed
182
183
184
185
186
187
188
189
190
191
  eSwitch                             ChemoreceptorFeedback                          = 1;/**<< @brief Signals if the Chemoreceptors are on or off. */
  ScalarData                          ChemoreceptorHeartRateScale                    = 2;/**<< @brief Heart rate multiplier used to scale the heart rate due to baroreceptor feedback*/
  ScalarData                          ChemoreceptorHeartElastanceScale               = 3;/**<< @brief Heart elastance multiplier used to scale the heart rate due to baroreceptor feedback*/
  eSwitch                             BaroreceptorFeedback                           = 4;/**<< @brief Signals if the Baroreceptors are on or off. */
  ScalarData                          BaroreceptorHeartRateScale                     = 5;/**<< @brief Heart rate multiplier used to scale the heart rate due to baroreceptor feedback*/
  ScalarData                          BaroreceptorHeartElastanceScale                = 6;/**<< @brief Heart elastance multiplier used to scale the heart rate due to baroreceptor feedback*/
  ScalarData                          BaroreceptorResistanceScale                    = 7;/**<< @brief %Cardiovascular resistance multiplier used to scale the heart rate due to baroreceptor feedback*/
  ScalarData                          BaroreceptorComplianceScale                    = 8;/**<< @brief %Cardiovascular compliance multiplier used to scale the heart rate due to baroreceptor feedback*/  
  PupillaryResponseData               LeftEyePupillaryResponse                       = 9;/**<< @brief */  
  PupillaryResponseData               RightEyePupillaryResponse                      = 10;/**<< @brief */
192
193
194
195
196
197
198
199
200
201
}

/** @brief Provides kidney function by clearing and maintaining substances in the blood
    @details Maintain substance balance in the blood by removing and maintaining fluid and
    substances in the blood with behavior dependent upon factors such as dehydration and the presence of diuretics.*/
message RenalSystemData
{
  Scalar0To1Data                      FiltrationFraction                             = 1; /**<< @brief Scalar used to compute reabsorption for substances*/
  ScalarVolumePerTimeData             GlomerularFiltrationRate                       = 2; /**<< @brief Flow rate of filtrate into the tubules */
  
202
  ScalarPressureTimePerVolumeData     LeftAfferentArterioleResistance                = 3; /**<< @brief resistance to flow going into the glomerular capillaries in the left Kidney*/
203
  ScalarPressureData                  LeftBowmansCapsulesHydrostaticPressure         = 4; /**<< @brief Pressure generated from fluid in the bowmans capsules in the left Kidney */
204
  ScalarPressureData                  LeftBowmansCapsulesOsmoticPressure             = 5; /**<< @brief Pressure generated from substances in the bowmans capsules in the left Kidney*/
205
  ScalarPressureTimePerVolumeData     LeftEfferentArterioleResistance                = 6; /**<< @brief Resistance to flow into the peritubular capillaries in the left Kidney */
206
207
208
209
210
  ScalarPressureData                  LeftGlomerularCapillariesHydrostaticPressure   = 7; /**<< @brief Pressure generated from fluid in the glomerular capillaries in the left Kidney */
  ScalarPressureData                  LeftGlomerularCapillariesOsmoticPressure       = 8; /**<< @brief Pressure generated from substances in the capillaries in the left Kidney */
  ScalarVolumePerTimePressureData     LeftGlomerularFiltrationCoefficient            = 9; /**<< @brief Calculated for each substance to determine ease of transport into the tubules in the left Kidney */
  ScalarVolumePerTimeData             LeftGlomerularFiltrationRate                   = 10;/**<< @brief Flow rate of filtrate into the tubules in left Kidney */
  ScalarAreaData                      LeftGlomerularFiltrationSurfaceArea            = 11;/**<< @brief Surface area of glomerular capillaries that experiance filtration in the left Kidney */
211
  ScalarVolumePerTimePressureAreaData LeftGlomerularFluidPermeability                = 12;/**<< @brief Permeability coefficient of the capillary tissue in the left Kidney */
212
213
214
215
216
217
218
219
  Scalar0To1Data                      LeftFiltrationFraction                         = 13;/**<< @brief Scalar used to compute reabsorption for substances in left Kidney */
  ScalarPressureData                  LeftNetFiltrationPressure                      = 14;/**<< @brief Total pressure directed into the tubules in the left Kidney */
  ScalarPressureData                  LeftNetReabsorptionPressure                    = 15;/**<< @brief Total pressure directed into the peritubular capillaries in the left Kidney */
  ScalarPressureData                  LeftPeritubularCapillariesHydrostaticPressure  = 16;/**<< @brief Pressure generated by the fluid in the peritubular capillaries in the left Kidney */
  ScalarPressureData                  LeftPeritubularCapillariesOsmoticPressure      = 17;/**<< @brief Pressure generated by the substance concentration in the peritubular capillaries in the left Kidney*/
  ScalarVolumePerTimePressureData     LeftReabsorptionFiltrationCoefficient          = 18;/**<< @brief Value which determines how much of a substance is reabsorbed into the blood stream in the left Kidney*/
  ScalarVolumePerTimeData             LeftReabsorptionRate                           = 19;/**<< @brief Rate at which fluid or a substance is transported into the peritubular capillaries in the left Kidney */  
  ScalarPressureData                  LeftTubularOsmoticPressure                     = 20;/**<< @brief Pressure generated by substances in the tubules in the left Kidney */  
220
  ScalarPressureData                  LeftTubularHydrostaticPressure                 = 21;/**<< @brief Pressure generated by the fluid in the tubules in the left Kidney */
221
  ScalarAreaData                      LeftTubularReabsorptionFiltrationSurfaceArea   = 22;/**<< @brief Surface ares of the tubules which is subject to fluid transport (reabsorption) in the left Kidney */
222
  ScalarVolumePerTimePressureAreaData LeftTubularReabsorptionFluidPermeability       = 23;/**<< @brief Permeability of the tissue in the tubules, influencing resistance to flow into peritubular capillaries in the left Kidney */
223
224
225

  ScalarVolumePerTimeData             RenalBloodFlow                                 = 24;/**<< @brief Blood flow into the kidney that is not filtered into the tubules */
  ScalarVolumePerTimeData             RenalPlasmaFlow                                = 25;/**<< @brief Plasma flow into the kidney that is not filtered into the tubules */  
226
  ScalarPressureTimePerVolumeData     RenalVascularResistance                        = 26;/**<< @brief Total resistance o f the kidney vasculature  */
227

228
  ScalarPressureTimePerVolumeData     RightAfferentArterioleResistance               = 27;/**<< @brief resistance to flow going into the glomerular capillaries in the right Kidney */
229
230
  ScalarPressureData                  RightBowmansCapsulesHydrostaticPressure        = 28;/**<< @brief Pressure generated from fluid in the bowmans capsules in the right Kidney  */
  ScalarPressureData                  RightBowmansCapsulesOsmoticPressure            = 29;/**<< @brief Pressure generated from substances in the bowmans capsules in the right Kidney  */
231
  ScalarPressureTimePerVolumeData     RightEfferentArterioleResistance               = 30;/**<< @brief Resistance to flow into the peritubular capillaries in the left Kidney */
232
233
234
235
236
  ScalarPressureData                  RightGlomerularCapillariesHydrostaticPressure  = 31;/**<< @brief Pressure generated from fluid in the glomerular capillaries in the left Kidney */
  ScalarPressureData                  RightGlomerularCapillariesOsmoticPressure      = 32;/**<< @brief Pressure generated from substances in the capillaries in the left Kidney */
  ScalarVolumePerTimePressureData     RightGlomerularFiltrationCoefficient           = 33;/**<< @brief Calculated for each substance to determine ease of transport into the tubules in the left Kidney */
  ScalarVolumePerTimeData             RightGlomerularFiltrationRate                  = 34;/**<< @brief Flow rate of filtrate into the tubules in left Kidney */
  ScalarAreaData                      RightGlomerularFiltrationSurfaceArea           = 35;/**<< @brief Surface area of glomerular capillaries that experiance filtration in the left Kidney */
237
  ScalarVolumePerTimePressureAreaData RightGlomerularFluidPermeability               = 36;/**<< @brief Permeability coefficient of the capillary tissue in the left Kidney*/
238
239
240
241
242
243
244
245
  Scalar0To1Data                      RightFiltrationFraction                        = 37;/**<< @brief Scalar used to compute reabsorption for substances in left Kidney */
  ScalarPressureData                  RightNetFiltrationPressure                     = 38;/**<< @brief  Total pressure directed into the tubules in the left Kidney */
  ScalarPressureData                  RightNetReabsorptionPressure                   = 39;/**<< @brief Total pressure directed into the peritubular capillaries in the left Kidney */
  ScalarPressureData                  RightPeritubularCapillariesHydrostaticPressure = 40;/**<< @brief Pressure generated by the fluid in the peritubular capillaries in the left Kidney */
  ScalarPressureData                  RightPeritubularCapillariesOsmoticPressure     = 41;/**<< @brief Pressure generated by the substance concentration in the peritubular capillaries in the left Kidney */
  ScalarVolumePerTimePressureData     RightReabsorptionFiltrationCoefficient         = 42;/**<< @brief Value which determines how much of a substance is reabsorbed into the blood stream in the left Kidney */
  ScalarVolumePerTimeData             RightReabsorptionRate                          = 43;/**<< @brief Rate at which fluid or a substance is transported into the peritubular capillaries in the left Kidney */
  ScalarPressureData                  RightTubularOsmoticPressure                    = 44;/**<< @brief Pressure generated by substances in the tubules in the left Kidney  */  
246
  ScalarPressureData                  RightTubularHydrostaticPressure                = 45;/**<< @brief Pressure generated by the fluid in the tubules in the left Kidney */            
247
248
249
250
251
252
253
254
255
256
257
258
  ScalarAreaData                      RightTubularReabsorptionFiltrationSurfaceArea  = 46;/**<< @brief Surface ares of the tubules which is subject to fluid transport (reabsorption) in the left Kidney */
  ScalarVolumePerTimePressureAreaData RightTubularReabsorptionFluidPermeability      = 47;/**<< @brief Permeability of the tissue in the tubules, influencing resistance to flow into peritubular capillaries in the left Kidney */

  ScalarVolumePerTimeData             UrinationRate                                  = 48;/**<< @brief Rate that fluid exits the bladder  */ 
  ScalarOsmolalityData                UrineOsmolality                                = 49;/**<< @brief The osmolar pressure contributions of the sodium, urea and glucose divided by the mass of the fluid */
  ScalarOsmolarityData                UrineOsmolarity                                = 50;/**<< @brief The osmolar pressure contributions of the sodium, urea and glucose divided by the volume of the fluid */
  ScalarVolumePerTimeData             UrineProductionRate                            = 51;/**<< @brief The rate of fluid flow to the bladder */
  ScalarData                          UrineSpecificGravity                           = 52;/**<< @brief The density of the fluid relative to water */
  ScalarVolumeData                    UrineVolume                                    = 53;/**<< @brief The volume of the urine in the bladder */ 
  ScalarMassPerVolumeData             UrineUreaNitrogenConcentration                 = 54;/**<< @brief Scaled concentration of Urea in the bladder  */ 
}

259
260
261
/**@brief A set of properties to specify and customize the respiratory circuit and driver.*/
message RespiratoryMechanicsData
{
262
  eSwitch                             Active                                         = 1; /**<< @brief Turn on or off the use of this structure in the physiology implementation. */
263
264
  CurveData                           LeftComplianceCurve                            = 2; /**<< @brief Left static compliance definition as a pressure vs. volume piecewise function.*/
  CurveData                           RightComplianceCurve                           = 3; /**<< @brief Right static compliance definition as a pressure vs. volume piecewise function.*/
265
  
266
267
268
269
270
271
  ScalarPressureTimePerVolumeData     LeftExpiratoryResistance                       = 4; /**<< @brief Left lung airway resistance during expiration.*/
  ScalarPressureTimePerVolumeData     LeftInspiratoryResistance                      = 5; /**<< @brief Left lung airway resistance during inspiration.*/
  ScalarPressureTimePerVolumeData     RightExpiratoryResistance                      = 6; /**<< @brief Right lung airway resistance during expiration.*/
  ScalarPressureTimePerVolumeData     RightInspiratoryResistance                     = 7; /**<< @brief Right lung airway resistance during inspiration.*/
  ScalarPressureTimePerVolumeData     UpperExpiratoryResistance                      = 8; /**<< @brief Upper airway respiratory resistance during expiration.*/
  ScalarPressureTimePerVolumeData     UpperInspiratoryResistance                     = 9; /**<< @brief Upper airway respiratory resistance during inspiration.*/
272
  
273
  // Muscle Pressure Driver
274
275
  ScalarPressureData                  InspiratoryPeakPressure                        = 10;/**<< @brief The maximum negative pressure during spontaneous inspiration.*/
  ScalarPressureData                  ExpiratoryPeakPressure                         = 11;/**<< @brief The maximum positive pressure during spontaneous expiration (usually 0).*/
276
  
277
278
279
280
281
282
283
284
  ScalarTimeData                      InspiratoryRiseTime                            = 12;/**<< @brief Spontaneous inspiration rise period length.*/
  ScalarTimeData                      InspiratoryHoldTime                            = 13;/**<< @brief Spontaneous hold period length at top of breath.*/
  ScalarTimeData                      InspiratoryReleaseTime                         = 14;/**<< @brief Spontaneous inspiration release period length back to 0 pressure.*/
  ScalarTimeData                      InspiratoryToExpiratoryPauseTime               = 15;/**<< @brief Spontaneous hold period length between inspiration and expiration.*/
  ScalarTimeData                      ExpiratoryRiseTime                             = 16;/**<< @brief Spontaneous expiration rise period length.*/
  ScalarTimeData                      ExpiratoryHoldTime                             = 17;/**<< @brief Spontaneous hold period length at bottom of breath.*/
  ScalarTimeData                      ExpiratoryReleaseTime                          = 18;/**<< @brief Spontaneous inspiration release period length back to 0 pressure.*/
  ScalarTimeData                      ResidueTime                                    = 19;/**<< @brief Spontaneous breathing remaining time at 0 pressure after completed waveform.*/
285
}
286

287
288
289
290
291
/**@brief Provides ventilation and gas exchange of the human respiratory system.
   @details Supports changes in the lungs volume and pressure data during the flow
   and transfer of gases between the lungs, the blood and the outside environment.*/
message RespiratorySystemData
{
292
293
294
295
  ScalarPressureData                  AirwayPressure                                 = 1;/**<< @brief Instantaneous pressure applied during positive-pressure mechanical ventilation. */
  ScalarPressureData                  AlveolarArterialGradient                       = 2; /**<< @brief Measure of the difference between the alveolar concentration of oxygen and the arterial concentration of oxygen to assess the integrity of the alveolar capillary unit.*/
  ScalarVolumeData                    AlveolarDeadSpace                              = 3; /**<< @brief The volume of unperfused alveoli.*/
  ScalarVolumeData                    AnatomicDeadSpace                              = 4; /**<< @brief The total volume of the conducting airways from the nose or mouth down to the level of the terminal bronchioles that does not participate in gas exchange.*/
296
297
298
299
300
301
302
303
304
305
306
  ScalarVolumePerPressureData         ChestWallCompliance                            = 5; /**<< @brief The static relationship between the transmural pressure across the chest wall compared with the chest cavity's volume.*/
  ScalarEnergyData                    ElasticWorkOfBreathing                         = 6; /**<< @brief The work (generally during the inhalation phase) that is stored as potential energy which is recovered during exhalation.*/
  Scalar0To1Data                      EndTidalCarbonDioxideFraction                  = 7; /**<< @brief The fraction of gas in the mouth/nose that is carbon dioxide at the end of each respiratory cycle.*/
  ScalarPressureData                  EndTidalCarbonDioxidePressure                  = 8; /**<< @brief The pressure of gas in the mouth/nose that is carbon dioxide at the end of each respiratory cycle.*/
  Scalar0To1Data                      EndTidalOxygenFraction                         = 9; /**<< @brief The fraction of gas in the mouth/nose that is oxygen at the end of each respiratory cycle.*/
  ScalarPressureData                  EndTidalOxygenPressure                         = 10;/**<< @brief The pressure of gas in the mouth/nose that is oxygen at the end of each respiratory cycle.*/
  ScalarVolumePerTimeData             ExpiratoryFlow                                 = 11;/**<< @brief Instantaneous airflow out of the lungs (negative value when inhaling).*/
  ScalarPressureTimePerVolumeData     ExpiratoryPulmonaryResistance                  = 12;/**<< @brief The total resistance to airflow through the lungs during exhalation. */
  ScalarVolumeData                    ExpiratoryTidalVolume                          = 13;/**<< @brief The volume of air moved into or out of the lungs during normal expiration.*/
  Scalar0To1Data                      FractionOfInsipredOxygen                       = 14;/**<< @brief Fraction of Oxygen being taking into the body. */
  ScalarPressureData                  HorowitzIndex                                  = 15; /**<< @brief The ratio of arterial partial pressure O2 and the inspired O2. O2 level in blood vs. Concentration of O2 in a breath.*/
307
308
309
310
311
312
313
314
  ScalarPowerData                     ImposedPowerOfBreathing                        = 16;/**<< @brief Externally imposed work of breathing (e.g., from a ventilator).*/
  ScalarEnergyData                    ImposedWorkOfBreathing                         = 17;/**<< @brief Externally imposed power of breathing (e.g., from a ventilator).*/
  ScalarData                          InspiratoryExpiratoryRatio                     = 18;/**<< @brief The ratio of the length of time of inspiration to the length of time of expiration.*/
  ScalarVolumePerTimeData             InspiratoryFlow                                = 19;/**<< @brief The instantaneous airflow into the lungs (negative value when exhaling).*/
  ScalarPressureTimePerVolumeData     InspiratoryPulmonaryResistance                 = 20;/**<< @brief The total resistance to airflow through the lungs during inhalation. */
  ScalarVolumeData                    InspiratoryTidalVolume                         = 21;/**<< @brief The volume of air moved into or out of the lungs during normal inspiration.*/
  ScalarPressureData                  IntrapleuralPressure                           = 22;/**<< @brief The pressure difference across the whole lung.*/
  ScalarPressureData                  IntrapulmonaryPressure                         = 23;/**<< @brief The total respiratory recoil pressure relative to body surface.*/
315
  ScalarPressureData                  IntrinsicPositiveEndExpiredPressure            = 24;/**<< @brief The alveolar pressure at the end of expiration - also known as auto-PEEP, air trapping, or dynamic hyperinflation.*/
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
  ScalarVolumePerPressureData         LungCompliance                                 = 25;/**<< @brief The static measure of the lung's ability to stretch and expand.*/
  ScalarPressureData                  MaximalInspiratoryPressure                     = 26;/**<< @brief The strength of inspiratory muscles.*/
  ScalarPressureData                  MeanAirwayPressure                             = 27;/**<< @brief Mean pressure applied during positive-pressure mechanical ventilation. */
  ScalarData                          OxygenationIndex                               = 28;/**<< @brief Used in intensive care medicine to measure the usage of oxygen within the body and predict outcomes.  A lower oxygenation index is better. */
  ScalarPressureData                  OxygenSaturationIndex                          = 29;/**<< @brief Usage of oxygen within the body and predict outcomes. */
  ScalarPowerData                     PatientPowerOfBreathing                        = 30;/**<< @brief Internally imposed work of breathing from the respiratory muscles.*/
  ScalarEnergyData                    PatientWorkOfBreathing                         = 31;/**<< @brief Internally imposed power of breathing from the respiratory muscles.*/
  ScalarPressureData                  PeakInspiratoryPressure                        = 32;/**<< @brief The highest pressure applied to the lungs (alveolar pressure) above atmospheric pressure during inhalation.*/
  ScalarVolumeData                    PhysiologicDeadSpace                           = 33;/**<< @brief The sum of the anatomic and alveolar dead space.*/
  ScalarPressureData                  PositiveEndExpiratoryPressure                  = 34;/**<< @brief The pressure in the lungs (alveolar pressure) above atmospheric pressure at the end of expiration.*/
  ScalarVolumePerPressureData         PulmonaryCompliance                            = 35;/**<< @brief The total static compliance of the lungs.*/
  ScalarPressurePerVolumeData         PulmonaryElastance                             = 36;/**<< @brief The inverse of lung static compliance.*/
  ScalarVolumeData                    RelativeTotalLungVolume                        = 37;/**<< @brief The total volume of air within the lungs at any given time above the previous breath minimum volume.*/
  ScalarEnergyData                    ResistiveExpiratoryWorkOfBreathing             = 38;/**<< @brief The work to overcome the frictional resistance to gas flow due to viscosity during exhalation.*/
  ScalarEnergyData                    ResistiveInspiratoryWorkOfBreathing            = 39;/**<< @brief The work to overcome the frictional resistance to gas flow due to viscosity during inhalation.*/
  ScalarFrequencyData                 RespirationRate                                = 40;/**<< @brief The frequency of the respiratory cycle.*/
  Scalar0To1Data                      RespiratoryMuscleFatigue                       = 41;/**<< @brief A measure of respiratory muscle weakness caused by excessive effort relative to the strength and endurance of the muscles.*/
  ScalarPressureData                  RespiratoryMusclePressure                      = 42;/**<< @brief Pressure of the muscles that contribute to inhalation and exhalation, by aiding in the expansion and contraction of the thoracic cavity.*/
Aaron Bray's avatar
Aaron Bray committed
334
  ScalarData                          SaturationAndFractionOfInspiredOxygenRatio     = 43;/**<< @brief A noninvasive surrogate for PiO2/FiO2 ratio (horowitz index). */
335
336
337
338
339
340
  ScalarData                          SpecificVentilation                            = 44;/**<< @brief The ratio of the volume of gas entering a region of the lung following an inspiration and the end-expiratory volume of that same lung region.*/
  ScalarVolumeData                    TidalVolume                                    = 45;/**<< @brief The volume of air moved into or out of the lungs during normal respiration.*/
  ScalarVolumePerTimeData             TotalAlveolarVentilation                       = 46;/**<< @brief The air flow to the alveoli.*/
  ScalarVolumePerTimeData             TotalDeadSpaceVentilation                      = 47;/**<< @brief The air flow to the dead space.*/
  ScalarVolumeData                    TotalLungVolume                                = 48;/**<< @brief The total volume of air within the lungs at any given time.*/
  ScalarPowerData                     TotalPowerOfBreathing                          = 49;/**<< @brief The sum of the imposed and patient power of breathing.*/
341
  ScalarVolumePerTimeData             TotalPulmonaryVentilation                      = 50;/**<< @brief The amount of air that enters the lungs as a function of time - can be used for minute ventilation.*/
342
343
344
345
346
347
348
349
  ScalarEnergyData                    TotalWorkOfBreathing                           = 51;/**<< @brief The sum of the imposed and patient work of breathing.*/
  ScalarPressureData                  TransairwayPressure                            = 52;/**<< @brief The pressure difference between the airway opening and alveoli.*/
  ScalarPressureData                  TransalveolarPressure                          = 53;/**<< @brief The pressure difference between the alveoli and pleural space.*/
  ScalarPressureData                  TransChestWallPressure                         = 54;/**<< @brief The pressure difference between the pleural space and body surface.*/
  ScalarPressureData                  TransMusclePressure                            = 55;/**<< @brief The respiratory muscle driver pressure relative to body surface.*/
  ScalarPressureData                  TranspulmonaryPressure                         = 56;/**<< @brief The pressure difference between the alveoli and the intrapleural space.*/
  ScalarPressureData                  TransrespiratoryPressure                       = 57;/**<< @brief The pressure difference between the airway opening and body surface.*/
  ScalarPressureData                  TransthoracicPressure                          = 58;/**<< @brief The pressure difference between the alveoli and body surface.*/
350
  
351
  RespiratoryMechanicsData            RespiratoryMechanics                           = 59;
352
353
354
355
356
357
358
359
360
361
362
363
364
}

/** @brief Provides data pertaining to the extracellular and intracelluar space */
message TissueSystemData
{
  ScalarVolumePerTimeData             CarbonDioxideProductionRate                    = 1;/**<< @brief The carbon dioxide generated on the tissue level from aerobic metabolism*/
  ScalarVolumeData                    ExtracellularFluidVolume                       = 2;/**<< @brief Volume of fluid outside of cells AND outside of the blood vessels*/
  ScalarVolumeData                    ExtravascularFluidVolume                       = 3;/**<< @brief Total fluid volume outside of the blood vessels. */
  ScalarData                          IntracellularFluidPH                           = 4;/**<< @brief The acidity or alkalinity of the extravascular intercellular fluid.*/
  ScalarVolumeData                    IntracellularFluidVolume                       = 5;/**<< @brief Volume of fluid in the cells outside of the blood vessels. */  
  ScalarVolumePerTimeData             OxygenConsumptionRate                          = 6; /**<< @brief The oxygen consumed on the tissue level from aerobic metabolism*/
  ScalarData                          RespiratoryExchangeRatio                       = 7; /**<< @brief The true ratio of carbon dioxide produced to oxygen consumed */   
}