#include <Hepatic.h>

Public Member Functions | |
virtual | ~Hepatic () override |
const char * | classname () const override |
size_t | hash_code () const override |
void | Clear () override |
void | Initialize () override |
Initializes system properties to valid homeostatic values. More... | |
virtual bool | Load (const CDM::BioGearsHepaticSystemData &in) |
virtual CDM::BioGearsHepaticSystemData * | Unload () const override |
SEScalar & | CalculateLiverSOFA () |
void | AtSteadyState () override |
Determines if the engine is stable. More... | |
void | PreProcess () override |
Preprocess function. More... | |
void | Process () override |
Process function. More... | |
void | PostProcess () override |
PostProcess function. More... | |
![]() | |
SEHepaticSystem (Logger *logger) | |
~SEHepaticSystem () override | |
const SEScalar * | GetScalar (const char *name) override |
const SEScalar * | GetScalar (const std::string &name) override |
bool | Load (const CDM::HepaticSystemData &in) |
Tree< const char * > | GetPhysiologyRequestGraph () const override |
bool | HasKetoneProductionRate () const |
SEScalarAmountPerTime & | GetKetoneProductionRate () |
double | GetKetoneProductionRate (const AmountPerTimeUnit &unit) const |
bool | HasHepaticGluconeogenesisRate () const |
SEScalarMassPerTime & | GetHepaticGluconeogenesisRate () |
double | GetHepaticGluconeogenesisRate (const MassPerTimeUnit &unit) const |
![]() | |
SESystem (Logger *logger) | |
virtual | ~SESystem () |
bool | Load (const CDM::SystemData &in) |
![]() | |
Loggable () | |
Loggable (Logger *log) | |
virtual | ~Loggable () |
virtual Logger * | GetLogger () const |
Static Public Member Functions | |
static size_t | TypeHash () |
static constexpr char const *const | TypeTag () |
static double | CalculateRelativeHormoneChange (double insulinSetPoint_pmol_Per_L, double glucagonSetPoint_pg_Per_mL, SELiquidSubstanceQuantity *currentInsulin, SELiquidSubstanceQuantity *currentGlucagon, BioGears &m_data) |
Calculates the relative change in insulin to glucagon to determine direction of nutrient flow. More... | |
![]() | |
static size_t | TypeHash () |
static constexpr char const *const | TypeTag () |
![]() | |
static const SEScalar * | GetScalar (const char *name, std::vector< SESystem * > *systems) |
static const SEScalar * | GetScalar (const std::string &name, std::vector< SESystem * > *systems) |
Protected Member Functions | |
Hepatic (BioGears &bg) | |
virtual void | Unload (CDM::BioGearsHepaticSystemData &data) const |
void | SetUp () override |
Initializes parameters for the Hepatic Class. More... | |
void | ProduceAlbumin (double duration_s) |
Flat Rate production of albumin in the liver. More... | |
void | Glycogenesis () |
Removes excess glucose from blood to store as glycogen. More... | |
void | Glycogenolysis () |
Removes glucose from storage as glycogen and puts into blood. More... | |
void | Lipogenesis () |
Generation of new TAG from AA and glucose in times of excess. More... | |
void | Gluconeogenesis () |
The liver's process of generating new glucose from lactate, AA, and TAG. More... | |
![]() | |
void | Unload (CDM::HepaticSystemData &data) const |
![]() | |
void | Unload (CDM::SystemData &data) const |
![]() | |
virtual void | Debug (const char *msg, const char *origin="") const |
virtual void | Debug (const std::string &msg, const std::string &origin=empty) const |
virtual void | Debug (std::ostream &msg, const std::string &origin=empty) const |
virtual void | Info (const char *msg, const char *origin="") const |
virtual void | Info (const std::string &msg, const std::string &origin=empty) const |
virtual void | Info (std::ostream &msg, const std::string &origin=empty) const |
virtual void | Warning (const char *msg, const char *origin="") const |
virtual void | Warning (const std::string &msg, const std::string &origin=empty) const |
virtual void | Warning (std::ostream &msg, const std::string &origin=empty) const |
virtual void | Error (const char *msg, const char *origin="") const |
virtual void | Error (const std::string msg, const std::string origin=empty) const |
virtual void | Error (std::ostream &msg, const std::string &origin=empty) const |
virtual void | Fatal (const char *msg, const char *origin="") const |
virtual void | Fatal (const std::string &msg, const std::string &origin=empty) const |
virtual void | Fatal (std::ostream &msg, const std::string &origin=empty) const |
![]() | |
virtual void | LoadState () |
Static Protected Member Functions | |
static auto | make_unique (BioGears &bg) -> std::unique_ptr< Hepatic > |
Friends | |
class | BioGears |
class | BioGearsEngineTest |
Additional Inherited Members | |
![]() | |
static const std::string | empty |
static const char * | empty_cStr |
Detailed Description
Constructor & Destructor Documentation
|
protected |
|
overridevirtual |
Member Function Documentation
|
overridevirtual |
Determines if the engine is stable.
When the engine is stable, the CDM makes this call to update the member variable.
Reimplemented from biogears::BioGearsSystem.
SEScalar & biogears::Hepatic::CalculateLiverSOFA | ( | ) |
|
static |
Calculates the relative change in insulin to glucagon to determine direction of nutrient flow.
Calculate a percent deviation from given insulin and glucagon set points, then return the relative deviation in insulin. So, if a positive number is returned, insulin increased more than glucagon did, and vice versa. A zero value means insulin and glucagon didn't change or stayed the same relative to each other.
|
inlineoverridevirtual |
Reimplemented from biogears::SEHepaticSystem.
|
overridevirtual |
Reimplemented from biogears::SEHepaticSystem.
|
protected |
The liver's process of generating new glucose from lactate, AA, and TAG.
During times of low insulin vs. glucagon, the liver recombines lactate into glucose, deaminates and combines AA to make glucose, and splits TAG to make the glycogen backbone into glucose. Fat breakdown results in ketones. These are energy and O2 consuming processes.
|
protected |
Removes excess glucose from blood to store as glycogen.
Uses relative changes in insulin and glucagon to determine if new glycogen should be generated from blood glucose. There is no glycogen substance, so store off glucose in a Hepatic member variable.
|
protected |
Removes glucose from storage as glycogen and puts into blood.
Uses relative changes in insulin and glucagon to determine if glycogen should be broken down to glucose and moved to bloodstream.
|
inlineoverridevirtual |
Reimplemented from biogears::SEHepaticSystem.
|
overridevirtual |
Initializes system properties to valid homeostatic values.
Reimplemented from biogears::BioGearsSystem.
|
protected |
Generation of new TAG from AA and glucose in times of excess.
Triacylglycerol is generated from excess glucose or amino acids. The amounts of each substance that are converted to TAG depend on the relative concentrations of those substances in the liver. Lipogenesis is an ATP-consuming process, but we assume that energy consumption is rolled into BMR.
|
virtual |
|
overridevirtual |
PostProcess function.
Implements biogears::BioGearsSystem.
|
overridevirtual |
Preprocess function.
Implements biogears::BioGearsSystem.
|
overridevirtual |
Process function.
Implements biogears::BioGearsSystem.
|
protected |
Flat Rate production of albumin in the liver.
- Parameters
-
duration_s Time period for production of albumin in seconds.
The mass of albumin to produce is calculated from a flat rate production value and the time passed. This mass is added to the liver. The rate is currently specified as .15 mg/s as found in [153]
|
overrideprotectedvirtual |
Initializes parameters for the Hepatic Class.
Initializes member variables and system level values on the common data model.
Implements biogears::BioGearsSystem.
|
inlinestatic |
|
inlinestatic |
|
overridevirtual |
Reimplemented from biogears::SEHepaticSystem.
|
protectedvirtual |
Friends And Related Function Documentation
|
friend |
|
friend |
Member Data Documentation
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |