Пример #1
0
        public void DeserializePkgFromPath()
        {
            string path = "C:\\SDC\\..Sample SDCPackage.xml";
            //string sdcFile = File.ReadAllText(path, System.Text.Encoding.UTF8);
            var            Pkg = RetrieveFormPackageType.DeserializeFromXmlPath(path);
            FormDesignType FD  = (FormDesignType)Pkg.Nodes.Values.Where(n => n.GetType() == typeof(FormDesignType)).FirstOrDefault();


            var Q = (QuestionItemType)Pkg.Nodes.Values.Where(
                t => t.GetType() == typeof(QuestionItemType)).Where(
                q => ((QuestionItemType)q).ID == "37387.100004300").FirstOrDefault();
            var DI = Q.AddChildDisplayedItem("DDDDD");//should add to end of the <List>

            DI.name = "my added DI";

            DisplayedType    DI1     = (DisplayedType)Pkg.Nodes.Values.Where(n => n.name == "my added DI").First();
            DisplayedType    DI2     = (DisplayedType)Q.ChildItemsNode.Items[0];
            QuestionItemType Q1      = (QuestionItemType)DI2.ParentNode.ParentNode;
            string           diName  = Q.Item1.Items[0].name;
            string           diName2 = Q.ChildItemsNode.ChildItemsList[0].ID;
            int  i  = Q.ChildItemsNode.ChildItemsList.Count();
            bool b1 = Q.ChildItemsNode.ShouldSerializeItems();

            var myXML = Pkg.GetXml();


            Debug.Print(myXML);
        }
Пример #2
0
        public void DeserializeFormDesignFromPath()
        {
            BaseType.ResetSdcImport();
            //string path = @".\Test files\CCO Lung Surgery.xml";
            //string path = @".\Test files\Breast.Invasive.Staging.359_.CTP9_sdcFDF.xml";
            string path = Path.Combine(".", "Test files", "Breast.Invasive.Staging.359_.CTP9_sdcFDF.xml");
            //string path = @".\Test files\Adrenal.Bx.Res.129_3.004.001.REL_sdcFDF_test.xml";
            string sdcFile = File.ReadAllText(path, System.Text.Encoding.UTF8);

            var FD = FormDesignType.DeserializeFromXmlPath(path);
            //SDC.Schema.FormDesignType FD = SDC.Schema.FormDesignType.DeserializeSdcFromFile(sdcFile);
            string myXML;
            //myXML =  SdcSerializer<FormDesignType>.Serialize(FD);

            //Test adding and reading FD object model
            var Q = (QuestionItemType)FD.Nodes.Values.Where(
                t => t.GetType() == typeof(QuestionItemType)).Where(
                q => ((QuestionItemType)q).ID == "58218.100004300").FirstOrDefault();

            var DI = Q.AddChildDisplayedItem("DDDDD");//should add to end of the <List>

            DI.name  = DI.ID;
            DI.title = DI.ID;

            var P = Q.AddProperty(); P.name = "PPPPP"; P.propName = "PPPPP";
            var S = Q.AddChildSection("SSSSS", "SSSSS", 0);
            //Q.Move(new SectionItemType(), -1); Q.AddComment(); Q.Remove();
            //var li = new ListItemType(Q.ListField_Item.List,"abc" ); var b = li.SelectIf.returnVal; var rv = li.OnSelect[0].returnVal;

            DisplayedType    DI1 = (DisplayedType)FD.Nodes.Values.Where(n => n.name == DI.ID)?.First();
            DisplayedType    DI2 = (DisplayedType)Q.ChildItemsNode.Items[0];
            QuestionItemType Q1  = (QuestionItemType)DI2.ParentNode.ParentNode;

            myXML = SdcUtil.XmlReorder(FD.GetXml());
            myXML = SdcUtil.XmlFormat(myXML);



            ListItemType li;


            //var S1 = Q.AddOnEnter().Actions.AddActInject().Item = new SectionItemType(   //Need to add AddActionsNode to numerous classes via IHasActionsNode
            //    parentNode: Q,
            //    id: "myid",
            //    elementName: "",
            //    elementPrefix: "s");

            Debug.Print(myXML);
            FD.Clear();
            //var myMP = FD.GetMsgPack();
            //FD.SaveMsgPackToFile("C:\\MPfile");  //also support REST transactions, like sending packages to SDC endpoints; consider FHIR support
            var myJson = FD.GetJson();

            Debug.Print(myJson);
        }
