def add_ITD(self): # ItemDef 1 ttd1 = ODM.TranslatedText(_content="Date of measurements", lang="en") ttq1 = ODM.TranslatedText(_content="Date", lang="en") desc1 = ODM.Description() desc1.TranslatedText = [ttd1] q1 = ODM.Question() q1.TranslatedText = [ttq1] a1 = ODM.Alias(Context="CDASH", Name="VSDAT") itd1 = ODM.ItemDef(OID="ODM.IT.VS.VSDAT", Name="Date", DataType="partialDate") itd1.Description = desc1 itd1.Question = q1 itd1.Alias = [a1] # ItemDef 2 ttd2 = ODM.TranslatedText( _content= "Result of the vital signs measurement as originally received or collected.", lang="en") ttq2 = ODM.TranslatedText(_content="Diastolic", lang="en") desc2 = ODM.Description() desc2.TranslatedText = [ttd2] q2 = ODM.Question() q2.TranslatedText = [ttq2] a2a = ODM.Alias(Context="CDASH", Name="BP.DIABP.VSORRES") a2b = ODM.Alias(Context="CDASH/SDTM", Name="VSORRES+VSORRESU") itd2 = ODM.ItemDef(OID="ODM.IT.VS.BP.VSORRESU", Name="BP Units", DataType="text") itd2.Description = desc2 itd2.Question = q2 itd2.Alias = [a2a, a2b] return [itd1, itd2]
def test_to_dict(self): attrs = self._set_attributes() cl = ODM.CodeList(**attrs) eni = ODM.EnumeratedItem(CodedValue="HGB", OrderNumber=1) eni.Alias = [ODM.Alias(Context="nci:ExtCodeID", Name="C64848")] cl.EnumeratedItem.append(eni) eni.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C65047")) cl_dict = cl.to_dict() self.assertDictEqual(cl_dict, self.expected_json_dict())
def setUp(self) -> None: current_datetime = datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat() root = ODM.ODM(FileOID="ODM.DEMO.001", Granularity="Metadata", AsOfDateTime=current_datetime, CreationDateTime=current_datetime, ODMVersion="1.3.2", FileType="Snapshot", Originator="swhume", SourceSystem="odmlib", SourceSystemVersion="0.1") # create Study and add to ODM root.Study.append(ODM.Study(OID="ODM.GET.STARTED")) # create the global variables root.Study[0].GlobalVariables = ODM.GlobalVariables() root.Study[0].GlobalVariables.StudyName = ODM.StudyName(_content="Get Started with ODM XML") root.Study[0].GlobalVariables.StudyDescription = ODM.StudyDescription( _content="Demo to get started with odmlib") root.Study[0].GlobalVariables.ProtocolName = ODM.ProtocolName(_content="ODM XML Get Started") # create the MetaDataVersion root.Study[0].MetaDataVersion.append(ODM.MetaDataVersion(OID="MDV.DEMO-ODM-01", Name="Get Started MDV", Description="Get Started Demo")) # create Protocol p = ODM.Protocol() p.Description = ODM.Description() p.Description.TranslatedText.append(ODM.TranslatedText(_content="Get Started Protocol", lang="en")) p.StudyEventRef.append(ODM.StudyEventRef(StudyEventOID="BASELINE", OrderNumber=1, Mandatory="Yes")) root.Study[0].MetaDataVersion[0].Protocol = p # create a StudyEventDef sed = ODM.StudyEventDef(OID="BASELINE", Name="Baseline Visit", Repeating="No", Type="Scheduled") sed.FormRef.append(ODM.FormRef(FormOID="ODM.F.DM", Mandatory="Yes", OrderNumber=1)) root.Study[0].MetaDataVersion[0].StudyEventDef.append(sed) # create a FormDef fd = ODM.FormDef(OID="ODM.F.DM", Name="Demographics", Repeating="No") fd.ItemGroupRef.append(ODM.ItemGroupRef(ItemGroupOID="ODM.IG.DM", Mandatory="Yes", OrderNumber=2)) root.Study[0].MetaDataVersion[0].FormDef.append(fd) # create an ItemGroupDef igd = ODM.ItemGroupDef(OID="ODM.IG.DM", Name="Demographics", Repeating="No") igd.ItemRef.append(ODM.ItemRef(ItemOID="ODM.IT.DM.BRTHYR", Mandatory="Yes")) root.Study[0].MetaDataVersion[0].ItemGroupDef.append(igd) # create an ItemDef itd = ODM.ItemDef(OID="ODM.IT.DM.BRTHYR", Name="Birth Year", DataType="integer") itd.Description = ODM.Description() itd.Description.TranslatedText.append(ODM.TranslatedText(_content="Year of the subject's birth", lang="en")) itd.Question = ODM.Question() itd.Question.TranslatedText.append(ODM.TranslatedText(_content="Birth Year", lang="en")) itd.Alias.append(ODM.Alias(Context="CDASH", Name="BRTHYR")) itd.Alias.append(ODM.Alias(Context="SDTM", Name="BRTHDTC")) root.Study[0].MetaDataVersion[0].ItemDef.append(itd) # save the new ODM document to an ODM XML file root.write_xml(ODM_XML_FILE) # save the same ODM document to a JSON file root.write_json(ODM_JSON_FILE)
def test_to_xml(self): attrs = self._set_attributes() cl = ODM.CodeList(**attrs) eni = ODM.EnumeratedItem(CodedValue="HGB", OrderNumber=1) eni.Alias = [ODM.Alias(Context="nci:ExtCodeID", Name="C64848")] cl.EnumeratedItem.append(eni) eni.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C65047")) cl_xml = cl.to_xml() self.assertEqual(cl_xml.attrib["OID"], "ODM.CL.LBTESTCD") ei = cl_xml.find("EnumeratedItem") self.assertEqual(ei.attrib["CodedValue"], "HGB")
def test_add_code_list_item(self): cli1 = ODM.CodeListItem(CodedValue="HGB", OrderNumber=1) cli1.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C64848")) self.cl.CodeListItem.append(cli1) cli2 = ODM.CodeListItem(CodedValue="VITB12", OrderNumber=2) cli2.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C64817")) self.cl.CodeListItem.append(cli2) cli3 = ODM.CodeListItem(CodedValue="GLUC", OrderNumber=3) cli3.Alias = [ODM.Alias(Context="nci:ExtCodeID", Name="C41376")] self.cl.CodeListItem.append(cli3) cl_dict = self.cl.to_dict() print(cl_dict) self.assertDictEqual(cl_dict, self.expected_cli_dict())
def test_add_enumerated_item(self): eni1 = ODM.EnumeratedItem(CodedValue="HGB", OrderNumber=1) eni1.Alias = [ODM.Alias(Context="nci:ExtCodeID", Name="C64848")] self.cl.EnumeratedItem.append(eni1) eni2 = ODM.EnumeratedItem(CodedValue="VITB12", OrderNumber=2) eni2.Alias = [ODM.Alias(Context="nci:ExtCodeID", Name="C64817")] self.cl.EnumeratedItem.append(eni2) eni3 = ODM.EnumeratedItem(CodedValue="GLUC", OrderNumber=3) eni3.Alias = [ODM.Alias(Context="nci:ExtCodeID", Name="C41376")] self.cl.EnumeratedItem.append(eni3) ei_dict = self.cl.to_dict() print(ei_dict) self.assertDictEqual(ei_dict, self.expected_eni_dict())
def test_CodeList(self): attrs = { "OID": "ODM.CL.LBTESTCD", "Name": "Laboratory Test Code", "DataType": "text" } cl = ODM.CodeList(**attrs) eni = ODM.EnumeratedItem(CodedValue="HGB", OrderNumber=1) eni.Alias = [ODM.Alias(Context="nci:ExtCodeID", Name="C64848")] cl.EnumeratedItem.append(eni) eni.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C65047")) cl_dict = cl.to_dict() print(cl_dict) is_valid = self.validator.verify_conformance(cl_dict, "CodeList") self.assertTrue(is_valid)
def test_to_xml_code_list_item(self): attrs = self._set_attributes() cl = ODM.CodeList(**attrs) cli1 = ODM.CodeListItem(CodedValue="HGB", OrderNumber=1) cli1.Alias = [ODM.Alias(Context="nci:ExtCodeID", Name="C64848")] cl.CodeListItem.append(cli1) cli2 = ODM.CodeListItem(CodedValue="VITB12", OrderNumber=2) cli2.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C64817")) cl.CodeListItem.append(cli2) cli3 = ODM.CodeListItem(CodedValue="GLUC", OrderNumber=3) cli3.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C41376")) cl.CodeListItem.append(cli3) cl_xml = cl.to_xml() self.assertEqual(cl_xml.attrib["OID"], "ODM.CL.LBTESTCD") ei = cl_xml.findall("CodeListItem") self.assertEqual(ei[0].attrib["CodedValue"], "HGB")
def test_FormDef(self): formdef = ODM.FormDef(OID="ODM.F.VS", Name="Vital Signs Form", Repeating="Yes") tt1 = ODM.TranslatedText(_content="this is the first test description", lang="en") formdef.Description = ODM.Description() formdef.Description.TranslatedText = [tt1] igr = ODM.ItemGroupRef(ItemGroupOID="ODM.IG.COMMON", Mandatory="Yes", OrderNumber="1") formdef.ItemGroupRef.append(igr) igr = ODM.ItemGroupRef(ItemGroupOID="ODM.IG.VS_GENERAL", Mandatory="Yes", OrderNumber="2") formdef.ItemGroupRef.append(igr) igr = ODM.ItemGroupRef(ItemGroupOID="ODM.IG.VS", Mandatory="Yes", OrderNumber="3") formdef.ItemGroupRef.append(igr) formdef.Alias.append(ODM.Alias(Context="SDTMIG", Name="VS")) fd_dict = formdef.to_dict() print(fd_dict) is_valid = self.validator.verify_conformance(fd_dict, "FormDef") self.assertTrue(is_valid)
def test_to_dict(self): attrs = self._set_attributes() eni = ODM.EnumeratedItem(**attrs) eni.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C64848")) eni_dict = eni.to_dict() self.assertEqual(eni_dict["CodedValue"], "HGB") self.assertDictEqual(eni_dict, self.expected_dict())
def test_Protocol(self): p = ODM.Protocol() tt = ODM.TranslatedText(_content="Trace-XML Test CDASH File", lang="en") p.Description = ODM.Description() p.Description.TranslatedText = [tt] ser1 = ODM.StudyEventRef(StudyEventOID="BASELINE", OrderNumber="1", Mandatory="Yes") ser2 = ODM.StudyEventRef(StudyEventOID="FOLLOW-UP", OrderNumber="2", Mandatory="Yes") p.StudyEventRef = [ser1, ser2] p.Alias = [ ODM.Alias(Context="ClinicalTrials.gov", Name="trace-protocol") ] description_dict = p.Description.to_dict() print(description_dict) is_valid = self.validator.verify_conformance(description_dict, "Description") self.assertTrue(is_valid) protocol_dict = p.to_dict() print(protocol_dict) is_valid = self.validator.verify_conformance(protocol_dict, "Protocol") self.assertTrue(is_valid)
def test_to_xml(self): attrs = self._set_attributes() eni = ODM.EnumeratedItem(**attrs) eni.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C64848")) eni_xml = eni.to_xml() self.assertEqual(eni_xml.attrib["CodedValue"], "HGB") alias_elem = eni_xml.find("Alias") self.assertEqual(alias_elem.attrib["Name"], "C64848")
def test_add_not_alias(self): item = ODM.ItemDef(OID="ODM.IT.VSPOS", Name="VS Position", DataType="text") with self.assertRaises(TypeError): self.formdef.Alias = [item] self.formdef.Alias.append(ODM.Alias(Context="SDTMIG", Name="VS")) # list accepts invalid objects self.formdef.Alias.append(ODM.ItemDef(OID="ODM.IT.VSDT", Name="VS Date", DataType="text")) self.assertEqual(len(self.formdef.Alias), 2) self.assertEqual(self.formdef.Alias[0].Context, "SDTMIG")
def test_CodeListItem(self): cli = ODM.CodeListItem(CodedValue="HGB", OrderNumber="1") tt1 = ODM.TranslatedText(_content="Hemoglobin", lang="en") decode = ODM.Decode() decode.TranslatedText.append(tt1) cli.Decode = decode cli.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C64848")) cli_dict = cli.to_dict() print(cli_dict) is_valid = self.validator.verify_conformance(cli_dict, "CodeListItem") self.assertTrue(is_valid)
def test_to_dict(self): attrs = self.set_formdef_attributes() fd = ODM.FormDef(**attrs) fd.Description = ODM.Description() fd.Description.TranslatedText.append(ODM.TranslatedText(_content="this is the first test description", lang="en")) fd.ItemGroupRef.append(ODM.ItemGroupRef(ItemGroupOID="ODM.IG.COMMON", Mandatory="Yes", OrderNumber=1)) fd.ItemGroupRef.append(ODM.ItemGroupRef(ItemGroupOID="ODM.IG.VS_GENERAL", Mandatory="Yes", OrderNumber=2)) fd.ItemGroupRef.append(ODM.ItemGroupRef(ItemGroupOID="ODM.IG.VS", Mandatory="Yes", OrderNumber=3)) fd.Alias.append(ODM.Alias(Context="SDTMIG", Name="VS")) fd_dict = fd.to_dict() self.assertEqual(fd_dict["OID"], "ODM.F.VS") self.assertDictEqual(fd_dict, self.expected_dict())
def test_to_xml(self): attrs = self.set_formdef_attributes() fd = ODM.FormDef(**attrs) fd.Description = ODM.Description() fd.Description.TranslatedText.append(ODM.TranslatedText(_content="this is the first test description", lang="en")) fd.ItemGroupRef.append(ODM.ItemGroupRef(ItemGroupOID="ODM.IG.COMMON", Mandatory="Yes", OrderNumber=1)) fd.ItemGroupRef.append(ODM.ItemGroupRef(ItemGroupOID="ODM.IG.VS_GENERAL", Mandatory="Yes", OrderNumber=2)) fd.ItemGroupRef.append(ODM.ItemGroupRef(ItemGroupOID="ODM.IG.VS", Mandatory="Yes", OrderNumber=3)) fd.Alias.append(ODM.Alias(Context="SDTMIG", Name="VS")) fd_xml = fd.to_xml() self.assertEqual(fd_xml.attrib["OID"], "ODM.F.VS") igr = fd_xml.findall("ItemGroupRef") self.assertEqual(len(igr), 3) self.assertEqual(igr[0].attrib, {"ItemGroupOID": "ODM.IG.COMMON", "Mandatory": "Yes", "OrderNumber": "1"})
def test_StudEventDef(self): attrs = { "OID": "ODM.SE.BASELINE", "Name": "Baseline Visit", "Repeating": "No", "Type": "Scheduled", "Category": "Pre-treatment" } sed = ODM.StudyEventDef(**attrs) tt1 = ODM.TranslatedText(_content="this is the first test description", lang="en") sed.Description = ODM.Description() sed.Description.TranslatedText = [tt1] fr1 = ODM.FormRef(FormOID="ODM.F.VS", Mandatory="Yes", OrderNumber="1") fr2 = ODM.FormRef(FormOID="ODM.F.DM", Mandatory="Yes", OrderNumber="2") fr3 = ODM.FormRef(FormOID="ODM.F.MH", Mandatory="Yes", OrderNumber="3") sed.FormRef = [fr1, fr2, fr3] a1 = ODM.Alias(Context="SDTMIG", Name="VS") a2 = ODM.Alias(Context="CDASHIG", Name="VS") sed.Alias = [a1, a2] sed_dict = sed.to_dict() print(sed_dict) is_valid = self.validator.verify_conformance(sed_dict, "StudyEventDef") self.assertTrue(is_valid)
def test_to_dict(self): attrs = self.set_attributes() sed = ODM.StudyEventDef(**attrs) tt1 = ODM.TranslatedText(_content="this is the first test description", lang="en") desc = ODM.Description() desc.TranslatedText = [tt1] sed.Description = desc fr1 = ODM.FormRef(FormOID="ODM.F.VS", Mandatory="Yes", OrderNumber=1) fr2 = ODM.FormRef(FormOID="ODM.F.DM", Mandatory="Yes", OrderNumber=2) fr3 = ODM.FormRef(FormOID="ODM.F.MH", Mandatory="Yes", OrderNumber=3) sed.FormRef = [fr1, fr2, fr3] a1 = ODM.Alias(Context="SDTMIG", Name="VS") sed.Alias = [a1] sed_dict = sed.to_dict() self.assertEqual(sed_dict["OID"], "ODM.SE.BASELINE") self.assertDictEqual(sed_dict, self.expected_dict())
def add_protocol(self): p = ODM.Protocol() tt = ODM.TranslatedText(_content="Trace-XML Test CDASH File", lang="en") p.Description = ODM.Description() p.Description.TranslatedText = [tt] ser1 = ODM.StudyEventRef(StudyEventOID="BASELINE", OrderNumber=1, Mandatory="Yes") ser2 = ODM.StudyEventRef(StudyEventOID="FOLLOW-UP", OrderNumber=2, Mandatory="Yes") p.StudyEventRef = [ser1, ser2] p.Alias = [ ODM.Alias(Context="ClinicalTrials.gov", Name="trace-protocol") ] return p
def test_to_xml(self): attrs = self.set_attributes() sed = ODM.StudyEventDef(**attrs) tt1 = ODM.TranslatedText(_content="this is the first test description", lang="en") desc = ODM.Description() desc.TranslatedText = [tt1] sed.Description = desc fr1 = ODM.FormRef(FormOID="ODM.F.VS", Mandatory="Yes", OrderNumber=1) fr2 = ODM.FormRef(FormOID="ODM.F.DM", Mandatory="Yes", OrderNumber=2) fr3 = ODM.FormRef(FormOID="ODM.F.MH", Mandatory="Yes", OrderNumber=3) sed.FormRef = [fr1, fr2, fr3] a1 = ODM.Alias(Context="SDTMIG", Name="VS") sed.Alias = [a1] sed_xml = sed.to_xml() self.assertEqual(sed_xml.attrib["OID"], "ODM.SE.BASELINE") fr = sed_xml.findall("FormRef") self.assertEqual(len(fr), 3) self.assertEqual(fr[0].attrib, { "FormOID": "ODM.F.VS", "Mandatory": "Yes", "OrderNumber": "1" })
def test_add_alias(self): a = ODM.Alias(Context="CDASH", Name="AGE") self.cond_def.Alias = [a] self.assertEqual(self.cond_def.Alias[0].Name, "AGE")
def test_add_alias(self): self.item.Alias = [ODM.Alias(Context="CDASH", Name="AEYN")] self.assertEqual(self.item.Alias[0].Name, "AEYN")
def test_add_alias(self): self.formdef.Alias.append(ODM.Alias(Context="SDTMIG", Name="VS")) self.formdef.Alias.append(ODM.Alias(Context="CDASHIG", Name="VS")) self.assertEqual(len(self.formdef.Alias), 2) self.assertEqual(self.formdef.Alias[1].Context, "CDASHIG")
def test_add_alias(self): a1 = ODM.Alias(Context="SDTMIG", Name="VSORRES") a2 = ODM.Alias(Context="SDTMIG", Name="VSTESTCD") self.igd.Alias = [a1, a2] self.assertEqual(len(self.igd.Alias), 2) self.assertEqual(self.igd.Alias[1].Name, "VSTESTCD")
def test_add_alias(self): a1 = ODM.Alias(Context="SDTMIG", Name="VS") a2 = ODM.Alias(Context="CDASHIG", Name="VS") self.sed.Alias = [a1, a2] self.assertEqual(len(self.sed.Alias), 2) self.assertEqual(self.sed.Alias[1].Context, "CDASHIG")
def test_add_alias(self): alias = ODM.Alias(Context="nci:ExtCodeID", Name="C64848") self.cl.Alias = [alias] self.assertEqual(self.cl.Alias[0].Name, "C64848")
def test_add_alias(self): self.eni.Alias.append(ODM.Alias(Context="nci:ExtCodeID", Name="C64848")) self.assertEqual(self.eni.Alias[0].Context, "nci:ExtCodeID") self.assertEqual(self.eni.Alias[0].Name, "C64848")
def test_add_undefined_content(self): # use conformance rules to check for unknown objects being added after creation attrs = { "OID": "ODM.IT.AE.AEYN", "Name": "Any AEs?", "DataType": "text", "Length": 1, "SASFieldName": "AEYN", "SDSVarName": "AEYN", "Origin": "CRF", "Comment": "Data management field", "SignificantDigits": 1 } item = ODM.ItemDef(**attrs) clr = ODM.CodeListRef(CodeListOID="CL.TEST") with self.assertRaises(TypeError): item.NewCodeList = clr # cannot add unknown attributes or elements during creation, but can afterwards; catch with conformance checks attrs = { "OID": "ODM.IT.AE.AEYN", "Name": "Any AEs?", "DataType": "text", "Length": 1, "SASFieldName": "AEYN", "SDSVarName": "AEYN", "Origin": "CRF", "Comment": "Data management field", "SignificantDigits": 1 } item = ODM.ItemDef(**attrs) with self.assertRaises(TypeError): item.InSignificantDigits = 1 # can add all objects during creation and they are validated attrs = { "OID": "ODM.IT.AE.AEYN", "Name": "Any AEs?", "DataType": "text", "Length": 1, "SASFieldName": "AEYN", "SDSVarName": "AEYN", "Origin": "CRF", "Comment": "Data management field", "CodeListRef": clr } item = ODM.ItemDef(**attrs) self.assertEqual(item.CodeListRef, clr) attrs["CodeListReference"] = clr with self.assertRaises(TypeError): # test shows that ItemDef fails the schema check because it has an unknown CodeListReference object item = ODM.ItemDef(**attrs) self.assertEqual(item.CodeListRef, clr) # test adding the wrong type of object to a list attrs = { "OID": "ODM.IT.AE.AEYN", "Name": "Any AEs?", "DataType": "text", "Length": 1, "SASFieldName": "AEYN", "SDSVarName": "AEYN", "Origin": "CRF", "Comment": "Data management field", "Alias": [clr] } with self.assertRaises(TypeError): item = ODM.ItemDef(**attrs) # test adding the wrong type of object to a list alias = ODM.Alias(Context="CDASH", Name="AEYN") attrs = { "OID": "ODM.IT.AE.AEYN", "Name": "Any AEs?", "DataType": "text", "Length": 1, "SASFieldName": "AEYN", "SDSVarName": "AEYN", "Origin": "CRF", "Comment": "Data management field", "Alias": alias } with self.assertRaises(TypeError): item = ODM.ItemDef(**attrs) # assign wrong type of object to an element attrs = { "OID": "ODM.IT.AE.AEYN", "Name": "Any AEs?", "DataType": "text", "Length": 1, "SASFieldName": "AEYN", "SDSVarName": "AEYN", "Origin": "CRF", "Comment": "Data management field", "CodeListRef": alias } with self.assertRaises(TypeError): item = ODM.ItemDef(**attrs)
def test_add_alias(self): self.methoddef.Alias = [ODM.Alias(Context="CDASH", Name="AGE")] self.assertEqual(self.methoddef.Alias[0].Name, "AGE")
def add_ITD_nonunique(self): # ItemDef 1 ttd1 = ODM.TranslatedText(_content="Date of measurements", lang="en") ttq1 = ODM.TranslatedText(_content="Date", lang="en") desc1 = ODM.Description() desc1.TranslatedText = [ttd1] q1 = ODM.Question() q1.TranslatedText = [ttq1] a1 = ODM.Alias(Context="CDASH", Name="VSDAT") itd1 = ODM.ItemDef(OID="ODM.IT.VS.VSDAT", Name="Date", DataType="partialDate") itd1.Description = desc1 itd1.Question = q1 itd1.Alias = [a1] # ItemDef 2 ttd2 = ODM.TranslatedText( _content= "Result of the vital signs measurement as originally received or collected.", lang="en") ttq2 = ODM.TranslatedText(_content="Diastolic", lang="en") desc2 = ODM.Description() desc2.TranslatedText = [ttd2] q2 = ODM.Question() q2.TranslatedText = [ttq2] a2a = ODM.Alias(Context="CDASH", Name="BP.DIABP.VSORRES") a2b = ODM.Alias(Context="CDASH/SDTM", Name="VSORRES+VSORRESU") itd2 = ODM.ItemDef(OID="ODM.IT.VS.BP.VSORRESU", Name="BP Units", DataType="text") itd2.Description = desc2 itd2.Question = q2 itd2.Alias = [a2a, a2b] # ItemDef 3 ttd3 = ODM.TranslatedText(_content="Adverse Event Term", lang="en") ttq3 = ODM.TranslatedText(_content="AE Term", lang="en") desc3 = ODM.Description() desc3.TranslatedText = [ttd3] q3 = ODM.Question() q3.TranslatedText = [ttq3] itd3 = ODM.ItemDef(OID="ODM.IT.AE.AETERM", Name="AE Term", DataType="text") itd3.Description = desc3 itd3.Question = q3 # ItemDef 4 ttd4 = ODM.TranslatedText(_content="Adverse Event Severity", lang="en") ttq4 = ODM.TranslatedText(_content="AE Severity", lang="en") desc4 = ODM.Description() desc4.TranslatedText = [ttd4] q4 = ODM.Question() q4.TranslatedText = [ttq4] itd4 = ODM.ItemDef(OID="ODM.IT.AE.AESEV", Name="AE Severity", DataType="text") itd4.Description = desc4 itd4.Question = q4 # ItemDef 5 ttd5 = ODM.TranslatedText(_content="Subject ID", lang="en") ttq5 = ODM.TranslatedText(_content="Subject ID", lang="en") desc5 = ODM.Description() desc5.TranslatedText = [ttd5] q5 = ODM.Question() q5.TranslatedText = [ttq5] itd5 = ODM.ItemDef(OID="ODM.IT.Common.SubjectID", Name="Subject ID", DataType="text") itd5.Description = desc5 itd5.Question = q5 # ItemDef 6 ttd6 = ODM.TranslatedText(_content="Diastolic Blood Pressure Result", lang="en") ttq6 = ODM.TranslatedText(_content="Diastolic BP", lang="en") desc6 = ODM.Description() desc6.TranslatedText = [ttd6] q6 = ODM.Question() q6.TranslatedText = [ttq6] itd6 = ODM.ItemDef(OID="ODM.IT.VS.BP.SYSBP.VSORRES", Name="DBP Result", DataType="text") itd6.Description = desc6 itd6.Question = q6 # ItemDef 7 ttd7 = ODM.TranslatedText(_content="Birth Year", lang="en") ttq7 = ODM.TranslatedText(_content="DOB Year", lang="en") desc7 = ODM.Description() desc7.TranslatedText = [ttd7] q7 = ODM.Question() q7.TranslatedText = [ttq7] itd7 = ODM.ItemDef(OID="ODM.IT.DM.BRTHYR", Name="Birth Year", DataType="text") itd7.Description = desc7 itd7.Question = q7 # ItemDef 8 ttd8 = ODM.TranslatedText(_content="Visit", lang="en") ttq8 = ODM.TranslatedText(_content="Visit", lang="en") desc8 = ODM.Description() desc8.TranslatedText = [ttd8] q8 = ODM.Question() q8.TranslatedText = [ttq8] itd8 = ODM.ItemDef(OID="ODM.IT.Common.Visit", Name="Visit", DataType="text") itd8.Description = desc8 itd8.Question = q8 # ItemDef 9 ttd9 = ODM.TranslatedText(_content="Sex", lang="en") ttq9 = ODM.TranslatedText(_content="Sex", lang="en") desc9 = ODM.Description() desc9.TranslatedText = [ttd9] q9 = ODM.Question() q9.TranslatedText = [ttq9] itd9 = ODM.ItemDef(OID="ODM.IT.DM.SEX", Name="Sex", DataType="text") itd9.Description = desc9 itd9.Question = q9 # ItemDef 10 ttd10 = ODM.TranslatedText(_content="Systolic Blood Pressure Result", lang="en") ttq10 = ODM.TranslatedText(_content="Systolic BP", lang="en") desc10 = ODM.Description() desc10.TranslatedText = [ttd10] q10 = ODM.Question() q10.TranslatedText = [ttq10] itd10 = ODM.ItemDef(OID="ODM.IT.VS.BP.SYSBP.VSORRES", Name="Systolic BP Result", DataType="text") itd10.Description = desc10 itd10.Question = q10 return [itd1, itd2, itd3, itd4, itd5, itd6, itd7, itd8, itd9, itd10]