public static PNHResult GetResult(PNHTestOrder pnhTestOrder, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            PNHResult result = new PNHResult();
            List<YellowstonePathology.Business.Test.AccessionOrder> accessionOrders = result.GetPreviousAccessions(accessionOrder.PatientId);

            result.SetTotals(pnhTestOrder);

            if (result.IsNegativeWithPreviousPositiveResult(accessionOrders, pnhTestOrder.MasterAccessionNo, pnhTestOrder.OrderDate.Value) == true)
            {
                result = new PNHNegativeWithPreviousPositiveResult();
            }
            else if (result.IsPersistentResult(accessionOrders, pnhTestOrder.MasterAccessionNo, pnhTestOrder.OrderDate.Value) == true)
            {
                result = new PNHPersistentPositiveResult();
            }
            else if (result.IsNegativeResult == true)
            {
                result = new PNHNegativeResult();
            }
            else if (result.IsSmallPositiveResult == true)
            {
                result = new PNHSmallPositiveResult();
            }
            else if (result.IsSignificantPositiveResult == true)
            {
                result = new PNHSignificantPositiveResult();
            }
            else if (result.IsGpiDeficientResult == true)
            {
                result = new PNHGpiDeficientResult();
            }
            result.SetTotals(pnhTestOrder);
            return result;
        }
示例#2
0
        public static PNHResult GetResult(PNHTestOrder pnhTestOrder, YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            PNHResult result = new PNHResult();
            List <YellowstonePathology.Business.Test.AccessionOrder> accessionOrders = result.GetPreviousAccessions(accessionOrder.PatientId);

            result.SetTotals(pnhTestOrder);

            if (result.IsNegativeWithPreviousPositiveResult(accessionOrders, pnhTestOrder.MasterAccessionNo, pnhTestOrder.OrderDate.Value) == true)
            {
                result = new PNHNegativeWithPreviousPositiveResult();
            }
            else if (result.IsPersistentResult(accessionOrders, pnhTestOrder.MasterAccessionNo, pnhTestOrder.OrderDate.Value) == true)
            {
                result = new PNHPersistentPositiveResult();
            }
            else if (result.IsNegativeResult == true)
            {
                result = new PNHNegativeResult();
            }
            else if (result.IsSmallPositiveResult == true)
            {
                result = new PNHSmallPositiveResult();
            }
            else if (result.IsSignificantPositiveResult == true)
            {
                result = new PNHSignificantPositiveResult();
            }
            else if (result.IsGpiDeficientResult == true)
            {
                result = new PNHGpiDeficientResult();
            }
            result.SetTotals(pnhTestOrder);
            return(result);
        }
