/**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (0 < count($this->extension)) {
         $json['extension'] = array();
         foreach ($this->extension as $extension) {
             $json['extension'][] = $extension->jsonSerialize();
         }
     }
     if (null !== $this->value) {
         $json['value'] = $this->value->jsonSerialize();
     }
     if (null !== $this->comparator) {
         $json['comparator'] = $this->comparator->jsonSerialize();
     }
     if (null !== $this->unit) {
         $json['unit'] = $this->unit->jsonSerialize();
     }
     if (null !== $this->system) {
         $json['system'] = $this->system->jsonSerialize();
     }
     if (null !== $this->code) {
         $json['code'] = $this->code->jsonSerialize();
     }
     if (null !== $this->id) {
         $json['id'] = $this->id;
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->mode) {
         $json['mode'] = $this->mode->jsonSerialize();
     }
     if (null !== $this->score) {
         $json['score'] = $this->score->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->code) {
         $json['code'] = $this->code->jsonSerialize();
     }
     if (null !== $this->amount) {
         $json['amount'] = $this->amount->jsonSerialize();
     }
     if (null !== $this->value) {
         $json['value'] = $this->value->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->longitude) {
         $json['longitude'] = $this->longitude->jsonSerialize();
     }
     if (null !== $this->latitude) {
         $json['latitude'] = $this->latitude->jsonSerialize();
     }
     if (null !== $this->altitude) {
         $json['altitude'] = $this->altitude->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->value) {
         $json['value'] = $this->value->jsonSerialize();
     }
     if (null !== $this->comparator) {
         $json['comparator'] = $this->comparator->jsonSerialize();
     }
     if (null !== $this->unit) {
         $json['unit'] = $this->unit->jsonSerialize();
     }
     if (null !== $this->system) {
         $json['system'] = $this->system->jsonSerialize();
     }
     if (null !== $this->code) {
         $json['code'] = $this->code->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->boundsQuantity) {
         $json['boundsQuantity'] = $this->boundsQuantity->jsonSerialize();
     }
     if (null !== $this->boundsRange) {
         $json['boundsRange'] = $this->boundsRange->jsonSerialize();
     }
     if (null !== $this->boundsPeriod) {
         $json['boundsPeriod'] = $this->boundsPeriod->jsonSerialize();
     }
     if (null !== $this->count) {
         $json['count'] = $this->count->jsonSerialize();
     }
     if (null !== $this->duration) {
         $json['duration'] = $this->duration->jsonSerialize();
     }
     if (null !== $this->durationMax) {
         $json['durationMax'] = $this->durationMax->jsonSerialize();
     }
     if (null !== $this->durationUnits) {
         $json['durationUnits'] = $this->durationUnits->jsonSerialize();
     }
     if (null !== $this->frequency) {
         $json['frequency'] = $this->frequency->jsonSerialize();
     }
     if (null !== $this->frequencyMax) {
         $json['frequencyMax'] = $this->frequencyMax->jsonSerialize();
     }
     if (null !== $this->period) {
         $json['period'] = $this->period->jsonSerialize();
     }
     if (null !== $this->periodMax) {
         $json['periodMax'] = $this->periodMax->jsonSerialize();
     }
     if (null !== $this->periodUnits) {
         $json['periodUnits'] = $this->periodUnits->jsonSerialize();
     }
     if (null !== $this->when) {
         $json['when'] = $this->when->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->sequence) {
         $json['sequence'] = $this->sequence->jsonSerialize();
     }
     if (null !== $this->type) {
         $json['type'] = $this->type->jsonSerialize();
     }
     if (null !== $this->service) {
         $json['service'] = $this->service->jsonSerialize();
     }
     if (null !== $this->quantity) {
         $json['quantity'] = $this->quantity->jsonSerialize();
     }
     if (null !== $this->unitPrice) {
         $json['unitPrice'] = $this->unitPrice->jsonSerialize();
     }
     if (null !== $this->factor) {
         $json['factor'] = $this->factor->jsonSerialize();
     }
     if (null !== $this->points) {
         $json['points'] = $this->points->jsonSerialize();
     }
     if (null !== $this->net) {
         $json['net'] = $this->net->jsonSerialize();
     }
     if (null !== $this->udi) {
         $json['udi'] = $this->udi->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->entityCodeableConcept) {
         $json['entityCodeableConcept'] = $this->entityCodeableConcept->jsonSerialize();
     }
     if (null !== $this->entityReference) {
         $json['entityReference'] = $this->entityReference->jsonSerialize();
     }
     if (null !== $this->identifier) {
         $json['identifier'] = $this->identifier->jsonSerialize();
     }
     if (null !== $this->effectiveTime) {
         $json['effectiveTime'] = $this->effectiveTime->jsonSerialize();
     }
     if (null !== $this->quantity) {
         $json['quantity'] = $this->quantity->jsonSerialize();
     }
     if (null !== $this->unitPrice) {
         $json['unitPrice'] = $this->unitPrice->jsonSerialize();
     }
     if (null !== $this->factor) {
         $json['factor'] = $this->factor->jsonSerialize();
     }
     if (null !== $this->points) {
         $json['points'] = $this->points->jsonSerialize();
     }
     if (null !== $this->net) {
         $json['net'] = $this->net->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->product) {
         $json['product'] = $this->product->jsonSerialize();
     }
     if (null !== $this->eye) {
         $json['eye'] = $this->eye->jsonSerialize();
     }
     if (null !== $this->sphere) {
         $json['sphere'] = $this->sphere->jsonSerialize();
     }
     if (null !== $this->cylinder) {
         $json['cylinder'] = $this->cylinder->jsonSerialize();
     }
     if (null !== $this->axis) {
         $json['axis'] = $this->axis->jsonSerialize();
     }
     if (null !== $this->prism) {
         $json['prism'] = $this->prism->jsonSerialize();
     }
     if (null !== $this->base) {
         $json['base'] = $this->base->jsonSerialize();
     }
     if (null !== $this->add) {
         $json['add'] = $this->add->jsonSerialize();
     }
     if (null !== $this->power) {
         $json['power'] = $this->power->jsonSerialize();
     }
     if (null !== $this->backCurve) {
         $json['backCurve'] = $this->backCurve->jsonSerialize();
     }
     if (null !== $this->diameter) {
         $json['diameter'] = $this->diameter->jsonSerialize();
     }
     if (null !== $this->duration) {
         $json['duration'] = $this->duration->jsonSerialize();
     }
     if (null !== $this->color) {
         $json['color'] = $this->color->jsonSerialize();
     }
     if (null !== $this->brand) {
         $json['brand'] = $this->brand->jsonSerialize();
     }
     if (null !== $this->notes) {
         $json['notes'] = $this->notes->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->sequence) {
         $json['sequence'] = $this->sequence->jsonSerialize();
     }
     if (null !== $this->type) {
         $json['type'] = $this->type->jsonSerialize();
     }
     if (null !== $this->service) {
         $json['service'] = $this->service->jsonSerialize();
     }
     if (null !== $this->quantity) {
         $json['quantity'] = $this->quantity->jsonSerialize();
     }
     if (null !== $this->unitPrice) {
         $json['unitPrice'] = $this->unitPrice->jsonSerialize();
     }
     if (null !== $this->factor) {
         $json['factor'] = $this->factor->jsonSerialize();
     }
     if (null !== $this->points) {
         $json['points'] = $this->points->jsonSerialize();
     }
     if (null !== $this->net) {
         $json['net'] = $this->net->jsonSerialize();
     }
     if (null !== $this->udi) {
         $json['udi'] = $this->udi->jsonSerialize();
     }
     if (0 < count($this->subDetail)) {
         $json['subDetail'] = array();
         foreach ($this->subDetail as $subDetail) {
             $json['subDetail'][] = $subDetail->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->outcome) {
         $json['outcome'] = $this->outcome->jsonSerialize();
     }
     if (null !== $this->probabilityDecimal) {
         $json['probabilityDecimal'] = $this->probabilityDecimal->jsonSerialize();
     }
     if (null !== $this->probabilityRange) {
         $json['probabilityRange'] = $this->probabilityRange->jsonSerialize();
     }
     if (null !== $this->probabilityCodeableConcept) {
         $json['probabilityCodeableConcept'] = $this->probabilityCodeableConcept->jsonSerialize();
     }
     if (null !== $this->relativeRisk) {
         $json['relativeRisk'] = $this->relativeRisk->jsonSerialize();
     }
     if (null !== $this->whenPeriod) {
         $json['whenPeriod'] = $this->whenPeriod->jsonSerialize();
     }
     if (null !== $this->whenRange) {
         $json['whenRange'] = $this->whenRange->jsonSerialize();
     }
     if (null !== $this->rationale) {
         $json['rationale'] = $this->rationale->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::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->valueBase64Binary) {
         $json['valueBase64Binary'] = $this->valueBase64Binary->jsonSerialize();
     }
     if (null !== $this->valueInstant) {
         $json['valueInstant'] = $this->valueInstant->jsonSerialize();
     }
     if (null !== $this->valueString) {
         $json['valueString'] = $this->valueString->jsonSerialize();
     }
     if (null !== $this->valueUri) {
         $json['valueUri'] = $this->valueUri->jsonSerialize();
     }
     if (null !== $this->valueDate) {
         $json['valueDate'] = $this->valueDate->jsonSerialize();
     }
     if (null !== $this->valueDateTime) {
         $json['valueDateTime'] = $this->valueDateTime->jsonSerialize();
     }
     if (null !== $this->valueTime) {
         $json['valueTime'] = $this->valueTime->jsonSerialize();
     }
     if (null !== $this->valueCode) {
         $json['valueCode'] = $this->valueCode->jsonSerialize();
     }
     if (null !== $this->valueOid) {
         $json['valueOid'] = $this->valueOid->jsonSerialize();
     }
     if (null !== $this->valueUuid) {
         $json['valueUuid'] = $this->valueUuid->jsonSerialize();
     }
     if (null !== $this->valueId) {
         $json['valueId'] = $this->valueId->jsonSerialize();
     }
     if (null !== $this->valueUnsignedInt) {
         $json['valueUnsignedInt'] = $this->valueUnsignedInt->jsonSerialize();
     }
     if (null !== $this->valuePositiveInt) {
         $json['valuePositiveInt'] = $this->valuePositiveInt->jsonSerialize();
     }
     if (null !== $this->valueMarkdown) {
         $json['valueMarkdown'] = $this->valueMarkdown->jsonSerialize();
     }
     if (null !== $this->valueAnnotation) {
         $json['valueAnnotation'] = $this->valueAnnotation->jsonSerialize();
     }
     if (null !== $this->valueAttachment) {
         $json['valueAttachment'] = $this->valueAttachment->jsonSerialize();
     }
     if (null !== $this->valueIdentifier) {
         $json['valueIdentifier'] = $this->valueIdentifier->jsonSerialize();
     }
     if (null !== $this->valueCodeableConcept) {
         $json['valueCodeableConcept'] = $this->valueCodeableConcept->jsonSerialize();
     }
     if (null !== $this->valueCoding) {
         $json['valueCoding'] = $this->valueCoding->jsonSerialize();
     }
     if (null !== $this->valueQuantity) {
         $json['valueQuantity'] = $this->valueQuantity->jsonSerialize();
     }
     if (null !== $this->valueRange) {
         $json['valueRange'] = $this->valueRange->jsonSerialize();
     }
     if (null !== $this->valuePeriod) {
         $json['valuePeriod'] = $this->valuePeriod->jsonSerialize();
     }
     if (null !== $this->valueRatio) {
         $json['valueRatio'] = $this->valueRatio->jsonSerialize();
     }
     if (null !== $this->valueReference) {
         $json['valueReference'] = $this->valueReference->jsonSerialize();
     }
     if (null !== $this->valueSampledData) {
         $json['valueSampledData'] = $this->valueSampledData->jsonSerialize();
     }
     if (null !== $this->valueSignature) {
         $json['valueSignature'] = $this->valueSignature->jsonSerialize();
     }
     if (null !== $this->valueHumanName) {
         $json['valueHumanName'] = $this->valueHumanName->jsonSerialize();
     }
     if (null !== $this->valueAddress) {
         $json['valueAddress'] = $this->valueAddress->jsonSerialize();
     }
     if (null !== $this->valueContactPoint) {
         $json['valueContactPoint'] = $this->valueContactPoint->jsonSerialize();
     }
     if (null !== $this->valueTiming) {
         $json['valueTiming'] = $this->valueTiming->jsonSerialize();
     }
     if (null !== $this->valueMeta) {
         $json['valueMeta'] = $this->valueMeta->jsonSerialize();
     }
     if (null !== $this->url) {
         $json['url'] = $this->url;
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->origin) {
         $json['origin'] = $this->origin->jsonSerialize();
     }
     if (null !== $this->period) {
         $json['period'] = $this->period->jsonSerialize();
     }
     if (null !== $this->factor) {
         $json['factor'] = $this->factor->jsonSerialize();
     }
     if (null !== $this->lowerLimit) {
         $json['lowerLimit'] = $this->lowerLimit->jsonSerialize();
     }
     if (null !== $this->upperLimit) {
         $json['upperLimit'] = $this->upperLimit->jsonSerialize();
     }
     if (null !== $this->dimensions) {
         $json['dimensions'] = $this->dimensions->jsonSerialize();
     }
     if (null !== $this->data) {
         $json['data'] = $this->data->jsonSerialize();
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->path) {
         $json['path'] = $this->path->jsonSerialize();
     }
     if (0 < count($this->representation)) {
         $json['representation'] = array();
         foreach ($this->representation as $representation) {
             $json['representation'][] = $representation->jsonSerialize();
         }
     }
     if (null !== $this->name) {
         $json['name'] = $this->name->jsonSerialize();
     }
     if (null !== $this->label) {
         $json['label'] = $this->label->jsonSerialize();
     }
     if (0 < count($this->code)) {
         $json['code'] = array();
         foreach ($this->code as $code) {
             $json['code'][] = $code->jsonSerialize();
         }
     }
     if (null !== $this->slicing) {
         $json['slicing'] = $this->slicing->jsonSerialize();
     }
     if (null !== $this->short) {
         $json['short'] = $this->short->jsonSerialize();
     }
     if (null !== $this->definition) {
         $json['definition'] = $this->definition->jsonSerialize();
     }
     if (null !== $this->comments) {
         $json['comments'] = $this->comments->jsonSerialize();
     }
     if (null !== $this->requirements) {
         $json['requirements'] = $this->requirements->jsonSerialize();
     }
     if (0 < count($this->alias)) {
         $json['alias'] = array();
         foreach ($this->alias as $alias) {
             $json['alias'][] = $alias->jsonSerialize();
         }
     }
     if (null !== $this->min) {
         $json['min'] = $this->min->jsonSerialize();
     }
     if (null !== $this->max) {
         $json['max'] = $this->max->jsonSerialize();
     }
     if (null !== $this->base) {
         $json['base'] = $this->base->jsonSerialize();
     }
     if (0 < count($this->type)) {
         $json['type'] = array();
         foreach ($this->type as $type) {
             $json['type'][] = $type->jsonSerialize();
         }
     }
     if (null !== $this->nameReference) {
         $json['nameReference'] = $this->nameReference->jsonSerialize();
     }
     if (null !== $this->defaultValueBoolean) {
         $json['defaultValueBoolean'] = $this->defaultValueBoolean->jsonSerialize();
     }
     if (null !== $this->defaultValueInteger) {
         $json['defaultValueInteger'] = $this->defaultValueInteger->jsonSerialize();
     }
     if (null !== $this->defaultValueDecimal) {
         $json['defaultValueDecimal'] = $this->defaultValueDecimal->jsonSerialize();
     }
     if (null !== $this->defaultValueBase64Binary) {
         $json['defaultValueBase64Binary'] = $this->defaultValueBase64Binary->jsonSerialize();
     }
     if (null !== $this->defaultValueInstant) {
         $json['defaultValueInstant'] = $this->defaultValueInstant->jsonSerialize();
     }
     if (null !== $this->defaultValueString) {
         $json['defaultValueString'] = $this->defaultValueString->jsonSerialize();
     }
     if (null !== $this->defaultValueUri) {
         $json['defaultValueUri'] = $this->defaultValueUri->jsonSerialize();
     }
     if (null !== $this->defaultValueDate) {
         $json['defaultValueDate'] = $this->defaultValueDate->jsonSerialize();
     }
     if (null !== $this->defaultValueDateTime) {
         $json['defaultValueDateTime'] = $this->defaultValueDateTime->jsonSerialize();
     }
     if (null !== $this->defaultValueTime) {
         $json['defaultValueTime'] = $this->defaultValueTime->jsonSerialize();
     }
     if (null !== $this->defaultValueCode) {
         $json['defaultValueCode'] = $this->defaultValueCode->jsonSerialize();
     }
     if (null !== $this->defaultValueOid) {
         $json['defaultValueOid'] = $this->defaultValueOid->jsonSerialize();
     }
     if (null !== $this->defaultValueUuid) {
         $json['defaultValueUuid'] = $this->defaultValueUuid->jsonSerialize();
     }
     if (null !== $this->defaultValueId) {
         $json['defaultValueId'] = $this->defaultValueId->jsonSerialize();
     }
     if (null !== $this->defaultValueUnsignedInt) {
         $json['defaultValueUnsignedInt'] = $this->defaultValueUnsignedInt->jsonSerialize();
     }
     if (null !== $this->defaultValuePositiveInt) {
         $json['defaultValuePositiveInt'] = $this->defaultValuePositiveInt->jsonSerialize();
     }
     if (null !== $this->defaultValueMarkdown) {
         $json['defaultValueMarkdown'] = $this->defaultValueMarkdown->jsonSerialize();
     }
     if (null !== $this->defaultValueAnnotation) {
         $json['defaultValueAnnotation'] = $this->defaultValueAnnotation->jsonSerialize();
     }
     if (null !== $this->defaultValueAttachment) {
         $json['defaultValueAttachment'] = $this->defaultValueAttachment->jsonSerialize();
     }
     if (null !== $this->defaultValueIdentifier) {
         $json['defaultValueIdentifier'] = $this->defaultValueIdentifier->jsonSerialize();
     }
     if (null !== $this->defaultValueCodeableConcept) {
         $json['defaultValueCodeableConcept'] = $this->defaultValueCodeableConcept->jsonSerialize();
     }
     if (null !== $this->defaultValueCoding) {
         $json['defaultValueCoding'] = $this->defaultValueCoding->jsonSerialize();
     }
     if (null !== $this->defaultValueQuantity) {
         $json['defaultValueQuantity'] = $this->defaultValueQuantity->jsonSerialize();
     }
     if (null !== $this->defaultValueRange) {
         $json['defaultValueRange'] = $this->defaultValueRange->jsonSerialize();
     }
     if (null !== $this->defaultValuePeriod) {
         $json['defaultValuePeriod'] = $this->defaultValuePeriod->jsonSerialize();
     }
     if (null !== $this->defaultValueRatio) {
         $json['defaultValueRatio'] = $this->defaultValueRatio->jsonSerialize();
     }
     if (null !== $this->defaultValueReference) {
         $json['defaultValueReference'] = $this->defaultValueReference->jsonSerialize();
     }
     if (null !== $this->defaultValueSampledData) {
         $json['defaultValueSampledData'] = $this->defaultValueSampledData->jsonSerialize();
     }
     if (null !== $this->defaultValueSignature) {
         $json['defaultValueSignature'] = $this->defaultValueSignature->jsonSerialize();
     }
     if (null !== $this->defaultValueHumanName) {
         $json['defaultValueHumanName'] = $this->defaultValueHumanName->jsonSerialize();
     }
     if (null !== $this->defaultValueAddress) {
         $json['defaultValueAddress'] = $this->defaultValueAddress->jsonSerialize();
     }
     if (null !== $this->defaultValueContactPoint) {
         $json['defaultValueContactPoint'] = $this->defaultValueContactPoint->jsonSerialize();
     }
     if (null !== $this->defaultValueTiming) {
         $json['defaultValueTiming'] = $this->defaultValueTiming->jsonSerialize();
     }
     if (null !== $this->defaultValueMeta) {
         $json['defaultValueMeta'] = $this->defaultValueMeta->jsonSerialize();
     }
     if (null !== $this->meaningWhenMissing) {
         $json['meaningWhenMissing'] = $this->meaningWhenMissing->jsonSerialize();
     }
     if (null !== $this->fixedBoolean) {
         $json['fixedBoolean'] = $this->fixedBoolean->jsonSerialize();
     }
     if (null !== $this->fixedInteger) {
         $json['fixedInteger'] = $this->fixedInteger->jsonSerialize();
     }
     if (null !== $this->fixedDecimal) {
         $json['fixedDecimal'] = $this->fixedDecimal->jsonSerialize();
     }
     if (null !== $this->fixedBase64Binary) {
         $json['fixedBase64Binary'] = $this->fixedBase64Binary->jsonSerialize();
     }
     if (null !== $this->fixedInstant) {
         $json['fixedInstant'] = $this->fixedInstant->jsonSerialize();
     }
     if (null !== $this->fixedString) {
         $json['fixedString'] = $this->fixedString->jsonSerialize();
     }
     if (null !== $this->fixedUri) {
         $json['fixedUri'] = $this->fixedUri->jsonSerialize();
     }
     if (null !== $this->fixedDate) {
         $json['fixedDate'] = $this->fixedDate->jsonSerialize();
     }
     if (null !== $this->fixedDateTime) {
         $json['fixedDateTime'] = $this->fixedDateTime->jsonSerialize();
     }
     if (null !== $this->fixedTime) {
         $json['fixedTime'] = $this->fixedTime->jsonSerialize();
     }
     if (null !== $this->fixedCode) {
         $json['fixedCode'] = $this->fixedCode->jsonSerialize();
     }
     if (null !== $this->fixedOid) {
         $json['fixedOid'] = $this->fixedOid->jsonSerialize();
     }
     if (null !== $this->fixedUuid) {
         $json['fixedUuid'] = $this->fixedUuid->jsonSerialize();
     }
     if (null !== $this->fixedId) {
         $json['fixedId'] = $this->fixedId->jsonSerialize();
     }
     if (null !== $this->fixedUnsignedInt) {
         $json['fixedUnsignedInt'] = $this->fixedUnsignedInt->jsonSerialize();
     }
     if (null !== $this->fixedPositiveInt) {
         $json['fixedPositiveInt'] = $this->fixedPositiveInt->jsonSerialize();
     }
     if (null !== $this->fixedMarkdown) {
         $json['fixedMarkdown'] = $this->fixedMarkdown->jsonSerialize();
     }
     if (null !== $this->fixedAnnotation) {
         $json['fixedAnnotation'] = $this->fixedAnnotation->jsonSerialize();
     }
     if (null !== $this->fixedAttachment) {
         $json['fixedAttachment'] = $this->fixedAttachment->jsonSerialize();
     }
     if (null !== $this->fixedIdentifier) {
         $json['fixedIdentifier'] = $this->fixedIdentifier->jsonSerialize();
     }
     if (null !== $this->fixedCodeableConcept) {
         $json['fixedCodeableConcept'] = $this->fixedCodeableConcept->jsonSerialize();
     }
     if (null !== $this->fixedCoding) {
         $json['fixedCoding'] = $this->fixedCoding->jsonSerialize();
     }
     if (null !== $this->fixedQuantity) {
         $json['fixedQuantity'] = $this->fixedQuantity->jsonSerialize();
     }
     if (null !== $this->fixedRange) {
         $json['fixedRange'] = $this->fixedRange->jsonSerialize();
     }
     if (null !== $this->fixedPeriod) {
         $json['fixedPeriod'] = $this->fixedPeriod->jsonSerialize();
     }
     if (null !== $this->fixedRatio) {
         $json['fixedRatio'] = $this->fixedRatio->jsonSerialize();
     }
     if (null !== $this->fixedReference) {
         $json['fixedReference'] = $this->fixedReference->jsonSerialize();
     }
     if (null !== $this->fixedSampledData) {
         $json['fixedSampledData'] = $this->fixedSampledData->jsonSerialize();
     }
     if (null !== $this->fixedSignature) {
         $json['fixedSignature'] = $this->fixedSignature->jsonSerialize();
     }
     if (null !== $this->fixedHumanName) {
         $json['fixedHumanName'] = $this->fixedHumanName->jsonSerialize();
     }
     if (null !== $this->fixedAddress) {
         $json['fixedAddress'] = $this->fixedAddress->jsonSerialize();
     }
     if (null !== $this->fixedContactPoint) {
         $json['fixedContactPoint'] = $this->fixedContactPoint->jsonSerialize();
     }
     if (null !== $this->fixedTiming) {
         $json['fixedTiming'] = $this->fixedTiming->jsonSerialize();
     }
     if (null !== $this->fixedMeta) {
         $json['fixedMeta'] = $this->fixedMeta->jsonSerialize();
     }
     if (null !== $this->patternBoolean) {
         $json['patternBoolean'] = $this->patternBoolean->jsonSerialize();
     }
     if (null !== $this->patternInteger) {
         $json['patternInteger'] = $this->patternInteger->jsonSerialize();
     }
     if (null !== $this->patternDecimal) {
         $json['patternDecimal'] = $this->patternDecimal->jsonSerialize();
     }
     if (null !== $this->patternBase64Binary) {
         $json['patternBase64Binary'] = $this->patternBase64Binary->jsonSerialize();
     }
     if (null !== $this->patternInstant) {
         $json['patternInstant'] = $this->patternInstant->jsonSerialize();
     }
     if (null !== $this->patternString) {
         $json['patternString'] = $this->patternString->jsonSerialize();
     }
     if (null !== $this->patternUri) {
         $json['patternUri'] = $this->patternUri->jsonSerialize();
     }
     if (null !== $this->patternDate) {
         $json['patternDate'] = $this->patternDate->jsonSerialize();
     }
     if (null !== $this->patternDateTime) {
         $json['patternDateTime'] = $this->patternDateTime->jsonSerialize();
     }
     if (null !== $this->patternTime) {
         $json['patternTime'] = $this->patternTime->jsonSerialize();
     }
     if (null !== $this->patternCode) {
         $json['patternCode'] = $this->patternCode->jsonSerialize();
     }
     if (null !== $this->patternOid) {
         $json['patternOid'] = $this->patternOid->jsonSerialize();
     }
     if (null !== $this->patternUuid) {
         $json['patternUuid'] = $this->patternUuid->jsonSerialize();
     }
     if (null !== $this->patternId) {
         $json['patternId'] = $this->patternId->jsonSerialize();
     }
     if (null !== $this->patternUnsignedInt) {
         $json['patternUnsignedInt'] = $this->patternUnsignedInt->jsonSerialize();
     }
     if (null !== $this->patternPositiveInt) {
         $json['patternPositiveInt'] = $this->patternPositiveInt->jsonSerialize();
     }
     if (null !== $this->patternMarkdown) {
         $json['patternMarkdown'] = $this->patternMarkdown->jsonSerialize();
     }
     if (null !== $this->patternAnnotation) {
         $json['patternAnnotation'] = $this->patternAnnotation->jsonSerialize();
     }
     if (null !== $this->patternAttachment) {
         $json['patternAttachment'] = $this->patternAttachment->jsonSerialize();
     }
     if (null !== $this->patternIdentifier) {
         $json['patternIdentifier'] = $this->patternIdentifier->jsonSerialize();
     }
     if (null !== $this->patternCodeableConcept) {
         $json['patternCodeableConcept'] = $this->patternCodeableConcept->jsonSerialize();
     }
     if (null !== $this->patternCoding) {
         $json['patternCoding'] = $this->patternCoding->jsonSerialize();
     }
     if (null !== $this->patternQuantity) {
         $json['patternQuantity'] = $this->patternQuantity->jsonSerialize();
     }
     if (null !== $this->patternRange) {
         $json['patternRange'] = $this->patternRange->jsonSerialize();
     }
     if (null !== $this->patternPeriod) {
         $json['patternPeriod'] = $this->patternPeriod->jsonSerialize();
     }
     if (null !== $this->patternRatio) {
         $json['patternRatio'] = $this->patternRatio->jsonSerialize();
     }
     if (null !== $this->patternReference) {
         $json['patternReference'] = $this->patternReference->jsonSerialize();
     }
     if (null !== $this->patternSampledData) {
         $json['patternSampledData'] = $this->patternSampledData->jsonSerialize();
     }
     if (null !== $this->patternSignature) {
         $json['patternSignature'] = $this->patternSignature->jsonSerialize();
     }
     if (null !== $this->patternHumanName) {
         $json['patternHumanName'] = $this->patternHumanName->jsonSerialize();
     }
     if (null !== $this->patternAddress) {
         $json['patternAddress'] = $this->patternAddress->jsonSerialize();
     }
     if (null !== $this->patternContactPoint) {
         $json['patternContactPoint'] = $this->patternContactPoint->jsonSerialize();
     }
     if (null !== $this->patternTiming) {
         $json['patternTiming'] = $this->patternTiming->jsonSerialize();
     }
     if (null !== $this->patternMeta) {
         $json['patternMeta'] = $this->patternMeta->jsonSerialize();
     }
     if (null !== $this->exampleBoolean) {
         $json['exampleBoolean'] = $this->exampleBoolean->jsonSerialize();
     }
     if (null !== $this->exampleInteger) {
         $json['exampleInteger'] = $this->exampleInteger->jsonSerialize();
     }
     if (null !== $this->exampleDecimal) {
         $json['exampleDecimal'] = $this->exampleDecimal->jsonSerialize();
     }
     if (null !== $this->exampleBase64Binary) {
         $json['exampleBase64Binary'] = $this->exampleBase64Binary->jsonSerialize();
     }
     if (null !== $this->exampleInstant) {
         $json['exampleInstant'] = $this->exampleInstant->jsonSerialize();
     }
     if (null !== $this->exampleString) {
         $json['exampleString'] = $this->exampleString->jsonSerialize();
     }
     if (null !== $this->exampleUri) {
         $json['exampleUri'] = $this->exampleUri->jsonSerialize();
     }
     if (null !== $this->exampleDate) {
         $json['exampleDate'] = $this->exampleDate->jsonSerialize();
     }
     if (null !== $this->exampleDateTime) {
         $json['exampleDateTime'] = $this->exampleDateTime->jsonSerialize();
     }
     if (null !== $this->exampleTime) {
         $json['exampleTime'] = $this->exampleTime->jsonSerialize();
     }
     if (null !== $this->exampleCode) {
         $json['exampleCode'] = $this->exampleCode->jsonSerialize();
     }
     if (null !== $this->exampleOid) {
         $json['exampleOid'] = $this->exampleOid->jsonSerialize();
     }
     if (null !== $this->exampleUuid) {
         $json['exampleUuid'] = $this->exampleUuid->jsonSerialize();
     }
     if (null !== $this->exampleId) {
         $json['exampleId'] = $this->exampleId->jsonSerialize();
     }
     if (null !== $this->exampleUnsignedInt) {
         $json['exampleUnsignedInt'] = $this->exampleUnsignedInt->jsonSerialize();
     }
     if (null !== $this->examplePositiveInt) {
         $json['examplePositiveInt'] = $this->examplePositiveInt->jsonSerialize();
     }
     if (null !== $this->exampleMarkdown) {
         $json['exampleMarkdown'] = $this->exampleMarkdown->jsonSerialize();
     }
     if (null !== $this->exampleAnnotation) {
         $json['exampleAnnotation'] = $this->exampleAnnotation->jsonSerialize();
     }
     if (null !== $this->exampleAttachment) {
         $json['exampleAttachment'] = $this->exampleAttachment->jsonSerialize();
     }
     if (null !== $this->exampleIdentifier) {
         $json['exampleIdentifier'] = $this->exampleIdentifier->jsonSerialize();
     }
     if (null !== $this->exampleCodeableConcept) {
         $json['exampleCodeableConcept'] = $this->exampleCodeableConcept->jsonSerialize();
     }
     if (null !== $this->exampleCoding) {
         $json['exampleCoding'] = $this->exampleCoding->jsonSerialize();
     }
     if (null !== $this->exampleQuantity) {
         $json['exampleQuantity'] = $this->exampleQuantity->jsonSerialize();
     }
     if (null !== $this->exampleRange) {
         $json['exampleRange'] = $this->exampleRange->jsonSerialize();
     }
     if (null !== $this->examplePeriod) {
         $json['examplePeriod'] = $this->examplePeriod->jsonSerialize();
     }
     if (null !== $this->exampleRatio) {
         $json['exampleRatio'] = $this->exampleRatio->jsonSerialize();
     }
     if (null !== $this->exampleReference) {
         $json['exampleReference'] = $this->exampleReference->jsonSerialize();
     }
     if (null !== $this->exampleSampledData) {
         $json['exampleSampledData'] = $this->exampleSampledData->jsonSerialize();
     }
     if (null !== $this->exampleSignature) {
         $json['exampleSignature'] = $this->exampleSignature->jsonSerialize();
     }
     if (null !== $this->exampleHumanName) {
         $json['exampleHumanName'] = $this->exampleHumanName->jsonSerialize();
     }
     if (null !== $this->exampleAddress) {
         $json['exampleAddress'] = $this->exampleAddress->jsonSerialize();
     }
     if (null !== $this->exampleContactPoint) {
         $json['exampleContactPoint'] = $this->exampleContactPoint->jsonSerialize();
     }
     if (null !== $this->exampleTiming) {
         $json['exampleTiming'] = $this->exampleTiming->jsonSerialize();
     }
     if (null !== $this->exampleMeta) {
         $json['exampleMeta'] = $this->exampleMeta->jsonSerialize();
     }
     if (null !== $this->minValueBoolean) {
         $json['minValueBoolean'] = $this->minValueBoolean->jsonSerialize();
     }
     if (null !== $this->minValueInteger) {
         $json['minValueInteger'] = $this->minValueInteger->jsonSerialize();
     }
     if (null !== $this->minValueDecimal) {
         $json['minValueDecimal'] = $this->minValueDecimal->jsonSerialize();
     }
     if (null !== $this->minValueBase64Binary) {
         $json['minValueBase64Binary'] = $this->minValueBase64Binary->jsonSerialize();
     }
     if (null !== $this->minValueInstant) {
         $json['minValueInstant'] = $this->minValueInstant->jsonSerialize();
     }
     if (null !== $this->minValueString) {
         $json['minValueString'] = $this->minValueString->jsonSerialize();
     }
     if (null !== $this->minValueUri) {
         $json['minValueUri'] = $this->minValueUri->jsonSerialize();
     }
     if (null !== $this->minValueDate) {
         $json['minValueDate'] = $this->minValueDate->jsonSerialize();
     }
     if (null !== $this->minValueDateTime) {
         $json['minValueDateTime'] = $this->minValueDateTime->jsonSerialize();
     }
     if (null !== $this->minValueTime) {
         $json['minValueTime'] = $this->minValueTime->jsonSerialize();
     }
     if (null !== $this->minValueCode) {
         $json['minValueCode'] = $this->minValueCode->jsonSerialize();
     }
     if (null !== $this->minValueOid) {
         $json['minValueOid'] = $this->minValueOid->jsonSerialize();
     }
     if (null !== $this->minValueUuid) {
         $json['minValueUuid'] = $this->minValueUuid->jsonSerialize();
     }
     if (null !== $this->minValueId) {
         $json['minValueId'] = $this->minValueId->jsonSerialize();
     }
     if (null !== $this->minValueUnsignedInt) {
         $json['minValueUnsignedInt'] = $this->minValueUnsignedInt->jsonSerialize();
     }
     if (null !== $this->minValuePositiveInt) {
         $json['minValuePositiveInt'] = $this->minValuePositiveInt->jsonSerialize();
     }
     if (null !== $this->minValueMarkdown) {
         $json['minValueMarkdown'] = $this->minValueMarkdown->jsonSerialize();
     }
     if (null !== $this->minValueAnnotation) {
         $json['minValueAnnotation'] = $this->minValueAnnotation->jsonSerialize();
     }
     if (null !== $this->minValueAttachment) {
         $json['minValueAttachment'] = $this->minValueAttachment->jsonSerialize();
     }
     if (null !== $this->minValueIdentifier) {
         $json['minValueIdentifier'] = $this->minValueIdentifier->jsonSerialize();
     }
     if (null !== $this->minValueCodeableConcept) {
         $json['minValueCodeableConcept'] = $this->minValueCodeableConcept->jsonSerialize();
     }
     if (null !== $this->minValueCoding) {
         $json['minValueCoding'] = $this->minValueCoding->jsonSerialize();
     }
     if (null !== $this->minValueQuantity) {
         $json['minValueQuantity'] = $this->minValueQuantity->jsonSerialize();
     }
     if (null !== $this->minValueRange) {
         $json['minValueRange'] = $this->minValueRange->jsonSerialize();
     }
     if (null !== $this->minValuePeriod) {
         $json['minValuePeriod'] = $this->minValuePeriod->jsonSerialize();
     }
     if (null !== $this->minValueRatio) {
         $json['minValueRatio'] = $this->minValueRatio->jsonSerialize();
     }
     if (null !== $this->minValueReference) {
         $json['minValueReference'] = $this->minValueReference->jsonSerialize();
     }
     if (null !== $this->minValueSampledData) {
         $json['minValueSampledData'] = $this->minValueSampledData->jsonSerialize();
     }
     if (null !== $this->minValueSignature) {
         $json['minValueSignature'] = $this->minValueSignature->jsonSerialize();
     }
     if (null !== $this->minValueHumanName) {
         $json['minValueHumanName'] = $this->minValueHumanName->jsonSerialize();
     }
     if (null !== $this->minValueAddress) {
         $json['minValueAddress'] = $this->minValueAddress->jsonSerialize();
     }
     if (null !== $this->minValueContactPoint) {
         $json['minValueContactPoint'] = $this->minValueContactPoint->jsonSerialize();
     }
     if (null !== $this->minValueTiming) {
         $json['minValueTiming'] = $this->minValueTiming->jsonSerialize();
     }
     if (null !== $this->minValueMeta) {
         $json['minValueMeta'] = $this->minValueMeta->jsonSerialize();
     }
     if (null !== $this->maxValueBoolean) {
         $json['maxValueBoolean'] = $this->maxValueBoolean->jsonSerialize();
     }
     if (null !== $this->maxValueInteger) {
         $json['maxValueInteger'] = $this->maxValueInteger->jsonSerialize();
     }
     if (null !== $this->maxValueDecimal) {
         $json['maxValueDecimal'] = $this->maxValueDecimal->jsonSerialize();
     }
     if (null !== $this->maxValueBase64Binary) {
         $json['maxValueBase64Binary'] = $this->maxValueBase64Binary->jsonSerialize();
     }
     if (null !== $this->maxValueInstant) {
         $json['maxValueInstant'] = $this->maxValueInstant->jsonSerialize();
     }
     if (null !== $this->maxValueString) {
         $json['maxValueString'] = $this->maxValueString->jsonSerialize();
     }
     if (null !== $this->maxValueUri) {
         $json['maxValueUri'] = $this->maxValueUri->jsonSerialize();
     }
     if (null !== $this->maxValueDate) {
         $json['maxValueDate'] = $this->maxValueDate->jsonSerialize();
     }
     if (null !== $this->maxValueDateTime) {
         $json['maxValueDateTime'] = $this->maxValueDateTime->jsonSerialize();
     }
     if (null !== $this->maxValueTime) {
         $json['maxValueTime'] = $this->maxValueTime->jsonSerialize();
     }
     if (null !== $this->maxValueCode) {
         $json['maxValueCode'] = $this->maxValueCode->jsonSerialize();
     }
     if (null !== $this->maxValueOid) {
         $json['maxValueOid'] = $this->maxValueOid->jsonSerialize();
     }
     if (null !== $this->maxValueUuid) {
         $json['maxValueUuid'] = $this->maxValueUuid->jsonSerialize();
     }
     if (null !== $this->maxValueId) {
         $json['maxValueId'] = $this->maxValueId->jsonSerialize();
     }
     if (null !== $this->maxValueUnsignedInt) {
         $json['maxValueUnsignedInt'] = $this->maxValueUnsignedInt->jsonSerialize();
     }
     if (null !== $this->maxValuePositiveInt) {
         $json['maxValuePositiveInt'] = $this->maxValuePositiveInt->jsonSerialize();
     }
     if (null !== $this->maxValueMarkdown) {
         $json['maxValueMarkdown'] = $this->maxValueMarkdown->jsonSerialize();
     }
     if (null !== $this->maxValueAnnotation) {
         $json['maxValueAnnotation'] = $this->maxValueAnnotation->jsonSerialize();
     }
     if (null !== $this->maxValueAttachment) {
         $json['maxValueAttachment'] = $this->maxValueAttachment->jsonSerialize();
     }
     if (null !== $this->maxValueIdentifier) {
         $json['maxValueIdentifier'] = $this->maxValueIdentifier->jsonSerialize();
     }
     if (null !== $this->maxValueCodeableConcept) {
         $json['maxValueCodeableConcept'] = $this->maxValueCodeableConcept->jsonSerialize();
     }
     if (null !== $this->maxValueCoding) {
         $json['maxValueCoding'] = $this->maxValueCoding->jsonSerialize();
     }
     if (null !== $this->maxValueQuantity) {
         $json['maxValueQuantity'] = $this->maxValueQuantity->jsonSerialize();
     }
     if (null !== $this->maxValueRange) {
         $json['maxValueRange'] = $this->maxValueRange->jsonSerialize();
     }
     if (null !== $this->maxValuePeriod) {
         $json['maxValuePeriod'] = $this->maxValuePeriod->jsonSerialize();
     }
     if (null !== $this->maxValueRatio) {
         $json['maxValueRatio'] = $this->maxValueRatio->jsonSerialize();
     }
     if (null !== $this->maxValueReference) {
         $json['maxValueReference'] = $this->maxValueReference->jsonSerialize();
     }
     if (null !== $this->maxValueSampledData) {
         $json['maxValueSampledData'] = $this->maxValueSampledData->jsonSerialize();
     }
     if (null !== $this->maxValueSignature) {
         $json['maxValueSignature'] = $this->maxValueSignature->jsonSerialize();
     }
     if (null !== $this->maxValueHumanName) {
         $json['maxValueHumanName'] = $this->maxValueHumanName->jsonSerialize();
     }
     if (null !== $this->maxValueAddress) {
         $json['maxValueAddress'] = $this->maxValueAddress->jsonSerialize();
     }
     if (null !== $this->maxValueContactPoint) {
         $json['maxValueContactPoint'] = $this->maxValueContactPoint->jsonSerialize();
     }
     if (null !== $this->maxValueTiming) {
         $json['maxValueTiming'] = $this->maxValueTiming->jsonSerialize();
     }
     if (null !== $this->maxValueMeta) {
         $json['maxValueMeta'] = $this->maxValueMeta->jsonSerialize();
     }
     if (null !== $this->maxLength) {
         $json['maxLength'] = $this->maxLength->jsonSerialize();
     }
     if (0 < count($this->condition)) {
         $json['condition'] = array();
         foreach ($this->condition as $condition) {
             $json['condition'][] = $condition->jsonSerialize();
         }
     }
     if (0 < count($this->constraint)) {
         $json['constraint'] = array();
         foreach ($this->constraint as $constraint) {
             $json['constraint'][] = $constraint->jsonSerialize();
         }
     }
     if (null !== $this->mustSupport) {
         $json['mustSupport'] = $this->mustSupport->jsonSerialize();
     }
     if (null !== $this->isModifier) {
         $json['isModifier'] = $this->isModifier->jsonSerialize();
     }
     if (null !== $this->isSummary) {
         $json['isSummary'] = $this->isSummary->jsonSerialize();
     }
     if (null !== $this->binding) {
         $json['binding'] = $this->binding->jsonSerialize();
     }
     if (0 < count($this->mapping)) {
         $json['mapping'] = array();
         foreach ($this->mapping as $mapping) {
             $json['mapping'][] = $mapping->jsonSerialize();
         }
     }
     return $json;
 }
 /**
  * @return array
  */
 public function jsonSerialize()
 {
     $json = parent::jsonSerialize();
     if (null !== $this->sequence) {
         $json['sequence'] = $this->sequence->jsonSerialize();
     }
     if (null !== $this->type) {
         $json['type'] = $this->type->jsonSerialize();
     }
     if (null !== $this->provider) {
         $json['provider'] = $this->provider->jsonSerialize();
     }
     if (0 < count($this->diagnosisLinkId)) {
         $json['diagnosisLinkId'] = array();
         foreach ($this->diagnosisLinkId as $diagnosisLinkId) {
             $json['diagnosisLinkId'][] = $diagnosisLinkId->jsonSerialize();
         }
     }
     if (null !== $this->service) {
         $json['service'] = $this->service->jsonSerialize();
     }
     if (null !== $this->serviceDate) {
         $json['serviceDate'] = $this->serviceDate->jsonSerialize();
     }
     if (null !== $this->quantity) {
         $json['quantity'] = $this->quantity->jsonSerialize();
     }
     if (null !== $this->unitPrice) {
         $json['unitPrice'] = $this->unitPrice->jsonSerialize();
     }
     if (null !== $this->factor) {
         $json['factor'] = $this->factor->jsonSerialize();
     }
     if (null !== $this->points) {
         $json['points'] = $this->points->jsonSerialize();
     }
     if (null !== $this->net) {
         $json['net'] = $this->net->jsonSerialize();
     }
     if (null !== $this->udi) {
         $json['udi'] = $this->udi->jsonSerialize();
     }
     if (null !== $this->bodySite) {
         $json['bodySite'] = $this->bodySite->jsonSerialize();
     }
     if (0 < count($this->subSite)) {
         $json['subSite'] = array();
         foreach ($this->subSite as $subSite) {
             $json['subSite'][] = $subSite->jsonSerialize();
         }
     }
     if (0 < count($this->modifier)) {
         $json['modifier'] = array();
         foreach ($this->modifier as $modifier) {
             $json['modifier'][] = $modifier->jsonSerialize();
         }
     }
     if (0 < count($this->detail)) {
         $json['detail'] = array();
         foreach ($this->detail as $detail) {
             $json['detail'][] = $detail->jsonSerialize();
         }
     }
     if (null !== $this->prosthesis) {
         $json['prosthesis'] = $this->prosthesis->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;
 }