public void Process(Document input, Stage output)
 {
     var pkp = new ProfileKnowledgeProvider(input.Name, input.Context.Target.Directory);
     var generator = new DictHtmlGenerator(pkp);
     var profile = (Profile)FhirParser.ParseResourceFromXml(input.Text);
     Document result = input.CloneMetadata();
     var xmldoc = generator.Generate(profile);
     result.SetFilename(pkp.GetLinkForProfileDict(profile));
     result.Text = xmldoc.ToString(SaveOptions.DisableFormatting);
     output.Post(result);
 }
        public void Process(Document input, Stage output)
        {
            var      pkp       = new ProfileKnowledgeProvider(input.Name, input.Context.Target.Directory);
            var      generator = new DictHtmlGenerator(pkp);
            var      profile   = (Profile)FhirParser.ParseResourceFromXml(input.Text);
            Document result    = input.CloneMetadata();
            var      xmldoc    = generator.Generate(profile);

            result.SetFilename(pkp.GetLinkForProfileDict(profile));
            result.Text = xmldoc.ToString(SaveOptions.DisableFormatting);
            output.Post(result);
        }
        public void PublishLipidProfile()
        {
            //var profile = (Profile)FhirParser.ParseResourceFromXml(File.ReadAllText(@"TestData\lipid.profile.xml"));
            var profile = (Profile)FhirParser.ParseResourceFromXml(File.ReadAllText(@"TestData\profile.hvlabresult.xml"));
            var pkp = new ProfileKnowledgeProvider("hvlabres", @"c:\temp\dist\images");

            {
                var publisher = new ProfileTableGenerator(pkp);

                var result = File.ReadAllText(@"TestData\publish-header.cshtml");
                result += publisher.Generate(profile, false).ToString(System.Xml.Linq.SaveOptions.DisableFormatting);
                result += File.ReadAllText(@"TestData\publish-footer.cshtml");

                File.WriteAllText(@"c:\temp\publisher\" + pkp.GetLinkForProfileTable(profile), result);
            }

            {
                var publisher = new StructureGenerator(pkp);

                foreach (var structure in profile.Structure)
                {
                    var result = File.ReadAllText(@"TestData\publish-header.cshtml");
                    result += publisher.generateStructureTable(structure, false, profile)
                            .ToString(System.Xml.Linq.SaveOptions.DisableFormatting);
                    result += File.ReadAllText(@"TestData\publish-footer.cshtml");

                    File.WriteAllText(@"c:\temp\publisher\" + pkp.GetLinkForLocalStructure(profile, structure), result);
                }
            }

            {
                var dictgen = new DictHtmlGenerator(pkp);
                var result = File.ReadAllText(@"TestData\publish-header.cshtml");
                result += dictgen.Generate(profile)
                            .ToString(System.Xml.Linq.SaveOptions.DisableFormatting);
                result += File.ReadAllText(@"TestData\publish-footer.cshtml");

                File.WriteAllText(@"c:\temp\publisher\" + pkp.GetLinkForProfileDict(profile), result);
            }

            {
                var vs = (ValueSet)FhirParser.ParseResourceFromXml(File.ReadAllText(@"TestData\hv-laboratory-result-interpretation-v1.xml"));

                var vsGen = new ValueSetGenerator(pkp);

                var result = File.ReadAllText(@"TestData\publish-header.cshtml");
                result += vsGen.generate(vs)
                            .ToString(System.Xml.Linq.SaveOptions.DisableFormatting);
                result += File.ReadAllText(@"TestData\publish-footer.cshtml");

                File.WriteAllText(@"c:\temp\publisher\" + "hv-laboratory-result-interpretation-v1.html", result);
            }
        }