syntax = "proto3";
package pulse.proto;
option java_package = "com.kitware.physiology.pulse";
option optimize_for = SPEED;

import "cdm/Properties.proto";
import "cdm/Physiology.proto";


message BloodChemistryData
{
  cdm.BloodChemistrySystemData   Common                                              = 1;
  cdm.RunningAverageData         ArterialOxygenAverage_mmHg                          = 2;
  cdm.RunningAverageData         ArterialCarbonDioxideAverage_mmHg                   = 3;
}

message CardiovascularData
{
  cdm.CardiovascularSystemData   Common                                              = 1;
  bool                           StartSystole                                        = 2;
  bool                           HeartFlowDetected                                   = 3;
  bool                           EnterCardiacArrest                                  = 4;
  double                         CardiacCyclePeriod_s                                = 5;
  double                         CurrentCardiacCycleDuration_s                       = 6;
  double                         LeftHeartElastanceModifier                          = 7;
  double                         LeftHeartElastance_mmHg_Per_mL                      = 8;
  double                         LeftHeartElastanceMax_mmHg_Per_mL                   = 9;
  double                         LeftHeartElastanceMin_mmHg_Per_mL                   = 10;
  double                         RightHeartElastance_mmHg_Per_mL                     = 11;
  double                         RightHeartElastanceMax_mmHg_Per_mL                  = 12;
  double                         RightHeartElastanceMin_mmHg_Per_mL                  = 13;
  
  double                         CompressionTime_s                                   = 14;
  double                         CompressionRatio                                    = 15;
  double                         CompressionPeriod_s                                 = 16;
  
  double                         CurrentCardiacCycleTime_s                           = 17;
  double                         CardiacCycleDiastolicVolume_mL                      = 18;
  double                         CardiacCycleAortaPressureLow_mmHg                   = 19;
  double                         CardiacCycleAortaPressureHigh_mmHg                  = 20;
  double                         CardiacCyclePulmonaryArteryPressureLow_mmHg         = 21;
  double                         CardiacCyclePulmonaryArteryPressureHigh_mmHg        = 22;
  double                         LastCardiacCycleMeanArterialCO2PartialPressure_mmHg = 23;
  double                         CardiacCycleStrokeVolume_mL                         = 24;
  
  cdm.RunningAverageData         CardiacCycleArterialPressure_mmHg                   = 25;
  cdm.RunningAverageData         CardiacCycleArterialCO2PartialPressure_mmHg         = 26;
  cdm.RunningAverageData         CardiacCyclePulmonaryCapillariesWedgePressure_mmHg  = 27;
  cdm.RunningAverageData         CardiacCyclePulmonaryCapillariesFlow_mL_Per_s       = 28;
  cdm.RunningAverageData         CardiacCyclePulmonaryShuntFlow_mL_Per_s             = 29;
  cdm.RunningAverageData         CardiacCyclePulmonaryArteryPressure_mmHg            = 30;
  cdm.RunningAverageData         CardiacCycleCentralVenousPressure_mmHg              = 31;
  cdm.RunningAverageData         CardiacCycleSkinFlow_mL_Per_s                       = 32;
  
  repeated string                HemorrhageLinks                                     = 33;
  repeated string                HemorrhagePaths                                     = 34;
  repeated string                InternalHemorrhageLinks                             = 35;
  repeated string                InternalHemorrhagePaths                             = 36;
}

message DrugData
{
  cdm.DrugSystemData             Common                                              = 1;
}

message EndocrineData
{
  cdm.EndocrineSystemData        Common                                              = 1;
}

message EnergyData
{
  cdm.EnergySystemData           Common                                              = 1;
  double                         EnduranceEnergyStore_J                              = 2;
  double                         MediumPowerEnergyStore_J                            = 3;
  double                         PeakPowerEnergyStore_J                              = 4;
  double                         UsableEnergyStore_J                                 = 5;
  
  cdm.RunningAverageData         BloodpH                                             = 6;
  cdm.RunningAverageData         BicarbonateMolarity_mmol_Per_L                      = 7;
}

message GastrointestinalData
{
  cdm.GastrointestinalSystemData Common                                              = 1;
}

message HepaticData
{
  cdm.HepaticSystemData          Common                                              = 1;
}

message NervousData
{
  cdm.NervousSystemData          Common                                              = 1;
  double                         ArterialOxygenBaseline_mmHg                         = 2;
  double                         ArterialCarbonDioxideBaseline_mmHg                  = 3;
  bool                           BaroreceptorFeedbackStatus                          = 4;
  double                         BaroreceptorActiveTime_s                            = 5;
  double                         BaroreceptorMeanArterialPressureBaseline_mmHg       = 6;
}