示例#3
0
        private void SetPreviousResults()
        {
            PNHResult pnhResult = new PNHResult();
            List <YellowstonePathology.Business.Test.AccessionOrder> accessionOrders = pnhResult.GetPreviousAccessions(this.m_AccessionOrder.PatientId);
            List <PNHTestOrder> pnhTestOrders = pnhResult.GetPreviousPanelSetOrders(accessionOrders, this.m_PanelSetOrder.MasterAccessionNo, this.m_PanelSetOrder.OrderDate.Value);
            string dateString = string.Empty;
            string rbcString  = string.Empty;
            string monoString = string.Empty;
            string granString = string.Empty;

            if (pnhTestOrders.Count > 0)
            {
                pnhResult.SetTotals(pnhTestOrders[0]);
                dateString = pnhTestOrders[0].FinalDate.Value.ToShortDateString();
                rbcString  = pnhResult.RedBloodTotal.ToString("F") + "%";
                granString = pnhResult.GranulocytesTotal.ToString("F") + "%";
                monoString = pnhResult.MonocytesTotal.ToString("F") + "%";
            }
            this.ReplaceText("p_date_1", dateString);
            this.ReplaceText("rbc1_rbc2_p1", rbcString);
            this.ReplaceText("g2_g3_p1", granString);
            this.ReplaceText("m2_m3_p1", monoString);

            dateString = string.Empty;
            rbcString  = string.Empty;
            monoString = string.Empty;
            granString = string.Empty;
            if (pnhTestOrders.Count > 1)
            {
                pnhResult.SetTotals(pnhTestOrders[1]);
                dateString = pnhTestOrders[1].FinalDate.Value.ToShortDateString();
                rbcString  = pnhResult.RedBloodTotal.ToString("F") + "%";
                granString = pnhResult.GranulocytesTotal.ToString("F") + "%";
                monoString = pnhResult.MonocytesTotal.ToString("F") + "%";
            }
            this.ReplaceText("p_date_2", dateString);
            this.ReplaceText("rbc1_rbc2_p2", rbcString);
            this.ReplaceText("g2_g3_p2", granString);
            this.ReplaceText("m2_m3_p2", monoString);

            dateString = string.Empty;
            rbcString  = string.Empty;
            monoString = string.Empty;
            granString = string.Empty;
            if (pnhTestOrders.Count > 2)
            {
                pnhResult.SetTotals(pnhTestOrders[2]);
                dateString = pnhTestOrders[2].FinalDate.Value.ToShortDateString();
                rbcString  = pnhResult.RedBloodTotal.ToString("F") + "%";
                granString = pnhResult.GranulocytesTotal.ToString("F") + "%";
                monoString = pnhResult.MonocytesTotal.ToString("F") + "%";
            }
            this.ReplaceText("p_date_3", dateString);
            this.ReplaceText("rbc1_rbc2_p3", rbcString);
            this.ReplaceText("g2_g3_p3", granString);
            this.ReplaceText("m2_m3_p3", monoString);
        }
示例#4
0
        private void SetPositiveResults(bool needsPreviousValues)
        {
            PNHResult pnhResult = new PNHResult();

            pnhResult.SetTotals((PNHTestOrder)this.m_PanelSetOrder);
            this.ReplaceText("rbc2_rbc3", pnhResult.RedBloodTotal.ToString("F") + "%");
            this.ReplaceText("gran_t2_t3", pnhResult.GranulocytesTotal.ToString("F") + "%");
            this.ReplaceText("mono_t2_t3", pnhResult.MonocytesTotal.ToString("F") + "%");

            this.ReplaceText("rbc_3", "Type III (complete CD59 deficiency) = " + pnhResult.RedBloodCellsTypeIIIResult.ToString("F") + "%");
            this.ReplaceText("rbc_2", "Type II (partial CD59 deficiency) = " + pnhResult.RedBloodCellsTypeIIResult.ToString("F") + "%");

            this.ReplaceText("gran_3", "TypeIII (complete FLAER/CD24 deficiency) = " + pnhResult.GranulocytesTypeIIIResult.ToString("F") + "%");
            if (pnhResult.GranulocytesTypeIIResult > 0.0m && pnhResult.GranulocytesTypeIIIResult > 0.0m)
            {
                this.ReplaceText("gran_2", "TypeII (partial FLAER/CD24 deficiency) = " + pnhResult.GranulocytesTypeIIResult.ToString("F") + "%");
            }
            else
            {
                this.DeleteRow("gran_2");
            }

            this.ReplaceText("mono_3", "TypeIII (complete FLAER/CD14 deficiency) = " + pnhResult.MonocytesTypeIIIResult.ToString("F") + "%");
            if (pnhResult.MonocytesTypeIIResult > 0.0m)
            {
                this.ReplaceText("mono_2", "TypeII (partial FLAER/CD14 deficiency) = " + pnhResult.MonocytesTypeIIResult.ToString("F") + "%");
            }
            else
            {
                this.DeleteRow("mono_2");
            }

            if (needsPreviousValues)
            {
                string dateString = string.Empty;
                if (this.m_PanelSetOrder.FinalDate.HasValue)
                {
                    dateString = m_PanelSetOrder.FinalDate.Value.ToShortDateString();
                }
                this.ReplaceText("current_date", dateString);
                this.ReplaceText("rbc1_rbc2_c", pnhResult.RedBloodTotal.ToString("F") + "%");
                this.ReplaceText("g2_g3_c", pnhResult.GranulocytesTotal.ToString("F") + "%");
                this.ReplaceText("m2_m3_c", pnhResult.MonocytesTotal.ToString("F") + "%");
                this.SetPreviousResults();
            }
        }
