Hi, I am still experimenting Propofol infsion with Pulse Physiology Engine. I try to understand the effect of each PD parameters, so I changed one PD parameters at once. However, I observe the following phenomenem. For example, I changed the DiastolicPressureModifier, but all the vital signs output, including heart rate and systolic pressure change. I wonder if that is expected(probably stablizing the patient?), and why it happens? Could you point me to the base code that does this stablizing?
This is the plot where I modified the DiastolicPressureModifier. The baseline is -0.1.
Just here to check my understanding. It seems that HeartDriver() is called every timestep in the PreProcess(), and BeginDriverCycle , CalculateHeartElastance and AdjustVascularTone are called in the HeartDriver(). In HeartDriver, the heart rate and elastance, and vascular resistance and compliance will be modified based on the drug effect (which I think based mostly on the change in heart rate and mean blood pressure). Then CalculateVitalSigns() computes the vital signs. So the calculated change in diastolic and systolic pressure (deltaDiastolicBP_mmHg in DrugModel.cpp) are not directly applied to the vital signs?
By applying the delta modifiers to the heart, the circuit calculates the new volumes, pressures, and flows per those adjustments by advancing time 0.02s on the circuit, and the new volume, pressue, flow values are used to calculate clinical vital sign values.
The functions HeartDriver(), BeginDriverCycle, CalculateHeartElastance and AdjustVascularTone, look the same though. Am I looking at the right functions? Probably you changed the other parts?
You are right, we did rebase integration on this branch, the current updates are only for cardiovascular effects related to pulmonary injury, sorry for the confusion
So you can see how systolic and diastolic PD modifiers are combined into a Mean Pressure modifers in Drugs::CalculateDrugEffects which is then used in the Cardiovascular::AdjustVascularTone method is where modifiers are applied to systemic vascular resistances
Thanks! I get a better understanding of the drug effects in Pulse engine now!
I have another question about the output vital signs. They seem to remain the same for every 0.96 second. I wonder if you have done any quantization to the vital signs?
Ah, I see the method is called only in BeginDriverCycle. I see now. For example, ArterialPressureis updated in the CalculateVitalSigns, so it’s updated time to time. Diastolic and systolic pressure, and heart rate are only updated in RecordAndResetCardiacCycle, so they are updated every cycle.
I’m wondering when is this aorta pressure calculated. I can see that it’s in the compliance and resistance path. Is it the CircuitCalculator that’s doing the job? May I ask if you can point me to the code? I guess it’s modeled as potential?