public EligibilityBenefitDocument Transform271ToBenefitResponse(Stream stream) { EligibilityBenefitDocument fullResponse = new EligibilityBenefitDocument(); var parser = new X12Parser(); var interchanges = parser.ParseMultiple(stream); foreach (var interchange in interchanges) { var xml = interchange.Serialize(); var transformStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("OopFactory.X12.Hipaa.Eligibility.Services.Xsl.X12-271-To-BenefitResponse.xslt"); var transform = new XslCompiledTransform(); if (transformStream != null) { transform.Load(XmlReader.Create(transformStream)); } var outputStream = new MemoryStream(); transform.Transform(XmlReader.Create(new StringReader(xml)), new XsltArgumentList(), outputStream); outputStream.Position = 0; string responseXml = new StreamReader(outputStream).ReadToEnd(); var response = EligibilityBenefitDocument.Deserialize(responseXml); fullResponse.EligibilityBenefitInquiries.AddRange(response.EligibilityBenefitInquiries); fullResponse.EligibilityBenefitResponses.AddRange(response.EligibilityBenefitResponses); fullResponse.RequestValidations.AddRange(response.RequestValidations); } return(fullResponse); }
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); }