示例#5
0
        private void SetPreviousResults(XElement document, PNHTestOrder testOrder)
        {
            PNHResult pnhResult = new PNHResult();
            List <YellowstonePathology.Business.Test.AccessionOrder> accessionOrders = pnhResult.GetPreviousAccessions(this.m_AccessionOrder.PatientId);
            List <PNHTestOrder> pnhTestOrders = pnhResult.GetPreviousPanelSetOrders(accessionOrders, testOrder.MasterAccessionNo, testOrder.OrderDate.Value);

            for (int idx = 0; idx < pnhTestOrders.Count; idx++)
            {
                if (idx > 2)
                {
                    break;
                }

                pnhResult.SetTotals(pnhTestOrders[idx]);
                this.AddNextObxElement("Previous Result: " + pnhTestOrders[idx].FinalDate.Value.ToShortDateString(), document, "F");
                this.AddNextObxElement("RBC: " + pnhResult.RedBloodTotal.ToString("F") + "%", document, "F");
                this.AddNextObxElement("WBC-Granulocytes: " + pnhResult.GranulocytesTotal.ToString("F") + "%", document, "F");
                this.AddNextObxElement("WBC-Monocytes: " + pnhResult.MonocytesTotal.ToString("F") + "%", document, "F");
                this.AddNextObxElement("", document, "F");
            }
        }
