Advanced Customization for the Non-Linear Canine Circulatory Model Originally developed by Clement Yu Pascal-to-C Translation by Johnnie Huang This document is a companion of the Non-Linear Circulatory Model. The directions for making modifications on the model are included. This document and other related software may be downloaded from the site below via World Wide Web: http://www.rpi.edu/dept/biomed/WWW/roy_sftwr.html Last Revised on November 16, 1995 ------------------------------------------------------------ Chapters: Chapter 1 - Modifications on Circulatory Model Chapter 2 - Modifications on Pharmacodynamics of DPM and SNP Chapter 3 - Miscellaneous Modifications ------------------------------------------------------------ 1.0 - MODIFICATIONS ON CIRCULATORY MODEL 1.1 Modifications of Circulatory Parameters At the beginning of the simulation, users are prompted to enter the file name for the circulatory parameter (*.nlm) This parameter set determines the initial conditions of the patient which may be altered to represent different patient types. It may be of interest to consider a different level of cardiac failure when testing the robustness of the controller. The circulatory parameter sets (*.nlm) provided with the program may be used as examples for such modifications. A total of 16 variables are read in by the program. These variables are: VARIABLE NAME DESCRIPTIONS --------------------------------------------------------- emax_base0 maximum base cardiac elastance vol[1].lvent left ventricular blood volume vol[1].art1 aorta blood volume vol[1].art2 arterial blood volume vol[1].ven large venous blood volume vol[1].rvent right ventricular blood volume vol[1].part pulmonary arterial blood volume vol[1].pven pulmonary venous blood volume flo[1].art1 aorta blood flow from left ventricule bfc output of baroreflex function curve mean_ap mean arterial pressure mean_pap mean pulmonary arterial pressure cardiac_out cardiac output (l/min) stroke_vol[lv] left ventricular stroke volume stroke_vol[rv] right ventricular stroke volume mean_pvp mean pulmonary venous pressure snp_sensitivity patient sensitivity to SNP Modifications on emax_base0 determines the severity of cardiac failure. However, it will be appropriate to modify other associated initial variables, such as the initial blood volume in different compartments to represent the actual state of congestion. Nevertheless, the model will re-distribute the blood volume after the simulation has started. Nominal values of these variables for a healthy dog and for a dog suffering from severe CHF (having only 21.4% of normal heart contractility) would be: Variables Healthy Dog Dog w/ severe CHF --------------------------------------------------------- emax_base0 7.0 1.5 vol[1].lvent 49.813 67.455 vol[1].art1 120.022 102.694 vol[1].art2 125.329 122.54 vol[1].ven 908.138 773.824 vol[1].rvent 58.18 48.239 vol[1].part 24.428 49.677 vol[1].pven 64.097 185.569 flo[1].art1 12.77 18.677 bfc 0.496074 0.079442 mean_ap 119.749 80.894 mean_pap 18.35 43.6 cardiac_out 4.626 1.0228 stroke_vol[lv] 2.3658 6.3123 stroke_vol[rv] 19.6511 6.3123 mean_pvp 19.6511 6.303 snp_sensitivity 1.0 1.0 snp_sensitivity is to be determined by the user. Default value is 1.0 For more information on snp_sensitivity, please refer to Section 2.1.1 The function which handles the actual readings of the parameter set is read_init_states. To alter these values, a text editor would be required. New parameter sets may be created or old parameter sets with file extension *.nlm may be modified. When the program is started, be sure to enter the file name of the altered parameter sets when prompted. 2.0 MODIFICATIONS ON PHARMACODYNAMICS OF DPM AND SNP 2.1 Modifying Variables of Michaelis Menten Equation There are several parameters which may be tuned to alter the pharmacodynamics of the drugs. 2.1.1 Modifying Drug Sensitivity The drug sensitivity may be modified by changing the scaling factor of the drug i50 value when k1 is calculated. For an example, deff[np_res].k1=deff[np_res].k2/(snp_sensitivity* deff[np_res].i50*time_const[np]/(85.0*60.0)); These equations are located in the beginning of the program. However, snp_sensitivity is read in as part of the circulatory parameter set. This value may be modified directly by editing the files with extension *.nlm The equation determines k1 for the effects of SNP on vascular resistance. Changing the variable snp_sensitivity to a higher number will reduce the sensitivity of the drug. Reducing the value will have an effect of increasing sensitivity to SNP. The default value for the sensitivity is 1.0 The results obtained from a range of SNP sensitivity between 0.5 and 3.0 have been found to reflect the actual variation of sensitivity found amoung the general population. 2.1.2 Modifying Values in Michaelis Menten Equation Several parameters may be modified to alter the pharmacodynamics of drugs. These parameters are initialized in the function: init_array_constants Parameters Descriptions --------------------------------------------------------- efmax Maximum Drug Effect pwr Empirical Power k2 Reaction Constant i50 Infusion Rate for 50% of Maximum Effect half_life Half Life of the Drug (sec.) Each set of these parameters applies to each of the drug effect sites. Nominal values of these variables for SNP on preipheral resistance (SNPr) & unstressed venous volume (SNPv), and DPM on cardiac contractility (DPMc) & vascular tonicity (DPMa) are: Parameters SNPr SNPv DPMc DPMa --------------------------------------------------------- efmax 0.635 225 1.3 0.5 pwr 1.0 1.0 6.11 1.45298 k2 0.025 0.00625 1.1315E-3 0.0125 i50 1.70597 0.03562 4.0 92.2604 half_life 15.0 15.0 120.0 120.0 The default parameters have been adjusted according to the laboratory experimental results and other expert literatures. Modifications of these variables should only be conducted when necessary. 2.2 Modifying Control Parameters Control parameters specified for the controller may be altered according to the rules set by the anesthesiologist. The parameters used for the embedded controller are: Parameters Desciptions ---------------------------------------------------------- snp_mindose Minimum amount of SNP allowed to be infused snp_maxdose Maximum amount of SNP allowed to be infused dpm_mindose Minimum amount of DPM allowed to be infused dpm_maxdose Maximum amount of DPM allowed to be infused snp_lim_incr Maximum SNP increment in every intervention snp_lim_drop Maximum SNP decrement in every intervention dpm_lim_incr Maximum DPM increment in every intervention dpm_lim_drop Maximum DPM decrement in every intervention dpm_wait Length of wait time for DPM to be effective snp_dwait Length of wait time for SNP to be effective The modification of these parameters require further consultations with an anesthesiologist. Considerations on patient safety must be made when these parameters are to be altered. A new control parameter set may be created with a text editor. The format should follow the enclosed control parameter set c5_35.fuz The function read_control_params does the actual readings of the parameter set after the user has specified the file name of the control parameter set. The enclosed control parameter set c5_35.fuz contains the recommended drug dosage changes. These values are Parameters Recommended Dosage/Wait Time ---------------------------------------------------------- snp_mindose 0.0 ug/kg/min snp_maxdose 10.0 ug/kg/min dpm_mindose 4.0 ug/kg/min dpm_maxdose 7.0 ug/kg/min snp_lim_incr 0.8 ug/kg/min snp_lim_drop 0.7 ug/kg/min dpm_lim_incr 5.0 ug/kg/min dpm_lim_drop 5.0 ug/kg/min dpm_wait 3.0 minutes snp_dwait 2.5 minutes 3.0 MISCELLANOUS MODIFICATIONS 3.1 Subject Weight Modification The default weight of the dog is 18 kg. This value may be modified to reflect a change in patient type. The variable to be changed is: weight_kg The consequence of changing the weight of the subject: - Weight is used to determine the amount of drug to be used based on the rate determined by the controller. The controller will yield drug infusion rate in the unit of ug/kg/min. Increasing subject weight will increase the amount of drug actually being infused into the patient. - Weight is used for the cardiac output conversion from l/min to ml/min/kg. The higher the weight that is specified, the higher ml/min/kg cardiac output will be shown to the user. - Weight may be used for the calculation of total body surface area which will determine the systemic vascular resistance (SVR). SVR is not used in the embedded two-input-two-output controller, but it may be used in more advanced controllers. 3.2 Advanced Modifications 3.2.1 Adding Additional Drugs Other drugs may be added to the current model. Depending on the given drug characteristics, different parameters within the model may modified accordingly. Most of the parameters recommended for consideration are listed: Parameters Description --------------------------------------------------------- res_sys_base0 base value of systemic resistance c_aor aorta compliance c_art arterial compliance l inductance of arota r_ven venous resistance c_ven venous compliance vol_art1_us aorta unstressed volume vol_art2_us arterial unstressed volume res_pul_base base value of pulmonary resistance c_pa pulmonary arterial compliance r_pv pulmonary venous resistance c_pv pulmonary venous compliance vol_part_us pulmonary arterial unstressed volume vol_pv_us pulmonary venous unstressed volume pres_crit_base base value of pulmonary critical pressure hrate_base base value of heart rate Example of adding additional drugs to the model such as nitroglycerin and phenylephrine may be downloaded from the Software Archive as well.