/**
  * @param boolean $returnSXE
  * @param \SimpleXMLElement $sxe
  * @return string|\SimpleXMLElement
  */
 public function xmlSerialize($returnSXE = false, $sxe = null)
 {
     if (null === $sxe) {
         $sxe = new \SimpleXMLElement('<OrganizationContact xmlns="http://hl7.org/fhir"></OrganizationContact>');
     }
     parent::xmlSerialize(true, $sxe);
     if (null !== $this->purpose) {
         $this->purpose->xmlSerialize(true, $sxe->addChild('purpose'));
     }
     if (null !== $this->name) {
         $this->name->xmlSerialize(true, $sxe->addChild('name'));
     }
     if (0 < count($this->telecom)) {
         foreach ($this->telecom as $telecom) {
             $telecom->xmlSerialize(true, $sxe->addChild('telecom'));
         }
     }
     if (null !== $this->address) {
         $this->address->xmlSerialize(true, $sxe->addChild('address'));
     }
     if ($returnSXE) {
         return $sxe;
     }
     return $sxe->saveXML();
 }
 /**
  * @param boolean $returnSXE
  * @param \SimpleXMLElement $sxe
  * @return string|\SimpleXMLElement
  */
 public function xmlSerialize($returnSXE = false, $sxe = null)
 {
     if (null === $sxe) {
         $sxe = new \SimpleXMLElement('<Practitioner xmlns="http://hl7.org/fhir"></Practitioner>');
     }
     parent::xmlSerialize(true, $sxe);
     if (0 < count($this->identifier)) {
         foreach ($this->identifier as $identifier) {
             $identifier->xmlSerialize(true, $sxe->addChild('identifier'));
         }
     }
     if (null !== $this->active) {
         $this->active->xmlSerialize(true, $sxe->addChild('active'));
     }
     if (null !== $this->name) {
         $this->name->xmlSerialize(true, $sxe->addChild('name'));
     }
     if (0 < count($this->telecom)) {
         foreach ($this->telecom as $telecom) {
             $telecom->xmlSerialize(true, $sxe->addChild('telecom'));
         }
     }
     if (0 < count($this->address)) {
         foreach ($this->address as $address) {
             $address->xmlSerialize(true, $sxe->addChild('address'));
         }
     }
     if (null !== $this->gender) {
         $this->gender->xmlSerialize(true, $sxe->addChild('gender'));
     }
     if (null !== $this->birthDate) {
         $this->birthDate->xmlSerialize(true, $sxe->addChild('birthDate'));
     }
     if (0 < count($this->photo)) {
         foreach ($this->photo as $photo) {
             $photo->xmlSerialize(true, $sxe->addChild('photo'));
         }
     }
     if (0 < count($this->practitionerRole)) {
         foreach ($this->practitionerRole as $practitionerRole) {
             $practitionerRole->xmlSerialize(true, $sxe->addChild('practitionerRole'));
         }
     }
     if (0 < count($this->qualification)) {
         foreach ($this->qualification as $qualification) {
             $qualification->xmlSerialize(true, $sxe->addChild('qualification'));
         }
     }
     if (0 < count($this->communication)) {
         foreach ($this->communication as $communication) {
             $communication->xmlSerialize(true, $sxe->addChild('communication'));
         }
     }
     if ($returnSXE) {
         return $sxe;
     }
     return $sxe->saveXML();
 }
 /**
  * @param boolean $returnSXE
  * @param \SimpleXMLElement $sxe
  * @return string|\SimpleXMLElement
  */
 public function xmlSerialize($returnSXE = false, $sxe = null)
 {
     if (null === $sxe) {
         $sxe = new \SimpleXMLElement('<PatientContact xmlns="http://hl7.org/fhir"></PatientContact>');
     }
     parent::xmlSerialize(true, $sxe);
     if (0 < count($this->relationship)) {
         foreach ($this->relationship as $relationship) {
             $relationship->xmlSerialize(true, $sxe->addChild('relationship'));
         }
     }
     if (null !== $this->name) {
         $this->name->xmlSerialize(true, $sxe->addChild('name'));
     }
     if (0 < count($this->telecom)) {
         foreach ($this->telecom as $telecom) {
             $telecom->xmlSerialize(true, $sxe->addChild('telecom'));
         }
     }
     if (null !== $this->address) {
         $this->address->xmlSerialize(true, $sxe->addChild('address'));
     }
     if (null !== $this->gender) {
         $this->gender->xmlSerialize(true, $sxe->addChild('gender'));
     }
     if (null !== $this->organization) {
         $this->organization->xmlSerialize(true, $sxe->addChild('organization'));
     }
     if (null !== $this->period) {
         $this->period->xmlSerialize(true, $sxe->addChild('period'));
     }
     if ($returnSXE) {
         return $sxe;
     }
     return $sxe->saveXML();
 }
 /**
  * @param boolean $returnSXE
  * @param \SimpleXMLElement $sxe
  * @return string|\SimpleXMLElement
  */
 public function xmlSerialize($returnSXE = false, $sxe = null)
 {
     if (null === $sxe) {
         $sxe = new \SimpleXMLElement('<Extension xmlns="http://hl7.org/fhir"></Extension>');
     }
     parent::xmlSerialize(true, $sxe);
     if (null !== $this->valueBoolean) {
         $this->valueBoolean->xmlSerialize(true, $sxe->addChild('valueBoolean'));
     }
     if (null !== $this->valueInteger) {
         $this->valueInteger->xmlSerialize(true, $sxe->addChild('valueInteger'));
     }
     if (null !== $this->valueDecimal) {
         $this->valueDecimal->xmlSerialize(true, $sxe->addChild('valueDecimal'));
     }
     if (null !== $this->valueBase64Binary) {
         $this->valueBase64Binary->xmlSerialize(true, $sxe->addChild('valueBase64Binary'));
     }
     if (null !== $this->valueInstant) {
         $this->valueInstant->xmlSerialize(true, $sxe->addChild('valueInstant'));
     }
     if (null !== $this->valueString) {
         $this->valueString->xmlSerialize(true, $sxe->addChild('valueString'));
     }
     if (null !== $this->valueUri) {
         $this->valueUri->xmlSerialize(true, $sxe->addChild('valueUri'));
     }
     if (null !== $this->valueDate) {
         $this->valueDate->xmlSerialize(true, $sxe->addChild('valueDate'));
     }
     if (null !== $this->valueDateTime) {
         $this->valueDateTime->xmlSerialize(true, $sxe->addChild('valueDateTime'));
     }
     if (null !== $this->valueTime) {
         $this->valueTime->xmlSerialize(true, $sxe->addChild('valueTime'));
     }
     if (null !== $this->valueCode) {
         $this->valueCode->xmlSerialize(true, $sxe->addChild('valueCode'));
     }
     if (null !== $this->valueOid) {
         $this->valueOid->xmlSerialize(true, $sxe->addChild('valueOid'));
     }
     if (null !== $this->valueUuid) {
         $this->valueUuid->xmlSerialize(true, $sxe->addChild('valueUuid'));
     }
     if (null !== $this->valueId) {
         $this->valueId->xmlSerialize(true, $sxe->addChild('valueId'));
     }
     if (null !== $this->valueUnsignedInt) {
         $this->valueUnsignedInt->xmlSerialize(true, $sxe->addChild('valueUnsignedInt'));
     }
     if (null !== $this->valuePositiveInt) {
         $this->valuePositiveInt->xmlSerialize(true, $sxe->addChild('valuePositiveInt'));
     }
     if (null !== $this->valueMarkdown) {
         $this->valueMarkdown->xmlSerialize(true, $sxe->addChild('valueMarkdown'));
     }
     if (null !== $this->valueAnnotation) {
         $this->valueAnnotation->xmlSerialize(true, $sxe->addChild('valueAnnotation'));
     }
     if (null !== $this->valueAttachment) {
         $this->valueAttachment->xmlSerialize(true, $sxe->addChild('valueAttachment'));
     }
     if (null !== $this->valueIdentifier) {
         $this->valueIdentifier->xmlSerialize(true, $sxe->addChild('valueIdentifier'));
     }
     if (null !== $this->valueCodeableConcept) {
         $this->valueCodeableConcept->xmlSerialize(true, $sxe->addChild('valueCodeableConcept'));
     }
     if (null !== $this->valueCoding) {
         $this->valueCoding->xmlSerialize(true, $sxe->addChild('valueCoding'));
     }
     if (null !== $this->valueQuantity) {
         $this->valueQuantity->xmlSerialize(true, $sxe->addChild('valueQuantity'));
     }
     if (null !== $this->valueRange) {
         $this->valueRange->xmlSerialize(true, $sxe->addChild('valueRange'));
     }
     if (null !== $this->valuePeriod) {
         $this->valuePeriod->xmlSerialize(true, $sxe->addChild('valuePeriod'));
     }
     if (null !== $this->valueRatio) {
         $this->valueRatio->xmlSerialize(true, $sxe->addChild('valueRatio'));
     }
     if (null !== $this->valueReference) {
         $this->valueReference->xmlSerialize(true, $sxe->addChild('valueReference'));
     }
     if (null !== $this->valueSampledData) {
         $this->valueSampledData->xmlSerialize(true, $sxe->addChild('valueSampledData'));
     }
     if (null !== $this->valueSignature) {
         $this->valueSignature->xmlSerialize(true, $sxe->addChild('valueSignature'));
     }
     if (null !== $this->valueHumanName) {
         $this->valueHumanName->xmlSerialize(true, $sxe->addChild('valueHumanName'));
     }
     if (null !== $this->valueAddress) {
         $this->valueAddress->xmlSerialize(true, $sxe->addChild('valueAddress'));
     }
     if (null !== $this->valueContactPoint) {
         $this->valueContactPoint->xmlSerialize(true, $sxe->addChild('valueContactPoint'));
     }
     if (null !== $this->valueTiming) {
         $this->valueTiming->xmlSerialize(true, $sxe->addChild('valueTiming'));
     }
     if (null !== $this->valueMeta) {
         $this->valueMeta->xmlSerialize(true, $sxe->addChild('valueMeta'));
     }
     if (null !== $this->url) {
         $urlElement = $sxe->addChild('url');
         $urlElement->addAttribute('value', (string) $this->url);
     }
     if ($returnSXE) {
         return $sxe;
     }
     return $sxe->saveXML();
 }
 /**
  * @param boolean $returnSXE
  * @param \SimpleXMLElement $sxe
  * @return string|\SimpleXMLElement
  */
 public function xmlSerialize($returnSXE = false, $sxe = null)
 {
     if (null === $sxe) {
         $sxe = new \SimpleXMLElement('<ElementDefinition xmlns="http://hl7.org/fhir"></ElementDefinition>');
     }
     parent::xmlSerialize(true, $sxe);
     if (null !== $this->path) {
         $this->path->xmlSerialize(true, $sxe->addChild('path'));
     }
     if (0 < count($this->representation)) {
         foreach ($this->representation as $representation) {
             $representation->xmlSerialize(true, $sxe->addChild('representation'));
         }
     }
     if (null !== $this->name) {
         $this->name->xmlSerialize(true, $sxe->addChild('name'));
     }
     if (null !== $this->label) {
         $this->label->xmlSerialize(true, $sxe->addChild('label'));
     }
     if (0 < count($this->code)) {
         foreach ($this->code as $code) {
             $code->xmlSerialize(true, $sxe->addChild('code'));
         }
     }
     if (null !== $this->slicing) {
         $this->slicing->xmlSerialize(true, $sxe->addChild('slicing'));
     }
     if (null !== $this->short) {
         $this->short->xmlSerialize(true, $sxe->addChild('short'));
     }
     if (null !== $this->definition) {
         $this->definition->xmlSerialize(true, $sxe->addChild('definition'));
     }
     if (null !== $this->comments) {
         $this->comments->xmlSerialize(true, $sxe->addChild('comments'));
     }
     if (null !== $this->requirements) {
         $this->requirements->xmlSerialize(true, $sxe->addChild('requirements'));
     }
     if (0 < count($this->alias)) {
         foreach ($this->alias as $alias) {
             $alias->xmlSerialize(true, $sxe->addChild('alias'));
         }
     }
     if (null !== $this->min) {
         $this->min->xmlSerialize(true, $sxe->addChild('min'));
     }
     if (null !== $this->max) {
         $this->max->xmlSerialize(true, $sxe->addChild('max'));
     }
     if (null !== $this->base) {
         $this->base->xmlSerialize(true, $sxe->addChild('base'));
     }
     if (0 < count($this->type)) {
         foreach ($this->type as $type) {
             $type->xmlSerialize(true, $sxe->addChild('type'));
         }
     }
     if (null !== $this->nameReference) {
         $this->nameReference->xmlSerialize(true, $sxe->addChild('nameReference'));
     }
     if (null !== $this->defaultValueBoolean) {
         $this->defaultValueBoolean->xmlSerialize(true, $sxe->addChild('defaultValueBoolean'));
     }
     if (null !== $this->defaultValueInteger) {
         $this->defaultValueInteger->xmlSerialize(true, $sxe->addChild('defaultValueInteger'));
     }
     if (null !== $this->defaultValueDecimal) {
         $this->defaultValueDecimal->xmlSerialize(true, $sxe->addChild('defaultValueDecimal'));
     }
     if (null !== $this->defaultValueBase64Binary) {
         $this->defaultValueBase64Binary->xmlSerialize(true, $sxe->addChild('defaultValueBase64Binary'));
     }
     if (null !== $this->defaultValueInstant) {
         $this->defaultValueInstant->xmlSerialize(true, $sxe->addChild('defaultValueInstant'));
     }
     if (null !== $this->defaultValueString) {
         $this->defaultValueString->xmlSerialize(true, $sxe->addChild('defaultValueString'));
     }
     if (null !== $this->defaultValueUri) {
         $this->defaultValueUri->xmlSerialize(true, $sxe->addChild('defaultValueUri'));
     }
     if (null !== $this->defaultValueDate) {
         $this->defaultValueDate->xmlSerialize(true, $sxe->addChild('defaultValueDate'));
     }
     if (null !== $this->defaultValueDateTime) {
         $this->defaultValueDateTime->xmlSerialize(true, $sxe->addChild('defaultValueDateTime'));
     }
     if (null !== $this->defaultValueTime) {
         $this->defaultValueTime->xmlSerialize(true, $sxe->addChild('defaultValueTime'));
     }
     if (null !== $this->defaultValueCode) {
         $this->defaultValueCode->xmlSerialize(true, $sxe->addChild('defaultValueCode'));
     }
     if (null !== $this->defaultValueOid) {
         $this->defaultValueOid->xmlSerialize(true, $sxe->addChild('defaultValueOid'));
     }
     if (null !== $this->defaultValueUuid) {
         $this->defaultValueUuid->xmlSerialize(true, $sxe->addChild('defaultValueUuid'));
     }
     if (null !== $this->defaultValueId) {
         $this->defaultValueId->xmlSerialize(true, $sxe->addChild('defaultValueId'));
     }
     if (null !== $this->defaultValueUnsignedInt) {
         $this->defaultValueUnsignedInt->xmlSerialize(true, $sxe->addChild('defaultValueUnsignedInt'));
     }
     if (null !== $this->defaultValuePositiveInt) {
         $this->defaultValuePositiveInt->xmlSerialize(true, $sxe->addChild('defaultValuePositiveInt'));
     }
     if (null !== $this->defaultValueMarkdown) {
         $this->defaultValueMarkdown->xmlSerialize(true, $sxe->addChild('defaultValueMarkdown'));
     }
     if (null !== $this->defaultValueAnnotation) {
         $this->defaultValueAnnotation->xmlSerialize(true, $sxe->addChild('defaultValueAnnotation'));
     }
     if (null !== $this->defaultValueAttachment) {
         $this->defaultValueAttachment->xmlSerialize(true, $sxe->addChild('defaultValueAttachment'));
     }
     if (null !== $this->defaultValueIdentifier) {
         $this->defaultValueIdentifier->xmlSerialize(true, $sxe->addChild('defaultValueIdentifier'));
     }
     if (null !== $this->defaultValueCodeableConcept) {
         $this->defaultValueCodeableConcept->xmlSerialize(true, $sxe->addChild('defaultValueCodeableConcept'));
     }
     if (null !== $this->defaultValueCoding) {
         $this->defaultValueCoding->xmlSerialize(true, $sxe->addChild('defaultValueCoding'));
     }
     if (null !== $this->defaultValueQuantity) {
         $this->defaultValueQuantity->xmlSerialize(true, $sxe->addChild('defaultValueQuantity'));
     }
     if (null !== $this->defaultValueRange) {
         $this->defaultValueRange->xmlSerialize(true, $sxe->addChild('defaultValueRange'));
     }
     if (null !== $this->defaultValuePeriod) {
         $this->defaultValuePeriod->xmlSerialize(true, $sxe->addChild('defaultValuePeriod'));
     }
     if (null !== $this->defaultValueRatio) {
         $this->defaultValueRatio->xmlSerialize(true, $sxe->addChild('defaultValueRatio'));
     }
     if (null !== $this->defaultValueReference) {
         $this->defaultValueReference->xmlSerialize(true, $sxe->addChild('defaultValueReference'));
     }
     if (null !== $this->defaultValueSampledData) {
         $this->defaultValueSampledData->xmlSerialize(true, $sxe->addChild('defaultValueSampledData'));
     }
     if (null !== $this->defaultValueSignature) {
         $this->defaultValueSignature->xmlSerialize(true, $sxe->addChild('defaultValueSignature'));
     }
     if (null !== $this->defaultValueHumanName) {
         $this->defaultValueHumanName->xmlSerialize(true, $sxe->addChild('defaultValueHumanName'));
     }
     if (null !== $this->defaultValueAddress) {
         $this->defaultValueAddress->xmlSerialize(true, $sxe->addChild('defaultValueAddress'));
     }
     if (null !== $this->defaultValueContactPoint) {
         $this->defaultValueContactPoint->xmlSerialize(true, $sxe->addChild('defaultValueContactPoint'));
     }
     if (null !== $this->defaultValueTiming) {
         $this->defaultValueTiming->xmlSerialize(true, $sxe->addChild('defaultValueTiming'));
     }
     if (null !== $this->defaultValueMeta) {
         $this->defaultValueMeta->xmlSerialize(true, $sxe->addChild('defaultValueMeta'));
     }
     if (null !== $this->meaningWhenMissing) {
         $this->meaningWhenMissing->xmlSerialize(true, $sxe->addChild('meaningWhenMissing'));
     }
     if (null !== $this->fixedBoolean) {
         $this->fixedBoolean->xmlSerialize(true, $sxe->addChild('fixedBoolean'));
     }
     if (null !== $this->fixedInteger) {
         $this->fixedInteger->xmlSerialize(true, $sxe->addChild('fixedInteger'));
     }
     if (null !== $this->fixedDecimal) {
         $this->fixedDecimal->xmlSerialize(true, $sxe->addChild('fixedDecimal'));
     }
     if (null !== $this->fixedBase64Binary) {
         $this->fixedBase64Binary->xmlSerialize(true, $sxe->addChild('fixedBase64Binary'));
     }
     if (null !== $this->fixedInstant) {
         $this->fixedInstant->xmlSerialize(true, $sxe->addChild('fixedInstant'));
     }
     if (null !== $this->fixedString) {
         $this->fixedString->xmlSerialize(true, $sxe->addChild('fixedString'));
     }
     if (null !== $this->fixedUri) {
         $this->fixedUri->xmlSerialize(true, $sxe->addChild('fixedUri'));
     }
     if (null !== $this->fixedDate) {
         $this->fixedDate->xmlSerialize(true, $sxe->addChild('fixedDate'));
     }
     if (null !== $this->fixedDateTime) {
         $this->fixedDateTime->xmlSerialize(true, $sxe->addChild('fixedDateTime'));
     }
     if (null !== $this->fixedTime) {
         $this->fixedTime->xmlSerialize(true, $sxe->addChild('fixedTime'));
     }
     if (null !== $this->fixedCode) {
         $this->fixedCode->xmlSerialize(true, $sxe->addChild('fixedCode'));
     }
     if (null !== $this->fixedOid) {
         $this->fixedOid->xmlSerialize(true, $sxe->addChild('fixedOid'));
     }
     if (null !== $this->fixedUuid) {
         $this->fixedUuid->xmlSerialize(true, $sxe->addChild('fixedUuid'));
     }
     if (null !== $this->fixedId) {
         $this->fixedId->xmlSerialize(true, $sxe->addChild('fixedId'));
     }
     if (null !== $this->fixedUnsignedInt) {
         $this->fixedUnsignedInt->xmlSerialize(true, $sxe->addChild('fixedUnsignedInt'));
     }
     if (null !== $this->fixedPositiveInt) {
         $this->fixedPositiveInt->xmlSerialize(true, $sxe->addChild('fixedPositiveInt'));
     }
     if (null !== $this->fixedMarkdown) {
         $this->fixedMarkdown->xmlSerialize(true, $sxe->addChild('fixedMarkdown'));
     }
     if (null !== $this->fixedAnnotation) {
         $this->fixedAnnotation->xmlSerialize(true, $sxe->addChild('fixedAnnotation'));
     }
     if (null !== $this->fixedAttachment) {
         $this->fixedAttachment->xmlSerialize(true, $sxe->addChild('fixedAttachment'));
     }
     if (null !== $this->fixedIdentifier) {
         $this->fixedIdentifier->xmlSerialize(true, $sxe->addChild('fixedIdentifier'));
     }
     if (null !== $this->fixedCodeableConcept) {
         $this->fixedCodeableConcept->xmlSerialize(true, $sxe->addChild('fixedCodeableConcept'));
     }
     if (null !== $this->fixedCoding) {
         $this->fixedCoding->xmlSerialize(true, $sxe->addChild('fixedCoding'));
     }
     if (null !== $this->fixedQuantity) {
         $this->fixedQuantity->xmlSerialize(true, $sxe->addChild('fixedQuantity'));
     }
     if (null !== $this->fixedRange) {
         $this->fixedRange->xmlSerialize(true, $sxe->addChild('fixedRange'));
     }
     if (null !== $this->fixedPeriod) {
         $this->fixedPeriod->xmlSerialize(true, $sxe->addChild('fixedPeriod'));
     }
     if (null !== $this->fixedRatio) {
         $this->fixedRatio->xmlSerialize(true, $sxe->addChild('fixedRatio'));
     }
     if (null !== $this->fixedReference) {
         $this->fixedReference->xmlSerialize(true, $sxe->addChild('fixedReference'));
     }
     if (null !== $this->fixedSampledData) {
         $this->fixedSampledData->xmlSerialize(true, $sxe->addChild('fixedSampledData'));
     }
     if (null !== $this->fixedSignature) {
         $this->fixedSignature->xmlSerialize(true, $sxe->addChild('fixedSignature'));
     }
     if (null !== $this->fixedHumanName) {
         $this->fixedHumanName->xmlSerialize(true, $sxe->addChild('fixedHumanName'));
     }
     if (null !== $this->fixedAddress) {
         $this->fixedAddress->xmlSerialize(true, $sxe->addChild('fixedAddress'));
     }
     if (null !== $this->fixedContactPoint) {
         $this->fixedContactPoint->xmlSerialize(true, $sxe->addChild('fixedContactPoint'));
     }
     if (null !== $this->fixedTiming) {
         $this->fixedTiming->xmlSerialize(true, $sxe->addChild('fixedTiming'));
     }
     if (null !== $this->fixedMeta) {
         $this->fixedMeta->xmlSerialize(true, $sxe->addChild('fixedMeta'));
     }
     if (null !== $this->patternBoolean) {
         $this->patternBoolean->xmlSerialize(true, $sxe->addChild('patternBoolean'));
     }
     if (null !== $this->patternInteger) {
         $this->patternInteger->xmlSerialize(true, $sxe->addChild('patternInteger'));
     }
     if (null !== $this->patternDecimal) {
         $this->patternDecimal->xmlSerialize(true, $sxe->addChild('patternDecimal'));
     }
     if (null !== $this->patternBase64Binary) {
         $this->patternBase64Binary->xmlSerialize(true, $sxe->addChild('patternBase64Binary'));
     }
     if (null !== $this->patternInstant) {
         $this->patternInstant->xmlSerialize(true, $sxe->addChild('patternInstant'));
     }
     if (null !== $this->patternString) {
         $this->patternString->xmlSerialize(true, $sxe->addChild('patternString'));
     }
     if (null !== $this->patternUri) {
         $this->patternUri->xmlSerialize(true, $sxe->addChild('patternUri'));
     }
     if (null !== $this->patternDate) {
         $this->patternDate->xmlSerialize(true, $sxe->addChild('patternDate'));
     }
     if (null !== $this->patternDateTime) {
         $this->patternDateTime->xmlSerialize(true, $sxe->addChild('patternDateTime'));
     }
     if (null !== $this->patternTime) {
         $this->patternTime->xmlSerialize(true, $sxe->addChild('patternTime'));
     }
     if (null !== $this->patternCode) {
         $this->patternCode->xmlSerialize(true, $sxe->addChild('patternCode'));
     }
     if (null !== $this->patternOid) {
         $this->patternOid->xmlSerialize(true, $sxe->addChild('patternOid'));
     }
     if (null !== $this->patternUuid) {
         $this->patternUuid->xmlSerialize(true, $sxe->addChild('patternUuid'));
     }
     if (null !== $this->patternId) {
         $this->patternId->xmlSerialize(true, $sxe->addChild('patternId'));
     }
     if (null !== $this->patternUnsignedInt) {
         $this->patternUnsignedInt->xmlSerialize(true, $sxe->addChild('patternUnsignedInt'));
     }
     if (null !== $this->patternPositiveInt) {
         $this->patternPositiveInt->xmlSerialize(true, $sxe->addChild('patternPositiveInt'));
     }
     if (null !== $this->patternMarkdown) {
         $this->patternMarkdown->xmlSerialize(true, $sxe->addChild('patternMarkdown'));
     }
     if (null !== $this->patternAnnotation) {
         $this->patternAnnotation->xmlSerialize(true, $sxe->addChild('patternAnnotation'));
     }
     if (null !== $this->patternAttachment) {
         $this->patternAttachment->xmlSerialize(true, $sxe->addChild('patternAttachment'));
     }
     if (null !== $this->patternIdentifier) {
         $this->patternIdentifier->xmlSerialize(true, $sxe->addChild('patternIdentifier'));
     }
     if (null !== $this->patternCodeableConcept) {
         $this->patternCodeableConcept->xmlSerialize(true, $sxe->addChild('patternCodeableConcept'));
     }
     if (null !== $this->patternCoding) {
         $this->patternCoding->xmlSerialize(true, $sxe->addChild('patternCoding'));
     }
     if (null !== $this->patternQuantity) {
         $this->patternQuantity->xmlSerialize(true, $sxe->addChild('patternQuantity'));
     }
     if (null !== $this->patternRange) {
         $this->patternRange->xmlSerialize(true, $sxe->addChild('patternRange'));
     }
     if (null !== $this->patternPeriod) {
         $this->patternPeriod->xmlSerialize(true, $sxe->addChild('patternPeriod'));
     }
     if (null !== $this->patternRatio) {
         $this->patternRatio->xmlSerialize(true, $sxe->addChild('patternRatio'));
     }
     if (null !== $this->patternReference) {
         $this->patternReference->xmlSerialize(true, $sxe->addChild('patternReference'));
     }
     if (null !== $this->patternSampledData) {
         $this->patternSampledData->xmlSerialize(true, $sxe->addChild('patternSampledData'));
     }
     if (null !== $this->patternSignature) {
         $this->patternSignature->xmlSerialize(true, $sxe->addChild('patternSignature'));
     }
     if (null !== $this->patternHumanName) {
         $this->patternHumanName->xmlSerialize(true, $sxe->addChild('patternHumanName'));
     }
     if (null !== $this->patternAddress) {
         $this->patternAddress->xmlSerialize(true, $sxe->addChild('patternAddress'));
     }
     if (null !== $this->patternContactPoint) {
         $this->patternContactPoint->xmlSerialize(true, $sxe->addChild('patternContactPoint'));
     }
     if (null !== $this->patternTiming) {
         $this->patternTiming->xmlSerialize(true, $sxe->addChild('patternTiming'));
     }
     if (null !== $this->patternMeta) {
         $this->patternMeta->xmlSerialize(true, $sxe->addChild('patternMeta'));
     }
     if (null !== $this->exampleBoolean) {
         $this->exampleBoolean->xmlSerialize(true, $sxe->addChild('exampleBoolean'));
     }
     if (null !== $this->exampleInteger) {
         $this->exampleInteger->xmlSerialize(true, $sxe->addChild('exampleInteger'));
     }
     if (null !== $this->exampleDecimal) {
         $this->exampleDecimal->xmlSerialize(true, $sxe->addChild('exampleDecimal'));
     }
     if (null !== $this->exampleBase64Binary) {
         $this->exampleBase64Binary->xmlSerialize(true, $sxe->addChild('exampleBase64Binary'));
     }
     if (null !== $this->exampleInstant) {
         $this->exampleInstant->xmlSerialize(true, $sxe->addChild('exampleInstant'));
     }
     if (null !== $this->exampleString) {
         $this->exampleString->xmlSerialize(true, $sxe->addChild('exampleString'));
     }
     if (null !== $this->exampleUri) {
         $this->exampleUri->xmlSerialize(true, $sxe->addChild('exampleUri'));
     }
     if (null !== $this->exampleDate) {
         $this->exampleDate->xmlSerialize(true, $sxe->addChild('exampleDate'));
     }
     if (null !== $this->exampleDateTime) {
         $this->exampleDateTime->xmlSerialize(true, $sxe->addChild('exampleDateTime'));
     }
     if (null !== $this->exampleTime) {
         $this->exampleTime->xmlSerialize(true, $sxe->addChild('exampleTime'));
     }
     if (null !== $this->exampleCode) {
         $this->exampleCode->xmlSerialize(true, $sxe->addChild('exampleCode'));
     }
     if (null !== $this->exampleOid) {
         $this->exampleOid->xmlSerialize(true, $sxe->addChild('exampleOid'));
     }
     if (null !== $this->exampleUuid) {
         $this->exampleUuid->xmlSerialize(true, $sxe->addChild('exampleUuid'));
     }
     if (null !== $this->exampleId) {
         $this->exampleId->xmlSerialize(true, $sxe->addChild('exampleId'));
     }
     if (null !== $this->exampleUnsignedInt) {
         $this->exampleUnsignedInt->xmlSerialize(true, $sxe->addChild('exampleUnsignedInt'));
     }
     if (null !== $this->examplePositiveInt) {
         $this->examplePositiveInt->xmlSerialize(true, $sxe->addChild('examplePositiveInt'));
     }
     if (null !== $this->exampleMarkdown) {
         $this->exampleMarkdown->xmlSerialize(true, $sxe->addChild('exampleMarkdown'));
     }
     if (null !== $this->exampleAnnotation) {
         $this->exampleAnnotation->xmlSerialize(true, $sxe->addChild('exampleAnnotation'));
     }
     if (null !== $this->exampleAttachment) {
         $this->exampleAttachment->xmlSerialize(true, $sxe->addChild('exampleAttachment'));
     }
     if (null !== $this->exampleIdentifier) {
         $this->exampleIdentifier->xmlSerialize(true, $sxe->addChild('exampleIdentifier'));
     }
     if (null !== $this->exampleCodeableConcept) {
         $this->exampleCodeableConcept->xmlSerialize(true, $sxe->addChild('exampleCodeableConcept'));
     }
     if (null !== $this->exampleCoding) {
         $this->exampleCoding->xmlSerialize(true, $sxe->addChild('exampleCoding'));
     }
     if (null !== $this->exampleQuantity) {
         $this->exampleQuantity->xmlSerialize(true, $sxe->addChild('exampleQuantity'));
     }
     if (null !== $this->exampleRange) {
         $this->exampleRange->xmlSerialize(true, $sxe->addChild('exampleRange'));
     }
     if (null !== $this->examplePeriod) {
         $this->examplePeriod->xmlSerialize(true, $sxe->addChild('examplePeriod'));
     }
     if (null !== $this->exampleRatio) {
         $this->exampleRatio->xmlSerialize(true, $sxe->addChild('exampleRatio'));
     }
     if (null !== $this->exampleReference) {
         $this->exampleReference->xmlSerialize(true, $sxe->addChild('exampleReference'));
     }
     if (null !== $this->exampleSampledData) {
         $this->exampleSampledData->xmlSerialize(true, $sxe->addChild('exampleSampledData'));
     }
     if (null !== $this->exampleSignature) {
         $this->exampleSignature->xmlSerialize(true, $sxe->addChild('exampleSignature'));
     }
     if (null !== $this->exampleHumanName) {
         $this->exampleHumanName->xmlSerialize(true, $sxe->addChild('exampleHumanName'));
     }
     if (null !== $this->exampleAddress) {
         $this->exampleAddress->xmlSerialize(true, $sxe->addChild('exampleAddress'));
     }
     if (null !== $this->exampleContactPoint) {
         $this->exampleContactPoint->xmlSerialize(true, $sxe->addChild('exampleContactPoint'));
     }
     if (null !== $this->exampleTiming) {
         $this->exampleTiming->xmlSerialize(true, $sxe->addChild('exampleTiming'));
     }
     if (null !== $this->exampleMeta) {
         $this->exampleMeta->xmlSerialize(true, $sxe->addChild('exampleMeta'));
     }
     if (null !== $this->minValueBoolean) {
         $this->minValueBoolean->xmlSerialize(true, $sxe->addChild('minValueBoolean'));
     }
     if (null !== $this->minValueInteger) {
         $this->minValueInteger->xmlSerialize(true, $sxe->addChild('minValueInteger'));
     }
     if (null !== $this->minValueDecimal) {
         $this->minValueDecimal->xmlSerialize(true, $sxe->addChild('minValueDecimal'));
     }
     if (null !== $this->minValueBase64Binary) {
         $this->minValueBase64Binary->xmlSerialize(true, $sxe->addChild('minValueBase64Binary'));
     }
     if (null !== $this->minValueInstant) {
         $this->minValueInstant->xmlSerialize(true, $sxe->addChild('minValueInstant'));
     }
     if (null !== $this->minValueString) {
         $this->minValueString->xmlSerialize(true, $sxe->addChild('minValueString'));
     }
     if (null !== $this->minValueUri) {
         $this->minValueUri->xmlSerialize(true, $sxe->addChild('minValueUri'));
     }
     if (null !== $this->minValueDate) {
         $this->minValueDate->xmlSerialize(true, $sxe->addChild('minValueDate'));
     }
     if (null !== $this->minValueDateTime) {
         $this->minValueDateTime->xmlSerialize(true, $sxe->addChild('minValueDateTime'));
     }
     if (null !== $this->minValueTime) {
         $this->minValueTime->xmlSerialize(true, $sxe->addChild('minValueTime'));
     }
     if (null !== $this->minValueCode) {
         $this->minValueCode->xmlSerialize(true, $sxe->addChild('minValueCode'));
     }
     if (null !== $this->minValueOid) {
         $this->minValueOid->xmlSerialize(true, $sxe->addChild('minValueOid'));
     }
     if (null !== $this->minValueUuid) {
         $this->minValueUuid->xmlSerialize(true, $sxe->addChild('minValueUuid'));
     }
     if (null !== $this->minValueId) {
         $this->minValueId->xmlSerialize(true, $sxe->addChild('minValueId'));
     }
     if (null !== $this->minValueUnsignedInt) {
         $this->minValueUnsignedInt->xmlSerialize(true, $sxe->addChild('minValueUnsignedInt'));
     }
     if (null !== $this->minValuePositiveInt) {
         $this->minValuePositiveInt->xmlSerialize(true, $sxe->addChild('minValuePositiveInt'));
     }
     if (null !== $this->minValueMarkdown) {
         $this->minValueMarkdown->xmlSerialize(true, $sxe->addChild('minValueMarkdown'));
     }
     if (null !== $this->minValueAnnotation) {
         $this->minValueAnnotation->xmlSerialize(true, $sxe->addChild('minValueAnnotation'));
     }
     if (null !== $this->minValueAttachment) {
         $this->minValueAttachment->xmlSerialize(true, $sxe->addChild('minValueAttachment'));
     }
     if (null !== $this->minValueIdentifier) {
         $this->minValueIdentifier->xmlSerialize(true, $sxe->addChild('minValueIdentifier'));
     }
     if (null !== $this->minValueCodeableConcept) {
         $this->minValueCodeableConcept->xmlSerialize(true, $sxe->addChild('minValueCodeableConcept'));
     }
     if (null !== $this->minValueCoding) {
         $this->minValueCoding->xmlSerialize(true, $sxe->addChild('minValueCoding'));
     }
     if (null !== $this->minValueQuantity) {
         $this->minValueQuantity->xmlSerialize(true, $sxe->addChild('minValueQuantity'));
     }
     if (null !== $this->minValueRange) {
         $this->minValueRange->xmlSerialize(true, $sxe->addChild('minValueRange'));
     }
     if (null !== $this->minValuePeriod) {
         $this->minValuePeriod->xmlSerialize(true, $sxe->addChild('minValuePeriod'));
     }
     if (null !== $this->minValueRatio) {
         $this->minValueRatio->xmlSerialize(true, $sxe->addChild('minValueRatio'));
     }
     if (null !== $this->minValueReference) {
         $this->minValueReference->xmlSerialize(true, $sxe->addChild('minValueReference'));
     }
     if (null !== $this->minValueSampledData) {
         $this->minValueSampledData->xmlSerialize(true, $sxe->addChild('minValueSampledData'));
     }
     if (null !== $this->minValueSignature) {
         $this->minValueSignature->xmlSerialize(true, $sxe->addChild('minValueSignature'));
     }
     if (null !== $this->minValueHumanName) {
         $this->minValueHumanName->xmlSerialize(true, $sxe->addChild('minValueHumanName'));
     }
     if (null !== $this->minValueAddress) {
         $this->minValueAddress->xmlSerialize(true, $sxe->addChild('minValueAddress'));
     }
     if (null !== $this->minValueContactPoint) {
         $this->minValueContactPoint->xmlSerialize(true, $sxe->addChild('minValueContactPoint'));
     }
     if (null !== $this->minValueTiming) {
         $this->minValueTiming->xmlSerialize(true, $sxe->addChild('minValueTiming'));
     }
     if (null !== $this->minValueMeta) {
         $this->minValueMeta->xmlSerialize(true, $sxe->addChild('minValueMeta'));
     }
     if (null !== $this->maxValueBoolean) {
         $this->maxValueBoolean->xmlSerialize(true, $sxe->addChild('maxValueBoolean'));
     }
     if (null !== $this->maxValueInteger) {
         $this->maxValueInteger->xmlSerialize(true, $sxe->addChild('maxValueInteger'));
     }
     if (null !== $this->maxValueDecimal) {
         $this->maxValueDecimal->xmlSerialize(true, $sxe->addChild('maxValueDecimal'));
     }
     if (null !== $this->maxValueBase64Binary) {
         $this->maxValueBase64Binary->xmlSerialize(true, $sxe->addChild('maxValueBase64Binary'));
     }
     if (null !== $this->maxValueInstant) {
         $this->maxValueInstant->xmlSerialize(true, $sxe->addChild('maxValueInstant'));
     }
     if (null !== $this->maxValueString) {
         $this->maxValueString->xmlSerialize(true, $sxe->addChild('maxValueString'));
     }
     if (null !== $this->maxValueUri) {
         $this->maxValueUri->xmlSerialize(true, $sxe->addChild('maxValueUri'));
     }
     if (null !== $this->maxValueDate) {
         $this->maxValueDate->xmlSerialize(true, $sxe->addChild('maxValueDate'));
     }
     if (null !== $this->maxValueDateTime) {
         $this->maxValueDateTime->xmlSerialize(true, $sxe->addChild('maxValueDateTime'));
     }
     if (null !== $this->maxValueTime) {
         $this->maxValueTime->xmlSerialize(true, $sxe->addChild('maxValueTime'));
     }
     if (null !== $this->maxValueCode) {
         $this->maxValueCode->xmlSerialize(true, $sxe->addChild('maxValueCode'));
     }
     if (null !== $this->maxValueOid) {
         $this->maxValueOid->xmlSerialize(true, $sxe->addChild('maxValueOid'));
     }
     if (null !== $this->maxValueUuid) {
         $this->maxValueUuid->xmlSerialize(true, $sxe->addChild('maxValueUuid'));
     }
     if (null !== $this->maxValueId) {
         $this->maxValueId->xmlSerialize(true, $sxe->addChild('maxValueId'));
     }
     if (null !== $this->maxValueUnsignedInt) {
         $this->maxValueUnsignedInt->xmlSerialize(true, $sxe->addChild('maxValueUnsignedInt'));
     }
     if (null !== $this->maxValuePositiveInt) {
         $this->maxValuePositiveInt->xmlSerialize(true, $sxe->addChild('maxValuePositiveInt'));
     }
     if (null !== $this->maxValueMarkdown) {
         $this->maxValueMarkdown->xmlSerialize(true, $sxe->addChild('maxValueMarkdown'));
     }
     if (null !== $this->maxValueAnnotation) {
         $this->maxValueAnnotation->xmlSerialize(true, $sxe->addChild('maxValueAnnotation'));
     }
     if (null !== $this->maxValueAttachment) {
         $this->maxValueAttachment->xmlSerialize(true, $sxe->addChild('maxValueAttachment'));
     }
     if (null !== $this->maxValueIdentifier) {
         $this->maxValueIdentifier->xmlSerialize(true, $sxe->addChild('maxValueIdentifier'));
     }
     if (null !== $this->maxValueCodeableConcept) {
         $this->maxValueCodeableConcept->xmlSerialize(true, $sxe->addChild('maxValueCodeableConcept'));
     }
     if (null !== $this->maxValueCoding) {
         $this->maxValueCoding->xmlSerialize(true, $sxe->addChild('maxValueCoding'));
     }
     if (null !== $this->maxValueQuantity) {
         $this->maxValueQuantity->xmlSerialize(true, $sxe->addChild('maxValueQuantity'));
     }
     if (null !== $this->maxValueRange) {
         $this->maxValueRange->xmlSerialize(true, $sxe->addChild('maxValueRange'));
     }
     if (null !== $this->maxValuePeriod) {
         $this->maxValuePeriod->xmlSerialize(true, $sxe->addChild('maxValuePeriod'));
     }
     if (null !== $this->maxValueRatio) {
         $this->maxValueRatio->xmlSerialize(true, $sxe->addChild('maxValueRatio'));
     }
     if (null !== $this->maxValueReference) {
         $this->maxValueReference->xmlSerialize(true, $sxe->addChild('maxValueReference'));
     }
     if (null !== $this->maxValueSampledData) {
         $this->maxValueSampledData->xmlSerialize(true, $sxe->addChild('maxValueSampledData'));
     }
     if (null !== $this->maxValueSignature) {
         $this->maxValueSignature->xmlSerialize(true, $sxe->addChild('maxValueSignature'));
     }
     if (null !== $this->maxValueHumanName) {
         $this->maxValueHumanName->xmlSerialize(true, $sxe->addChild('maxValueHumanName'));
     }
     if (null !== $this->maxValueAddress) {
         $this->maxValueAddress->xmlSerialize(true, $sxe->addChild('maxValueAddress'));
     }
     if (null !== $this->maxValueContactPoint) {
         $this->maxValueContactPoint->xmlSerialize(true, $sxe->addChild('maxValueContactPoint'));
     }
     if (null !== $this->maxValueTiming) {
         $this->maxValueTiming->xmlSerialize(true, $sxe->addChild('maxValueTiming'));
     }
     if (null !== $this->maxValueMeta) {
         $this->maxValueMeta->xmlSerialize(true, $sxe->addChild('maxValueMeta'));
     }
     if (null !== $this->maxLength) {
         $this->maxLength->xmlSerialize(true, $sxe->addChild('maxLength'));
     }
     if (0 < count($this->condition)) {
         foreach ($this->condition as $condition) {
             $condition->xmlSerialize(true, $sxe->addChild('condition'));
         }
     }
     if (0 < count($this->constraint)) {
         foreach ($this->constraint as $constraint) {
             $constraint->xmlSerialize(true, $sxe->addChild('constraint'));
         }
     }
     if (null !== $this->mustSupport) {
         $this->mustSupport->xmlSerialize(true, $sxe->addChild('mustSupport'));
     }
     if (null !== $this->isModifier) {
         $this->isModifier->xmlSerialize(true, $sxe->addChild('isModifier'));
     }
     if (null !== $this->isSummary) {
         $this->isSummary->xmlSerialize(true, $sxe->addChild('isSummary'));
     }
     if (null !== $this->binding) {
         $this->binding->xmlSerialize(true, $sxe->addChild('binding'));
     }
     if (0 < count($this->mapping)) {
         foreach ($this->mapping as $mapping) {
             $mapping->xmlSerialize(true, $sxe->addChild('mapping'));
         }
     }
     if ($returnSXE) {
         return $sxe;
     }
     return $sxe->saveXML();
 }
 /**
  * @param boolean $returnSXE
  * @param \SimpleXMLElement $sxe
  * @return string|\SimpleXMLElement
  */
 public function xmlSerialize($returnSXE = false, $sxe = null)
 {
     if (null === $sxe) {
         $sxe = new \SimpleXMLElement('<RelatedPerson xmlns="http://hl7.org/fhir"></RelatedPerson>');
     }
     parent::xmlSerialize(true, $sxe);
     if (0 < count($this->identifier)) {
         foreach ($this->identifier as $identifier) {
             $identifier->xmlSerialize(true, $sxe->addChild('identifier'));
         }
     }
     if (null !== $this->patient) {
         $this->patient->xmlSerialize(true, $sxe->addChild('patient'));
     }
     if (null !== $this->relationship) {
         $this->relationship->xmlSerialize(true, $sxe->addChild('relationship'));
     }
     if (null !== $this->name) {
         $this->name->xmlSerialize(true, $sxe->addChild('name'));
     }
     if (0 < count($this->telecom)) {
         foreach ($this->telecom as $telecom) {
             $telecom->xmlSerialize(true, $sxe->addChild('telecom'));
         }
     }
     if (null !== $this->gender) {
         $this->gender->xmlSerialize(true, $sxe->addChild('gender'));
     }
     if (null !== $this->birthDate) {
         $this->birthDate->xmlSerialize(true, $sxe->addChild('birthDate'));
     }
     if (0 < count($this->address)) {
         foreach ($this->address as $address) {
             $address->xmlSerialize(true, $sxe->addChild('address'));
         }
     }
     if (0 < count($this->photo)) {
         foreach ($this->photo as $photo) {
             $photo->xmlSerialize(true, $sxe->addChild('photo'));
         }
     }
     if (null !== $this->period) {
         $this->period->xmlSerialize(true, $sxe->addChild('period'));
     }
     if ($returnSXE) {
         return $sxe;
     }
     return $sxe->saveXML();
 }