Esempio n. 1
0
        public void ToXml(XElement document)
        {
            XElement obrElement = new XElement("OBR");
            document.Add(obrElement);

            XElement obr01Element = new XElement("OBR.1");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.1.1", "1", obr01Element);
            obrElement.Add(obr01Element);

            if (this.m_SendUnsolicited == false)
            {
                XElement obr02Element = new XElement("OBR.2");
                YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.2.1", this.m_ExternalOrderId, obr02Element);
                obrElement.Add(obr02Element);
            }

            XElement obr03Element = new XElement("OBR.3");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.3.1", this.m_ReportNo, obr03Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.3.2", "YPILIS", obr03Element);
            obrElement.Add(obr03Element);

            XElement obr04Element = new XElement("OBR.4");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.1", this.m_UniversalService.UniversalServiceId, obr04Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.2", this.m_UniversalService.ServiceName, obr04Element);

            obrElement.Add(obr04Element);

            YellowstonePathology.Business.Helper.DateTimeJoiner collectionDateJoiner = new Business.Helper.DateTimeJoiner(this.m_CollectionDate.Value, "yyyyMMddHHmm", this.m_CollectionTime, "yyyyMMddHHmm");
            XElement obr07Element = new XElement("OBR.7");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.7.1", collectionDateJoiner.DisplayString, obr07Element);
            obrElement.Add(obr07Element);

            XElement obr14Element = new XElement("OBR.14");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.14.1",this.m_AccessionTime.Value.ToString(m_DateFormat) , obr14Element);
            obrElement.Add(obr14Element);

            XElement obr16Element = new XElement("OBR.16");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.1",this.m_OrderingPhysician.Npi.ToString() , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.2",this.m_OrderingPhysician.LastName , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.3",this.m_OrderingPhysician.FirstName , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.4",this.m_OrderingPhysician.MiddleInitial , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.5", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.6", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.7", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.8", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.9","NPI" , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.10", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.11", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.12", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.13", "NPI", obr16Element);
            obrElement.Add(obr16Element);

            XElement obr22Element = new XElement("OBR.22");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.22.1", DateTime.Now.ToString(m_DateFormat), obr22Element);
            obrElement.Add(obr22Element);

            XElement obr25Element = new XElement("OBR.25");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.25.1", this.m_ObservationResultStatus, obr25Element);
            obrElement.Add(obr25Element);
        }
Esempio n. 2
0
        public void ToXml(XElement document)
        {
            XElement obrElement = new XElement("OBR");

            document.Add(obrElement);

            XElement obr01Element = new XElement("OBR.1");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.1.1", "1", obr01Element);
            obrElement.Add(obr01Element);


            if (string.IsNullOrEmpty(this.m_ExternalOrderId) == false)
            {
                XElement obr02Element = new XElement("OBR.2");
                YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.2.1", this.m_ExternalOrderId, obr02Element);
                obrElement.Add(obr02Element);
            }

            XElement obr03Element = new XElement("OBR.3");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.3.1", this.m_ReportNo, obr03Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.3.2", "YPILIS", obr03Element);
            obrElement.Add(obr03Element);

            XElement obr04Element = new XElement("OBR.4");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.1", "PATH", obr04Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.2", "PATH", obr04Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.3", "Pathology", obr04Element);

            obrElement.Add(obr04Element);

            YellowstonePathology.Business.Helper.DateTimeJoiner collectionDateJoiner = new Business.Helper.DateTimeJoiner(this.m_CollectionDate.Value, "yyyyMMddHHmm", this.m_CollectionTime, "yyyyMMddHHmm");
            XElement obr07Element = new XElement("OBR.7");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.7.1", collectionDateJoiner.DisplayString, obr07Element);
            obrElement.Add(obr07Element);

            XElement obr14Element = new XElement("OBR.14");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.14.1", this.m_AccessionTime.Value.ToString(m_DateFormat), obr14Element);
            obrElement.Add(obr14Element);

            XElement obr16Element = new XElement("OBR.16");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.1", this.m_OrderingPhysician.Npi.ToString(), obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.2", this.m_OrderingPhysician.LastName, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.3", this.m_OrderingPhysician.FirstName, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.4", this.m_OrderingPhysician.MiddleInitial, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.5", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.6", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.7", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.8", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.9", "NPI", obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.10", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.11", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.12", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.13", "NPI", obr16Element);
            obrElement.Add(obr16Element);

            XElement obr20Element = new XElement("OBR.20");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.20.1", "PATH", obr20Element);
            obrElement.Add(obr20Element);

            XElement obr21Element = new XElement("OBR.21");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.21.1", "PATH", obr21Element);
            obrElement.Add(obr21Element);

            XElement obr22Element = new XElement("OBR.22");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.22.1", DateTime.Now.ToString(m_DateFormat), obr22Element);
            obrElement.Add(obr22Element);

            XElement obr25Element = new XElement("OBR.25");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.25.1", this.m_ObservationResultStatus, obr25Element);
            obrElement.Add(obr25Element);

            XElement obr32Element = new XElement("OBR.32");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.1", this.m_SigningPathologist.GetWPHMneumonic(), obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.2", this.m_SigningPathologist.LastName, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.3", this.m_SigningPathologist.FirstName, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.4", this.m_SigningPathologist.MiddleInitial, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.5", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.6", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.7", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.8", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.9", "NPI", obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.10", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.11", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.12", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.13", "NPI", obr32Element);
            obrElement.Add(obr32Element);

            XElement obr35Element = new XElement("OBR.35");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.35.1", "RRD", obr35Element);
            obrElement.Add(obr35Element);
        }
