A system for non-invasively measuring cardiac output, stroke volume, or both comprises a pulse oximeter, a data processor, and means for generating an output reporting measured one or more CO or SV values to a user. A method for non-invasively measuring cardiac output, stroke volume, or both comprises collecting plethysmographic waveform data of a patient, providing the plethysmographic waveform to a data processor, and calculating measured values for CO or SV. The data processor comprises a mathematical model of the cardiovascular system integrated in a dynamic state space model (DSSM).