/// <summary> /// Serialize to a JSON object /// </summary> public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true) { if (includeStartObject) { writer.WriteStartObject(); } if (!string.IsNullOrEmpty(ResourceType)) { writer.WriteString("resourceType", (string)ResourceType !); } ((Fhir.R4.Models.DomainResource) this).SerializeJson(writer, options, false); if ((Identifier != null) && (Identifier.Count != 0)) { writer.WritePropertyName("identifier"); writer.WriteStartArray(); foreach (Identifier valIdentifier in Identifier) { valIdentifier.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (Type != null) { writer.WritePropertyName("type"); Type.SerializeJson(writer, options); } writer.WriteBoolean("orderable", Orderable); if (ReferencedItem != null) { writer.WritePropertyName("referencedItem"); ReferencedItem.SerializeJson(writer, options); } if ((AdditionalIdentifier != null) && (AdditionalIdentifier.Count != 0)) { writer.WritePropertyName("additionalIdentifier"); writer.WriteStartArray(); foreach (Identifier valAdditionalIdentifier in AdditionalIdentifier) { valAdditionalIdentifier.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if ((Classification != null) && (Classification.Count != 0)) { writer.WritePropertyName("classification"); writer.WriteStartArray(); foreach (CodeableConcept valClassification in Classification) { valClassification.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (!string.IsNullOrEmpty(Status)) { writer.WriteString("status", (string)Status !); } if (_Status != null) { writer.WritePropertyName("_status"); _Status.SerializeJson(writer, options); } if (ValidityPeriod != null) { writer.WritePropertyName("validityPeriod"); ValidityPeriod.SerializeJson(writer, options); } if (!string.IsNullOrEmpty(ValidTo)) { writer.WriteString("validTo", (string)ValidTo !); } if (_ValidTo != null) { writer.WritePropertyName("_validTo"); _ValidTo.SerializeJson(writer, options); } if (!string.IsNullOrEmpty(LastUpdated)) { writer.WriteString("lastUpdated", (string)LastUpdated !); } if (_LastUpdated != null) { writer.WritePropertyName("_lastUpdated"); _LastUpdated.SerializeJson(writer, options); } if ((AdditionalCharacteristic != null) && (AdditionalCharacteristic.Count != 0)) { writer.WritePropertyName("additionalCharacteristic"); writer.WriteStartArray(); foreach (CodeableConcept valAdditionalCharacteristic in AdditionalCharacteristic) { valAdditionalCharacteristic.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if ((AdditionalClassification != null) && (AdditionalClassification.Count != 0)) { writer.WritePropertyName("additionalClassification"); writer.WriteStartArray(); foreach (CodeableConcept valAdditionalClassification in AdditionalClassification) { valAdditionalClassification.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if ((RelatedEntry != null) && (RelatedEntry.Count != 0)) { writer.WritePropertyName("relatedEntry"); writer.WriteStartArray(); foreach (CatalogEntryRelatedEntry valRelatedEntry in RelatedEntry) { valRelatedEntry.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (includeStartObject) { writer.WriteEndObject(); } }