docs: def fromElement(cls, elem):
          """
          Read properties from an XML Element
          """
          self = cls()
          self.studyoid = elem.get("StudyOID")
          self.metadataversionoid = elem.get("MetaDataVersionOID")
          e_subjectdata = elem.findall(ODM_NS + "SubjectData")[0]
          self.subjectkey = e_subjectdata.get("SubjectKey")
          e_siteref = e_subjectdata.findall(ODM_NS + "SiteRef")[0]
          self.locationoid = e_siteref.get("LocationOID")
  
          e_links = e_subjectdata.findall(MEDI_NS + "Link")
          for e_link in e_links:
              self.links.append(e_link.get(XLINK_NS + "href"))
  
          decodes = {"yes": True, "no": False, "": None}
          for prop in RWSSubjectListItem.STATUS_PROPERTIES:
              val = e_subjectdata.get(MEDI_NS + prop, "").lower()
              setattr(self, prop.lower(), decodes.get(val, val))
  
          # By default we only get back active and non-deleted subjects
          self.active = decodes[
              e_subjectdata.get(MEDI_NS + "SubjectActive", "yes").lower()
          ]
          self.deleted = decodes[e_subjectdata.get(MEDI_NS + "Deleted", "no").lower()]
  
          return self