示例#6
0
        private void PositiveToXml(XElement document, PNHTestOrder testOrder)
        {
            this.AddNextNteElement("Result: " + testOrder.Result, document);
            this.AddBlankNteElement(document);

            if (string.IsNullOrEmpty(testOrder.Comment) == false)
            {
                this.AddNextNteElement("Comment: ", document);
                this.AddNextNteElement(testOrder.Comment, document);
                this.AddBlankNteElement(document);
            }

            this.AddNextNteElement("Pathologist: " + testOrder.Signature, document);
            if (testOrder.FinalTime.HasValue == true)
            {
                this.AddNextNteElement("E-signed " + testOrder.FinalTime.Value.ToString("MM/dd/yyyy HH:mm"), document);
            }

            this.AddBlankNteElement(document);
            this.AddAmendments(document, testOrder);

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(testOrder.OrderedOn, testOrder.OrderedOnId);
            this.AddNextNteElement("Specimen Description: " + specimenOrder.Description, document);
            this.AddBlankNteElement(document);

            string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime);
            this.AddNextNteElement("Collection Date/Time: " + collectionDateTimeString, document);
            this.AddBlankNteElement(document);

            this.AddNextNteElement("Method: ", document);
            this.HandleLongString(testOrder.Method, document);
            this.AddBlankNteElement(document);

            PNHResult pnhResult = new PNHResult();
            pnhResult.SetTotals(testOrder);
            this.AddNextNteElement("Result Data:)", document);
            this.AddNextNteElement("RBC(Total)", document);
            this.AddNextNteElement("PNH Clone (Type II + Type III):", document);
            this.AddNextNteElement("Type III (complete CD59 deficiency) = " + pnhResult.RedBloodCellsTypeIIIResult.ToString("F") + "%", document);
            this.AddNextNteElement("Type II (partial CD59 deficiency) = " + pnhResult.RedBloodCellsTypeIIResult.ToString("F") + "%", document);
            this.AddNextNteElement("Result: " + pnhResult.RedBloodTotal.ToString("F") + "%", document);
            this.AddNextNteElement("", document);
            this.AddNextNteElement("WBC - Granulocytes(Total)", document);
            this.AddNextNteElement("PNH Clone (Type II + Type III):", document);
            this.AddNextNteElement("TypeIII (complete FLAER/CD24 deficiency) = " + pnhResult.GranulocytesTypeIIIResult.ToString("F") + "%", document);
            if (pnhResult.GranulocytesTypeIIResult > 0.0m && pnhResult.GranulocytesTypeIIIResult > 0.0m)
            {
                this.AddNextNteElement("TypeII (partial FLAER/CD24 deficiency) = " + pnhResult.GranulocytesTypeIIResult.ToString("F") + "%", document);
            }

            this.AddNextNteElement("Result: " + pnhResult.GranulocytesTotal.ToString("F") + "%", document);
            this.AddNextNteElement("", document);
            this.AddNextNteElement("WBC-Monocytes (Total)", document);
            this.AddNextNteElement("TypeIII (complete FLAER/CD14 deficiency) = " + pnhResult.MonocytesTypeIIIResult.ToString("F") + "%", document);
            if (pnhResult.MonocytesTypeIIResult > 0.0m)
            {
                this.AddNextNteElement("TypeII (partial FLAER/CD14 deficiency) = " + pnhResult.MonocytesTypeIIResult.ToString("F") + "%", document);
            }

            this.AddNextNteElement("Result: " + pnhResult.MonocytesTotal.ToString("F") + "%", document);
            this.AddBlankNteElement(document);

            if (testOrder.ResultCode == PNHPersistentPositiveResult.PNHPersistentPositiveResultResultCode || testOrder.ResultCode == PNHNegativeWithPreviousPositiveResult.PNHNegativeWithPreviousPositiveResultResultCode)
            {
                string dateString = string.Empty;
                if (testOrder.FinalDate.HasValue)
                {
                    dateString = testOrder.FinalDate.Value.ToShortDateString();
                }

                this.AddNextNteElement("Current Result: " + dateString, document);
                this.AddNextNteElement("RBC: " + pnhResult.RedBloodTotal.ToString("F") + "%", document);
                this.AddNextNteElement("WBC-Granulocytes: " + pnhResult.GranulocytesTotal.ToString("F") + "%", document);
                this.AddNextNteElement("WBC-Monocytes: " + pnhResult.MonocytesTotal.ToString("F") + "%", document);
                this.AddBlankNteElement(document);

                this.SetPreviousResults(document, testOrder);
            }

            this.AddNextNteElement("References: ", document);
            this.HandleLongString(testOrder.ReportReferences, document);

            this.AddBlankNteElement(document);
            this.HandleLongString(testOrder.ASRComment, document);
            this.AddBlankNteElement(document);

            string locationPerformed = testOrder.GetLocationPerformedComment();
            this.HandleLongString(locationPerformed, document);
            this.AddBlankNteElement(document);
        }
示例#7
0
        private void SetPreviousResults(XElement document, PNHTestOrder testOrder)
        {
            PNHResult pnhResult = new PNHResult();
            List<YellowstonePathology.Business.Test.AccessionOrder> accessionOrders = pnhResult.GetPreviousAccessions(this.m_AccessionOrder.PatientId);
            List<PNHTestOrder> pnhTestOrders = pnhResult.GetPreviousPanelSetOrders(accessionOrders, testOrder.MasterAccessionNo, testOrder.OrderDate.Value);

            for (int idx = 0; idx < pnhTestOrders.Count; idx++)
            {
                if (idx > 2) break;

                pnhResult.SetTotals(pnhTestOrders[idx]);
                this.AddNextNteElement("Previous Result: " + pnhTestOrders[idx].FinalDate.Value.ToShortDateString(), document);
                this.AddNextNteElement("RBC: " + pnhResult.RedBloodTotal.ToString("F") + "%", document);
                this.AddNextNteElement("WBC-Granulocytes: " + pnhResult.GranulocytesTotal.ToString("F") + "%", document);
                this.AddNextNteElement("WBC-Monocytes: " + pnhResult.MonocytesTotal.ToString("F") + "%", document);
                this.AddBlankNteElement(document);
            }
        }
