14 #include <biogears/cdm/CommonDataModel.h>
15 #include <biogears/exports.h>
17 #include <biogears/cdm/properties/SEScalarTime.h>
18 #include <biogears/cdm/system/physiology/SEDrugSystem.h>
19 #include <biogears/engine/Controller/BioGearsSystem.h>
20 #include <biogears/schema/biogears/BioGearsPhysiology.hxx>
24 class SETissueCompartment;
25 class SEFluidCircuitPath;
26 class SETissueCompartment;
28 class SESubstanceBolusState;
30 class SETransmucosalState;
31 class SELiquidCompartment;
46 static auto make_unique(
BioGears& bg) -> std::unique_ptr<Drugs>;
51 virtual ~
Drugs()
override;
54 static constexpr
char const*
const TypeTag() {
return "Drugs"; }
55 const char*
classname()
const override {
return TypeTag(); }
56 size_t hash_code()
const override {
return TypeHash(); }
58 void Clear()
override;
61 void Initialize()
override;
71 void SetUp()
override;
74 void AtSteadyState()
override;
75 void PreProcess()
override;
76 void Process()
override;
80 void AdministerSubstanceBolus();
81 void AdministerSubstanceInfusion();
82 void AdministerSubstanceCompoundInfusion();
83 void AdministerSubstanceNasal();
84 void AdministerSubstanceOral();
86 void CalculatePartitionCoefficients();
87 void CalculateSubstanceClearance();
88 void CalculatePlasmaSubstanceConcentration();
89 void CalculateDrugEffects();
const char * classname() const override
Definition: Drugs.h:55
double m_dt_s
Definition: Drugs.h:101
std::map< const SESubstance *, SETransmucosalState * > m_TransmucosalStates
Definition: Drugs.h:96
static size_t TypeHash()
Definition: Drugs.h:53
Definition: SESubstanceOralDose.h:57
SELiquidCompartment * m_venaCavaVascular
Definition: Drugs.h:106
SELiquidCompartment * m_muscleIntracellular
Definition: Drugs.h:107
static constexpr char const *const TypeTag()
Hopefully this returns a unique ID for every type.
Definition: Drugs.h:54
SELiquidCompartment * m_liverVascular
Definition: Drugs.h:108
double m_RbcAcetylcholinesteraseFractionInhibited
Definition: Drugs.h:104
SESubstance * m_Sarin
Definition: Drugs.h:112
Definition: SEFluidCircuitPath.h:25
SEFluidCircuitPath * m_IVToVenaCava
Definition: Drugs.h:110
Definition: SELiquidCompartment.h:27
BioGears & m_data
Definition: Drugs.h:48
The drug system contains the physiologically based pharmacokinetic (PBPK) model and the pharmacodynam...
Definition: Drugs.h:41
size_t hash_code() const override
Definition: Drugs.h:56
void PostProcess() override
Definition: Drugs.h:77
Definition: BioGearsEngineTest.h:24
Definition: SESubstance.h:49
double m_totalAdministered_uL
Definition: Drugs.h:102
Class corresponding to the BioGearsDrugSystemData schema type.
Definition: BioGearsPhysiology.hxx:3122
Definition: SEDrugSystem.h:35
Manages and controls execution of all data/systems in BioGears.
Definition: BioGears.h:86
std::map< const SESubstance *, SENasalState * > m_NasalStates
Definition: Drugs.h:95
std::map< const SESubstance *, SESubstanceBolusState * > m_BolusAdministrations
Definition: Drugs.h:94
SELiquidCompartment * m_aortaVascular
Definition: Drugs.h:105
SETissueCompartment * m_fatTissue
Definition: Drugs.h:111
Generic class for handling the BioGears stabilization methodology.
Definition: BioGearsSystem.h:23
Definition: SEElectricalCircuit.h:18
SETissueCompartment * m_liverTissue
Definition: Drugs.h:109
Definition: SETissueCompartment.h:32
double m_AgedRbcAcetylcholinesterase_nM
Definition: Drugs.h:98
double m_SarinRbcAcetylcholinesteraseComplex_nM
Definition: Drugs.h:97
SESubstance * m_Pralidoxime
Definition: Drugs.h:113