/// <summary>
        /// Transforms a provided <see cref="EligibilityBenefitResponse"/> to its HTML string representation
        /// </summary>
        /// <param name="response">Benefit response to transform</param>
        /// <returns>HTML compliant string representation</returns>
        public string TransformBenefitResponseToHtml(EligibilityBenefitResponse response)
        {
            string xml             = response.Serialize();
            Stream transformStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("X12.Hipaa.Eligibility.Services.Xsl.BenefitResponse-To-Html.xslt");
            var    transform       = new XslCompiledTransform();

            if (transformStream != null)
            {
                transform.Load(XmlReader.Create(transformStream));
            }

            var outputStream = new MemoryStream();
            var args         = new XsltArgumentList();

            transform.Transform(XmlReader.Create(new StringReader(xml)), args, outputStream);
            outputStream.Position = 0;
            return(new StreamReader(outputStream).ReadToEnd());
        }
        public void SerializationTest()
        {
            EligibilityBenefitDocument document = new EligibilityBenefitDocument();

            EligibilityBenefitResponse response = new EligibilityBenefitResponse
            {
                Source = new Entity
                {
                    Name = new EntityName
                    {
                        Type = new EntityType
                        {
                            Identifier = "PR",
                            Qualifier  = EntityNameQualifierEnum.NonPerson
                        },
                        LastName       = "ABC Company",
                        Identification = new Identification {
                            Qualifier = "PI", Id = "842610001"
                        }
                    }
                },
                Receiver = new Provider
                {
                    Name = new EntityName
                    {
                        Type = new EntityType
                        {
                            Identifier = "1P",
                            Qualifier  = EntityNameQualifierEnum.NonPerson
                        },
                        LastName       = "BONE AND JOIN CLINIC",
                        Identification = new Identification {
                            Qualifier = "SV", Id = "2000035"
                        }
                    }
                },
                Subscriber = new BenefitMember
                {
                    Gender      = GenderEnum.Male,
                    DateOfBirth = DateTime.Parse("1963-05-19"),
                    Name        = new EntityName
                    {
                        Type = new EntityType
                        {
                            Qualifier = EntityNameQualifierEnum.Person
                        },
                        LastName       = "SMITH",
                        FirstName      = "JOHN",
                        Identification = new Identification {
                            Qualifier = "MI", Id = "123456789"
                        }
                    },
                    Address = new PostalAddress
                    {
                        Line1      = "15197 BROADWAY AVENUE",
                        Line2      = "APT 215",
                        City       = "KANSAS CITY",
                        StateCode  = "MO",
                        PostalCode = "64108"
                    }
                }
            };

            response.Subscriber.Dates.Add(new QualifiedDate {
                Qualifier = "346", Date = DateTime.Parse("2006-01-01")
            });
            response.BenefitInfos.Add(new EligibilityBenefitInformation
            {
                InfoType = new Lookup {
                    Code = "1", Description = "Active Coverage"
                }
            });
            document.EligibilityBenefitResponses.Add(response);

            document.RequestValidations.Add(
                new RequestValidation
            {
                ValidRequest = true,
                RejectReason = new Lookup {
                    Code = "15", Description = "Required application data missing"
                }
            });


            string xml = document.Serialize();

            System.Diagnostics.Trace.WriteLine(xml);
        }