Esempio n. 3
0
        public AccessionOrderDataSheetDataSpecimenOrder(Specimen.Model.SpecimenOrder specimenOrder, ClientOrder.Model.ClientOrderCollection clientOrderCollection)
        {
            string specimenNumber      = specimenOrder.SpecimenNumber.ToString();
            string specimenDescription = specimenOrder.Description;

            this.m_Description = specimenNumber + ". " + specimenDescription;

            this.m_CollectionTime = string.Empty;
            if (specimenOrder.CollectionDate.HasValue == true)
            {
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(specimenOrder.CollectionDate.Value, specimenOrder.CollectionTime);
                this.m_CollectionTime = dateTimeJoiner.DisplayString;
            }
            else if (specimenOrder.CollectionTime.HasValue == true)
            {
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(specimenOrder.CollectionTime.Value, specimenOrder.CollectionTime);
                this.m_CollectionTime = dateTimeJoiner.DisplayString;
            }

            this.m_ReceivedIn    = string.IsNullOrEmpty(specimenOrder.ClientFixation) == false ? specimenOrder.ClientFixation : string.Empty;
            this.m_ProcessedIn   = string.IsNullOrEmpty(specimenOrder.LabFixation) == false ? specimenOrder.LabFixation : string.Empty;
            this.m_AccessionTime = specimenOrder.AccessionTime.HasValue ? specimenOrder.AccessionTime.Value.ToShortDateString() + " " + specimenOrder.AccessionTime.Value.ToShortTimeString() : string.Empty;
            this.m_Verified      = specimenOrder.Verified.ToString();
            this.m_VerifiedById  = specimenOrder.VerifiedById.ToString();
            this.m_VerifiedDate  = specimenOrder.VerifiedDate.HasValue ? specimenOrder.VerifiedDate.Value.ToShortDateString() + " " + specimenOrder.VerifiedDate.Value.ToShortTimeString() : string.Empty;

            List <ClientOrder.Model.ClientOrderDetail> clientOrderDetails = (from co in clientOrderCollection
                                                                             from cod in co.ClientOrderDetailCollection
                                                                             where cod.ContainerId == specimenOrder.ContainerId
                                                                             select cod).ToList <ClientOrder.Model.ClientOrderDetail>();

            if (clientOrderDetails.Count > 0)
            {
                ClientOrder.Model.ClientOrderDetail clientOrderDetail = clientOrderDetails[0];
                string clientSpecimenNumber = clientOrderDetail.SpecimenNumber.ToString();
                string clientDescription    = clientOrderDetail.Description;
                this.m_ClientDescription = clientSpecimenNumber + ". " + clientDescription;

                this.m_AccessionedAsDescription         = clientOrderDetail.DescriptionToAccession;
                this.m_AccessionedAsNumberedDescription = clientSpecimenNumber + ". " + this.m_AccessionedAsDescription;
                this.m_SpecialInstructions = string.IsNullOrEmpty(clientOrderDetail.SpecialInstructions) == false ? clientOrderDetail.SpecialInstructions : string.Empty;

                //this.m_SpecialInstructions = clientOrderDetail.OrderType;
                this.m_OrderType      = string.IsNullOrEmpty(clientOrderDetail.OrderType) == false ? clientOrderDetail.OrderType : string.Empty;
                this.m_CallbackNumber = string.IsNullOrEmpty(clientOrderDetail.CallbackNumber) == false ? clientOrderDetail.CallbackNumber : string.Empty;

                if (clientOrderDetail.CollectionDate.HasValue)
                {
                    this.m_CollectionDate = clientOrderDetail.CollectionDate.HasValue ? clientOrderDetail.CollectionDate.Value.ToShortDateString() + " " + clientOrderDetail.CollectionDate.Value.ToShortTimeString() : string.Empty;
                }

                this.m_SpecimenNumberMatchStatus      = string.IsNullOrEmpty(clientOrderDetail.SpecimenNumberMatchStatus) == false ? clientOrderDetail.SpecimenNumberMatchStatus : string.Empty;
                this.m_SpecimenDescriptionMatchStatus = string.IsNullOrEmpty(clientOrderDetail.SpecimenDescriptionMatchStatus) == false ? clientOrderDetail.SpecimenDescriptionMatchStatus : string.Empty;
                this.m_OrderedBy   = clientOrderDetail.OrderedBy;
                this.m_OrderTime   = clientOrderDetail.OrderTime.HasValue ? clientOrderDetail.OrderTime.Value.ToShortDateString() + " " + clientOrderDetail.OrderTime.Value.ToShortTimeString() : string.Empty;
                this.m_Accessioned = clientOrderDetail.Accessioned.ToString();
            }
            else
            {
                this.m_Description = "None";
                this.m_AccessionedAsDescription         = string.Empty;
                this.m_AccessionedAsNumberedDescription = string.Empty;
                this.m_SpecialInstructions            = string.Empty;
                this.m_OrderType                      = string.Empty;
                this.m_CallbackNumber                 = string.Empty;
                this.m_CollectionDate                 = string.Empty;
                this.m_SpecimenNumberMatchStatus      = string.Empty;
                this.m_SpecimenDescriptionMatchStatus = string.Empty;
                this.m_OrderedBy                      = string.Empty;
                this.m_OrderTime                      = string.Empty;
                this.m_Accessioned                    = string.Empty;
            }
        }