message RenalData
{
  cdm.RenalSystemData            Common                                              = 1;
  bool                           Urinating                                           = 2;
  double                         LeftAfferentResistance_mmHg_s_Per_mL                = 3;
  double                         RightAfferentResistance_mmHg_s_Per_mL               = 4;
  double                         LeftSodiumFlowSetPoint_mg_Per_s                     = 5;
  double                         RightSodiumFlowSetPoint_mg_Per_s                    = 6;
  
  cdm.RunningAverageData         UrineProductionRate_mL_Per_min                      = 7;
  cdm.RunningAverageData         UrineOsmolarity_mOsm_Per_L                          = 8;
  cdm.RunningAverageData         SodiumConcentration_mg_Per_mL                       = 9;
  cdm.RunningAverageData         SodiumExcretionRate_mg_Per_min                      = 10;
  cdm.RunningAverageData         LeftSodiumFlow_mg_Per_s                             = 11;
  cdm.RunningAverageData         RightSodiumFlow_mg_Per_s                            = 12;
  cdm.RunningAverageData         LeftRenalArterialPressure_mmHg                      = 13;
  cdm.RunningAverageData         RightRenalArterialPressure_mmHg                     = 14;
}

message RespiratoryData
{// Next value : 45
  cdm.RespiratorySystemData      Common                                              = 1;
  double                         InitialExpiratoryReserveVolume_L                    = 2;
  double                         InitialFunctionalResidualCapacity_L                 = 3;
  double                         InitialInspiratoryCapacity_L                        = 4;
  double                         InitialResidualVolume_L                             = 5;
  
  bool                           BreathingCycle                                      = 6;
  bool                           NotBreathing                                        = 7;
  double                         TopBreathTotalVolume_L                              = 8;
  double                         TopBreathAlveoliVolume_L                            = 9;
  double                         TopBreathDeadSpaceVolume_L                          = 10;
  double                         TopBreathPleuralVolume_L                            = 11;
  double                         TopBreathAlveoliPressure_cmH2O                      = 12;
  double                         TopBreathDriverPressure_cmH2O                       = 13;
  double                         TopBreathPleuralPressure_cmH2O                      = 14;
  double                         LastCardiacCycleBloodPH                             = 15;
  double                         TopCarinaO2                                         = 16;
  double                         TopBreathElapsedTime_min                            = 17;
  double                         BottomBreathElapsedTime_min                         = 18;
  double                         BottomBreathTotalVolume_L                           = 19;
  double                         BottomBreathAlveoliVolume_L                         = 20;
  double                         BottomBreathDeadSpaceVolume_L                       = 21;
  double                         BottomBreathPleuralVolume_L                         = 22;
  double                         BottomBreathAlveoliPressure_cmH2O                   = 23;
  double                         BottomBreathDriverPressure_cmH2O                    = 24;
  double                         BottomBreathPleuralPressure_cmH2O                   = 25;
  double                         PeakAlveolarPressure_cmH2O                          = 26;
  double                         MaximalAlveolarPressure_cmH2O                       = 27;
  cdm.RunningAverageData         BloodPHRunningAverage                               = 28;
  
  double                         ArterialO2PartialPressure_mmHg                      = 29;
  double                         ArterialCO2PartialPressure_mmHg                     = 30;
  double                         BreathingCycleTime_s                                = 31;
  double                         DefaultDrivePressure_cmH2O                          = 32;
  double                         DriverInspirationTime_s                             = 33;
  double                         DriverPressure_cmH2O                                = 34;
  double                         DriverPressureMin_cmH2O                             = 35;
  double                         ElapsedBreathingCycleTime_min                       = 36;
  double                         IEscaleFactor                                       = 37;
  double                         InstantaneousFunctionalResidualCapacity_L           = 38;
  double                         MaxDriverPressure_cmH2O                             = 39;
  double                         PeakRespiratoryDrivePressure_cmH2O                  = 40;
  double                         PreviousTargetAlveolarVentilation_L_Per_min         = 41;
  double                         VentilationFrequency_Per_min                        = 42;
  double                         VentilationToTidalVolumeSlope                       = 43;
  cdm.RunningAverageData         ArterialO2RunningAverage_mmHg                       = 44;
  cdm.RunningAverageData         ArterialCO2RunningAverage_mmHg                      = 45;
  // Conscious Breathing
  bool                           ConsciousBreathing                                  = 46;
  double                         ConsciousRespirationPeriod_s                        = 47;
  double                         ConsciousRespirationRemainingPeriod_s               = 48;
  double                         ExpiratoryReserveVolumeFraction                     = 49;
  double                         InspiratoryCapacityFraction                         = 50;
  double                         ConsciousStartPressure_cmH2O                        = 51;
  double                         ConsciousEndPressure_cmH2O                          = 52;
  // Muscle Pressure Waveform
  double                         ExpiratoryHoldFraction                              = 53;
  double                         ExpiratoryReleaseFraction                           = 54;
  double                         ExpiratoryRiseFraction                              = 55;
  double                         InspiratoryHoldFraction                             = 56;
  double                         InspiratoryReleaseFraction                          = 57;
  double                         InspiratoryRiseFraction                             = 58;
  double                         InspiratoryToExpiratoryPauseFraction                = 59;
  double                         ResidueFraction                                     = 60;
}

message TissueData
{
  cdm.TissueSystemData           Common                                              = 1;
  double                         RestingTissueGlucose_g                              = 2;
  double                         RestingBloodGlucose_g_Per_L                         = 3;
  double                         RestingBloodLipid_g_Per_L                           = 4;
  double                         RestingBloodInsulin_g_Per_L                         = 5;
  double                         RestingPatientMass_kg                               = 6;
  double                         RestingFluidMass_kg                                 = 7;
}