tanjera / infirmary-integrated

Medical device simulator for training healthcare professionals.
http://www.infirmary-integrated.com/
Other
42 stars 5 forks source link

Pulsatile Waveform Length #197

Closed tanjera closed 3 months ago

tanjera commented 1 year ago

Pulsatile waveforms scale in length (time: x axis) based on HR to accomodate tachycardia but also to allow for decent systolic-diastolic ratios in normocardia and bradycardia... in profound bradycardia, this can lead to unrealistically elongated pulsatile waveforms... need to clamp to a realistic length.

tanjera commented 1 year ago

Measuring direct tracings show that systolic features (upstroke to dicrotic notch) ~ 23% of cardiac cycle in bradycardia ~ 44 bpm (sample image in Atlas of Cardiovascular Monitoring by Mark, 1998, p.94). This would accurately prevent bradycardia from elongating the entire waveform uncontrollably.

Consider modeling both femoral and aortic pressures as options present in hemodynamics panel? But would need to delay the dicrotic notch compared to the aortic tracing... For example:

image (Mark, 1998, p.95)

Judging by the rough typical model of systole being ~33% of the cardiac cycle; this could be the target in normocardia unless a better implementable model exists.

tanjera commented 1 year ago

If modeling both aortic arch and femoral artery... also consider changes in initiation of systole (timer delay). Noted in graphic from Mark, 1998 but is clearer in image from Esper, S. A., & Pinsky, M. R. (2014). Arterial waveform analysis. Best Practice & Research Clinical Anaesthesiology, 28(4), 363–380. https://doi.org/10.1016/j.bpa.2014.08.002

tanjera commented 1 year ago

Can also consider modeling based on various factors included in:

image from Alastruey, J., Charlton, P. H., Bikia, V., Paliakaite, B., Hametner, B., Bruno, R. M., Mulder, M. P., Vennin, S., Piskin, S., Khir, A. W., Guala, A., Mayer, C. C., Mynard, J., Hughes, A. D., Segers, P., & Westerhof, B. E. (2023). Arterial pulse wave modeling and analysis for vascular-age studies: A review from VascAgeNet. American Journal of Physiology-Heart and Circulatory Physiology, 325(1), H1–H29. https://doi.org/10.1152/ajpheart.00705.2022

tanjera commented 1 year ago

Best way to model (for both bradycardia, tachycardia, etc) would be to split systolic and diastolic modeling routines, to draw systole as a finite (plotted!) waveform, complete the diacrotic notch using finite plotting, and then model the diastolic runoff as a geometric function with a consistent downward slope that ends at 0 mmHg. Then, on the following systole (regardless of heart rate), the next triggered beat could draw over the diastolic runoff.

This would work for arterial waveforms and plethysmography! And would dynamically draw accurately without clipping for heart rates up to ~170 bpm (assuming systolic time ~0.35 per tracings from Alastruey et al., 2023). Potential clipping (stacking systolic upstrokes/downstrokes) would still appear realistic but without diastolic runoff (as diastolic fill time would be reducing as well, systolic amplitude would drop per current modeling system).

Should also reference this for arterial and pulse oximetry timings: image from

And place dicrotic notch at 0.33 HR and at .66 SBP (maximum amplitude) per "approximately one-third of the heart period, and around one-third down the descending part of the wave (Fig. 5A and Fig. 6A; ages, 30–39 and 40–49 yr)." (Alastruey et al., 2023).

tanjera commented 1 year ago

Thoughts for implementation:

tanjera commented 3 months ago

This is actually true for all plotted waveforms (e.g. idioventricular rhythms).

To balance development time/effort against functional benefits, going to circumvent the modeling with some hard-coded time thresholds. Rather than model systole and diastole triggering as mentioned in https://github.com/tanjera/infirmary-integrated/issues/197#issuecomment-1613937728 it would reap bigger rewards quicker to just clamp draw times to realistic thresholds.

This is especially true for bradycardias which currently look horrendous with plotted waveforms stretching across 5 seconds.

tanjera commented 3 months ago

Plan for implementation

tanjera commented 3 months ago

Implemented in 66511cb