Esempio n. 4
0
        public void ToXml(XElement document)
        {
            XElement obrElement = new XElement("OBR");

            document.Add(obrElement);

            XElement obr01Element = new XElement("OBR.1");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.1.1", "1", obr01Element);
            obrElement.Add(obr01Element);

            if (this.m_SendUnsolicited == false)
            {
                XElement obr02Element = new XElement("OBR.2");
                YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.2.1", this.m_ExternalOrderId, obr02Element);
                obrElement.Add(obr02Element);
            }

            XElement obr03Element = new XElement("OBR.3");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.3.1", this.m_ReportNo, obr03Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.3.2", "YPILIS", obr03Element);
            obrElement.Add(obr03Element);

            XElement obr04Element = new XElement("OBR.4");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.1", this.m_UniversalService.UniversalServiceId, obr04Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.2", this.m_UniversalService.ServiceName, obr04Element);

            obrElement.Add(obr04Element);

            YellowstonePathology.Business.Helper.DateTimeJoiner collectionDateJoiner = new Business.Helper.DateTimeJoiner(this.m_CollectionDate.Value, "yyyyMMddHHmm", this.m_CollectionTime, "yyyyMMddHHmm");
            XElement obr07Element = new XElement("OBR.7");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.7.1", collectionDateJoiner.DisplayString, obr07Element);
            obrElement.Add(obr07Element);

            XElement obr14Element = new XElement("OBR.14");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.14.1", this.m_AccessionTime.Value.ToString(m_DateFormat), obr14Element);
            obrElement.Add(obr14Element);

            XElement obr16Element = new XElement("OBR.16");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.1", this.m_OrderingPhysician.Npi.ToString(), obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.2", this.m_OrderingPhysician.LastName, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.3", this.m_OrderingPhysician.FirstName, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.4", this.m_OrderingPhysician.MiddleInitial, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.5", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.6", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.7", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.8", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.9", "NPI", obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.10", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.11", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.12", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.13", "NPI", obr16Element);
            obrElement.Add(obr16Element);

            XElement obr22Element = new XElement("OBR.22");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.22.1", DateTime.Now.ToString(m_DateFormat), obr22Element);
            obrElement.Add(obr22Element);

            XElement obr25Element = new XElement("OBR.25");

            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.25.1", this.m_ObservationResultStatus, obr25Element);
            //YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.25.1", "F", obr25Element);
            obrElement.Add(obr25Element);
        }
        public AccessionOrderDataSheetDataSpecimenOrder(Specimen.Model.SpecimenOrder specimenOrder, ClientOrder.Model.ClientOrderCollection clientOrderCollection)
        {
            string specimenNumber = specimenOrder.SpecimenNumber.ToString();
            string specimenDescription = specimenOrder.Description;
            this.m_Description = specimenNumber + ". " + specimenDescription;

            this.m_CollectionTime = string.Empty;
            if (specimenOrder.CollectionDate.HasValue == true)
            {
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(specimenOrder.CollectionDate.Value, specimenOrder.CollectionTime);
                this.m_CollectionTime = dateTimeJoiner.DisplayString;
            }
            else if (specimenOrder.CollectionTime.HasValue == true)
            {
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(specimenOrder.CollectionTime.Value, specimenOrder.CollectionTime);
                this.m_CollectionTime = dateTimeJoiner.DisplayString;
            }

            this.m_ReceivedIn = string.IsNullOrEmpty(specimenOrder.ClientFixation) == false ? specimenOrder.ClientFixation : string.Empty;
            this.m_ProcessedIn = string.IsNullOrEmpty(specimenOrder.LabFixation) == false ? specimenOrder.LabFixation : string.Empty;
            this.m_AccessionTime = specimenOrder.AccessionTime.HasValue ? specimenOrder.AccessionTime.Value.ToShortDateString() + " " + specimenOrder.AccessionTime.Value.ToShortTimeString() : string.Empty;
            this.m_Verified = specimenOrder.Verified.ToString();
            this.m_VerifiedById = specimenOrder.VerifiedById.ToString();
            this.m_VerifiedDate = specimenOrder.VerifiedDate.HasValue ? specimenOrder.VerifiedDate.Value.ToShortDateString() + " " + specimenOrder.VerifiedDate.Value.ToShortTimeString() : string.Empty;

            List<ClientOrder.Model.ClientOrderDetail> clientOrderDetails = (from co in clientOrderCollection
                                                                            from cod in co.ClientOrderDetailCollection
                                                                            where cod.ContainerId == specimenOrder.ContainerId
                                                                            select cod).ToList<ClientOrder.Model.ClientOrderDetail>();
            if (clientOrderDetails.Count > 0)
            {
                ClientOrder.Model.ClientOrderDetail clientOrderDetail = clientOrderDetails[0];
                string clientSpecimenNumber = clientOrderDetail.SpecimenNumber.ToString();
                string clientDescription = clientOrderDetail.Description;
                this.m_ClientDescription = clientSpecimenNumber + ". " + clientDescription;

                this.m_AccessionedAsDescription = clientOrderDetail.DescriptionToAccession;
                this.m_AccessionedAsNumberedDescription = clientSpecimenNumber + ". " + this.m_AccessionedAsDescription;
                this.m_SpecialInstructions = string.IsNullOrEmpty(clientOrderDetail.SpecialInstructions) == false ? clientOrderDetail.SpecialInstructions : string.Empty;

                //this.m_SpecialInstructions = clientOrderDetail.OrderType;
                this.m_OrderType = string.IsNullOrEmpty(clientOrderDetail.OrderType) == false ? clientOrderDetail.OrderType : string.Empty;
                this.m_CallbackNumber = string.IsNullOrEmpty(clientOrderDetail.CallbackNumber) == false ? clientOrderDetail.CallbackNumber : string.Empty;

                if (clientOrderDetail.CollectionDate.HasValue)
                {
                    this.m_CollectionDate = clientOrderDetail.CollectionDate.HasValue ? clientOrderDetail.CollectionDate.Value.ToShortDateString() + " " + clientOrderDetail.CollectionDate.Value.ToShortTimeString() : string.Empty;
                }

                this.m_SpecimenNumberMatchStatus = string.IsNullOrEmpty(clientOrderDetail.SpecimenNumberMatchStatus) == false ? clientOrderDetail.SpecimenNumberMatchStatus : string.Empty;
                this.m_SpecimenDescriptionMatchStatus = string.IsNullOrEmpty(clientOrderDetail.SpecimenDescriptionMatchStatus) == false ? clientOrderDetail.SpecimenDescriptionMatchStatus : string.Empty;
                this.m_OrderedBy = clientOrderDetail.OrderedBy;
                this.m_OrderTime = clientOrderDetail.OrderTime.HasValue ? clientOrderDetail.OrderTime.Value.ToShortDateString() + " " + clientOrderDetail.OrderTime.Value.ToShortTimeString() : string.Empty;
                this.m_Accessioned = clientOrderDetail.Accessioned.ToString();
            }
            else
            {
                this.m_Description = "None";
                this.m_AccessionedAsDescription = string.Empty;
                this.m_AccessionedAsNumberedDescription = string.Empty;
                this.m_SpecialInstructions = string.Empty;
                this.m_OrderType = string.Empty;
                this.m_CallbackNumber = string.Empty;
                this.m_CollectionDate = string.Empty;
                this.m_SpecimenNumberMatchStatus = string.Empty;
                this.m_SpecimenDescriptionMatchStatus = string.Empty;
                this.m_OrderedBy = string.Empty;
                this.m_OrderTime = string.Empty;
                this.m_Accessioned = string.Empty;
            }
        }
        public AccessionOrderDataSheetData(XElement accessionOrderDocument, XElement specimenOrderDocument, XElement clientOrderDocument, XElement caseNotesDocument)
            : base("AccessionOrderDataSheet")
        {
            string   patientDisplayName = accessionOrderDocument.Element("PLastName").Value + ", " + accessionOrderDocument.Element("PFirstName").Value;
            string   patientBirthdate   = accessionOrderDocument.Element("PBirthdate").Value;
            DateTime aDate = DateTime.Parse(accessionOrderDocument.Element("AccessionDate").Value);
            DateTime date;
            DateTime?bDate = null;

            if (DateTime.TryParse(patientBirthdate, out date) == true)
            {
                bDate = date;
            }

            if (bDate.HasValue == true)
            {
                string pAge = this.GetAccessionAge(bDate, aDate);
                patientDisplayName += "(" + bDate.Value.ToShortDateString() + ", " + pAge + ", " + accessionOrderDocument.Element("PSex").Value + ")";
            }

            XElement patientNameElement = new XElement("PatientDisplayName", patientDisplayName);

            this.Add(patientNameElement);

            XElement ssnElement = new XElement("SSN", accessionOrderDocument.Element("PSSN").Value);

            this.Add(ssnElement);

            string   clientName        = accessionOrderDocument.Element("ClientName").Value;
            XElement clientNameElement = new XElement("ClientName", clientName);

            this.Add(clientNameElement);

            string   physicianName        = accessionOrderDocument.Element("PhysicianName").Value;
            XElement physicianNameElement = new XElement("PhysicianName", physicianName);

            this.Add(physicianNameElement);

            string   masterAccessionNo        = accessionOrderDocument.Element("MasterAccessionNo").Value;
            XElement masterAccessionNoElement = new XElement("MasterAccessionNo", masterAccessionNo);

            this.Add(masterAccessionNoElement);

            DateTime oDate            = DateTime.Parse(accessionOrderDocument.Element("CollectionDate").Value);
            string   orderDateString  = oDate.ToShortDateString();
            XElement orderDateElement = new XElement("OrderDate", orderDateString);

            this.Add(orderDateElement);

            XElement medRecordElement = new XElement("SvhMedicalRecord", accessionOrderDocument.Element("SvhMedicalRecord").Value);

            this.Add(medRecordElement);

            XElement accountNoElement = new XElement("SvhAccount", accessionOrderDocument.Element("SvhAccount").Value);

            this.Add(accountNoElement);

            string clinicalHistory       = string.Empty;
            string preOpDiagnosis        = string.Empty;
            string coSpecialInstructions = string.Empty;

            foreach (XElement clientElement in clientOrderDocument.Elements("ClientOrder"))
            {
                string clientClinicalHistory = clientElement.Element("ClinicalHistory").Value;

                string clientPreOpDiagnosis = string.Empty;
                if (clientElement.Element("PreOpDiagnosis") != null)
                {
                    clientPreOpDiagnosis = clientElement.Element("PreOpDiagnosis").Value;
                }

                if (string.IsNullOrEmpty(clinicalHistory) == true)
                {
                    if (string.IsNullOrEmpty(clientClinicalHistory) == false)
                    {
                        clinicalHistory = clientClinicalHistory;
                    }
                }

                if (string.IsNullOrEmpty(preOpDiagnosis) == true)
                {
                    if (string.IsNullOrEmpty(clientPreOpDiagnosis) == false)
                    {
                        preOpDiagnosis = clientPreOpDiagnosis;
                    }
                }

                if (clientElement.Element("SpecialInstructions") != null)
                {
                    coSpecialInstructions += clientElement.Element("SpecialInstructions").Value;
                }
            }

            XElement clinicalHistoryElement = new XElement("ClinicalHistory", clinicalHistory);

            this.Add(clinicalHistoryElement);

            XElement preOpDiagnosisElement = new XElement("PreOpDiagnosis", preOpDiagnosis);

            this.Add(preOpDiagnosisElement);

            XElement coSpecialInstructionsElement = new XElement("SpecialInstructions", coSpecialInstructions);

            this.Add(coSpecialInstructionsElement);

            foreach (XElement clientOrderElement in clientOrderDocument.Elements("ClientOrder"))
            {
                XElement clientReportElement = new XElement("ClientOrder");

                string   clientOrderName        = clientOrderElement.Element("ClientName").Value;
                XElement clientOrderNameElement = new XElement("ClientName", clientOrderName);
                clientReportElement.Add(clientOrderNameElement);

                string   orderedBy        = clientOrderElement.Element("OrderedBy").Value;
                XElement orderedByElement = new XElement("OrderedBy", orderedBy);
                clientReportElement.Add(orderedByElement);

                string   clientOrderDate = clientOrderElement.Element("OrderDate").Value;
                DateTime coDate;
                if (DateTime.TryParse(clientOrderDate, out coDate) == true)
                {
                    clientOrderDate = coDate.ToShortDateString();
                }
                XElement clientOrderDateElement = new XElement("OrderDate", clientOrderDate);
                clientReportElement.Add(clientOrderDateElement);

                string   submitted        = clientOrderElement.Element("Submitted").Value;
                XElement submittedElement = new XElement("Submitted", submitted);
                clientReportElement.Add(submittedElement);

                string   accessioned        = clientOrderElement.Element("Accessioned").Value;
                XElement accessionedElement = new XElement("Accessioned", accessioned);
                clientReportElement.Add(accessionedElement);

                string   initiatingSystem        = clientOrderElement.Element("SystemInitiatingOrder").Value;
                XElement initiatingSystemElement = new XElement("SystemInitiatingOrder", initiatingSystem);
                clientReportElement.Add(initiatingSystemElement);

                this.Add(clientReportElement);
            }

            foreach (XElement element in specimenOrderDocument.Elements("SpecimenOrder"))
            {
                XElement specimenOrderElement     = new XElement("SpecimenOrder");
                XElement specimenAccessionElement = new XElement("AccessionOrder");
                XElement specimenClientElement    = new XElement("ClientOrder");

                string   specimenNumber             = element.Element("SpecimenNumber").Value;
                string   specimenDescription        = element.Element("Description").Value;
                XElement specimenDescriptionElement = new XElement("Description", specimenNumber + ". " + specimenDescription);
                specimenAccessionElement.Add(specimenDescriptionElement);

                string collectionDate = element.Element("CollectionDate").Value;
                string collectionTime = element.Element("CollectionTime").Value;
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(collectionDate, collectionTime);
                XElement specimenCollectionTimeElement = new XElement("CollectionTime", dateTimeJoiner.DisplayString);
                specimenAccessionElement.Add(specimenCollectionTimeElement);

                string   specimenReceivedIn        = element.Element("ClientFixation").Value;
                XElement specimenReceivedInElement = new XElement("ReceivedIn", specimenReceivedIn);
                specimenAccessionElement.Add(specimenReceivedInElement);

                string   specimenProcessedIn        = element.Element("LabFixation").Value;
                XElement specimenProcessedInElement = new XElement("ProcessedIn", specimenProcessedIn);
                specimenAccessionElement.Add(specimenProcessedInElement);

                string   specimenAccessionTime = element.Element("AccessionTime").Value;
                DateTime saDate;
                if (DateTime.TryParse(specimenAccessionTime, out saDate) == true)
                {
                    specimenAccessionTime = saDate.ToShortDateString() + " " + saDate.ToShortTimeString();
                }
                XElement specimenAccessionTimeElement = new XElement("AccessionTime", specimenAccessionTime);
                specimenAccessionElement.Add(specimenAccessionTimeElement);

                string   specimenVerified        = element.Element("Verified").Value;
                XElement specimenVerifiedElement = new XElement("Verified", specimenVerified);
                specimenAccessionElement.Add(specimenVerifiedElement);

                string   specimenVerifiedById        = element.Element("VerifiedById").Value;
                XElement specimenVerifiedByIdElement = new XElement("VerifiedById", specimenVerifiedById);
                specimenAccessionElement.Add(specimenVerifiedByIdElement);

                string   specimenVerifiedDate = element.Element("VerifiedDate").Value;
                DateTime svDate;
                if (DateTime.TryParse(specimenVerifiedDate, out svDate) == true)
                {
                    specimenVerifiedDate = svDate.ToShortDateString() + " " + svDate.ToShortTimeString();
                }
                XElement specimenVerifiedDateElement = new XElement("VerifiedDate", specimenVerifiedDate);
                specimenAccessionElement.Add(specimenVerifiedDateElement);

                foreach (XElement clientOrderElement in clientOrderDocument.Elements("ClientOrder"))
                {
                    foreach (XElement clientSpecimenElement in clientOrderElement.Elements("ClientOrderDetail"))
                    {
                        string containerId = clientSpecimenElement.Element("ContainerId").Value;
                        if (containerId == element.Element("ContainerId").Value)
                        {
                            string   clientSpecimenNumber     = clientSpecimenElement.Element("SpecimenNumber").Value;
                            string   clientDescription        = clientSpecimenElement.Element("Description").Value;
                            XElement clientDescriptionElement = new XElement("Description", clientSpecimenNumber + ". " + clientDescription);
                            specimenClientElement.Add(clientDescriptionElement);

                            string   accessionedAsDescription        = clientSpecimenElement.Element("DescriptionToAccession").Value;
                            XElement accessionedAsDescriptionElement = new XElement("AccessionedAsDescription", accessionedAsDescription);
                            specimenClientElement.Add(accessionedAsDescriptionElement);

                            XElement accessionedAsNumberedDescriptionElement = new XElement("AccessionedAsNumberedDescription", clientSpecimenNumber + ". " + accessionedAsDescription);
                            specimenClientElement.Add(accessionedAsNumberedDescriptionElement);

                            string   specialInstructions        = clientSpecimenElement.Element("SpecialInstructions").Value;
                            XElement specialInstructionsElement = new XElement("SpecialInstructions", specialInstructions);
                            specimenClientElement.Add(specialInstructionsElement);

                            string   orderType        = clientSpecimenElement.Element("OrderType").Value;
                            XElement orderTypeElement = new XElement("SpecialInstructions", specialInstructions);
                            specimenClientElement.Add(orderTypeElement);

                            string   callbackNumber        = clientSpecimenElement.Element("CallbackNumber").Value;
                            XElement callbackNumberElement = new XElement("CallbackNumber", callbackNumber);
                            specimenClientElement.Add(callbackNumberElement);

                            string   clientCollectionDate = clientSpecimenElement.Element("CollectionDate").Value;
                            DateTime ccDate;
                            if (DateTime.TryParse(clientCollectionDate, out ccDate) == true)
                            {
                                clientCollectionDate = ccDate.ToShortDateString() + " " + ccDate.ToShortTimeString();
                            }
                            XElement clientCollectionDateElement = new XElement("CollectionDate", clientCollectionDate);
                            specimenClientElement.Add(clientCollectionDateElement);

                            string   clientSpecimenNumberMatchStatus        = clientSpecimenElement.Element("SpecimenNumberMatchStatus").Value;
                            XElement clientSpecimenNumberMatchStatusElement = new XElement("SpecimenNumberMatchStatus", clientSpecimenNumberMatchStatus);
                            specimenClientElement.Add(clientSpecimenNumberMatchStatusElement);

                            string   clientSpecimenDescriptionMatchStatus  = clientSpecimenElement.Element("SpecimenDescriptionMatchStatus").Value;
                            XElement specimenDescriptionMatchStatusElement = new XElement("SpecimenDescriptionMatchStatus", clientSpecimenDescriptionMatchStatus);
                            specimenClientElement.Add(specimenDescriptionMatchStatusElement);

                            string   clientOrderedBy  = clientSpecimenElement.Element("OrderedBy").Value;
                            XElement orderedByElement = new XElement("OrderedBy", clientOrderedBy);
                            specimenClientElement.Add(orderedByElement);

                            string   clientOrderTime = clientSpecimenElement.Element("OrderTime").Value;
                            DateTime coDate;
                            if (DateTime.TryParse(clientOrderTime, out coDate) == true)
                            {
                                clientOrderTime = coDate.ToShortDateString() + " " + coDate.ToShortTimeString();
                            }
                            XElement clientOrderTimeElement = new XElement("OrderTime", clientOrderTime);
                            specimenClientElement.Add(clientOrderTimeElement);

                            string   clientAccessioned  = clientSpecimenElement.Element("Accessioned").Value;
                            XElement accessionedElement = new XElement("Accessioned", clientAccessioned);
                            specimenClientElement.Add(accessionedElement);

                            break;
                        }
                    }
                }

                specimenOrderElement.Add(specimenAccessionElement);
                if (string.IsNullOrEmpty(specimenClientElement.Value) == true)
                {
                    this.SetEmptyClientElement(specimenClientElement);
                }
                specimenOrderElement.Add(specimenClientElement);
                this.Add(specimenOrderElement);
            }

            foreach (XElement orderCommentElement in caseNotesDocument.Elements("OrderComment"))
            {
                XElement caseNoteElement = new XElement("CaseNote");

                string   loggedBy        = orderCommentElement.Element("LoggedBy").Value;
                XElement loggedByElement = new XElement("LoggedBy", loggedBy);
                caseNoteElement.Add(loggedByElement);

                string   description        = orderCommentElement.Element("Description").Value;
                XElement descriptionElement = new XElement("Description", description);
                caseNoteElement.Add(descriptionElement);

                string   comment        = orderCommentElement.Element("Comment").Value;
                XElement commentElement = new XElement("Comment", comment);
                caseNoteElement.Add(commentElement);

                string   logDate = orderCommentElement.Element("LogDate").Value;
                DateTime lDate;
                if (DateTime.TryParse(logDate, out lDate) == true)
                {
                    logDate = lDate.ToShortDateString() + " " + lDate.ToShortTimeString();
                }
                XElement logDateElement = new XElement("LogDate", logDate);
                caseNoteElement.Add(logDateElement);

                this.Add(caseNoteElement);
            }
        }
        public AccessionOrderDataSheetData( XElement accessionOrderDocument, XElement specimenOrderDocument, XElement clientOrderDocument, XElement caseNotesDocument)
            : base("AccessionOrderDataSheet")
        {
            string patientDisplayName = accessionOrderDocument.Element("PLastName").Value + ", " + accessionOrderDocument.Element("PFirstName").Value;
            string patientBirthdate = accessionOrderDocument.Element("PBirthdate").Value;
            DateTime aDate = DateTime.Parse(accessionOrderDocument.Element("AccessionDate").Value);
            DateTime date;
            DateTime? bDate = null;
            if (DateTime.TryParse(patientBirthdate, out date) == true)
            {
                bDate = date;
            }

            if (bDate.HasValue == true)
            {
                string pAge = this.GetAccessionAge(bDate, aDate);
                patientDisplayName += "(" + bDate.Value.ToShortDateString() + ", " + pAge + ", " + accessionOrderDocument.Element("PSex").Value + ")";
            }

            XElement patientNameElement = new XElement("PatientDisplayName", patientDisplayName);
            this.Add(patientNameElement);

            XElement ssnElement = new XElement("SSN", accessionOrderDocument.Element("PSSN").Value);
            this.Add(ssnElement);

            string clientName = accessionOrderDocument.Element("ClientName").Value;
            XElement clientNameElement = new XElement("ClientName", clientName);
            this.Add(clientNameElement);

            string physicianName = accessionOrderDocument.Element("PhysicianName").Value;
            XElement physicianNameElement = new XElement("PhysicianName", physicianName);
            this.Add(physicianNameElement);

            string masterAccessionNo = accessionOrderDocument.Element("MasterAccessionNo").Value;
            XElement masterAccessionNoElement = new XElement("MasterAccessionNo", masterAccessionNo);
            this.Add(masterAccessionNoElement);

            DateTime accessionTime = DateTime.Parse(accessionOrderDocument.Element("AccessionTime").Value);
            XElement accessionTimeElement = new XElement("AccessionTime", accessionTime.ToString("MM/dd/yyyy HH:mm"));
            this.Add(accessionTimeElement);

            XElement medRecordElement = new XElement("SvhMedicalRecord", accessionOrderDocument.Element("SvhMedicalRecord").Value);
            this.Add(medRecordElement);

            XElement accountNoElement = new XElement("SvhAccount", accessionOrderDocument.Element("SvhAccount").Value);
            this.Add(accountNoElement);

            string clinicalHistory = string.Empty;
            string preOpDiagnosis = string.Empty;
            string coSpecialInstructions = string.Empty;

            foreach (XElement clientElement in clientOrderDocument.Elements("ClientOrder"))
            {
                string clientClinicalHistory = clientElement.Element("ClinicalHistory").Value;

                string clientPreOpDiagnosis = string.Empty;
                if (clientElement.Element("PreOpDiagnosis") != null) clientPreOpDiagnosis = clientElement.Element("PreOpDiagnosis").Value;

                if (string.IsNullOrEmpty(clinicalHistory) == true)
                {
                    if (string.IsNullOrEmpty(clientClinicalHistory) == false)
                    {
                        clinicalHistory = clientClinicalHistory;
                    }
                }

                if (string.IsNullOrEmpty(preOpDiagnosis) == true)
                {
                    if (string.IsNullOrEmpty(clientPreOpDiagnosis) == false)
                    {
                        preOpDiagnosis = clientPreOpDiagnosis;
                    }
                }

                if (clientElement.Element("SpecialInstructions") != null) coSpecialInstructions += clientElement.Element("SpecialInstructions").Value;
            }

            XElement clinicalHistoryElement = new XElement("ClinicalHistory", clinicalHistory);
            this.Add(clinicalHistoryElement);

            XElement preOpDiagnosisElement = new XElement("PreOpDiagnosis", preOpDiagnosis);
            this.Add(preOpDiagnosisElement);

            XElement coSpecialInstructionsElement = new XElement("SpecialInstructions", coSpecialInstructions);
            this.Add(coSpecialInstructionsElement);

            foreach (XElement clientOrderElement in clientOrderDocument.Elements("ClientOrder"))
            {
                XElement clientReportElement = new XElement("ClientOrder");

                string clientOrderName = clientOrderElement.Element("ClientName").Value;
                XElement clientOrderNameElement = new XElement("ClientName", clientOrderName);
                clientReportElement.Add(clientOrderNameElement);

                string orderedBy = clientOrderElement.Element("OrderedBy").Value;
                XElement orderedByElement = new XElement("OrderedBy", orderedBy);
                clientReportElement.Add(orderedByElement);

                string clientOrderDate = clientOrderElement.Element("OrderDate").Value;
                DateTime coDate;
                if (DateTime.TryParse(clientOrderDate, out coDate) == true)
                {
                    clientOrderDate = coDate.ToShortDateString();
                }
                XElement clientOrderDateElement = new XElement("OrderDate", clientOrderDate);
                clientReportElement.Add(clientOrderDateElement);

                string submitted = clientOrderElement.Element("Submitted").Value;
                XElement submittedElement = new XElement("Submitted", submitted);
                clientReportElement.Add(submittedElement);

                string accessioned = clientOrderElement.Element("Accessioned").Value;
                XElement accessionedElement = new XElement("Accessioned", accessioned);
                clientReportElement.Add(accessionedElement);

                string initiatingSystem = clientOrderElement.Element("SystemInitiatingOrder").Value;
                XElement initiatingSystemElement = new XElement("SystemInitiatingOrder", initiatingSystem);
                clientReportElement.Add(initiatingSystemElement);

                this.Add(clientReportElement);

            }

            foreach (XElement element in specimenOrderDocument.Elements("SpecimenOrder"))
            {
                XElement specimenOrderElement = new XElement("SpecimenOrder");
                XElement specimenAccessionElement = new XElement("AccessionOrder");
                XElement specimenClientElement = new XElement("ClientOrder");

                string specimenNumber = element.Element("SpecimenNumber").Value;
                string specimenDescription = element.Element("Description").Value;
                XElement specimenDescriptionElement = new XElement("Description", specimenNumber + ". " + specimenDescription);
                specimenAccessionElement.Add(specimenDescriptionElement);

                string collectionDate = element.Element("CollectionDate").Value;
                string collectionTime = element.Element("CollectionTime").Value;
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(collectionDate, collectionTime);
                XElement specimenCollectionTimeElement = new XElement("CollectionTime", dateTimeJoiner.DisplayString);
                specimenAccessionElement.Add(specimenCollectionTimeElement);

                string specimenReceivedIn = element.Element("ClientFixation").Value;
                XElement specimenReceivedInElement = new XElement("ReceivedIn", specimenReceivedIn);
                specimenAccessionElement.Add(specimenReceivedInElement);

                string specimenProcessedIn = element.Element("LabFixation").Value;
                XElement specimenProcessedInElement = new XElement("ProcessedIn", specimenProcessedIn);
                specimenAccessionElement.Add(specimenProcessedInElement);

                string specimenAccessionTime = element.Element("AccessionTime").Value;
                DateTime saDate;
                if (DateTime.TryParse(specimenAccessionTime, out saDate) == true)
                {
                    specimenAccessionTime = saDate.ToShortDateString() + " " + saDate.ToShortTimeString();
                }
                XElement specimenAccessionTimeElement = new XElement("AccessionTime", specimenAccessionTime);
                specimenAccessionElement.Add(specimenAccessionTimeElement);

                string specimenVerified = element.Element("Verified").Value;
                XElement specimenVerifiedElement = new XElement("Verified", specimenVerified);
                specimenAccessionElement.Add(specimenVerifiedElement);

                string specimenVerifiedById = element.Element("VerifiedById").Value;
                XElement specimenVerifiedByIdElement = new XElement("VerifiedById", specimenVerifiedById);
                specimenAccessionElement.Add(specimenVerifiedByIdElement);

                string specimenVerifiedDate = element.Element("VerifiedDate").Value;
                DateTime svDate;
                if (DateTime.TryParse(specimenVerifiedDate, out svDate) == true)
                {
                    specimenVerifiedDate = svDate.ToShortDateString() + " " + svDate.ToShortTimeString();
                }
                XElement specimenVerifiedDateElement = new XElement("VerifiedDate", specimenVerifiedDate);
                specimenAccessionElement.Add(specimenVerifiedDateElement);

                foreach (XElement clientOrderElement in clientOrderDocument.Elements("ClientOrder"))
                {
                    foreach (XElement clientSpecimenElement in clientOrderElement.Elements("ClientOrderDetail"))
                    {
                        string containerId = clientSpecimenElement.Element("ContainerId").Value;
                        if (containerId == element.Element("ContainerId").Value)
                        {
                            string clientSpecimenNumber = clientSpecimenElement.Element("SpecimenNumber").Value;
                            string clientDescription = clientSpecimenElement.Element("Description").Value;
                            XElement clientDescriptionElement = new XElement("Description", clientSpecimenNumber + ". " + clientDescription);
                            specimenClientElement.Add(clientDescriptionElement);

                            string accessionedAsDescription = clientSpecimenElement.Element("DescriptionToAccession").Value;
                            XElement accessionedAsDescriptionElement = new XElement("AccessionedAsDescription", accessionedAsDescription);
                            specimenClientElement.Add(accessionedAsDescriptionElement);

                            XElement accessionedAsNumberedDescriptionElement = new XElement("AccessionedAsNumberedDescription", clientSpecimenNumber + ". " + accessionedAsDescription);
                            specimenClientElement.Add(accessionedAsNumberedDescriptionElement);

                            string specialInstructions = clientSpecimenElement.Element("SpecialInstructions").Value;
                            XElement specialInstructionsElement = new XElement("SpecialInstructions", specialInstructions);
                            specimenClientElement.Add(specialInstructionsElement);

                            string orderType = clientSpecimenElement.Element("OrderType").Value;
                            XElement orderTypeElement = new XElement("SpecialInstructions", specialInstructions);
                            specimenClientElement.Add(orderTypeElement);

                            string callbackNumber = clientSpecimenElement.Element("CallbackNumber").Value;
                            XElement callbackNumberElement = new XElement("CallbackNumber", callbackNumber);
                            specimenClientElement.Add(callbackNumberElement);

                            string clientCollectionDate = clientSpecimenElement.Element("CollectionDate").Value;
                            DateTime ccDate;
                            if(DateTime.TryParse(clientCollectionDate, out ccDate) == true)
                            {
                                clientCollectionDate = ccDate.ToShortDateString() + " " + ccDate.ToShortTimeString();
                            }
                            XElement clientCollectionDateElement = new XElement("CollectionDate", clientCollectionDate);
                            specimenClientElement.Add(clientCollectionDateElement);

                            string clientSpecimenNumberMatchStatus = clientSpecimenElement.Element("SpecimenNumberMatchStatus").Value;
                            XElement clientSpecimenNumberMatchStatusElement = new XElement("SpecimenNumberMatchStatus", clientSpecimenNumberMatchStatus);
                            specimenClientElement.Add(clientSpecimenNumberMatchStatusElement);

                            string clientSpecimenDescriptionMatchStatus = clientSpecimenElement.Element("SpecimenDescriptionMatchStatus").Value;
                            XElement specimenDescriptionMatchStatusElement = new XElement("SpecimenDescriptionMatchStatus", clientSpecimenDescriptionMatchStatus);
                            specimenClientElement.Add(specimenDescriptionMatchStatusElement);

                            string clientOrderedBy = clientSpecimenElement.Element("OrderedBy").Value;
                            XElement orderedByElement = new XElement("OrderedBy", clientOrderedBy);
                            specimenClientElement.Add(orderedByElement);

                            string clientOrderTime = clientSpecimenElement.Element("OrderTime").Value;
                            DateTime coDate;
                            if (DateTime.TryParse(clientOrderTime, out coDate) == true)
                            {
                                clientOrderTime = coDate.ToShortDateString() + " " + coDate.ToShortTimeString();
                            }
                            XElement clientOrderTimeElement = new XElement("OrderTime", clientOrderTime);
                            specimenClientElement.Add(clientOrderTimeElement);

                            string clientAccessioned = clientSpecimenElement.Element("Accessioned").Value;
                            XElement accessionedElement = new XElement("Accessioned", clientAccessioned);
                            specimenClientElement.Add(accessionedElement);

                            break;
                        }
                    }
                }

                specimenOrderElement.Add(specimenAccessionElement);
                if (string.IsNullOrEmpty(specimenClientElement.Value) == true)
                {
                    this.SetEmptyClientElement(specimenClientElement);
                }
                specimenOrderElement.Add(specimenClientElement);
                this.Add(specimenOrderElement);
            }

            foreach (XElement orderCommentElement in caseNotesDocument.Elements("OrderComment"))
            {
                XElement caseNoteElement = new XElement("CaseNote");

                string loggedBy = orderCommentElement.Element("LoggedBy").Value;
                XElement loggedByElement = new XElement("LoggedBy", loggedBy);
                caseNoteElement.Add(loggedByElement);

                string description = orderCommentElement.Element("Description").Value;
                XElement descriptionElement = new XElement("Description", description);
                caseNoteElement.Add(descriptionElement);

                string comment = orderCommentElement.Element("Comment").Value;
                XElement commentElement = new XElement("Comment", comment);
                caseNoteElement.Add(commentElement);

                string logDate = orderCommentElement.Element("LogDate").Value;
                DateTime lDate;
                if (DateTime.TryParse(logDate, out lDate) == true)
                {
                    logDate = lDate.ToShortDateString() + " " + lDate.ToShortTimeString();
                }
                XElement logDateElement = new XElement("LogDate", logDate);
                caseNoteElement.Add(logDateElement);

                this.Add(caseNoteElement);
            }
        }
