diff --git a/cdisc_rules_engine/services/define_xml/base_define_xml_reader.py b/cdisc_rules_engine/services/define_xml/base_define_xml_reader.py index 875557134..b801f24a7 100644 --- a/cdisc_rules_engine/services/define_xml/base_define_xml_reader.py +++ b/cdisc_rules_engine/services/define_xml/base_define_xml_reader.py @@ -474,6 +474,9 @@ def validate_schema(self) -> bool: def get_define_version(self) -> Optional[str]: """Use to extract DefineVersion from file""" self.read() + if hasattr(self, "_original_define_version") and self._original_define_version: + return self._original_define_version + mdv_attrib: dict = self._odm_loader.loader.parser.mdv[0].attrib for key, val in mdv_attrib.items(): if key.endswith("DefineVersion"): diff --git a/cdisc_rules_engine/services/define_xml/define_xml_reader_factory.py b/cdisc_rules_engine/services/define_xml/define_xml_reader_factory.py index 1e6dff126..a5303b7df 100644 --- a/cdisc_rules_engine/services/define_xml/define_xml_reader_factory.py +++ b/cdisc_rules_engine/services/define_xml/define_xml_reader_factory.py @@ -1,7 +1,9 @@ +import re +from pathlib import Path from os.path import dirname, join -from xml.etree import ElementTree from re import compile from typing import Union +from xml.etree import ElementTree from cdisc_rules_engine.constants.define_xml_constants import ( DEFINE_XML_FILE_NAME, @@ -41,16 +43,8 @@ class DefineXMLReaderFactory: @classmethod def from_filename(cls, filename: str): - """ - Inits a DefineXMLReader object from file. - """ - logger.info(f"Reading Define-XML from file name. filename={filename}") - define_xml_reader_class: type = cls._get_define_xml_reader( - ElementTree.parse(filename).getroot() - ) - reader: BaseDefineXMLReader = define_xml_reader_class() - reader._odm_loader.open_odm_document(filename) - return reader + logger.info(f"Reading Define-XML from file. filename={filename}") + return cls._build_reader(Path(filename).read_bytes()) @classmethod def from_file_contents( @@ -60,35 +54,50 @@ def from_file_contents( study_id=None, data_bundle_id=None, ): - """ - Inits a DefineXMLReader object from file contents. - """ logger.info("Reading Define-XML from file contents") - define_xml_reader_class: type = cls._get_define_xml_reader( - ElementTree.fromstring(file_contents) - ) - reader: BaseDefineXMLReader = define_xml_reader_class( - cache_service_obj, study_id, data_bundle_id + return cls._build_reader( + file_contents, cache_service_obj, study_id, data_bundle_id ) - reader._odm_loader.load_odm_string(file_contents) + + @classmethod + def _build_reader( + cls, + content: Union[str, bytes], + cache_service_obj=None, + study_id=None, + data_bundle_id=None, + ) -> "BaseDefineXMLReader": + root = ElementTree.fromstring(content) + reader_class, original_version = cls._get_define_xml_reader(root) + + if isinstance(content, bytes): + content = ElementTree.tostring(root, encoding="unicode") + + if original_version: + content = content.replace( + f'DefineVersion="{original_version}"', + 'DefineVersion="2.1"', + ) + + reader = reader_class(cache_service_obj, study_id, data_bundle_id) + reader._original_define_version = original_version + reader._odm_loader.load_odm_string(content) return reader @classmethod - def _get_define_xml_reader(cls, root: ElementTree.Element) -> BaseDefineXMLReader: - elt = root.find( - "Study/MetaDataVersion", - namespaces={"": ODM_NAMESPACE}, - ) + def _get_define_xml_reader( + cls, root: ElementTree.Element + ) -> tuple[type[BaseDefineXMLReader], str]: + elt = root.find("Study/MetaDataVersion", namespaces={"": ODM_NAMESPACE}) pattern = compile(r"(\{(.*)\})?DefineVersion") - define_version = next( - iter( - cls._from_namespace(match.group(2)) - for match in [pattern.fullmatch(name) for name, _ in elt.items()] - if match - ), - None, - ) - return define_version + for name, value in elt.items(): + match = pattern.fullmatch(name) + if match: + reader_class = cls._from_namespace(match.group(2)) + # only look after 2.1.* versions + original_version = value if re.fullmatch(r"2\.1\.\d+", value) else None + return reader_class, original_version + return None, None @classmethod def _from_namespace(cls, namespace: str) -> BaseDefineXMLReader: diff --git a/tests/QARegressionTests/test_Issues/test_CoreIssue984.py b/tests/QARegressionTests/test_Issues/test_CoreIssue984.py new file mode 100644 index 000000000..1bdda31f0 --- /dev/null +++ b/tests/QARegressionTests/test_Issues/test_CoreIssue984.py @@ -0,0 +1,67 @@ +import os +import subprocess + +import pytest +import json +from conftest import get_python_executable + + +@pytest.mark.regression +class TestCoreIssue984: + def test_define_subversion_ignored(self): + # Run the command in the terminal + command = [ + f"{get_python_executable()}", + "-m", + "core", + "validate", + "-s", + "sdtmig", + "-r", + "CORE-000007", + "-v", + "3.4", + "-dp", + os.path.join( + "tests", + "resources", + "test_dataset.json", + ), + "-dxp", + os.path.join("tests", "resources", "CoreIssue984", "define.xml"), + "--output-format", + "json", + "-ps", + "1", + ] + subprocess.run(command, check=True) + + files = os.listdir() + json_files = [ + file + for file in files + if file.startswith("CORE-Report-") and file.endswith(".json") + ] + json_report_path = sorted(json_files)[-1] + # Open the JSON report file + json_report = json.load(open(json_report_path)) + assert { + "Conformance_Details", + "Dataset_Details", + "Issue_Summary", + "Issue_Details", + "Rules_Report", + }.issubset(json_report.keys()) + + assert { + "Conformance_Details", + "Dataset_Details", + "Issue_Summary", + "Issue_Details", + "Rules_Report", + }.issubset(json_report.keys()) + assert json_report["Conformance_Details"]["Standard"] == "SDTMIG" + assert json_report["Conformance_Details"]["Define_XML_Version"] == "2.1.5" + + if os.path.exists(json_report_path): + os.remove(json_report_path) diff --git a/tests/resources/CoreIssue984/define.xml b/tests/resources/CoreIssue984/define.xml new file mode 100644 index 000000000..530c6e91d --- /dev/null +++ b/tests/resources/CoreIssue984/define.xml @@ -0,0 +1,11789 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CDISCPILOT01 + Study Data Tabulation Model Metadata Submission Guidelines Sample Study + CDISCPILOT01 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INJECTION SITE REACTION + + + + + INJECTION SITE REACTION + + + + + AVL0201 + AVL0202 + AVL0203 + AVL0204 + AVL0205 + AVL0206 + AVL0207 + AVL0208 + AVL0209 + AVL0210 + AVL0211 + AVL0212 + AVL0213 + AVL0214 + AVL0215 + + + + + AVL0216 + AVL0217 + + + + + AVL0218 + AVL0219 + AVL0220 + AVL0221 + AVL0222 + AVL0223 + AVL0224 + AVL0225 + AVL0226 + AVL0227 + AVL0228 + AVL0229 + AVL0230 + AVL0231 + AVL0232 + + + + + AVL0233 + AVL0234 + + + + + DIABP + SYSBP + + + + + + + + + + + + + + + + + + + + + + + + + ECREASOC + + + + + OCCUR + + + + + SEV + + + + + HAMD101 + + + + + HAMD101 + + + + + HAMD102 + + + + + HAMD102 + + + + + HAMD103 + + + + + HAMD103 + + + + + HAMD104 + + + + + HAMD104 + + + + + HAMD105 + + + + + HAMD105 + + + + + HAMD106 + + + + + HAMD106 + + + + + HAMD107 + + + + + HAMD107 + + + + + HAMD108 + + + + + HAMD108 + + + + + HAMD109 + + + + + HAMD109 + + + + + HAMD110 + + + + + HAMD110 + + + + + HAMD111 + + + + + HAMD111 + + + + + HAMD112 + + + + + HAMD112 + + + + + HAMD113 + + + + + HAMD113 + + + + + HAMD114 + + + + + HAMD114 + + + + + HAMD115 + + + + + HAMD115 + + + + + HAMD116A + + + + + HAMD116A + + + + + HAMD116B + + + + + HAMD116B + + + + + HAMD117 + + + + + HAMD117 + + + + + HAMD118 + + + + + HAMD118 + + + + + HEIGHT + + + + + HEIGHT + + + + + ALB + + + + + ALP + + + + + ALT + + + + + AST + + + + + BASO + + + + + BILI + + + + + CA + + + + + CHOL + + + + + CK + + + + + CL + + + + + CREAT + + + + + EOS + + + + + GGT + + + + + GLUC + + + + + HCT + + + + + HGB + + + + + K + + + + + LYM + + + + + MCH + + + + + MCHC + + + + + MCV + + + + + MONO + + + + + PHOS + + + + + PLAT + + + + + PROT + + + + + RBC + + + + + SODIUM + + + + + TSH + + + + + URATE + + + + + UREAN + + + + + VITB12 + + + + + WBC + + + + + COLOR + + + + + GLUC + + + + + ALB + BILI + CA + CREAT + K + PHOS + PROT + URATE + + + + + HCT + HGB + + + + + BASO + EOS + LYM + MONO + RBC + TSH + WBC + + + + + ANISO + KETONES + MACROCY + PH + POIKILO + UROBIL + + + + + ALT + AST + GGT + MCH + MCHC + MCV + UREAN + + + + + ALP + CHOL + CK + CL + PLAT + SODIUM + VITB12 + + + + + SPGRAV + + + + + BILI + + + + + CK + + + + + COLOR + + + + + CREAT + + + + + GLUC + + + + + HGB + + + + + K + + + + + MCHC + + + + + RBC + + + + + BASO + EOS + LYM + MONO + RBC + TSH + WBC + + + + + SPGRAV + UREAN + + + + + CA + CHOL + MCH + PHOS + + + + + ANISO + KETONES + MACROCY + PH + POIKILO + UROBIL + + + + + ALB + ALT + AST + GGT + PROT + + + + + ALP + CL + MCV + PLAT + SODIUM + + + + + URATE + + + + + VITB12 + + + + + ALB + + + + + ALP + + + + + ALT + + + + + AST + + + + + BASO + + + + + BILI + + + + + CA + + + + + CHOL + + + + + CK + + + + + CL + + + + + CREAT + + + + + EOS + + + + + GGT + + + + + GLUC + + + + + HGB + + + + + K + + + + + LYM + + + + + MCHC + + + + + MCH + + + + + MCV + + + + + MONO + + + + + PHOS + + + + + PLAT + + + + + PROT + + + + + RBC + + + + + SODIUM + + + + + TSH + + + + + URATE + + + + + UREAN + + + + + VITB12 + + + + + WBC + + + + + NVCLSIG + + + + + OECLSIG + + + + + INTP + + + + + ABDETAIL + + + + + PHQ0101 + PHQ0102 + PHQ0103 + PHQ0104 + PHQ0105 + PHQ0106 + PHQ0107 + PHQ0108 + PHQ0109 + + + + + PHQ0101 + PHQ0102 + PHQ0103 + PHQ0104 + PHQ0105 + PHQ0106 + PHQ0107 + PHQ0108 + PHQ0109 + + + + + PHQ0110 + + + + + PHQ0110 + + + + + PHQ0111 + + + + + PHQ0111 + + + + + PULSE + + + + + PULSE + + + + + MULTIPLE + + + + + RACE1 + + + + + RACE2 + + + + + RACE3 + + + + + RACE4 + + + + + RACE5 + + + + + MULTIPLE + + + + + TEMP + + + + + TEMP + + + + + TBLIND + + + + + TCNTRL + + + + + FCNTRY + + + + + DCUTDTC + SENDTC + SSTDTC + + + + + TS_DURATION + + + + + TS_FLOAT + + + + + DOSFRQ + + + + + DOSFRM + + + + + INDIC + + + + + ACTSUB + AGEMAX + AGEMIN + DOSE + NARMS + PLANSUB + + + + + INTTYPE + + + + + INTMODEL + + + + + OBJPRIM + + + + + OBJSEC + + + + + OUTMSPRI + + + + + PCLAS + + + + + TPHASE + + + + + REGID + + + + + ROUTE + + + + + SDTIGVER + SDTMVER + + + + + SEXPOP + + + + + SPONSOR + + + + + STOPRULE + + + + + STYPE + + + + + TDIGRP + + + + + TINDTP + + + + + TITLE + + + + + TRT + + + + + TTYPE + + + + + DOSU + + + + + ADAPT + ADDON + HLTSUBJI + RANDOM + + + + + WEIGHT + + + + + WEIGHT + + + + + + + + + + + + Trial Arms + + + + + + + + + + + + + + ta.xml + + + + + + Trial Elements + + + + + + + + + + te.xml + + + + + + Trial Inclusion/Exclusion Criteria + + + + + + + + + + ti.xml + + + + + + Trial Summary + + + + + + + + + + + + + + + ts.xml + + + + + + Trial Visits + + + + + + + + + + + tv.xml + + + + + + Demographics + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dm.xml + + + + + + Subject Elements + + + + + + + + + + + + + + + se.xml + + + + + + Subject Visits + + + + + + + + + + + + + + sv.xml + + + + + + Concomitant Medications + + + + + + + + + + + + + + + + + + + + + cm.xml + + + + + + Exposure as Collected + + + + + + + + + + + + + + + + + + + + + + + + + ec.xml + + + + + + Exposure + + + + + + + + + + + + + + + + + + + + + ex.xml + + + + + + Adverse Events + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ae.xml + + + + + + Disposition + + + + + + + + + + + + + + + + ds.xml + + + + + + Medical History + + + + + + + + + + + + mh.xml + + + + + + Death Details + + + + + + + + + + + + + + + + dd.xml + + + + + + Functional Tests + + + + + + + + + + + + + + + + + + + + + + + + + + ft.xml + + + + + + Inclusion/Exclusion Criteria Not Met + + + + + + + + + + + + + + + + ie.xml + + + + + + Laboratory Test Results + + + + + + + + + + + + + + + + + + + + + + + + + + + lb.xml + + + + + + Nervous System Findings + + + + + + + + + + + + + + + + + + + Ophthalmic Examinations + + + + + + + + + + + + + + + + + + + + + + oe.xml + + + + + + Questionnaires (PHQ-9) + + + + + + + + + + + + + + + + + + + + + + qsph.xml + + + + + + Questionnaires (SQLS) + + + + + + + + + + + + + + + + + + + + + qssl.xml + + + + + + Disease Response and Clin Classification + + + + + + + + + + + + + + + + + + + + + rs.xml + + + + + + Vital Signs + + + + + + + + + + + + + + + + + + + + + + + + + vs.xml + + + + + + Findings About Events or Interventions + + + + + + + + + + + + + + + + + + + + fa.xml + + + + + + Related Records + + + + + + + + + + + relrec.xml + + + + + + Supplemental Qualifiers for DM + + + + + + + + + + + + + + + suppdm.xml + + + + + + Supplemental Qualifiers for EC + + + + + + + + + + + + + + + suppec.xml + + + + + + Supplemental Qualifiers for NV + + + + + + + + + + + + + + + + + + Supplemental Qualifiers for OE + + + + + + + + + + + + + + + + + + Device Identifiers + + + + + + + + + + + di.xml + + + + + + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Link ID + + + + + + + + + + Reported Term for the Adverse Event + + + + + + Lowest Level Term + + + + + + + Lowest Level Term Code + + + + + + + Dictionary-Derived Term + + + + + + + Preferred Term Code + + + + + + + High Level Term + + + + + + + High Level Term Code + + + + + + + High Level Group Term + + + + + + + High Level Group Term Code + + + + + + + Body System or Organ Class + + + + + + + Body System or Organ Class Code + + + + + + + Primary System Organ Class + + + + + + + Primary System Organ Class Code + + + + + + + Severity/Intensity + + + + + + + + + + + Serious Event + + + + + + + + + + + Action Taken with Study Treatment + + + + + + + + + + + Causality + + + + + + + + + + + Outcome of Adverse Event + + + + + + + + + + + Involves Cancer + + + + + + + + + + + Congenital Anomaly or Birth Defect + + + + + + + + + + + Persist or Signif Disability/Incapacity + + + + + + + + + + + Results in Death + + + + + + + + + + + Requires or Prolongs Hospitalization + + + + + + + + + + + Is Life Threatening + + + + + + + + + + + Occurred with Overdose + + + + + + + + + + + Epoch + + + + + + + Start Date/Time of Adverse Event + + + + + + + + + + End Date/Time of Adverse Event + + + + + + + + + + Study Day of Start of Adverse Event + + + + + + Study Day of End of Adverse Event + + + + + + End Relative to Reference Time Point + + + + + + + + + + + End Reference Time Point + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Reported Name of Drug, Med, or Therapy + + + + + + + + + + Indication + + + + + + + + + + Dose per Administration + + + + + + + + + + Dose Units + + + + + + + + + + + Dosing Frequency per Interval + + + + + + + + + + + Route of Administration + + + + + + + + + + + Epoch + + + + + + + Start Date/Time of Medication + + + + + + + + + + End Date/Time of Medication + + + + + + + + + + Study Day of Start of Medication + + + + + + Study Day of End of Medication + + + + + + End Relative to Reference Time Point + + + + + + + + + + + End Reference Time Point + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Sponsor Device Identifier + + + + + + Sequence Number + + + + + + Device Identifier Element Short Name + + + + + + + Device Identifier Element Name + + + + + + + Device Identifier Element Value + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Subject Identifier for the Study + + + + + + Subject Reference Start Date/Time + + + + + + Subject Reference End Date/Time + + + + + + Date/Time of First Study Treatment + + + + + + Date/Time of Last Study Treatment + + + + + + Date/Time of Informed Consent + + + + + + + + + + Date/Time of End of Participation + + + + + + Date/Time of Death + + + + + + + + + + Subject Death Flag + + + + + + + Study Site Identifier + + + + + + + Date/Time of Birth + + + + + + + + + + Age + + + + + + + + + + Age Units + + + + + + + Sex + + + + + + + + + + + Race + + + + + + Ethnicity + + + + + + + + + + + Planned Arm Code + + + + + + + Description of Planned Arm + + + + + + + Actual Arm Code + + + + + + + Description of Actual Arm + + + + + + + Reason Arm and/or Actual Arm is Null + + + + + + + Description of Unplanned Actual Arm + + + + + + Country + + + + + + + Study Identifier + + + + + + Related Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Identifying Variable + + + + + + Identifying Variable Value + + + + + + Qualifier Variable Name + + + + + + Qualifier Variable Label + + + + + + Data Value + + + + + + Origin + + + + + + Evaluator + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Link ID + + + + + + + + + + Reported Term for the Disposition Event + + + + + + Standardized Disposition Term + + + + + + Category for Disposition Event + + + + + + + + + + + Subcategory for Disposition Event + + + + + + + + + + + Epoch + + + + + + + Start Date/Time of Disposition Event + + + + + + + + + + Study Day of Start of Disposition Event + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sponsor Device Identifier + + + + + + Sequence Number + + + + + + Name of Treatment + + + + + + + Pre-Specified + + + + + + + Occurrence + + + + + + + + + + + Dose + + + + + + + + + + Dose Units + + + + + + + + + + + Dose Form + + + + + + + Dosing Frequency per Interval + + + + + + + Route of Administration + + + + + + + Lot Number + + + + + + + + + + Pharmaceutical Strength + + + + + + Pharmaceutical Strength Units + + + + + + + Epoch + + + + + + + Start Date/Time of Treatment + + + + + + + + + + End Date/Time of Treatment + + + + + + + + + + Study Day of Start of Treatment + + + + + + Study Day of End of Treatment + + + + + + Study Identifier + + + + + + Related Domain Abbreviation + + + + + + Unique Subject Identifier + + + + + + Identifying Variable + + + + + + Identifying Variable Value + + + + + + Qualifier Variable Name + + + + + + Qualifier Variable Label + + + + + + Data Value + + + + + + Origin + + + + + + Evaluator + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sponsor Device Identifier + + + + EC.SPDEVID + + + + + + Sequence Number + + + + + + Name of Treatment + + + + + ECTRT + + + + + + Dose + + + + + + Dose Units + + + + + + + Dose Form + + + + + ECDOSFRM + + + + + + Dosing Frequency per Interval + + + + + ECDOSFRQ + + + + + + Route of Administration + + + + + ECROUTE + + + + + + Lot Number + + + + ECLOT + + + + + + Epoch + + + + + EC.EPOCH + + + + + + Start Date/Time of Treatment + + + + ECSTDTC + + + + + + End Date/Time of Treatment + + + + ECENDTC + + + + + + Study Day of Start of Treatment + + + + ECSTDY + + + + + + Study Day of End of Treatment + + + + ECENDY + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Link Group ID + + + + + + + + + + Findings About Test Short Name + + + + + + + Findings About Test Name + + + + + + + Object of the Observation + + + + + + + + + + + Category for Findings About + + + + + + + + + + + Result or Finding in Original Units + + + + + + + + + + + Character Result/Finding in Std Format + + + + FAORRES + + + + + + + Location of the Finding About + + + + + + + Visit Number + + + + + + Epoch + + + + + + + Date/Time of Collection + + + + + + + + + + Study Day of Collection + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Short Name of Test + + + + + + + Name of Test + + + + + + + Category + + + + + + + + + + + Subcategory + + + + + + + + + + Result or Finding in Original Units + + + + + + Result or Finding in Standard Format + + + + FTORRES + + + + + + Numeric Result/Finding in Standard Units + + + + + + Last Observation Before Exposure Flag + + + + + + + Repetition Number + + + + + + + + + + Visit Number + + + + + + Visit Name + + + + + + Epoch + + + + + + + Date/Time of Test + + + + + + + + + + Study Day of Test + + + + + + Planned Time Point Name + + + + + + Planned Time Point Number + + + + + + Planned Elapsed Time from Time Point Ref + + + + + + + + + + Time Point Reference + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Inclusion/Exclusion Criterion Short Name + + + + + + + + + + + Inclusion/Exclusion Criterion + + + + + + + Inclusion/Exclusion Category + + + + + + + + + + + I/E Criterion Original Result + + + + + + + + + + + I/E Criterion Result in Std Format + + + + + IEORRES + + + + + + Epoch + + + + + + + Date/Time of Collection + + + + + + + + + + Study Day of Collection + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Question Short Name + + + + + + + Question Name + + + + + + + Category of Question + + + + + + + + + + + Finding in Original Units + + + + + + + + + + + Character Result/Finding in Std Format + + + + + + Numeric Finding in Standard Units + + + + + + + + + + Last Observation Before Exposure Flag + + + + + + + Visit Number + + + + + + Visit Name + + + + + + Epoch + + + + + + + Date/Time of Finding + + + + + + Study Day of Finding + + + + + + Evaluation Interval + + + + + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Question Short Name + + + + + + + Question Name + + + + + + + Category of Question + + + + + + + + + + + Finding in Original Units + + + + + + + + + + + Character Result/Finding in Std Format + + + + + + + + + + + Numeric Finding in Standard Units + + + + + + + + + + Last Observation Before Exposure Flag + + + + + + + Visit Number + + + + + + Visit Name + + + + + + Epoch + + + + + + + Date/Time of Finding + + + + + + Study Day of Finding + + + + + + Study Identifier + + + + + + Related Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Identifying Variable + + + + + + Identifying Variable Value + + + + + + Relationship Type + + + + + + + Relationship Identifier + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Assessment Short Name + + + + + + + Assessment Name + + + + + + + Category for Assessment + + + + + + + + + + + Result or Finding in Original Units + + + + + + + + + + + Character Result/Finding in Std Format + + + + + + + Numeric Result/Finding in Standard Units + + + + + + Last Observation Before Exposure Flag + + + + + + + Visit Number + + + + + + Visit Name + + + + + + Epoch + + + + + + + Date/Time of Assessment + + + + + + Study Day of Assessment + + + + + + Evaluation Interval + + + + + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Element Code + + + + + + + Description of Element + + + + + + + Epoch + + + + + + + Start Date/Time of Element + + + + + + End Date/Time of Element + + + + + + Study Day of Start of Element + + + + + + Study Day of End of Element + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Visit Number + + + + + + Visit Name + + + + + + Start Date/Time of Visit + + + + + + End Date/Time of Visit + + + + + + Study Day of Start of Visit + + + + + + Study Day of End of Visit + + + + + + Description of Unplanned Visit + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Planned Arm Code + + + + + + + Description of Planned Arm + + + + + + + Planned Order of Element within Arm + + + + + + Element Code + + + + + + + Description of Element + + + + + + + Branch + + + + + + Transition Rule + + + + + + Epoch + + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Element Code + + + + + + + Description of Element + + + + + + + Rule for Start of Element + + + + + + Rule for End of Element + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Incl/Excl Criterion Short Name + + + + + + + Inclusion/Exclusion Criterion + + + + + + + Inclusion/Exclusion Category + + + + + + + Protocol Criteria Versions + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Sequence Number + + + + + + Group ID + + + + + + Trial Summary Parameter Short Name + + + + + + + Trial Summary Parameter + + + + + + + Parameter Value + + + + + + Parameter Null Flavor + + + + + + + Parameter Value Code + + + + + + Name of the Reference Terminology + + + + + + Version of the Reference Terminology + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Visit Number + + + + + + Visit Name + + + + + + Planned Arm Code + + + + + + + Visit Start Rule + + + + + + Visit End Rule + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Vital Signs Test Short Name + + + + + + + Vital Signs Test Name + + + + + + + Vital Signs Position of Subject + + + + + + + + + + + Result or Finding in Original Units + + + + + + Original Units + + + + + + Character Result/Finding in Std Format + + + + + + Numeric Result/Finding in Standard Units + + + + + + Standard Units + + + + + + + Completion Status + + + + + + + + + + + Location of Vital Signs Measurement + + + + + + + + + + + Last Observation Before Exposure Flag + + + + + + + Repetition Number + + + + + + + + + + Visit Number + + + + + + Visit Name + + + + + + + + + + Epoch + + + + + + + Date/Time of Measurements + + + + + + + + + + Study Day of Vital Signs + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Short Name of Nervous System Test + + + + + + + Name of Nervous System Test + + + + + + + Result or Finding in Original Units + + + + + + + + + + + Character Result/Finding in Std Format + + + + + NVORRES + + + + + + Visit Number + + + + + + Epoch + + + + + + + Date/Time of Collection + + + + + + + + + + Study Day of Visit/Collection/Exam + + + + + + Study Identifier + + + + + + Related Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Identifying Variable + + + + + + Identifying Variable Value + + + + + + Qualifier Variable Name + + + + + + Qualifier Variable Label + + + + + + Data Value + + + + + + Origin + + + + + + Evaluator + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Reported Term for the Medical History + + + + + + + Medical History Event Date Type + + + + + + + + + + + Start Date/Time of Medical History Event + + + + + + + + + + Study Day of Start of Observation + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Link ID + + + + + + + + + + Death Detail Assessment Short Name + + + + + + + Death Detail Assessment Name + + + + + + + Result or Finding as Collected + + + + + + + + + + Character Result/Finding in Std Format + + + + DDORRES + + + + + + Epoch + + + + + + + Date/Time of Collection + + + + + + + + + + Study Day of Collection + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Sequence Number + + + + + + Lab Test or Examination Short Name + + + + + + + Lab Test or Examination Name + + + + + + + Category for Lab Test + + + + + + + Result or Finding in Original Units + + + + + + + Original Units + + + + + + + Reference Range Lower Limit in Orig Unit + + + + + + Reference Range Upper Limit in Orig Unit + + + + + + Character Result/Finding in Std Format + + + + + + + Numeric Result/Finding in Standard Units + + + + + + Standard Units + + + + + + + Reference Range Lower Limit-Std Units + + + + + + Reference Range Upper Limit-Std Units + + + + + + Reference Range Indicator + + + + + + + Last Observation Before Exposure Flag + + + + + + + Visit Number + + + + + + Visit Name + + + + + + Epoch + + + + + + + Date/Time of Specimen Collection + + + + + + Study Day of Specimen Collection + + + + + + Study Identifier + + + + + + Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Focus of Study-Specific Interest + + + + + + + + + + + Sequence Number + + + + + + Short Name of Ophthalmic Test or Exam + + + + + + + Name of Ophthalmic Test or Exam + + + + + + + Result or Finding in Original Units + + + + + + + + + + + Character Result/Finding in Std Format + + + + OEORRES + + + + + + Location Used for the Measurement + + + + + + + + + + + Laterality + + + + + + + + + + + Method of Test or Examination + + + + + + + + + + + Last Observation Before Exposure Flag + + + + + + + Visit Number + + + + + + Visit Name + + + + + + + + + + Epoch + + + + + + + Date/Time of Collection + + + + + + + + + + Study Day of Visit/Collection/Exam + + + + + + Study Identifier + + + + + + Related Domain Abbreviation + + + + + + + Unique Subject Identifier + + + + + + Identifying Variable + + + + + + Identifying Variable Value + + + + + + Qualifier Variable Name + + + + + + Qualifier Variable Label + + + + + + Data Value + + + + + + Origin + + + + + + Evaluator + + + + + + Reported Term for the Adverse Event + + + + + + + + + + Reported Term for the Adverse Event + + + + + + + + + + Standardized Disposition Term + + + + + + + + + + + Standardized Disposition Term + + + + + + + + + + + Reported Term for the Disposition Event + + + + + + + + + + Reported Term for the Disposition Event + + + + + + + + + + Result or Finding in Original Units + + + + + + Result or Finding in Original Units + + + + + + Character Result/Finding in Std Format + + + + + + Character Result/Finding in Std Format + + + + + + AVLT-REY List A Item 1-15 + + + + + + + + + + + AVLT-REY List A Item 16-17 + + + + + + + + + + AVLT-REY List B Item 18-32 + + + + + + + + + + + AVLT-REY List B Item 33-34 + + + + + + + + + + Lab Result or Finding in Original Units - Set 1 + + + + + Lab Result or Finding in Original Units - Set 2 + + + + + Lab Result or Finding in Original Units - Set 3 + + + + + Lab Result or Finding in Original Units - Specific Gravity + + + + + Lab Result or Finding in Original Units - Set 4 + + + + + Lab Result or Finding in Original Units - Set 5 + + + + + Lab Result or Finding in Original Units - Set 6 + + + + + Lab Result or Finding in Original Units - Color + + + + + Lab Result or Finding in Original Units - Glucose + + + + + Lab Result Units - ALT + + + + + + Lab Result Units - ALB + + + + + + Lab Result Units - ALP + + + + + + Lab Result Units - AST + + + + + + Lab Result Units - BASO + + + + + + Lab Result Units - BILI + + + + + + Lab Result Units - CA + + + + + + Lab Result Units - CL + + + + + + Lab Result Units - CHOL + + + + + + Lab Result Units - CK + + + + + + Lab Result Units - CREAT + + + + + + Lab Result Units - EOS + + + + + + Lab Result Units - MCH + + + + + + Lab Result Units - MCHC + + + + + + Lab Result Units - MCV + + + + + + Lab Result Units - RBC + + + + + + Lab Result Units - GGT + + + + + + Lab Result Units - GLUC + + + + + + Lab Result Units - HCT + + + + + + Lab Result Units - HGB + + + + + + Lab Result Units - WBC + + + + + + Lab Result Units - LYM + + + + + + Lab Result Units - MONO + + + + + + Lab Result Units - PHOS + + + + + + Lab Result Units - PLAT + + + + + + Lab Result Units - K + + + + + + Lab Result Units - PROT + + + + + + Lab Result Units - SODIUM + + + + + + Lab Result Units - TSH + + + + + + Lab Result Units - URATE + + + + + + Lab Result Units - UREAN + + + + + + Lab Result Units - VITB12 + + + + + + Character Result/Finding in Std Format - K + + + + + Character Result/Finding in Std Format - RBC + + + + + Character Result/Finding in Std Format - Set 1 + + + + + Character Result/Finding in Std Format - BILI + + + + + Character Result/Finding in Std Format - Set 2 + + + + + Character Result/Finding in Std Format - CREAT + + + + + Character Result/Finding in Std Format - URATE + + + + + Character Result/Finding in Std Format - MCHC + + + + + Character Result/Finding in Std Format - Set 3 + + + + + Character Result/Finding in Std Format - VITB12 + + + + + Character Result/Finding in Std Format - HGB + + + + + Character Result/Finding in Std Format - Set 4 + + + + + Character Result/Finding in Std Format - Set 5 + + + + + Character Result/Finding in Std Format - Set 6 + + + + + Character Result/Finding in Std Format - CK + + + + + Character Result/Finding in Std Format - COLOR + + + + + + Character Result/Finding in Std Format - GLUC + + + + + Lab Result Standard Units - ALT + + + + + + Lab Result Standard Units - ALB + + + + + + Lab Result Standard Units - ALP + + + + + + Lab Result Standard Units - AST + + + + + + Lab Result Standard Units - BASO + + + + + + Lab Result Standard Units - BILI + + + + + + Lab Result Standard Units - CA + + + + + + Lab Result Standard Units - CL + + + + + + Lab Result Standard Units - CHOL + + + + + + Lab Result Standard Units - CK + + + + + + Lab Result Standard Units - CREAT + + + + + + Lab Result Standard Units - EOS + + + + + + Lab Result Standard Units - MCH + + + + + + Lab Result Standard Units - MCHC + + + + + + Lab Result Standard Units - MCV + + + + + + Lab Result Standard Units - RBC + + + + + + Lab Result Standard Units - GGT + + + + + + Lab Result Standard Units - GLUC + + + + + + Lab Result Standard Units - HGB + + + + + + Lab Result Standard Units - WBC + + + + + + Lab Result Standard Units - LYM + + + + + + Lab Result Standard Units - MONO + + + + + + Lab Result Standard Units - PHOS + + + + + + Lab Result Standard Units - PLAT + + + + + + Lab Result Standard Units - K + + + + + + Lab Result Standard Units - PROT + + + + + + Lab Result Standard Units - SODIUM + + + + + + Lab Result Standard Units - TSH + + + + + + Lab Result Standard Units - URATE + + + + + + Lab Result Standard Units - UREAN + + + + + + Lab Result Standard Units - VITB12 + + + + + + Result or Finding in Original Units + + + + + + Result or Finding in Original Units + + + + + PHQ-9 Questions 1-9 + + + + + + PHQ-9 Question 10 + + + + + + PHQ-9 Question Total + + + + + PHQ-9 Questions 1-9, Standardized + + + + + + + + + + + PHQ-9 Question 10, Standardized + + + + + + + + + + + PHQ-9 Question Total, Standardized + + + + QSORRES where QSTESTCD EQ PHQ0111 + + + + + + + + + Race + + + + + + + + + + + Race + + + + + + + + + + + HAMD-17 Question 1 + + + + + + + + + + + HAMD-17 Question 2 + + + + + + + + + + + HAMD-17 Question 3 + + + + + + + + + + + HAMD-17 Question 4 + + + + + + + + + + + HAMD-17 Question 5 + + + + + + + + + + + HAMD-17 Question 6 + + + + + + + + + + + HAMD-17 Question 7 + + + + + + + + + + + HAMD-17 Question 8 + + + + + + + + + + + HAMD-17 Question 9 + + + + + + + + + + + HAMD-17 Question 10 + + + + + + + + + + + HAMD-17 Question 11 + + + + + + + + + + + HAMD-17 Question 12 + + + + + + + + + + + HAMD-17 Question 13 + + + + + + + + + + + HAMD-17 Question 14 + + + + + + + + + + + HAMD-17 Question 15 + + + + + + + + + + + HAMD-17 Question 16A + + + + + + + + + + + HAMD-17 Question 16B + + + + + + + + + + + HAMD-17 Question 17 + + + + + + + + + + + HAMD-17 Question 18 + + + + + + + + + + HAMD-17 Question 1 Standardized + + + + + + + + + + + HAMD-17 Question 2 Standardized + + + + + + + + + + + HAMD-17 Question 3 Standardized + + + + + + + + + + + HAMD-17 Question 4 Standardized + + + + + + + + + + + HAMD-17 Question 5 Standardized + + + + + + + + + + + HAMD-17 Question 6 Standardized + + + + + + + + + + + HAMD-17 Question 7 Standardized + + + + + + + + + + + HAMD-17 Question 8 Standardized + + + + + + + + + + + HAMD-17 Question 9 Standardized + + + + + + + + + + + HAMD-17 Question 10 Standardized + + + + + + + + + + + HAMD-17 Question 11 Standardized + + + + + + + + + + + HAMD-17 Question 12 Standardized + + + + + + + + + + + HAMD-17 Question 13 Standardized + + + + + + + + + + + HAMD-17 Question 14 Standardized + + + + + + + + + + + HAMD-17 Question 15 Standardized + + + + + + + + + + + HAMD-17 Question 16A Standardized + + + + + + + + + + + HAMD-17 Question 16B Standardized + + + + + + + + + + + HAMD-17 Question 17 Standardized + + + + + + + + + + + HAMD-17 Question 18 Standardized + + + + + + + + + + Race 1 + + + + + + + + + + + Race 2 + + + + + + + + + + + Race 3 + + + + + + + + + + + Race 4 + + + + + + + + + + + Race 5 + + + + + + + + + + + Reason for Occur Value + + + + + + + + + + Clinically Significant + + + + + + + + + + + Clinically Significant + + + + + + + + + + + Trial Summary Yes No Responses + + + + + + + Planned Maximum Age of Subjects + + + + + + Trial Summary Date Responses + + + + + + Dose Form + + + + + + + Dosing Frequency + + + + + + + Dose Units + + + + + + + Planned Country of Investigational Sites + + + + + + + Trial Disease/Condition Indication + + + + + + + Intervention Model + + + + + + + Intervention Type + + + + + + + Trial Length + + + + + + Trial Primary Objective + + + + + + Trial Secondary Objective + + + + + + Primary Outcome Measure + + + + + + Pharmacologic Class + + + + + + Randomization Quotient + + + + + + Registry Identifier + + + + + + Route of Administration + + + + + + + SDTM IG Version + + + + + + Sex of Participants + + + + + + + Clinical Study Sponsor + + + + + + Study Stop Rules + + + + + + Study Type + + + + + + + Trial Blinding Schema + + + + + + + Control Type + + + + + + + Diagnosis Group + + + + + + + Trial Intent Type + + + + + + + Trial Title + + + + + + Trial Phase Classification + + + + + + + Investigational Therapy or Treatment + + + + + + Trial Type + + + + + + + Blood Pressure + + + + + + + + + + Height + + + + + + + + + + Pulse Rate + + + + + + + + + + Temperature + + + + + + + + + + Weight + + + + + + + + + + Blood Pressure Units + + + + + + + + + + + Height Units + + + + + + + + + + + Pulse Rate Units + + + + + + + + + + + Temperature Units + + + + + + + + + + + Weight Units + + + + + + + + + + + Blood Pressure Units Std + + + + + + Height Units Std + + + + + + Pulse Rate Units Std + + + + + + Temperature Units Std + + + + + + Weight Units Std + + + + + + + + + + + + + Dose Increased + + + + + + Dose Not Changed + + + + + + Dose Reduced + + + + + + Drug Interrupted + + + + + + Drug Withdrawn + + + + + + Not Applicable + + + + + + Unknown + + + + + + + + + Related + + + + + Unlikely Related + + + + + Possibly Related + + + + + Not Related + + + + + + + Mild + + + + + + Moderate + + + + + + Severe + + + + + + + + + Years + + + + + + + + + + + + + + Placebo + + + + + Zanomaline Low Dose (54 mg) + + + + + Zanomaline High Dose (81 mg) + + + + + + + Trial Screen Failure + + + + + + + + + AVLT-REY - List A Word 1 + + + + + + AVLT-REY - List A Word 2 + + + + + + AVLT-REY - List A Word 3 + + + + + + AVLT-REY - List A Word 4 + + + + + + AVLT-REY - List A Word 5 + + + + + + AVLT-REY - List A Word 6 + + + + + + AVLT-REY - List A Word 7 + + + + + + AVLT-REY - List A Word 8 + + + + + + AVLT-REY - List A Word 9 + + + + + + AVLT-REY - List A Word 10 + + + + + + AVLT-REY - List A Word 11 + + + + + + AVLT-REY - List A Word 12 + + + + + + AVLT-REY - List A Word 13 + + + + + + AVLT-REY - List A Word 14 + + + + + + AVLT-REY - List A Word 15 + + + + + + AVLT-REY - List A Total + + + + + + AVLT-REY - List A Intrusions + + + + + + AVLT-REY - List B Word 1 + + + + + + AVLT-REY - List B Word 2 + + + + + + AVLT-REY - List B Word 3 + + + + + + AVLT-REY - List B Word 4 + + + + + + AVLT-REY - List B Word 5 + + + + + + AVLT-REY - List B Word 6 + + + + + + AVLT-REY - List B Word 7 + + + + + + AVLT-REY - List B Word 8 + + + + + + AVLT-REY - List B Word 9 + + + + + + AVLT-REY - List B Word 10 + + + + + + AVLT-REY - List B Word 11 + + + + + + AVLT-REY - List B Word 12 + + + + + + AVLT-REY - List B Word 13 + + + + + + AVLT-REY - List B Word 14 + + + + + + AVLT-REY - List B Word 15 + + + + + + AVLT-REY - List B Total + + + + + + AVLT-REY - List B Intrusions + + + + + + + + + Recalled + + + + + Not Recalled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Primary Cause of Death + + + + + + + + + + + + + + + + + + Device Type + + + + + + Serial Number + + + + + + + + + Adverse Events + + + + + + + + + Concomitant/Prior Medications + + + + + + + + + Death Details + + + + + + + + + Device Identifiers + + + + + + + + + Demographics + + + + + + + + + Disposition + + + + + + + + + Exposure as Collected + + + + + + + + + Exposure + + + + + + + + + Findings About Events or Interventions + + + + + + + + + Functional Tests + + + + + + + + + Inclusion/Exclusion Criteria Not Met + + + + + + + + + Laboratory Test Results + + + + + + + + + Medical History + + + + + + + + + Nervous Sysytem Findings + + + + + + + + + Ophthalmic Examinations + + + + + + + + + Questionnaires + + + + + + + + + Disease Response and Clin Classification + + + + + + + + + Subject Elements + + + + + + + + + Subject Visits + + + + + + + + + Trial Arms + + + + + + + + + Trial Elements + + + + + + + + + Trial Inclusion + + + + + + + + + Trial Summary + + + + + + + + + Trial Visits + + + + + + + + + Vital Signs + + + + + + + + + Disposition Event + + + + + + Protocol Milestone + + + + + + + + + Study Treatment + + + + + Study Participation + + + + + + + + + + + + + + Ongoing + + + + + + + + + Screening + + + + + + Treatment + + + + + + + + + Zanomaline 81 mg + + + + + Zanomaline 54 mg + + + + + Placebo + + + + + Screening + + + + + Zanomaline 54 mg Titration + + + + + + + Hispanic or Latino + + + + + + Not Hispanic or Latino + + + + + + + + + Placebo + + + + + Zanomaline + + + + + + + Injection Site Reaction + + + + + + + Erythema + + + + + Pain + + + + + Induration + + + + + Pruritus + + + + + Edema + + + + + + + No + + + + + + Yes + + + + + + + + + Mild + + + + + + Moderate + + + + + + Severe + + + + + + + + + + + + + Occurrence Indicator + + + + + Severity/Intensity + + + + + + + Daily + + + + + + As Needed + + + + + + Twice Daily + + + + + + Every Four Hours + + + + + + Four Times Daily + + + + + + Every Six Hours + + + + + + + + + Daily + + + + + + + + + Injectable Dosage Form + + + + + + + + + Rey Auditory Verbal Learning Functional Test + + + + + + + + + + + + + + + + Absent. + + + + + These feeling states indicated only on questioning. + + + + + These feeling states spontaneously reported verbally. + + + + + Communicates feeling states non-verbally, i.e. through facial expression, posture, voice and tendency to weep. + + + + + Patient reports virtually only these feeling states in his/her spontaneous verbal and non-verbal communication. + + + + + + + + + + + + + + Absent. + + + + + Self reproach, feels he/she has let people down. + + + + + Ideas of guilt or rumination over past errors or sinful deeds. + + + + + Present illness is a punishment. Delusions of guilt. + + + + + Hears accusatory or denunciatory voices and/or experiences threatening visual hallucinations. + + + + + + + + + + + + + + Absent. + + + + + Feels life is not worth living. + + + + + Wishes he/she were dead or any thoughts of possible death to self. + + + + + Ideas or gestures of suicide. + + + + + Attempts at suicide (any serious attempt rate 4). + + + + + + + + + + + + No difficulty falling asleep. + + + + + Complains of occasional difficulty falling asleep, i.e. more than 1/2 hour + + + + + Complains of nightly difficulty falling asleep. + + + + + + + + + + + + No difficulty. + + + + + Patient complains of being restless and disturbed during the night. + + + + + Waking during the night - any getting out of bed rates 2 (except for purposes of voiding). + + + + + + + + + + + + No difficulty. + + + + + Waking in early hours of the morning but goes back to sleep. + + + + + Unable to fall asleep again if he/she gets out of bed. + + + + + + + + + + + + + + No difficulty. + + + + + Thoughts and feelings of incapacity, fatigue or weakness related to activities, work or hobbies. + + + + + Loss of interest in activity, hobbies or work - either directly reported by the patient or indirect in listlessness, indecision and vacillation (feels he/she has to push self to work or activities). + + + + + Decrease in actual time spent in activities or decrease in productivity. Rate 3 if the patient does not spend at least three hours a day in activities (job or hobbies) excluding routine chores. + + + + + Stopped working because of present illness. Rate 4 if patient engages in no activities except routine chores, or if patient fails to perform routine chores unassisted. + + + + + + + + + + + + + + Normal speech and thought. + + + + + Slight retardation during the interview. + + + + + Obvious retardation during the interview. + + + + + Interview difficult. + + + + + Complete stupor. + + + + + + + + + + + + + + None. + + + + + Fidgetiness. + + + + + Playing with hands, hair, etc. + + + + + Moving about, cannot sit still. + + + + + Hand wringing, nail biting, hair-pulling, biting of lips. + + + + + + + + + + + + + + No difficulty. + + + + + Subjective tension and irritability. + + + + + Worrying about minor matters. + + + + + Apprehensive attitude apparent in face or speech. + + + + + Fears expressed without questioning. + + + + + + + + + + + + + + Absent. + + + + + Mild. + + + + + Moderate. + + + + + Severe. + + + + + Incapacitating. + + + + + + + + + + + + None. + + + + + Loss of appetite but eating without staff encouragement. Heavy feelings in abdomen. + + + + + Difficulty eating without staff urging. Requests or requires laxatives or medication for bowels or medication for gastro-intestinal symptoms. + + + + + + + + + + + + None. + + + + + Heaviness in limbs, back or head. Backaches, headaches, muscle aches. Loss of energy and fatigability. + + + + + Any clear-cut symptom rates 2. + + + + + + + + + + + + Absent. + + + + + Mild. + + + + + Severe. + + + + + + + + + + + + + + Not present. + + + + + Self-absorption (bodily). + + + + + Preoccupation with health. + + + + + Frequent complaints, requests for help, etc. + + + + + Hypochondriacal delusions. + + + + + + + + + + + + + No weight loss. + + + + + Probable weight loss associated with present illness. + + + + + Definite (according to patient) weight loss. + + + + + Not assessed. + + + + + + + + + + + + + Less than 1 lb weight loss in week. + + + + + Greater than 1 lb weight loss within week. + + + + + Greater than 2 lb weight loss in week. + + + + + Not assessed. + + + + + + + + + + + + Acknowledges being depressed and ill. + + + + + Acknowledges illness but attributes cause to bad food, climate, overwork, virus, need for rest, etc. + + + + + Denies being ill at all. + + + + + + + HAMD1-Depressed Mood + + + + + + HAMD1-Feelings of Guilt + + + + + + HAMD1-Suicide + + + + + + HAMD1-Insomnia Early - Early Night + + + + + + HAMD1-Insomnia Middle - Middle Night + + + + + + HAMD1-Insomnia Early Hours - Morning + + + + + + HAMD1-Work and Activities + + + + + + HAMD1-Retardation + + + + + + HAMD1-Agitation + + + + + + HAMD1-Anxiety Psychic + + + + + + HAMD1-Anxiety Somatic + + + + + + HAMD1-Somatic Symptoms GI + + + + + + HAMD1-General Somatic Symptoms + + + + + + HAMD1-Genital Symptoms + + + + + + HAMD1-Hypochondriasis + + + + + + HAMD1-Loss of WT According to Patient + + + + + + HAMD1-Loss of WT According to WK Meas + + + + + + HAMD1-Insight + + + + + + HAMD1-Total Score + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Exclusion + + + + + + Inclusion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Males and postmenopausal females at least 50 years of age. + + + + + Diagnosis of probable AD as defined by NINCDS and the ADRDA guidelines. + + + + + MMSE score of 10 to 23. + + + + + Modified Hachinski Ischemic Scale score of <= 4. + + + + + CNS imaging (CT scan or MRI of brain) compatible with AD within past 1 year. (See Protocol for incompatible findings.) + + + + + Investigator has obtained informed consent signed by the patient (and/or legal representative) and by the caregiver. + + + + + Geographic proximity to investigator's site that allows adequate follow-up. + + + + + Caregiver will monitor administration of prescribed medications, and will be responsible for the overall care of the patient at home. + + + + + Persons who have previously completed or withdrawn from this study or any other investigating xanomeline TTS or the oral formulation of Zanomaline. + + + + + Use of any investigational agent or approved Alzheimer's therapeutic medication within 30 days prior to enrollment into the study. + + + + + Serious illness which required hospitalization within 3 months of screening. + + + + + Diagnosis of serious neurological conditions + + + + + Episode of depression meeting DSM-IV criteria within 3 months of screening. + + + + + A history within the last 5 years of the following: a) Schizophrenia b) Bipolar Disease c) Ethanol or psychoactive drug abuse or dependence. + + + + + A history of syncope within the last 5 years. + + + + + Evidence from ECG recording at screening of any of the following conditions: a) Left bundle branch block b) Bradycardia <50 beats per minute c) Sinus pauses >2 seconds (See Protocol for Remainder) + + + + + A history within the last 5 years of a serious cardiovascular disorder, including a) Clinically significant arrhythmia (See Protocol for Remainder) + + + + + A history within the last 5 years of a serious gastrointestinal disorder, including +a) Chronic peptic/duodenal/gastric/esophageal ulcer that are untreated or refractory to treatment(See Protocol) + + + + + A history within the last 5 years of a serious endocrine disorder, including +a) Uncontrolled Insulin Dependent Diabetes Mellitus (IDDM) (See Protocol for other excluded disorders) + + + + + A history within the last 5 years of a serious respiratory disorder, including a) Asthma with bronchospasm refractory to treatment b) Decompensated chronic obstructive pulmonary disease. + + + + + A history within the last 5 years of a serious genitourinary disorder, including a) Renal failure b) Uncontrolled urinary retention + + + + + A history within the last 5 years of a serious rheumatologic disorder, including a) Lupus b) Temporal arteritis c) Severe rheumatoid arthritis + + + + + A known history of human immunodeficiency virus (HIV) within the last 5 years. + + + + + A history within the last 5 years of a serious infectious disease including a) Neurosyphilis b) Meningitis c) Encephalitis + + + + + A history within the last 5 years of a primary or recurrent malignant disease (See Exceptions in Protocol). + + + + + Visual, hearing, or communication disabilities impairing the ability to participate in the study; (for example, inability to speak or understand English, illiteracy). + + + + + Laboratory test values exceeding the Reference Range III for the patient's age in any of the following analytes: creatinine, total bilirubin, SGOT, SGPT, (See Protocol for Additional Analytes) + + + + + Central laboratory test values below reference range for folate, and vitamin B12, and outside reference range for thyroid function tests. + + + + + Positive syphilis screening with confirmatory testing. + + + + + Central laboratory test value above reference range for glycosylated hemoglobin (A1C) (insulin dependent diabetes mellitus patients only). + + + + + Treatment with medications within 1 month prior to enrollment a) Anticonvulsants b) Alpha receptor blockers c) Calcium channel blockers that are CNS active + + + + + Diagnosis of serious neurological conditions (Amend 1) + + + + + Treatment with medications within 1 month prior to enrollment a) Anticonvulsants b) Alpha receptor blockers c) Calcium channel blockers that are CNS active (Amend 1) + + + + + + + Parallel + + + + + + + + + Drug + + + + + + + + + Left + + + + + + Right + + + + + + + + + Chemistry + + + + + Hematology + + + + + Urinalysis + + + + + Other + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Albumin Measurement + + + + + + Alkaline Phosphatase Measurement + + + + + + Alanine Aminotransferase Measurement + + + + + + Anisocyte Measurement + + + + + + Aspartate Aminotransferase Measurement + + + + + + Total Basophil Count + + + + + + Total Bilirubin Measurement + + + + + + Calcium Measurement + + + + + + Cholesterol Measurement + + + + + + Creatine Kinase Measurement + + + + + + Chloride Measurement + + + + + + Color Assessment + + + + + + Creatinine Measurement + + + + + + Eosinophil Count + + + + + + Gamma Glutamyl Transpeptidase Measurement + + + + + + Glucose Measurement + + + + + + Hematocrit Measurement + + + + + + Hemoglobin Measurement + + + + + + Potassium Measurement + + + + + + Ketone Measurement + + + + + + Lymphocyte Count + + + + + + Macrocyte Count + + + + + + Erythrocyte Mean Corpuscular Hemoglobin + + + + + + Erythrocyte Mean Corpuscular Hemoglobin Concentration + + + + + + Erythrocyte Mean Corpuscular Volume + + + + + + Monocyte Count + + + + + + pH + + + + + + Phosphate Measurement + + + + + + Platelet Count + + + + + + Poikilocyte Measurement + + + + + + Total Protein Measurement + + + + + + Erythrocyte Count + + + + + + Sodium Measurement + + + + + + Specific Gravity + + + + + + Thyrotropin Measurement + + + + + + Urate Measurement + + + + + + Urea Nitrogen Measurement + + + + + + Urobilinogen Measurement + + + + + + Vitamin B12 Measurement + + + + + + Leukocyte Count + + + + + + + + + + + + + + + Conjunctiva + + + + + + Eye + + + + + + Anterior Chamber of the Eye + + + + + + Iris + + + + + + Cornea + + + + + + + + + Ear + + + + + + Oral Cavity + + + + + + + + + Symptom Onset + + + + + + + + + Alzheimer's Disease + + + + + + + Adverse Event + + + + + + Completed + + + + + + Death + + + + + + Lack of Efficacy + + + + + + Lost to Follow-Up + + + + + + Other + + + + + + Physician Decision + + + + + + Pregnancy + + + + + + Protocol Deviation + + + + + + Screen Failure + + + + + + Study Terminated By Sponsor + + + + + + Withdrawal By Parent/Guardian + + + + + + Withdrawal By Subject + + + + + + + + + Not Done + + + + + + + + + Abnormal + + + + + + Normal + + + + + + + + + Abnormal + + + + + + High + + + + + + Low + + + + + + Normal + + + + + + + + + + + + + Interpretation + + + + + + + + No + + + + + + Yes + + + + + + + + + Yes + + + + + + + + + Right Eye + + + + + + Left Eye + + + + + + + + + Slit-lamp Examination + + + + + + + + + + + + + + + + Abnormality Detail + + + + + Interpretation + + + + + + + + + Fatal + + + + + + Not Recovered/Not Resolved + + + + + + Recovered/Resolved + + + + + + Recovered/Resolved With Sequelae + + + + + + Recovering/Resolving + + + + + + Unknown + + + + + + + + + PHQ01-Little Interest/Pleasure in Things + + + + + + PHQ01-Feeling Down Depressed or Hopeless + + + + + + PHQ01-Trouble Falling or Staying Asleep + + + + + + PHQ01-Feeling Tired or Little Energy + + + + + + PHQ01-Poor Appetite or Overeating + + + + + + PHQ01-Feeling Bad About Yourself + + + + + + PHQ01-Trouble Concentrating on Things + + + + + + PHQ01-Moving Slowly or Fidgety/Restless + + + + + + PHQ01-Thoughts You Be Better Off Dead + + + + + + PHQ01-Difficult to Work/Take Care Things + + + + + + PHQ01-Total Score + + + + + + + + + + + + + + + + + + + + + Not at all + + + + + Several days + + + + + More than half the days + + + + + Nearly every day + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Standing + + + + + + Supine + + + + + + + + + Informed Consent + + + + + + + + + Patient Health Questionnaire - 9 Item + + + + + + + + + Satisfaction With Life Scale Questionnaire + + + + + + + + + American Indian Or Alaska Native + + + + + + Asian + + + + + + Black Or African American + + + + + + Native Hawaiian Or Other Pacific Islander + + + + + + White + + + + + + + + + Multiple + + + + + + + Adverse Events + + + + + + Disposition + + + + + + Death Details + + + + + + Findings About Events or Interventions + + + + + + + + + Many + + + + + + One + + + + + + + + + Oral + + + + + + Topical + + + + + + Intravenous + + + + + + Nasal + + + + + + Inhalation Route of Administration + + + + + + Transdermal + + + + + + + + + Subcutaneous Route of Administration + + + + + + + + + Hamilton Depression Rating Scale 17 Item Clinical Classification + + + + + + + + + Female + + + + + + Male + + + + + + + + + + + + + + + + + Interventional + + + + + + + + + SWLS01-Have Gotten Important Things + + + + + + SWLS01-I Am Satisfied with My Life + + + + + + SWLS01-Live Life Over Change Nothing + + + + + + SWLS01-My Life Conditions are Excellent + + + + + + SWLS01-My Life is Close to Ideal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Strongly disagree + + + + + Disagree + + + + + Slightly disagree + + + + + Neither agree nor disagree + + + + + Slightly agree + + + + + Agree + + + + + Strongly agree + + + + + + + Double Blind + + + + + + + + + Placebo + + + + + + + + + Treatment + + + + + + + + + Phase II Trial + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Actual Subject Number + + + + + + Adaptive Study Design Indicator + + + + + + Test Product Added to Existing Treatment + + + + + + Planned Maximum Age of Subjects + + + + + + Planned Minimum Age of Subjects + + + + + + Data Cutoff Date Description + + + + + + Data Cutoff Date + + + + + + Dose + + + + + + Pharmaceutical Dosage Form + + + + + + Dose Frequency + + + + + + Dosage Form Unit + + + + + + Planned Country of Investigational Site + + + + + + Healthy Subject Indicator + + + + + + Trial Indication + + + + + + Intervention Model + + + + + + Intervention Type + + + + + + Trial Length + + + + + + Planned Number of Arms + + + + + + Trial Primary Objective + + + + + + Trial Secondary Objective + + + + + + Primary Outcome Measure + + + + + + Secondary Outcome Measure + + + + + + Pharmacological Class of Investigational Therapy + + + + + + Planned Subject Number + + + + + + Randomization + + + + + + Randomization Quotient + + + + + + Clinical Trial Registry Identifier + + + + + + Route of Administration + + + + + + Study Data Tabulation Model Implementation Guide Version + + + + + + Study Data Tabulation Model Version + + + + + + Clinical Study End Date + + + + + + Sex of Study Group + + + + + + Clinical Study Sponsor + + + + + + Study Start Date + + + + + + Study Stop Rule + + + + + + Study Type + + + + + + Trial Blinding Schema + + + + + + Control Type + + + + + + Diagnosis Group + + + + + + Clinical Study by Intent + + + + + + Trial Title + + + + + + Trial Phase + + + + + + Protocol Agent + + + + + + Trial Type + + + + + + + + + Efficacy + + + + + + Pharmacokinetic + + + + + + Safety + + + + + + + + + Milligram + + + + + + Nanogram + + + + + + Tablet + + + + + + + + + Milliliter + + + + + + + + + Gram per Liter + + + + + + + + + Milligram + + + + + + + + + Million per Microliter + + + + + + + + + Billion per Liter + + + + + + + + + Percentage + + + + + + + + + Unit per Liter + + + + + + + + + Femtoliter + + + + + + + + + Femtomole + + + + + + + + + Femtomole + + + + + + + + + Gram per Deciliter + + + + + + + + + Milliequivalent Per Liter + + + + + + + + + Microinternational Unit per Milliliter + + + + + + + + + Microunit per Milliliter + + + + + + + + + Milligram per Deciliter + + + + + + + + + Millimole per Liter + + + + + + + + + Nanogram per Liter + + + + + + + + + Picogram + + + + + + + + + Picomole per Liter + + + + + + + + + Micromole per Liter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Diastolic Blood Pressure + + + + + + Pulse Rate + + + + + + Height + + + + + + Systolic Blood Pressure + + + + + + Temperature + + + + + + Weight + + + + + + + + + Millimeter of Mercury + + + + + + + + + Millimeter of Mercury + + + + + + + + + Inch + + + + + + + + + Centimeter + + + + + + + + + Beats per Minute + + + + + + + + + Beats per Minute + + + + + + + + + Degree Fahrenheit + + + + + + + + + Degree Celsius + + + + + + + + + Pound + + + + + + + + + Kilogram + + + + + + + + + + + + + + + + + + + + + + + + + + If AEENRTPT is populated, AEENTPT is DM.RFPENDTC for the subject. + + + + + If CMENRTPT is populated, CMENTPT is DM.RFPENDTC for the subject. + + + + + Study day relative to RFSTDTC. Date - RFSTDTC + 1 if on or after RFSTDTC. Date - RFSTDTC if date precedes RFSTDTC. + + + + + Starts at "1" for first device identifier and increments by one for each DIPARM + + + + + If DTHDTC is populated then DTHFL='Y' + + + + + EPOCH from SE where date >= SESTDTC and date < SEENDTC + + + + + EXDOSE = ECDOSE * ECPSTRG expressed in mg. + + + + + If FTSTRESC is numeric then FTSTRESN=FTSTRESC in numeric format, else null. + + + + + If IECAT=INCLUSION then IEORRES=N, else if IECAT=EXCLUSION then IEORRES=Y + + + + + LBSTRESC is equal to LBORRES or the value in standard units if a conversion is necessary. + + + + + Set to "Y" for last record with non-null original result on or before the first dose date (RFXSTDTC). Null otherwise. + + + + + If QSORRES="Not at all" then 0 +If QSORRES="Several days" then 1 +If QSORRES="More than half the days" then 2 +If QSORRES="Nearly every day" then 3 + + + + + QSSTRESC=QSORRES + + + + + If QSORRES="Strongly disagree" then 1 +If QSORRES="Disagree" then 2 +If QSORRES="Slightly disagree" then 3 +If QSORRES="Neither agree nor disagree" then 4 +If QSORRES="Slightly agree" then 5 +If QSORRES="Agree" then 6 +If QSORRES="Strongly agree" then 7 + + + + + If QSSTRESC is numeric then QSSTRESN=QSSTRESC in numeric format, else null. + + + + + The Date of Study Completion or Early Termination. Null for screen failures. + + + + + The latest date of assessment for the subject as determined by the End of Study Form, any scheduled assessments, Adverse Events, or Concomitant Medications. + + + + + The first date/time of study drug. Null for screen failures. + + + + + The last date/time of study drug administration. Null for subjects with no treatment data. + + + + + The first date/time of study drug administration. Null for subjects with no treatment data. + + + + + RSSTRESC is the corresponding numeric value of RSORRES according the values shown on the HAMD-17 CRF page. + + + + + SEENDTC is set to the start of the next Element, or RFPENDTC for the last Element. + + + + + Unique sequence number within a subject, restarting at 1 for every subject, applied to sorted data. + + + + + SESTDTC if set to the --DTC for that subject which exists in the data for the defined start of the Element, such as DSSTDTC when DSDECOD=INFORMED CONSENT OBTAINED for Screening Elements or min(EXSTDTC) for Dosing Elements. + + + + + If --STRESC represents a numeric value then --STRESN is the numeric version of --STRESC, else null. "--" represents the domain code. + + + + + For each scheduled visit, SVENDTC = the last (max) date associated with a subject for that visit. For unplanned visits, SVENDTC is the date of the visit. + + + + + For each scheduled visit, SVSTDTC = the first (min) date associated with a subject for that visit. For unplanned visits, SVSTDTC is the date of the visit. + + + + + Unique sequence number within each TSPARM, restarting at 1 for per TSPARM, applied to sorted data. + + + + + Data collected in conventional units (i.e. F, lbs, inches) is converted using standard conversion factors to standard units (C, kg, cm). + + + + + + + + + + + Even though the variable is 'Assigned' an annotation has been added to page 23 to clarify the assignment. + + + + + Coding variables are not populated due to the proprietary coding dictionary, but the variables are included as they are Expected or Required. + + + + + Coding variables are not populated due to the proprietary coding dictionary, but the variables are included as they are Expected or Required. Note CDISC Conformance Rule CG0014 would fire for this variable due to the decision not to populate coding variables. + + + + + Subject CDISC003 had an AE of Epistaxis on 2013-09-30 with AESER set to 'Y' without any of the individual serious qualifiers set to 'Y' also. The site was queried several times but the data were not updated. Note Conformance Rule CG0041 would fire for this subject. + + + + + If the CM is not taken for a 'Primary Study Condition' then CMINDC would be 'Prophylaxis or Non-therapeutic use' + + + + + Since no collected data was subjective then QEVAL was not populated. It is an 'Expected' variable and so is included. + + + + + Since no subjects had more than 3 Races, RACE4 was not used. + + + + + Since no subjects had more than 3 Races, RACE5 was not used. + + + + + Variable is Assigned but there are annotations to help understand the data and so references to the proper pages are included + + + + + DataType is 'partialDatetime' instead of 'datetime' since datetime values are planned to be collected without seconds for this study. + + + + + All values are null as the findings are not visit based. The variable is Expected and so is included. + + + + + The FA domain contains Findings About Injection Site Reaction Adverse Events + + + + + IEDY is needed if IEDTC is included. Note RFSTDTC is not populated for not randomized subjects then IEDY could not be populated in those cases. + + + + + Please see Appendix 1 of the cSDRG for complete versions of IETESTCD and IETEST. + + + + + Standard's Conformance Notes: +1) The SDTM v1.7/SDTMIG v3.3 datasets were evaluated manually and programmatically by the CDISC SDS MSG Team. At the completion of the SDTM-MSG v2.0, the CDISC SDTM v1.7/SDTMIG v3.3 conformance rules were recently published, but not available by any validation tools to validate. +2) The Define-XML document was evaluated manually and programmatically by the CDISC SDS MSG Team. At the completion of the SDTM-MSG v2.0, the CDISC +Define-XML v2.1 conformance rules were not published, nor available by any validation tools to validate. Please ensure that any official regulatory submission of an Define-XML v2.1 document and accompanying data is done in accordance to the respective regulatory health authorities requirements/guidance. + + + + + Per protocol, electroencephalograms are only performed after such an event were to occur. No subjects within the trial had an occurrence of an electroencephalogram event. Therefore, no data exists for the NV dataset and as such was not submitted. + + + + + Per protocol, electroencephalograms are only performed after such an event were to occur. No subjects within the trial had an occurrence of an electroencephalogram event. Therefore, no data exists for the NV dataset and as such SUPPNV was not submitted. + + + + + No subjects within the trial had an ophthalmic examination of clinical significance to report. Therefore, no data exists for the SUPPOE dataset and as such was not submitted. + + + + + QSPH contains the PATIENT HEALTH QUESTIONNAIRE-9 (PHQ-9) questionnaire data. + + + + + QSSL contains the SATISFACTION WITH LIFE SURVEY (SWLS) questionnaire data. + + + + + Study Data Tabulation Model Implementation Guide: Human Clinical Trials Version 3.3 + + + + + Study Data Tabulation Model Implementation Guide for Medical Devices Version 1.0 + + + + + This was the latest release of CDISC CT available when this sample submission was completed. + + + + + This was the CDISC CT Package associated to the CDISC Define-XML Specification Version 2.1 when this sample submission was completed. + + + + + All vital signs were performed as expected, so VSSTAT was never populated. The variable is included as it was possible to populate it in this study. + + + + + + + + + + Annotated CRF + + + + Reviewers Guide + + + + + + + + + + diff --git a/tests/unit/test_define_xml_reader.py b/tests/unit/test_define_xml_reader.py index 57b00f6fd..05ba3c227 100644 --- a/tests/unit/test_define_xml_reader.py +++ b/tests/unit/test_define_xml_reader.py @@ -524,6 +524,55 @@ def test_extract_dataset_metadata_without_ordernumber(filename): ) +class TestNormalizationInConstructors: + + def test_from_file_contents_original_version_preserved(self): + contents = resources_path.joinpath("test_defineV21-SDTM.xml").read_bytes() + reader = DefineXMLReaderFactory.from_file_contents(contents) + assert reader._original_define_version == "2.1.0" + + def test_from_file_contents_original_version_none_for_v20(self): + contents = resources_path.joinpath("test_defineV20-SDTM.xml").read_bytes() + reader = DefineXMLReaderFactory.from_file_contents(contents) + assert reader._original_define_version is None + + def test_from_file_contents_patched_version_normalized(self): + original = resources_path.joinpath("test_defineV21-SDTM.xml").read_text( + encoding="utf-8" + ) + patched = original.replace( + 'def:DefineVersion="2.1.0"', 'def:DefineVersion="2.1.7"' + ) + reader = DefineXMLReaderFactory.from_file_contents(patched) + assert isinstance(reader, DefineXMLReader21) + assert reader._original_define_version == "2.1.7" + + def test_from_filename_original_version_preserved(self): + reader = DefineXMLReaderFactory.from_filename( + resources_path.joinpath("test_defineV21-SDTM.xml") + ) + assert reader._original_define_version == "2.1.0" + + def test_from_filename_original_version_none_for_v20(self): + reader = DefineXMLReaderFactory.from_filename( + resources_path.joinpath("test_defineV20-SDTM.xml") + ) + assert reader._original_define_version is None + + def test_from_filename_patched_version_normalized(self, tmp_path): + original = resources_path.joinpath("test_defineV21-SDTM.xml").read_text( + encoding="utf-8" + ) + patched = original.replace( + 'def:DefineVersion="2.1.0"', 'def:DefineVersion="2.1.5"' + ) + tmp_file = tmp_path / "define_patched.xml" + tmp_file.write_text(patched, encoding="utf-8") + reader = DefineXMLReaderFactory.from_filename(str(tmp_file)) + assert isinstance(reader, DefineXMLReader21) + assert reader._original_define_version == "2.1.5" + + class TestGetExtensibleCodelistMappings: @staticmethod def _make_codelist(name, coded_values_extended, alias_list):