/**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->code) {
         $json['code'] = $this->code->jsonSerialize();
     }
     if (null !== $this->abstract) {
         $json['abstract'] = $this->abstract->jsonSerialize();
     }
     if (null !== $this->display) {
         $json['display'] = $this->display->jsonSerialize();
     }
     if (null !== $this->definition) {
         $json['definition'] = $this->definition->jsonSerialize();
     }
     if (0 < count($this->designation)) {
         $json['designation'] = array();
         foreach ($this->designation as $designation) {
             $json['designation'][] = $designation->jsonSerialize();
         }
     }
     if (0 < count($this->concept)) {
         $json['concept'] = array();
         foreach ($this->concept as $concept) {
             $json['concept'][] = $concept->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->required) {
         $json['required'] = $this->required->jsonSerialize();
     }
     if (null !== $this->validated) {
         $json['validated'] = $this->validated->jsonSerialize();
     }
     if (null !== $this->description) {
         $json['description'] = $this->description->jsonSerialize();
     }
     if (null !== $this->destination) {
         $json['destination'] = $this->destination->jsonSerialize();
     }
     if (0 < count($this->link)) {
         $json['link'] = array();
         foreach ($this->link as $link) {
             $json['link'][] = $link->jsonSerialize();
         }
     }
     if (null !== $this->conformance) {
         $json['conformance'] = $this->conformance->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->sequence) {
         $json['sequence'] = $this->sequence->jsonSerialize();
     }
     if (null !== $this->focal) {
         $json['focal'] = $this->focal->jsonSerialize();
     }
     if (null !== $this->coverage) {
         $json['coverage'] = $this->coverage->jsonSerialize();
     }
     if (null !== $this->businessArrangement) {
         $json['businessArrangement'] = $this->businessArrangement->jsonSerialize();
     }
     if (null !== $this->relationship) {
         $json['relationship'] = $this->relationship->jsonSerialize();
     }
     if (0 < count($this->preAuthRef)) {
         $json['preAuthRef'] = array();
         foreach ($this->preAuthRef as $preAuthRef) {
             $json['preAuthRef'][] = $preAuthRef->jsonSerialize();
         }
     }
     if (null !== $this->claimResponse) {
         $json['claimResponse'] = $this->claimResponse->jsonSerialize();
     }
     if (null !== $this->originalRuleset) {
         $json['originalRuleset'] = $this->originalRuleset->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->system) {
         $json['system'] = $this->system->jsonSerialize();
     }
     if (null !== $this->abstract) {
         $json['abstract'] = $this->abstract->jsonSerialize();
     }
     if (null !== $this->version) {
         $json['version'] = $this->version->jsonSerialize();
     }
     if (null !== $this->code) {
         $json['code'] = $this->code->jsonSerialize();
     }
     if (null !== $this->display) {
         $json['display'] = $this->display->jsonSerialize();
     }
     if (0 < count($this->contains)) {
         $json['contains'] = array();
         foreach ($this->contains as $contains) {
             $json['contains'][] = $contains->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->name) {
         $json['name'] = $this->name->jsonSerialize();
     }
     if (null !== $this->valueString) {
         $json['valueString'] = $this->valueString->jsonSerialize();
     }
     if (null !== $this->valueBoolean) {
         $json['valueBoolean'] = $this->valueBoolean->jsonSerialize();
     }
     if (null !== $this->valueInteger) {
         $json['valueInteger'] = $this->valueInteger->jsonSerialize();
     }
     if (null !== $this->valueDecimal) {
         $json['valueDecimal'] = $this->valueDecimal->jsonSerialize();
     }
     if (null !== $this->valueUri) {
         $json['valueUri'] = $this->valueUri->jsonSerialize();
     }
     if (null !== $this->valueCode) {
         $json['valueCode'] = $this->valueCode->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (0 < count($this->identifier)) {
         $json['identifier'] = array();
         foreach ($this->identifier as $identifier) {
             $json['identifier'][] = $identifier->jsonSerialize();
         }
     }
     if (null !== $this->active) {
         $json['active'] = $this->active->jsonSerialize();
     }
     if (null !== $this->name) {
         $json['name'] = $this->name->jsonSerialize();
     }
     if (0 < count($this->telecom)) {
         $json['telecom'] = array();
         foreach ($this->telecom as $telecom) {
             $json['telecom'][] = $telecom->jsonSerialize();
         }
     }
     if (0 < count($this->address)) {
         $json['address'] = array();
         foreach ($this->address as $address) {
             $json['address'][] = $address->jsonSerialize();
         }
     }
     if (null !== $this->gender) {
         $json['gender'] = $this->gender->jsonSerialize();
     }
     if (null !== $this->birthDate) {
         $json['birthDate'] = $this->birthDate->jsonSerialize();
     }
     if (0 < count($this->photo)) {
         $json['photo'] = array();
         foreach ($this->photo as $photo) {
             $json['photo'][] = $photo->jsonSerialize();
         }
     }
     if (0 < count($this->practitionerRole)) {
         $json['practitionerRole'] = array();
         foreach ($this->practitionerRole as $practitionerRole) {
             $json['practitionerRole'][] = $practitionerRole->jsonSerialize();
         }
     }
     if (0 < count($this->qualification)) {
         $json['qualification'] = array();
         foreach ($this->qualification as $qualification) {
             $json['qualification'][] = $qualification->jsonSerialize();
         }
     }
     if (0 < count($this->communication)) {
         $json['communication'] = array();
         foreach ($this->communication as $communication) {
             $json['communication'][] = $communication->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->language) {
         $json['language'] = $this->language->jsonSerialize();
     }
     if (null !== $this->preferred) {
         $json['preferred'] = $this->preferred->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->autocreate) {
         $json['autocreate'] = $this->autocreate->jsonSerialize();
     }
     if (null !== $this->autodelete) {
         $json['autodelete'] = $this->autodelete->jsonSerialize();
     }
     if (null !== $this->resource) {
         $json['resource'] = $this->resource->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->valueBoolean) {
         $json['valueBoolean'] = $this->valueBoolean->jsonSerialize();
     }
     if (null !== $this->valueDecimal) {
         $json['valueDecimal'] = $this->valueDecimal->jsonSerialize();
     }
     if (null !== $this->valueInteger) {
         $json['valueInteger'] = $this->valueInteger->jsonSerialize();
     }
     if (null !== $this->valueDate) {
         $json['valueDate'] = $this->valueDate->jsonSerialize();
     }
     if (null !== $this->valueDateTime) {
         $json['valueDateTime'] = $this->valueDateTime->jsonSerialize();
     }
     if (null !== $this->valueInstant) {
         $json['valueInstant'] = $this->valueInstant->jsonSerialize();
     }
     if (null !== $this->valueTime) {
         $json['valueTime'] = $this->valueTime->jsonSerialize();
     }
     if (null !== $this->valueString) {
         $json['valueString'] = $this->valueString->jsonSerialize();
     }
     if (null !== $this->valueUri) {
         $json['valueUri'] = $this->valueUri->jsonSerialize();
     }
     if (null !== $this->valueAttachment) {
         $json['valueAttachment'] = $this->valueAttachment->jsonSerialize();
     }
     if (null !== $this->valueCoding) {
         $json['valueCoding'] = $this->valueCoding->jsonSerialize();
     }
     if (null !== $this->valueMeasuredQuantity) {
         $json['valueMeasuredQuantity'] = $this->valueMeasuredQuantity->jsonSerialize();
     }
     if (null !== $this->valueReference) {
         $json['valueReference'] = $this->valueReference->jsonSerialize();
     }
     if (0 < count($this->group)) {
         $json['group'] = array();
         foreach ($this->group as $group) {
             $json['group'][] = $group->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->entity) {
         $json['entity'] = $this->entity->jsonSerialize();
     }
     if (null !== $this->period) {
         $json['period'] = $this->period->jsonSerialize();
     }
     if (null !== $this->inactive) {
         $json['inactive'] = $this->inactive->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->initial) {
         $json['initial'] = $this->initial->jsonSerialize();
     }
     if (null !== $this->priorDate) {
         $json['priorDate'] = $this->priorDate->jsonSerialize();
     }
     if (null !== $this->priorMaterial) {
         $json['priorMaterial'] = $this->priorMaterial->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->date) {
         $json['date'] = $this->date->jsonSerialize();
     }
     if (null !== $this->detail) {
         $json['detail'] = $this->detail->jsonSerialize();
     }
     if (null !== $this->reported) {
         $json['reported'] = $this->reported->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->type) {
         $json['type'] = $this->type->jsonSerialize();
     }
     if (null !== $this->value) {
         $json['value'] = $this->value->jsonSerialize();
     }
     if (null !== $this->preferred) {
         $json['preferred'] = $this->preferred->jsonSerialize();
     }
     if (null !== $this->period) {
         $json['period'] = $this->period->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->flag) {
         $json['flag'] = $this->flag->jsonSerialize();
     }
     if (null !== $this->deleted) {
         $json['deleted'] = $this->deleted->jsonSerialize();
     }
     if (null !== $this->date) {
         $json['date'] = $this->date->jsonSerialize();
     }
     if (null !== $this->item) {
         $json['item'] = $this->item->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (0 < count($this->identifier)) {
         $json['identifier'] = array();
         foreach ($this->identifier as $identifier) {
             $json['identifier'][] = $identifier->jsonSerialize();
         }
     }
     if (null !== $this->active) {
         $json['active'] = $this->active->jsonSerialize();
     }
     if (null !== $this->type) {
         $json['type'] = $this->type->jsonSerialize();
     }
     if (null !== $this->name) {
         $json['name'] = $this->name->jsonSerialize();
     }
     if (0 < count($this->telecom)) {
         $json['telecom'] = array();
         foreach ($this->telecom as $telecom) {
             $json['telecom'][] = $telecom->jsonSerialize();
         }
     }
     if (0 < count($this->address)) {
         $json['address'] = array();
         foreach ($this->address as $address) {
             $json['address'][] = $address->jsonSerialize();
         }
     }
     if (null !== $this->partOf) {
         $json['partOf'] = $this->partOf->jsonSerialize();
     }
     if (0 < count($this->contact)) {
         $json['contact'] = array();
         foreach ($this->contact as $contact) {
             $json['contact'][] = $contact->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (0 < count($this->daysOfWeek)) {
         $json['daysOfWeek'] = array();
         foreach ($this->daysOfWeek as $daysOfWeek) {
             $json['daysOfWeek'][] = $daysOfWeek->jsonSerialize();
         }
     }
     if (null !== $this->allDay) {
         $json['allDay'] = $this->allDay->jsonSerialize();
     }
     if (null !== $this->availableStartTime) {
         $json['availableStartTime'] = $this->availableStartTime->jsonSerialize();
     }
     if (null !== $this->availableEndTime) {
         $json['availableEndTime'] = $this->availableEndTime->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (0 < count($this->discriminator)) {
         $json['discriminator'] = array();
         foreach ($this->discriminator as $discriminator) {
             $json['discriminator'][] = $discriminator->jsonSerialize();
         }
     }
     if (null !== $this->description) {
         $json['description'] = $this->description->jsonSerialize();
     }
     if (null !== $this->ordered) {
         $json['ordered'] = $this->ordered->jsonSerialize();
     }
     if (null !== $this->rules) {
         $json['rules'] = $this->rules->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->system) {
         $json['system'] = $this->system->jsonSerialize();
     }
     if (null !== $this->version) {
         $json['version'] = $this->version->jsonSerialize();
     }
     if (null !== $this->caseSensitive) {
         $json['caseSensitive'] = $this->caseSensitive->jsonSerialize();
     }
     if (0 < count($this->concept)) {
         $json['concept'] = array();
         foreach ($this->concept as $concept) {
             $json['concept'][] = $concept->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (null !== $this->code) {
         $json['code'] = $this->code->jsonSerialize();
     }
     if (null !== $this->isBrand) {
         $json['isBrand'] = $this->isBrand->jsonSerialize();
     }
     if (null !== $this->manufacturer) {
         $json['manufacturer'] = $this->manufacturer->jsonSerialize();
     }
     if (null !== $this->product) {
         $json['product'] = $this->product->jsonSerialize();
     }
     if (null !== $this->package) {
         $json['package'] = $this->package->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (0 < count($this->identifier)) {
         $json['identifier'] = array();
         foreach ($this->identifier as $identifier) {
             $json['identifier'][] = $identifier->jsonSerialize();
         }
     }
     if (null !== $this->type) {
         $json['type'] = $this->type->jsonSerialize();
     }
     if (null !== $this->actual) {
         $json['actual'] = $this->actual->jsonSerialize();
     }
     if (null !== $this->code) {
         $json['code'] = $this->code->jsonSerialize();
     }
     if (null !== $this->name) {
         $json['name'] = $this->name->jsonSerialize();
     }
     if (null !== $this->quantity) {
         $json['quantity'] = $this->quantity->jsonSerialize();
     }
     if (0 < count($this->characteristic)) {
         $json['characteristic'] = array();
         foreach ($this->characteristic as $characteristic) {
             $json['characteristic'][] = $characteristic->jsonSerialize();
         }
     }
     if (0 < count($this->member)) {
         $json['member'] = array();
         foreach ($this->member as $member) {
             $json['member'][] = $member->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->cors) {
         $json['cors'] = $this->cors->jsonSerialize();
     }
     if (0 < count($this->service)) {
         $json['service'] = array();
         foreach ($this->service as $service) {
             $json['service'][] = $service->jsonSerialize();
         }
     }
     if (null !== $this->description) {
         $json['description'] = $this->description->jsonSerialize();
     }
     if (0 < count($this->certificate)) {
         $json['certificate'] = array();
         foreach ($this->certificate as $certificate) {
             $json['certificate'][] = $certificate->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->text) {
         $json['text'] = $this->text->jsonSerialize();
     }
     if (null !== $this->additionalInstructions) {
         $json['additionalInstructions'] = $this->additionalInstructions->jsonSerialize();
     }
     if (null !== $this->timing) {
         $json['timing'] = $this->timing->jsonSerialize();
     }
     if (null !== $this->asNeededBoolean) {
         $json['asNeededBoolean'] = $this->asNeededBoolean->jsonSerialize();
     }
     if (null !== $this->asNeededCodeableConcept) {
         $json['asNeededCodeableConcept'] = $this->asNeededCodeableConcept->jsonSerialize();
     }
     if (null !== $this->siteCodeableConcept) {
         $json['siteCodeableConcept'] = $this->siteCodeableConcept->jsonSerialize();
     }
     if (null !== $this->siteReference) {
         $json['siteReference'] = $this->siteReference->jsonSerialize();
     }
     if (null !== $this->route) {
         $json['route'] = $this->route->jsonSerialize();
     }
     if (null !== $this->method) {
         $json['method'] = $this->method->jsonSerialize();
     }
     if (null !== $this->doseRange) {
         $json['doseRange'] = $this->doseRange->jsonSerialize();
     }
     if (null !== $this->doseQuantity) {
         $json['doseQuantity'] = $this->doseQuantity->jsonSerialize();
     }
     if (null !== $this->rateRatio) {
         $json['rateRatio'] = $this->rateRatio->jsonSerialize();
     }
     if (null !== $this->rateRange) {
         $json['rateRange'] = $this->rateRange->jsonSerialize();
     }
     if (null !== $this->maxDosePerPeriod) {
         $json['maxDosePerPeriod'] = $this->maxDosePerPeriod->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (null !== $this->url) {
         $json['url'] = $this->url->jsonSerialize();
     }
     if (null !== $this->version) {
         $json['version'] = $this->version->jsonSerialize();
     }
     if (null !== $this->name) {
         $json['name'] = $this->name->jsonSerialize();
     }
     if (null !== $this->status) {
         $json['status'] = $this->status->jsonSerialize();
     }
     if (null !== $this->identifier) {
         $json['identifier'] = $this->identifier->jsonSerialize();
     }
     if (null !== $this->experimental) {
         $json['experimental'] = $this->experimental->jsonSerialize();
     }
     if (null !== $this->publisher) {
         $json['publisher'] = $this->publisher->jsonSerialize();
     }
     if (0 < count($this->contact)) {
         $json['contact'] = array();
         foreach ($this->contact as $contact) {
             $json['contact'][] = $contact->jsonSerialize();
         }
     }
     if (null !== $this->date) {
         $json['date'] = $this->date->jsonSerialize();
     }
     if (null !== $this->description) {
         $json['description'] = $this->description->jsonSerialize();
     }
     if (0 < count($this->useContext)) {
         $json['useContext'] = array();
         foreach ($this->useContext as $useContext) {
             $json['useContext'][] = $useContext->jsonSerialize();
         }
     }
     if (null !== $this->requirements) {
         $json['requirements'] = $this->requirements->jsonSerialize();
     }
     if (null !== $this->copyright) {
         $json['copyright'] = $this->copyright->jsonSerialize();
     }
     if (null !== $this->metadata) {
         $json['metadata'] = $this->metadata->jsonSerialize();
     }
     if (null !== $this->multiserver) {
         $json['multiserver'] = $this->multiserver->jsonSerialize();
     }
     if (0 < count($this->fixture)) {
         $json['fixture'] = array();
         foreach ($this->fixture as $fixture) {
             $json['fixture'][] = $fixture->jsonSerialize();
         }
     }
     if (0 < count($this->profile)) {
         $json['profile'] = array();
         foreach ($this->profile as $profile) {
             $json['profile'][] = $profile->jsonSerialize();
         }
     }
     if (0 < count($this->variable)) {
         $json['variable'] = array();
         foreach ($this->variable as $variable) {
             $json['variable'][] = $variable->jsonSerialize();
         }
     }
     if (null !== $this->setup) {
         $json['setup'] = $this->setup->jsonSerialize();
     }
     if (0 < count($this->test)) {
         $json['test'] = array();
         foreach ($this->test as $test) {
             $json['test'][] = $test->jsonSerialize();
         }
     }
     if (null !== $this->teardown) {
         $json['teardown'] = $this->teardown->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (0 < count($this->identifier)) {
         $json['identifier'] = array();
         foreach ($this->identifier as $identifier) {
             $json['identifier'][] = $identifier->jsonSerialize();
         }
     }
     if (null !== $this->patient) {
         $json['patient'] = $this->patient->jsonSerialize();
     }
     if (null !== $this->encounter) {
         $json['encounter'] = $this->encounter->jsonSerialize();
     }
     if (null !== $this->asserter) {
         $json['asserter'] = $this->asserter->jsonSerialize();
     }
     if (null !== $this->dateRecorded) {
         $json['dateRecorded'] = $this->dateRecorded->jsonSerialize();
     }
     if (null !== $this->code) {
         $json['code'] = $this->code->jsonSerialize();
     }
     if (null !== $this->category) {
         $json['category'] = $this->category->jsonSerialize();
     }
     if (null !== $this->clinicalStatus) {
         $json['clinicalStatus'] = $this->clinicalStatus->jsonSerialize();
     }
     if (null !== $this->verificationStatus) {
         $json['verificationStatus'] = $this->verificationStatus->jsonSerialize();
     }
     if (null !== $this->severity) {
         $json['severity'] = $this->severity->jsonSerialize();
     }
     if (null !== $this->onsetDateTime) {
         $json['onsetDateTime'] = $this->onsetDateTime->jsonSerialize();
     }
     if (null !== $this->onsetQuantity) {
         $json['onsetQuantity'] = $this->onsetQuantity->jsonSerialize();
     }
     if (null !== $this->onsetPeriod) {
         $json['onsetPeriod'] = $this->onsetPeriod->jsonSerialize();
     }
     if (null !== $this->onsetRange) {
         $json['onsetRange'] = $this->onsetRange->jsonSerialize();
     }
     if (null !== $this->onsetString) {
         $json['onsetString'] = $this->onsetString->jsonSerialize();
     }
     if (null !== $this->abatementDateTime) {
         $json['abatementDateTime'] = $this->abatementDateTime->jsonSerialize();
     }
     if (null !== $this->abatementQuantity) {
         $json['abatementQuantity'] = $this->abatementQuantity->jsonSerialize();
     }
     if (null !== $this->abatementBoolean) {
         $json['abatementBoolean'] = $this->abatementBoolean->jsonSerialize();
     }
     if (null !== $this->abatementPeriod) {
         $json['abatementPeriod'] = $this->abatementPeriod->jsonSerialize();
     }
     if (null !== $this->abatementRange) {
         $json['abatementRange'] = $this->abatementRange->jsonSerialize();
     }
     if (null !== $this->abatementString) {
         $json['abatementString'] = $this->abatementString->jsonSerialize();
     }
     if (null !== $this->stage) {
         $json['stage'] = $this->stage->jsonSerialize();
     }
     if (0 < count($this->evidence)) {
         $json['evidence'] = array();
         foreach ($this->evidence as $evidence) {
             $json['evidence'][] = $evidence->jsonSerialize();
         }
     }
     if (0 < count($this->bodySite)) {
         $json['bodySite'] = array();
         foreach ($this->bodySite as $bodySite) {
             $json['bodySite'][] = $bodySite->jsonSerialize();
         }
     }
     if (null !== $this->notes) {
         $json['notes'] = $this->notes->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->label) {
         $json['label'] = $this->label->jsonSerialize();
     }
     if (null !== $this->description) {
         $json['description'] = $this->description->jsonSerialize();
     }
     if (null !== $this->direction) {
         $json['direction'] = $this->direction->jsonSerialize();
     }
     if (null !== $this->compareToSourceId) {
         $json['compareToSourceId'] = $this->compareToSourceId->jsonSerialize();
     }
     if (null !== $this->compareToSourcePath) {
         $json['compareToSourcePath'] = $this->compareToSourcePath->jsonSerialize();
     }
     if (null !== $this->contentType) {
         $json['contentType'] = $this->contentType->jsonSerialize();
     }
     if (null !== $this->headerField) {
         $json['headerField'] = $this->headerField->jsonSerialize();
     }
     if (null !== $this->minimumId) {
         $json['minimumId'] = $this->minimumId->jsonSerialize();
     }
     if (null !== $this->navigationLinks) {
         $json['navigationLinks'] = $this->navigationLinks->jsonSerialize();
     }
     if (null !== $this->operator) {
         $json['operator'] = $this->operator->jsonSerialize();
     }
     if (null !== $this->path) {
         $json['path'] = $this->path->jsonSerialize();
     }
     if (null !== $this->resource) {
         $json['resource'] = $this->resource->jsonSerialize();
     }
     if (null !== $this->response) {
         $json['response'] = $this->response->jsonSerialize();
     }
     if (null !== $this->responseCode) {
         $json['responseCode'] = $this->responseCode->jsonSerialize();
     }
     if (null !== $this->sourceId) {
         $json['sourceId'] = $this->sourceId->jsonSerialize();
     }
     if (null !== $this->validateProfileId) {
         $json['validateProfileId'] = $this->validateProfileId->jsonSerialize();
     }
     if (null !== $this->value) {
         $json['value'] = $this->value->jsonSerialize();
     }
     if (null !== $this->warningOnly) {
         $json['warningOnly'] = $this->warningOnly->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (0 < count($this->identifier)) {
         $json['identifier'] = array();
         foreach ($this->identifier as $identifier) {
             $json['identifier'][] = $identifier->jsonSerialize();
         }
     }
     if (null !== $this->active) {
         $json['active'] = $this->active->jsonSerialize();
     }
     if (0 < count($this->name)) {
         $json['name'] = array();
         foreach ($this->name as $name) {
             $json['name'][] = $name->jsonSerialize();
         }
     }
     if (0 < count($this->telecom)) {
         $json['telecom'] = array();
         foreach ($this->telecom as $telecom) {
             $json['telecom'][] = $telecom->jsonSerialize();
         }
     }
     if (null !== $this->gender) {
         $json['gender'] = $this->gender->jsonSerialize();
     }
     if (null !== $this->birthDate) {
         $json['birthDate'] = $this->birthDate->jsonSerialize();
     }
     if (null !== $this->deceasedBoolean) {
         $json['deceasedBoolean'] = $this->deceasedBoolean->jsonSerialize();
     }
     if (null !== $this->deceasedDateTime) {
         $json['deceasedDateTime'] = $this->deceasedDateTime->jsonSerialize();
     }
     if (0 < count($this->address)) {
         $json['address'] = array();
         foreach ($this->address as $address) {
             $json['address'][] = $address->jsonSerialize();
         }
     }
     if (null !== $this->maritalStatus) {
         $json['maritalStatus'] = $this->maritalStatus->jsonSerialize();
     }
     if (null !== $this->multipleBirthBoolean) {
         $json['multipleBirthBoolean'] = $this->multipleBirthBoolean->jsonSerialize();
     }
     if (null !== $this->multipleBirthInteger) {
         $json['multipleBirthInteger'] = $this->multipleBirthInteger->jsonSerialize();
     }
     if (0 < count($this->photo)) {
         $json['photo'] = array();
         foreach ($this->photo as $photo) {
             $json['photo'][] = $photo->jsonSerialize();
         }
     }
     if (0 < count($this->contact)) {
         $json['contact'] = array();
         foreach ($this->contact as $contact) {
             $json['contact'][] = $contact->jsonSerialize();
         }
     }
     if (null !== $this->animal) {
         $json['animal'] = $this->animal->jsonSerialize();
     }
     if (0 < count($this->communication)) {
         $json['communication'] = array();
         foreach ($this->communication as $communication) {
             $json['communication'][] = $communication->jsonSerialize();
         }
     }
     if (0 < count($this->careProvider)) {
         $json['careProvider'] = array();
         foreach ($this->careProvider as $careProvider) {
             $json['careProvider'][] = $careProvider->jsonSerialize();
         }
     }
     if (null !== $this->managingOrganization) {
         $json['managingOrganization'] = $this->managingOrganization->jsonSerialize();
     }
     if (0 < count($this->link)) {
         $json['link'] = array();
         foreach ($this->link as $link) {
             $json['link'][] = $link->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (null !== $this->url) {
         $json['url'] = $this->url->jsonSerialize();
     }
     if (0 < count($this->identifier)) {
         $json['identifier'] = array();
         foreach ($this->identifier as $identifier) {
             $json['identifier'][] = $identifier->jsonSerialize();
         }
     }
     if (null !== $this->version) {
         $json['version'] = $this->version->jsonSerialize();
     }
     if (null !== $this->name) {
         $json['name'] = $this->name->jsonSerialize();
     }
     if (null !== $this->status) {
         $json['status'] = $this->status->jsonSerialize();
     }
     if (null !== $this->experimental) {
         $json['experimental'] = $this->experimental->jsonSerialize();
     }
     if (null !== $this->publisher) {
         $json['publisher'] = $this->publisher->jsonSerialize();
     }
     if (0 < count($this->contact)) {
         $json['contact'] = array();
         foreach ($this->contact as $contact) {
             $json['contact'][] = $contact->jsonSerialize();
         }
     }
     if (null !== $this->date) {
         $json['date'] = $this->date->jsonSerialize();
     }
     if (0 < count($this->useContext)) {
         $json['useContext'] = array();
         foreach ($this->useContext as $useContext) {
             $json['useContext'][] = $useContext->jsonSerialize();
         }
     }
     if (null !== $this->copyright) {
         $json['copyright'] = $this->copyright->jsonSerialize();
     }
     if (null !== $this->stringency) {
         $json['stringency'] = $this->stringency->jsonSerialize();
     }
     if (0 < count($this->mapping)) {
         $json['mapping'] = array();
         foreach ($this->mapping as $mapping) {
             $json['mapping'][] = $mapping->jsonSerialize();
         }
     }
     if (0 < count($this->element)) {
         $json['element'] = array();
         foreach ($this->element as $element) {
             $json['element'][] = $element->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (null !== $this->url) {
         $json['url'] = $this->url->jsonSerialize();
     }
     if (0 < count($this->identifier)) {
         $json['identifier'] = array();
         foreach ($this->identifier as $identifier) {
             $json['identifier'][] = $identifier->jsonSerialize();
         }
     }
     if (null !== $this->version) {
         $json['version'] = $this->version->jsonSerialize();
     }
     if (null !== $this->name) {
         $json['name'] = $this->name->jsonSerialize();
     }
     if (null !== $this->status) {
         $json['status'] = $this->status->jsonSerialize();
     }
     if (null !== $this->experimental) {
         $json['experimental'] = $this->experimental->jsonSerialize();
     }
     if (null !== $this->publisher) {
         $json['publisher'] = $this->publisher->jsonSerialize();
     }
     if (0 < count($this->contact)) {
         $json['contact'] = array();
         foreach ($this->contact as $contact) {
             $json['contact'][] = $contact->jsonSerialize();
         }
     }
     if (null !== $this->date) {
         $json['date'] = $this->date->jsonSerialize();
     }
     if (0 < count($this->useContext)) {
         $json['useContext'] = array();
         foreach ($this->useContext as $useContext) {
             $json['useContext'][] = $useContext->jsonSerialize();
         }
     }
     if (null !== $this->copyright) {
         $json['copyright'] = $this->copyright->jsonSerialize();
     }
     if (null !== $this->severity) {
         $json['severity'] = $this->severity->jsonSerialize();
     }
     if (0 < count($this->occurance)) {
         $json['occurance'] = array();
         foreach ($this->occurance as $occurance) {
             $json['occurance'][] = $occurance->jsonSerialize();
         }
     }
     if (0 < count($this->findingSite)) {
         $json['findingSite'] = array();
         foreach ($this->findingSite as $findingSite) {
             $json['findingSite'][] = $findingSite->jsonSerialize();
         }
     }
     if (0 < count($this->morphology)) {
         $json['morphology'] = array();
         foreach ($this->morphology as $morphology) {
             $json['morphology'][] = $morphology->jsonSerialize();
         }
     }
     if (0 < count($this->causedBy)) {
         $json['causedBy'] = array();
         foreach ($this->causedBy as $causedBy) {
             $json['causedBy'][] = $causedBy->jsonSerialize();
         }
     }
     if (0 < count($this->associated)) {
         $json['associated'] = array();
         foreach ($this->associated as $associated) {
             $json['associated'][] = $associated->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     $json['resourceType'] = $this->_fhirElementName;
     if (0 < count($this->identifier)) {
         $json['identifier'] = array();
         foreach ($this->identifier as $identifier) {
             $json['identifier'][] = $identifier->jsonSerialize();
         }
     }
     if (null !== $this->status) {
         $json['status'] = $this->status->jsonSerialize();
     }
     if (null !== $this->patient) {
         $json['patient'] = $this->patient->jsonSerialize();
     }
     if (null !== $this->practitioner) {
         $json['practitioner'] = $this->practitioner->jsonSerialize();
     }
     if (null !== $this->encounter) {
         $json['encounter'] = $this->encounter->jsonSerialize();
     }
     if (null !== $this->prescription) {
         $json['prescription'] = $this->prescription->jsonSerialize();
     }
     if (null !== $this->wasNotGiven) {
         $json['wasNotGiven'] = $this->wasNotGiven->jsonSerialize();
     }
     if (0 < count($this->reasonNotGiven)) {
         $json['reasonNotGiven'] = array();
         foreach ($this->reasonNotGiven as $reasonNotGiven) {
             $json['reasonNotGiven'][] = $reasonNotGiven->jsonSerialize();
         }
     }
     if (0 < count($this->reasonGiven)) {
         $json['reasonGiven'] = array();
         foreach ($this->reasonGiven as $reasonGiven) {
             $json['reasonGiven'][] = $reasonGiven->jsonSerialize();
         }
     }
     if (null !== $this->effectiveTimeDateTime) {
         $json['effectiveTimeDateTime'] = $this->effectiveTimeDateTime->jsonSerialize();
     }
     if (null !== $this->effectiveTimePeriod) {
         $json['effectiveTimePeriod'] = $this->effectiveTimePeriod->jsonSerialize();
     }
     if (null !== $this->medicationCodeableConcept) {
         $json['medicationCodeableConcept'] = $this->medicationCodeableConcept->jsonSerialize();
     }
     if (null !== $this->medicationReference) {
         $json['medicationReference'] = $this->medicationReference->jsonSerialize();
     }
     if (0 < count($this->device)) {
         $json['device'] = array();
         foreach ($this->device as $device) {
             $json['device'][] = $device->jsonSerialize();
         }
     }
     if (null !== $this->note) {
         $json['note'] = $this->note->jsonSerialize();
     }
     if (null !== $this->dosage) {
         $json['dosage'] = $this->dosage->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->system) {
         $json['system'] = $this->system->jsonSerialize();
     }
     if (null !== $this->version) {
         $json['version'] = $this->version->jsonSerialize();
     }
     if (null !== $this->code) {
         $json['code'] = $this->code->jsonSerialize();
     }
     if (null !== $this->display) {
         $json['display'] = $this->display->jsonSerialize();
     }
     if (null !== $this->userSelected) {
         $json['userSelected'] = $this->userSelected->jsonSerialize();
     }
     return $json;
 }