Esempio n. 8
0
        public void ToXml(XElement document)
        {
            XElement obrElement = new XElement("OBR");
            document.Add(obrElement);

            XElement obr01Element = new XElement("OBR.1");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.1.1", "1", obr01Element);
            obrElement.Add(obr01Element);

            //If this is an add on test then do not write this element.
            XElement obr02Element = new XElement("OBR.2");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.2.1", this.m_ExternalOrderId, obr02Element);
            obrElement.Add(obr02Element);

            XElement obr03Element = new XElement("OBR.3");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.3.1", this.m_ReportNo, obr03Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.3.2", "YPILIS", obr03Element);
            obrElement.Add(obr03Element);

            XElement obr04Element = new XElement("OBR.4");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.1", "PATH", obr04Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.2", "PATH", obr04Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.4.3", "Pathology", obr04Element);

            obrElement.Add(obr04Element);

            YellowstonePathology.Business.Helper.DateTimeJoiner collectionDateJoiner = new Business.Helper.DateTimeJoiner(this.m_CollectionDate.Value, "yyyyMMddHHmm", this.m_CollectionTime, "yyyyMMddHHmm");
            XElement obr07Element = new XElement("OBR.7");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.7.1", collectionDateJoiner.DisplayString, obr07Element);
            obrElement.Add(obr07Element);

            XElement obr14Element = new XElement("OBR.14");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.14.1",this.m_AccessionTime.Value.ToString(m_DateFormat) , obr14Element);
            obrElement.Add(obr14Element);

            XElement obr16Element = new XElement("OBR.16");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.1",this.m_OrderingPhysician.Npi.ToString() , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.2",this.m_OrderingPhysician.LastName , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.3",this.m_OrderingPhysician.FirstName , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.4",this.m_OrderingPhysician.MiddleInitial , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.5", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.6", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.7", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.8", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.9","NPI" , obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.10", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.11", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.12", string.Empty, obr16Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.16.13", "NPI", obr16Element);
            obrElement.Add(obr16Element);

            XElement obr20Element = new XElement("OBR.20");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.20.1", "OM", obr20Element);
            obrElement.Add(obr20Element);

            XElement obr21Element = new XElement("OBR.21");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.21.1", "PATH", obr21Element);
            obrElement.Add(obr21Element);

            XElement obr22Element = new XElement("OBR.22");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.22.1", DateTime.Now.ToString(m_DateFormat), obr22Element);
            obrElement.Add(obr22Element);

            XElement obr25Element = new XElement("OBR.25");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.25.1", this.m_ObservationResultStatus, obr25Element);
            obrElement.Add(obr25Element);

            XElement obr32Element = new XElement("OBR.32");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.1", this.m_SigningPathologist.GetWPHMneumonic(), obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.2", this.m_SigningPathologist.LastName, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.3", this.m_SigningPathologist.FirstName, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.4", this.m_SigningPathologist.MiddleInitial, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.5", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.6", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.7", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.8", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.9", "NPI", obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.10", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.11", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.12", string.Empty, obr32Element);
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.32.13", "NPI", obr32Element);
            obrElement.Add(obr32Element);

            XElement obr35Element = new XElement("OBR.35");
            YellowstonePathology.Business.Helper.XmlDocumentHelper.AddElement("OBR.35.1", "RRD", obr35Element);
            obrElement.Add(obr35Element);
        }