- Member AnesthesiaMachine::CalculateGasSourceSubstances ()
- : Do this stuff more generically by looping over all substances
- Member BloodChemistry::Process (bool solve_and_transport=true)
- Change system data so that we have ArterialBloodPH (from aorta) and VenousBloodPH (from vena cava)
- Member Cardiovascular::AdjustVascularTone ()
Add dilation (decreased resistance) to myocardium supply path if myocardium oxygen deficit event is active.
We are treating all systemic resistance paths equally, including the brain.
- Member Cardiovascular::BeginCardiacCycle ()
- need to reset the heart elastance min and max at the end of each stabiliation period in AtSteadyState()
- Member Cardiovascular::CalculateVitalSigns ()
- Make sure irreversible state is hit before we get here.
- Member Cardiovascular::ChronicRenalStenosis ()
- move this to CV
- Member Cardiovascular::Hemorrhage ()
- Enforce limits and remove fatal errors.
- Member Cardiovascular::MetabolicToneResponse ()
Possibly add a thermoreception model to nervous and move the computation there.
Skip over Brain and Myocardium and add arms and legs
- Member Cardiovascular::SetUp ()
- We are assuming that the complex renal system is connected. Make it agnostic.
- Member Drugs::AdministerSubstanceBolus ()
- Add fluid amount to fluid system
- Member Drugs::AdministerSubstanceCompoundInfusion ()
Enforce limits and remove the fatal error
correct the mass based on what we have left in the bag
- Member Drugs::AdministerSubstanceInfusion ()
sub needs to be const
Enforce limits and remove the fatal error
Need to add fluid amount to fluid system
Support state, and how would a user remove this action?
- Member Drugs::CalculateDrugEffects ()
- The drug effect is being applied to the baseline, so if the baseline changes the delta heart rate changes.
- Member Drugs::CalculatePartitionCoefficients ()
- How to support oral absorption - should I check if oral administration then use Oral absorption rate otherwise assume 1?
- Member Energy::CalculateSweatRate ()
- Convert to sweat density once specific gravity calculation is in
- Member Energy::CalculateVitalSigns ()
- Move to blood chemistry
- Member Energy::Exercise ()
- Log an event or info message that available energy is insufficient to meet demand.
- Member Gastrointestinal::DigestStomachNutrients (double duration_s)
- Remove tuning factor and adjust protein to urea fraction following investigation
- Member GeneralMath::PercentTolerance (double expected, double calculated, double epsilon=1e-20)
- reevaluate how to handle this - it potentially causes a problem during stabilization
- Member MechanicalVentilator::SetResistances ()
- Figure out how to do this without having to access the respiratory circuit
- Member Nervous::ChemoreceptorFeedback ()
- Compute and apply chemoreceptor-mediated contractility changes
- Member PulseController::SetupCardiovascular ()
- Make these a function of the systolic and diastolic pressure by fitting a curve to the data from the variations test
- Member PulseController::SetupRenal ()
The bladder is currently not being modeled as a compliance
Use a compliance here - make sure you remove the current handling of bladder volume in the renal system as a pressure source
- Member PulseController::SetupTissue ()
- Put Initial Circuit/Compartment data values into the configuration file.
- Member PulseEngineTest::AcidBaseBloodGasTests (const std::string &sOutputDirectory)
- Do these tests with Strong Ion Differences once we ensure the Sodium, Potassium, and Chloride concentrations are correct and being handled properly
- Member PulseEngineTest::FacilitatedDiffusionTest (const std::string &rptDirectory)
- Relate capillary coverage to tissue mass.
- Member PulseEngineTest::InstantDiffusionTest (SETestSuite &testSuite)
- This methodology assumes binary compartments. It works in prototype for multiple compartment instant diffusion, but needs to be tested beyond two compartments.
- Member PulseSubstances::InitializeLiquidCompartmentNonGases ()
- Tristearin is actually all triacylglycerols. Change name.
- Member Renal::CalculateOsmoreceptorFeedback ()
- get the arota osmolarity instead of sodium concentration
- Member Renal::CalculateReabsorptionFeedback ()
- turn on colloid osmotic pressure once substances have been handled properly (and GI)
- Member Renal::CalculateUltrafiltrationFeedback ()
- turn on colloid osmotic pressure once substances have been handled properly (and GI)
- Member Renal::UpdateBladderVolume ()
- Eventually replace this entire thing with a compliance and model peristaltic flow
- Member Respiratory::AtSteadyState ()
- figure out how to save an initial healthy/baseline patient definition and another current patient definition
- Member Respiratory::CalculatePulmonaryFunctionTest (SEPulmonaryFunctionTest &pft) const
- Insert more PFT calculations here
- Member Respiratory::CalculateVitalSigns ()
- Move to blood chemistry
- Member Respiratory::SetUp ()
- figure out how to modify these resistances without getting the cv circuit - maybe add a parameter, like baroreceptors does
- Member Respiratory::SupplementalOxygen ()
- - Maybe this and mechanical ventilation should be broken out to their own class, like anesthesia machine?
- Member Respiratory::UpdateDiffusion ()
- Update this with new healthy vs. current patient methodology
- Member Tissue::AlveolarPartialPressureGradientDiffusion (SEGasCompartment &pulmonary, SELiquidCompartment &vascular, SESubstance &sub, double DiffusingCapacityO2_mL_Per_s_mmHg, double timestep_s)
- Why is this needed? It seems to prevent some sort of numerical issue.
- Member Tissue::AtSteadyState ()
- Replace with new Consume Methodology
- Member Tissue::CalculateDiffusion ()
Enable non-advective transport for all substances
I believe we can optimize with a cache of these values. Also, we can cache permeabilityCoefficient_mL_Per_s_g which is not a function of the tissue properties
Define relationship between tissue mass and membrane area.
Compute the pump rate from an empirically-determined baseline pump rate.
Decrement glucose from EC for energy and decrement/increment from EC for conversions (glycogen, gluconeogenesis, etc).
Compute the pump rate from an empirically-determined baseline pump rate.
- Member Tissue::CalculateMetabolicConsumptionAndProduction (double time)
Remove this temporary blood increment when diffusion is operational (0.125 is tuning factor)
This is the reason for the decrease in O2 consumption and CO2 production with oxygen depletion. It looks like we are mixing models here.
Remove this temporary blood increment when diffusion is fully operational
Remove this temporary blood increment when diffusion is fully operational
Remove this temporary blood increment when diffusion is operational (0.125 is tuning factor)
Creatinine production rate should be a function of muscle mass.
Remove this temporary blood increment when diffusion is fully operational
Fully implement endocrine glucose control and remove this temporary blood increment once diffusion is fully operational
- Member Tissue::GlucoseLipidControl (double time)
Switch to active transport methodology when ready
Determine better value for the transfer time constant from 24 hour glucose and insulin profiles
- Member Tissue::Process (bool solve_and_transport=true)
- Remove SetBodyState hardcode and replace with computed values after substance redux is complete