示例#8
0
        private void PositiveToXml(XElement document, PNHTestOrder testOrder)
        {
            this.AddHeader(document, testOrder, "PNH, Highly Sensitive(FLAER)");
            this.AddNextObxElement("", document, "F");

            this.AddNextObxElement("Result: " + testOrder.Result, document, "F");
            this.AddNextObxElement("", document, "F");

            if (string.IsNullOrEmpty(testOrder.Comment) == false)
            {
                this.AddNextObxElement("Comment: ", document, "F");
                this.HandleLongString(testOrder.Comment, document, "F");
                this.AddNextObxElement("", document, "F");
            }

            this.AddNextObxElement("Pathologist: " + testOrder.Signature, document, "F");
            if (testOrder.FinalTime.HasValue == true)
            {
                this.AddNextObxElement("E-signed " + testOrder.FinalTime.Value.ToString("MM/dd/yyyy HH:mm"), document, "F");
            }
            this.AddNextObxElement("", document, "F");
            this.AddAmendments(document);

            YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrder(testOrder.OrderedOn, testOrder.OrderedOnId);
            this.AddNextObxElement("Specimen Description: " + specimenOrder.Description, document, "F");
            this.AddNextObxElement("", document, "F");

            string collectionDateTimeString = YellowstonePathology.Business.Helper.DateTimeExtensions.CombineDateAndTime(specimenOrder.CollectionDate, specimenOrder.CollectionTime);

            this.AddNextObxElement("Collection Date/Time: " + collectionDateTimeString, document, "F");
            this.AddNextObxElement(string.Empty, document, "F");

            this.AddNextObxElement("Method: ", document, "F");
            this.HandleLongString(testOrder.Method, document, "F");
            this.AddNextObxElement("", document, "F");

            PNHResult pnhResult = new PNHResult();

            pnhResult.SetTotals(testOrder);
            this.AddNextObxElement("Result Data:)", document, "F");
            this.AddNextObxElement("RBC(Total)", document, "F");
            this.AddNextObxElement("PNH Clone (Type II + Type III):", document, "F");
            this.AddNextObxElement("Type III (complete CD59 deficiency) = " + pnhResult.RedBloodCellsTypeIIIResult.ToString("F") + "%", document, "F");
            this.AddNextObxElement("Type II (partial CD59 deficiency) = " + pnhResult.RedBloodCellsTypeIIResult.ToString("F") + "%", document, "F");
            this.AddNextObxElement("Result: " + pnhResult.RedBloodTotal.ToString("F") + "%", document, "F");
            this.AddNextObxElement("", document, "F");
            this.AddNextObxElement("WBC - Granulocytes(Total)", document, "F");
            this.AddNextObxElement("PNH Clone (Type II + Type III):", document, "F");
            this.AddNextObxElement("TypeIII (complete FLAER/CD24 deficiency) = " + pnhResult.GranulocytesTypeIIIResult.ToString("F") + "%", document, "F");
            if (pnhResult.GranulocytesTypeIIResult > 0.0m && pnhResult.GranulocytesTypeIIIResult > 0.0m)
            {
                this.AddNextObxElement("TypeII (partial FLAER/CD24 deficiency) = " + pnhResult.GranulocytesTypeIIResult.ToString("F") + "%", document, "F");
            }
            this.AddNextObxElement("Result: " + pnhResult.GranulocytesTotal.ToString("F") + "%", document, "F");
            this.AddNextObxElement("", document, "F");
            this.AddNextObxElement("WBC-Monocytes (Total)", document, "F");
            this.AddNextObxElement("TypeIII (complete FLAER/CD14 deficiency) = " + pnhResult.MonocytesTypeIIIResult.ToString("F") + "%", document, "F");
            if (pnhResult.MonocytesTypeIIResult > 0.0m)
            {
                this.AddNextObxElement("TypeII (partial FLAER/CD14 deficiency) = " + pnhResult.MonocytesTypeIIResult.ToString("F") + "%", document, "F");
            }
            this.AddNextObxElement("Result: " + pnhResult.MonocytesTotal.ToString("F") + "%", document, "F");
            this.AddNextObxElement("", document, "F");

            if (testOrder.ResultCode == PNHPersistentPositiveResult.PNHPersistentPositiveResultResultCode || testOrder.ResultCode == PNHNegativeWithPreviousPositiveResult.PNHNegativeWithPreviousPositiveResultResultCode)
            {
                string dateString = string.Empty;
                if (testOrder.FinalDate.HasValue)
                {
                    dateString = testOrder.FinalDate.Value.ToShortDateString();
                }
                this.AddNextObxElement("Current Result: " + dateString, document, "F");
                this.AddNextObxElement("RBC: " + pnhResult.RedBloodTotal.ToString("F") + "%", document, "F");
                this.AddNextObxElement("WBC-Granulocytes: " + pnhResult.GranulocytesTotal.ToString("F") + "%", document, "F");
                this.AddNextObxElement("WBC-Monocytes: " + pnhResult.MonocytesTotal.ToString("F") + "%", document, "F");
                this.AddNextObxElement("", document, "F");

                this.SetPreviousResults(document, testOrder);
            }


            this.AddNextObxElement("References: ", document, "F");
            this.HandleLongString(testOrder.ReportReferences, document, "F");

            this.AddNextObxElement("", document, "F");
            this.HandleLongString(testOrder.ASRComment, document, "F");
            this.AddNextObxElement("", document, "F");

            string locationPerformed = testOrder.GetLocationPerformedComment();

            this.HandleLongString(locationPerformed, document, "F");
            this.AddNextObxElement(string.Empty, document, "F");
        }
