Reference the ODM-XML v1.3.2 specification from CDISC (the most current production version as of 2025; ODM v2.0 is published but not yet widely mandated) to structure the XML document with the required ODM root element attributes: FileOID, FileType (Snapshot or Transactional), CreationDateTime, ODMVersion
Define the Study element containing MetaDataVersion with FormDef, ItemGroupDef, and ItemDef elements; assign OIDs to each definition that are unique within the file and reference CDISC controlled terminology code lists via CodeListRef where applicable
Populate ClinicalData elements under the Study element with SubjectData (SubjectKey), StudyEventData (StudyEventOID, StudyEventRepeatKey for repeating events), FormData, and ItemGroupData containing ItemData elements with the ItemOID and Value attributes
For audit trail information, include the AuditRecord element within ItemData specifying UserRef, LocationRef, DateTimeStamp, and ReasonForChange to satisfy 21 CFR Part 11 data change documentation
Validate the ODM-XML file against the official CDISC ODM schema (XSD) before transmission; use an XML validator with the schema obtained from cdisc.org to catch structural errors
For longitudinal studies, use the StudyEventRepeatKey attribute on StudyEventData to distinguish repeated instances of the same event (e.g., multiple follow-up visits with the same event OID)
Known gotchas
ODM OIDs must be unique within the scope of the MetaDataVersion but have no enforced format; agree on an OID naming convention with the receiving system before generating files to avoid import failures
TransactionalODM files contain only changes since a prior snapshot; receiving systems must correctly handle Upsert vs. Remove TransactionType values to avoid data corruption
ODM-XML does not enforce SDTM compliance; an ODM file may be structurally valid but contain SDTM-noncompliant variable names and domains that will fail CDISC validation tools during submission preparation
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp