docs: def build(self, builder):
          """Build XML object, return the root, this is a copy for consistency and testing"""
          params = dict(ODMVersion="1.3",
                        FileType=self.filetype,
                        CreationDateTime=self.creationdatetime,
                        Originator=self.originator,
                        FileOID=self.fileoid,
                        xmlns="http://www.cdisc.org/ns/odm/v1.3",
                        )
          if self.granularity_type:
              params['Granularity'] = self.granularity_type.value
          if self.source_system:
              params['SourceSystem'] = self.source_system
  
          if self.source_system_version:
              params['SourceSystemVersion'] = self.source_system_version
          params['xmlns:mdsol'] = "http://www.mdsol.com/ns/odm/metadata"
  
          if self.description:
              params['Description'] = self.description
  
          builder.start("ODM", params)
  
          # Ask the children
          if self.study is not None:
              self.study.build(builder)
  
          if self.clinical_data:
              for clinical_data in self.clinical_data:
                  clinical_data.build(builder)
  
          if self.admindata is not None:
              self.admindata.build(builder)
  
          builder.end("ODM")
          return builder.close()