示例#9
0
        private void SetPreviousResults()
        {
            PNHResult pnhResult = new PNHResult();
            List<YellowstonePathology.Business.Test.AccessionOrder> accessionOrders = pnhResult.GetPreviousAccessions(this.m_AccessionOrder.PatientId);
            List<PNHTestOrder> pnhTestOrders = pnhResult.GetPreviousPanelSetOrders(accessionOrders, this.m_PanelSetOrder.MasterAccessionNo, this.m_PanelSetOrder.OrderDate.Value);
            string dateString = string.Empty;
            string rbcString = string.Empty;
            string monoString = string.Empty;
            string granString = string.Empty;
            if (pnhTestOrders.Count > 0)
            {
                pnhResult.SetTotals(pnhTestOrders[0]);
                dateString = pnhTestOrders[0].FinalDate.Value.ToShortDateString();
                rbcString = pnhResult.RedBloodTotal.ToString("F") + "%";
                granString = pnhResult.GranulocytesTotal.ToString("F") + "%";
                monoString = pnhResult.MonocytesTotal.ToString("F") + "%";
            }
            this.ReplaceText("p_date_1", dateString);
            this.ReplaceText("rbc1_rbc2_p1", rbcString);
            this.ReplaceText("g2_g3_p1", granString);
            this.ReplaceText("m2_m3_p1", monoString);

            dateString = string.Empty;
            rbcString = string.Empty;
            monoString = string.Empty;
            granString = string.Empty;
            if (pnhTestOrders.Count > 1)
            {
                pnhResult.SetTotals(pnhTestOrders[1]);
                dateString = pnhTestOrders[1].FinalDate.Value.ToShortDateString();
                rbcString = pnhResult.RedBloodTotal.ToString("F") + "%";
                granString = pnhResult.GranulocytesTotal.ToString("F") + "%";
                monoString = pnhResult.MonocytesTotal.ToString("F") + "%";
            }
            this.ReplaceText("p_date_2", dateString);
            this.ReplaceText("rbc1_rbc2_p2", rbcString);
            this.ReplaceText("g2_g3_p2", granString);
            this.ReplaceText("m2_m3_p2", monoString);

            dateString = string.Empty;
            rbcString = string.Empty;
            monoString = string.Empty;
            granString = string.Empty;
            if (pnhTestOrders.Count > 2)
            {
                pnhResult.SetTotals(pnhTestOrders[2]);
                dateString = pnhTestOrders[2].FinalDate.Value.ToShortDateString();
                rbcString = pnhResult.RedBloodTotal.ToString("F") + "%";
                granString = pnhResult.GranulocytesTotal.ToString("F") + "%";
                monoString = pnhResult.MonocytesTotal.ToString("F") + "%";
            }
            this.ReplaceText("p_date_3", dateString);
            this.ReplaceText("rbc1_rbc2_p3", rbcString);
            this.ReplaceText("g2_g3_p3", granString);
            this.ReplaceText("m2_m3_p3", monoString);
        }
