public void item_group_data_builder_can_remove_all_empty_itemdata_nodes()
        {
            var RegistrationData = new ODMBuilder()
                                   .WithClinicalData("TEST STUDY OID", cd =>
                                                     cd.WithSubjectData("10000", "101", sd =>
                                                                        sd.WithTransactionType(TransactionType.Insert)
                                                                        .AddStudyEventData("SCREEN", 1, sed =>
                                                                                           sed.WithTransactionType(TransactionType.Update)
                                                                                           //DM (Demographics form)
                                                                                           .AddFormData("DM", 1, fd =>
                                                                                                        fd.WithTransactionType(TransactionType.Update).AddItemGroupData("DM", igd =>
                                                                                                                                                                        igd.WithTransactionType(TransactionType.Update)
                                                                                                                                                                        // DM form fields
                                                                                                                                                                        .AddItemData("BRTHDAT", DateTime.Now.ToString("dd MMM yyyy"), id =>
                                                                                                                                                                                     id.WithTransactionType(TransactionType.Update))
                                                                                                                                                                        .AddItemData("SUBJECTINIT", "MK", id =>
                                                                                                                                                                                     id.WithTransactionType(TransactionType.Update))
                                                                                                                                                                        .AddItemData("SEX", "2", id =>
                                                                                                                                                                                     id.WithTransactionType(TransactionType.Update))
                                                                                                                                                                        .AddItemData("ETHNIC", "2", id =>
                                                                                                                                                                                     id.WithTransactionType(TransactionType.Update))
                                                                                                                                                                        .AddItemData("RACE", "", id =>
                                                                                                                                                                                     id.WithTransactionType(TransactionType.Update)).RemoveEmptyNodes()))

                                                                                           )));


            Assert.IsTrue(RegistrationData.Build().ClinicalData.First().SubjectData.First().StudyEventData.First().FormData.First().ItemGroupData.First().Items.Count == 4);
        }
Exemple #2
0
        public void ODMBuilder_does_not_serialize_ItemGroupRepeatKey_if_not_supplied()
        {
            var b1 = new ODMBuilder().WithClinicalData("TESTOID", cd =>
                                                       cd.WithSubjectData("SUBJECT", "1", sdb => sdb.AddStudyEventData("TEST", seb =>
                                                                                                                       seb.AddFormData("FORMOID", fd => fd.AddItemGroupData("ITEMGROUP", igd => igd.Build())))));

            var b2 = new ODMBuilder().WithClinicalData("TESTOID", cd =>
                                                       cd.WithSubjectData("SUBJECT", "1", sdb => sdb.AddStudyEventData("TEST", seb =>
                                                                                                                       seb.AddFormData("FORMOID", fd => fd.AddItemGroupData("ITEMGROUP", "1", igd => igd.Build())))));

            var nokey =
                b1.AsXDocument()
                .Descendants(XNamespace.Get(Constants.ODM_NS) + "ItemGroupData")
                .First()
                .Attribute("ItemGroupRepeatKey");

            Assert.IsNull(nokey);


            var haskey =
                b2.AsXDocument()
                .Descendants(XNamespace.Get(Constants.ODM_NS) + "ItemGroupData")
                .First()
                .Attribute("ItemGroupRepeatKey");

            Assert.IsNotNull(haskey);
        }
        public void clinical_data_is_not_added_twice_for_same_study_OID()
        {
            var odm = new ODMBuilder()
                      .WithClinicalData("TestStudyOID", cdb => cdb.Build())
                      .WithClinicalData("TestStudyOID", cdb => cdb.Build()).Build();

            Assert.IsTrue(odm.ClinicalData.Count == 1);
        }
Exemple #4
0
        public void ODMBuilder_adds_xmlns_mdsol_attribute_to_ODM_node_in_XML()
        {
            var registrationXml = new ODMBuilder().WithClinicalData("ClinicalTest", cd =>
                                                                    cd.WithSubjectData("1", "101", sd =>
                                                                                       sd.WithTransactionType(TransactionType.Insert))).AsXMLString();

            const string xml = @"xmlns:mdsol=""http://www.mdsol.com/ns/odm/metadata""";

            Assert.IsTrue(registrationXml.Contains(xml));
        }
Exemple #5
0
        public void ODMBuilder_AsXMLString_creates_valid_ClinicalData_node()
        {
            var registrationXml = new ODMBuilder().WithClinicalData("ClinicalTest", cd =>
                                                                    cd.WithSubjectData("1", "101", sd =>
                                                                                       sd.WithTransactionType(TransactionType.Insert))).AsXMLString();

            const string xml = @"<ClinicalData StudyOID=""ClinicalTest""";

            Assert.IsTrue(registrationXml.Contains(xml));
        }
            /// <summary>
            /// Parse a string representation of a RWS XML Response.
            /// </summary>
            /// <param name="xmlString"></param>
            /// <returns>XmlElement</returns>
            public static XDocument GetXDocumentFromString(string xmlString)
            {
                xmlString = RemoveInvalidXmlChars(xmlString);

                XDocument xmlDoc = new XDocument();

                if (string.IsNullOrEmpty(xmlString))
                {
                    xmlString = new ODMBuilder().AsXMLString();
                    xmlDoc    = XDocument.Parse(xmlString);
                }

                using (XmlReader reader = XmlReader.Create(new StringReader(xmlString), new XmlReaderSettings {
                    CheckCharacters = false
                }))
                {
                    while (reader.Read())
                    {
                        xmlDoc = XDocument.Load(reader);
                    }
                }

                return(xmlDoc);
            }
        public void FindClinicalDataWithStudyOID_method_returns_clinical_data_node_if_exists()
        {
            var odm = new ODMBuilder().WithClinicalData("TestStudyOID", cdb => cdb.Build()).Build();

            Assert.IsNotNull(odm.FindClinicalDataWithStudyOID("TestStudyOID"));
        }
        public void default_odm_version_is_1_dot_3()
        {
            var builder = new ODMBuilder();

            Assert.IsTrue(builder.Build().ODMVersion == ODMVersion.Item13);
        }