Пример #3
0
        public void DeserializeFormDesignFromPath()
        {
            //string path = "C:\\SDC\\CCO Lung Surgery.xml";
            string path = "C:\\Users\\rmoldwi\\OneDrive\\Desktop\\SDCLocal\\Breast.Invasive.Staging.359_.CTP9_sdcFDF.xml";
            //string path = "C:\\SDC\\Adrenal.Bx.Res.129_3.004.001.REL_sdcFDF_test.xml";
            string sdcFile = File.ReadAllText(path, System.Text.Encoding.UTF8);

            var FD = FormDesignType.DeserializeFromXmlPath(path);
            //SDC.Schema.FormDesignType FD = SDC.Schema.FormDesignType.DeserializeSdcFromFile(sdcFile);
            string myXML;
            //myXML =  SdcSerializer<FormDesignType>.Serialize(FD);

            //Test adding and reading FD object model
            var Q = (QuestionItemType)FD.Nodes.Values.Where(
                t => t.GetType() == typeof(QuestionItemType)).Where(
                q => ((QuestionItemType)q).ID == "58218.100004300").FirstOrDefault();

            var DI = Q.AddChildDisplayedItem("DDDDD");    //should add to end of the <List>

            DI.name = DI.ID; DI.title = DI.ID;

            var P = Q.AddProperty(); P.name = "PPPPP"; P.propName = "PPPPP";
            var S = Q.AddChildSection("SSSSS", 0); S.name = "SSSSS";
            //Q.Move(new SectionItemType(), -1); Q.AddComment(); Q.Remove();
            //var li = new ListItemType(Q.ListField_Item.List,"abc" ); var b = li.SelectIf.returnVal; var rv = li.OnSelect[0].returnVal;

            DisplayedType    DI1 = (DisplayedType)FD.Nodes.Values.Where(n => n.name == DI.ID).First();
            DisplayedType    DI2 = (DisplayedType)Q.ChildItemsNode.Items[0];
            QuestionItemType Q1  = (QuestionItemType)DI2.ParentNode.ParentNode;

            myXML = SDCHelpers.XmlReorder(FD.GetXml());
            myXML = SDCHelpers.XmlFormat(myXML);

            Debug.Print(myXML);
            FD.Clear();
            //var myMP = FD.GetMsgPack();
            //FD.SaveMsgPackToFile("C:\\MPfile");  //also support REST transactions, like sending packages to SDC endpoints; consider FHIR support
            //var myJson = FD.GetJson();
            //Debug.Print(myJson);
        }
Пример #4
0
        private void button2_Click(object sender, EventArgs e)
        {
            DDIClassLibraryWrapper wrapper = new DDIClassLibraryWrapper();

            wrapper.AgencyID         = "se.snd";
            wrapper.CreateURNs       = false;
            wrapper.SetDefaultValues = false;

            DDIInstanceType instance = wrapper.DDIInstance;

            StudyUnitType s = new StudyUnitType();

            instance.StudyUnit.Add(s);

            //Citation
            {
                s.Citation       = new CitationType();
                s.Citation.Title = new InternationalStringType();
                s.Citation.Title.String.Add(new StringType()
                {
                    lang = "en", Content = "Test title"
                });
                s.Citation.Title.String.Add(new StringType()
                {
                    lang = "sv", Content = "Title"
                });

                CreatorType creator = new CreatorType();
                creator.CreatorName = new BibliographicNameType();
                creator.CreatorName.String.Add(new StringType("Johan Fihn"));
                s.Citation.Creator.Add(creator);
            }

            //Abstract
            {
                s.Abstract = new StructuredStringType();
                s.Abstract.Content.Add(new ContentType("Beskrivning", "sv"));
                s.Abstract.Content.Add(new ContentType("Abstract", "en"));
            }

            //SeriesStatement
            {
                SeriesStatementType series = new SeriesStatementType();

                series.SeriesName.Add(new NameType("Min serie", "sv"));
                series.SeriesName.Add(new NameType("My series", "en"));

                s.SeriesStatement.Add(series);
            }

            //KindOfData
            {
                s.KindOfData.Add(new KindOfDataType()
                {
                    type    = KindOfDataTypeType.Quantitative,
                    Content = "My kind of data"
                });
            }

            //LogicalProduct
            LogicalProductType lp = new LogicalProductType();

            s.BaseLogicalProduct.Add(lp);

            VariableSchemeType vs = new VariableSchemeType();

            lp.VariableScheme.Add(vs);

            //DataCollection
            {
                DataCollectionType dc = new DataCollectionType();
                s.DataCollection.Add(dc);

                QuestionSchemeType qs = new QuestionSchemeType();
                dc.QuestionScheme.Add(qs);

                for (int i = 1; i <= 10; i++)
                {
                    QuestionItemType qi = new QuestionItemType();
                    qs.QuestionItem.Add(qi);

                    DynamicTextType text = new DynamicTextType();
                    text.TextContent.Add(new LiteralTextType()
                    {
                        Text = new TextType()
                        {
                            Content = "Fråga #" + i, lang = "sv"
                        }
                    });
                    qi.QuestionText.Add(text);

                    text = new DynamicTextType();
                    text.TextContent.Add(new LiteralTextType()
                    {
                        Text = new TextType()
                        {
                            Content = "Question #" + i, lang = "en"
                        }
                    });
                    qi.QuestionText.Add(text);

                    VariableType var = new VariableType();
                    var.VariableName.Add(new NameType("Variabel #" + i, "sv"));
                    var.VariableName.Add(new NameType("Variable #" + i, "en"));

                    vs.Variable.Add(var);
                }
            }

            using (TextWriter writer = File.CreateText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\ClassLibraryTest.xml"))
            {
                wrapper.Serialize(writer);
            }
        }