示例#10
0
        private void SetPositiveResults(bool needsPreviousValues)
        {
            PNHResult pnhResult = new PNHResult();
            pnhResult.SetTotals((PNHTestOrder)this.m_PanelSetOrder);
            this.ReplaceText("rbc2_rbc3", pnhResult.RedBloodTotal.ToString("F") + "%");
            this.ReplaceText("gran_t2_t3", pnhResult.GranulocytesTotal.ToString("F") + "%");
            this.ReplaceText("mono_t2_t3", pnhResult.MonocytesTotal.ToString("F") + "%");

            this.ReplaceText("rbc_3", "Type III (complete CD59 deficiency) = " + pnhResult.RedBloodCellsTypeIIIResult.ToString("F") + "%");
            this.ReplaceText("rbc_2", "Type II (partial CD59 deficiency) = " + pnhResult.RedBloodCellsTypeIIResult.ToString("F") + "%");

            this.ReplaceText("gran_3", "TypeIII (complete FLAER/CD24 deficiency) = " + pnhResult.GranulocytesTypeIIIResult.ToString("F") + "%");
            if (pnhResult.GranulocytesTypeIIResult > 0.0m && pnhResult.GranulocytesTypeIIIResult > 0.0m)
            {
                this.ReplaceText("gran_2", "TypeII (partial FLAER/CD24 deficiency) = " + pnhResult.GranulocytesTypeIIResult.ToString("F") + "%");
            }
            else
            {
                this.DeleteRow("gran_2");
            }

            this.ReplaceText("mono_3", "TypeIII (complete FLAER/CD14 deficiency) = " + pnhResult.MonocytesTypeIIIResult.ToString("F") + "%");
            if (pnhResult.MonocytesTypeIIResult > 0.0m)
            {
                this.ReplaceText("mono_2", "TypeII (partial FLAER/CD14 deficiency) = " + pnhResult.MonocytesTypeIIResult.ToString("F") + "%");
            }
            else
            {
                this.DeleteRow("mono_2");
            }

            if (needsPreviousValues)
            {
                string dateString = string.Empty;
                if(this.m_PanelSetOrder.FinalDate.HasValue)
                {
                    dateString = m_PanelSetOrder.FinalDate.Value.ToShortDateString();
                }
                this.ReplaceText("current_date", dateString);
                this.ReplaceText("rbc1_rbc2_c", pnhResult.RedBloodTotal.ToString("F") + "%");
                this.ReplaceText("g2_g3_c", pnhResult.GranulocytesTotal.ToString("F") + "%");
                this.ReplaceText("m2_m3_c", pnhResult.MonocytesTotal.ToString("F") + "%");
                this.SetPreviousResults();
            }
        }