public static void SerializeXdsEntry2(XdsEntry2 value, IFhirWriter writer) { writer.WriteStartRootObject("XdsEntry2"); writer.WriteStartComplexContent(); // Serialize element's localId attribute if (value.InternalId != null && !String.IsNullOrEmpty(value.InternalId.Contents)) { writer.WriteRefIdContents(value.InternalId.Contents); } // Serialize element extension if (value.Extension != null && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach (var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element language if (value.Language != null) { writer.WriteStartElement("language"); CodeSerializer.SerializeCode(value.Language, writer); writer.WriteEndElement(); } // Serialize element text if (value.Text != null) { writer.WriteStartElement("text"); NarrativeSerializer.SerializeNarrative(value.Text, writer); writer.WriteEndElement(); } // Serialize element contained if (value.Contained != null && value.Contained.Count > 0) { writer.WriteStartArrayElement("contained"); foreach (var item in value.Contained) { writer.WriteStartArrayMember("contained"); FhirSerializer.SerializeResource(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element id if (value.Id != null) { writer.WriteStartElement("id"); IdentifierSerializer.SerializeIdentifier(value.Id, writer); writer.WriteEndElement(); } // Serialize element information if (value.Information != null) { writer.WriteStartElement("information"); DocumentInformationSerializer.SerializeDocumentInformation(value.Information, writer); writer.WriteEndElement(); } // Serialize element format if (value.Format != null) { writer.WriteStartElement("format"); CodingSerializer.SerializeCoding(value.Format, writer); writer.WriteEndElement(); } // Serialize element availability if (value.Availability != null) { writer.WriteStartElement("availability"); CodeSerializer.SerializeCode(value.Availability, writer); writer.WriteEndElement(); } // Serialize element folder if (value.Folder != null && value.Folder.Count > 0) { writer.WriteStartArrayElement("folder"); foreach (var item in value.Folder) { writer.WriteStartArrayMember("folder"); ResourceReferenceSerializer.SerializeResourceReference(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element subject if (value.Subject != null) { writer.WriteStartElement("subject"); ResourceReferenceSerializer.SerializeResourceReference(value.Subject, writer); writer.WriteEndElement(); } // Serialize element content if (value.Content != null) { writer.WriteStartElement("content"); AttachmentSerializer.SerializeAttachment(value.Content, writer); writer.WriteEndElement(); } writer.WriteEndComplexContent(); writer.WriteEndRootObject(); }