public void Add_Beat__Cardiac_Baseline(Patient patient) { SetForwardBuffer(patient); if (IsECG) { patient.Cardiac_Rhythm.ECG_Isoelectric(patient, this); } else if (Lead.Value != Leads.Values.RR && Lead.Value != Leads.Values.ETCO2) { // Fill waveform through to future buffer with flatline double fill = (lengthSeconds * forwardBuffer) - Last(Points).X; Concatenate(Waveforms.Waveform_Flatline(fill > patient.HR_Seconds ? fill : patient.HR_Seconds, 0f)); } if (Lead.Value == Leads.Values.CVP) { if (patient.Cardiac_Rhythm.HasPulse_Atrial && !patient.Cardiac_Rhythm.HasPulse_Ventricular) { Overwrite(Waveforms.CVP_Rhythm(patient, 0.25f)); } else if (!patient.Cardiac_Rhythm.HasPulse_Atrial && patient.Cardiac_Rhythm.HasPulse_Ventricular) { Overwrite(Waveforms.CVP_Rhythm(patient, 0.5f)); } else if (patient.Cardiac_Rhythm.HasPulse_Atrial && patient.Cardiac_Rhythm.HasPulse_Ventricular) { Overwrite(Waveforms.CVP_Rhythm(patient, 1f)); } } }
public void Add_Beat__Cardiac_Pacemaker(Patient patient) { if (IsECG) { Overwrite(Waveforms.ECG_Pacemaker(patient, Lead)); } }
public void Add_Beat__Cardiac_Defibrillation(Patient patient) { if (IsECG) { Overwrite(Waveforms.ECG_Defibrillation(patient, Lead)); } }
public void Add_Beat__Respiratory_Expiration(Patient patient) { switch (Lead.Value) { default: break; case Leads.Values.RR: Overwrite(Waveforms.RR_Rhythm(patient, false)); break; case Leads.Values.ETCO2: Overwrite(Waveforms.ETCO2_Rhythm(patient)); break; } }
public void Add_Beat__Respiratory_Inspiration(Patient patient) { switch (Lead.Value) { default: break; case Leads.Values.RR: Overwrite(Waveforms.RR_Rhythm(patient, true)); break; case Leads.Values.ETCO2: break; // End-tidal waveform is only present on expiration!! Is flatline on inspiration. } }
public void Add_Beat__Respiratory_Baseline(Patient patient) { SetForwardBuffer(patient); if (Lead.Value == Leads.Values.RR || Lead.Value == Leads.Values.ETCO2) { // Fill waveform through to future buffer with flatline double fill = (lengthSeconds * forwardBuffer) - Last(Points).X; Concatenate(Waveforms.Waveform_Flatline(fill > patient.RR_Seconds ? fill : patient.RR_Seconds, 0f)); } }
public void Add_Beat__Cardiac_Ventricular(Patient patient) { if (IsECG) { patient.Cardiac_Rhythm.ECG_Ventricular(patient, this); } else if (Lead.Value == Leads.Values.SPO2 && patient.Cardiac_Rhythm.HasPulse_Ventricular) { Overwrite(Waveforms.SPO2_Rhythm(patient, 1f)); } else if (Lead.Value == Leads.Values.ABP) { if (patient.IABP_Active) { Overwrite(Waveforms.IABP_ABP_Rhythm(patient, 1f)); } else if (patient.Cardiac_Rhythm.HasPulse_Ventricular) { Overwrite(Waveforms.ABP_Rhythm(patient, 1f)); } } else if (Lead.Value == Leads.Values.PA && patient.Cardiac_Rhythm.HasPulse_Ventricular) { Overwrite(Waveforms.PA_Rhythm(patient, 1f)); } else if (Lead.Value == Leads.Values.ICP && patient.Cardiac_Rhythm.HasPulse_Ventricular) { Overwrite(Waveforms.ICP_Rhythm(patient, 1f)); } else if (Lead.Value == Leads.Values.IAP && patient.Cardiac_Rhythm.HasPulse_Ventricular) { Overwrite(Waveforms.IAP_Rhythm(patient, 1f)); } if (Lead.Value == Leads.Values.IABP && patient.IABP_Active) { if (patient.Cardiac_Rhythm.HasWaveform_Ventricular && patient.IABP_Trigger == "ECG") { // ECG Trigger works only if ventricular ECG waveform Overwrite(Waveforms.IABP_Balloon_Rhythm(patient, 1f)); } else if (patient.Cardiac_Rhythm.HasPulse_Ventricular && patient.IABP_Trigger == "Pressure") { // Pressure Trigger works only if ventricular pressure impulse Overwrite(Waveforms.IABP_Balloon_Rhythm(patient, 1f)); } } }