Esempio n. 1
0
        public void Add_Beat__Cardiac_Ventricular_Mechanical(Patient p)
        {
            switch (Lead.Value)
            {
            default: return;

            case Lead.Values.SPO2:
                Overwrite(Draw.SPO2_Rhythm(p, 1f));
                break;

            case Lead.Values.ABP:
                if (p.IABP_Active)
                {
                    Overwrite(Scale(p, Draw.IABP_ABP_Rhythm(p, 1f)));
                }
                else if (p.Cardiac_Rhythm.HasPulse_Ventricular)
                {
                    Overwrite(Scale(p, Draw.ABP_Rhythm(p, 1f)));
                }
                break;

            case Lead.Values.CVP:
                Overwrite(Draw.CVP_Rhythm(p, 1f));
                break;

            case Lead.Values.PA:        // Vary PA waveforms based on PA catheter placement
                if (p.PulmonaryArtery_Placement.Value == PulmonaryArtery_Rhythms.Values.Right_Atrium)
                {
                    Overwrite(Scale(p, Draw.CVP_Rhythm(p, 1f)));
                }
                else if (p.PulmonaryArtery_Placement.Value == PulmonaryArtery_Rhythms.Values.Right_Ventricle)
                {
                    Overwrite(Scale(p, Draw.RV_Rhythm(p, 1f)));
                }
                else if (p.PulmonaryArtery_Placement.Value == PulmonaryArtery_Rhythms.Values.Pulmonary_Artery)
                {
                    Overwrite(Scale(p, Draw.PA_Rhythm(p, 1f)));
                }
                else if (p.PulmonaryArtery_Placement.Value == PulmonaryArtery_Rhythms.Values.Pulmonary_Capillary_Wedge)
                {
                    Overwrite(Scale(p, Draw.PCW_Rhythm(p, 1f)));
                }
                break;

            case Lead.Values.ICP:
                Overwrite(Draw.ICP_Rhythm(p, 1f));
                break;

            case Lead.Values.IAP:
                Overwrite(Draw.IAP_Rhythm(p, 1f));
                break;
            }

            SortPoints();
        }