public static void SerializeConformance(Hl7.Fhir.Model.Conformance value, IFhirWriter writer, bool summary) { writer.WriteStartRootObject("Conformance"); writer.WriteStartComplexContent(); // Serialize element _id if (value.LocalIdElement != null) { writer.WritePrimitiveContents("_id", value.LocalIdElement, XmlSerializationHint.Attribute); } // Serialize element extension if (value.Extension != null && !summary && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach (var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element language if (value.LanguageElement != null && !summary) { writer.WriteStartElement("language"); CodeSerializer.SerializeCode(value.LanguageElement, writer, summary); writer.WriteEndElement(); } // Serialize element text if (value.Text != null && !summary) { writer.WriteStartElement("text"); NarrativeSerializer.SerializeNarrative(value.Text, writer, summary); writer.WriteEndElement(); } // Serialize element contained if (value.Contained != null && !summary && value.Contained.Count > 0) { writer.WriteStartArrayElement("contained"); foreach (var item in value.Contained) { writer.WriteStartArrayMember("contained"); FhirSerializer.SerializeResource(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element identifier if (value.IdentifierElement != null) { writer.WriteStartElement("identifier"); FhirStringSerializer.SerializeFhirString(value.IdentifierElement, writer, summary); writer.WriteEndElement(); } // Serialize element version if (value.VersionElement != null) { writer.WriteStartElement("version"); FhirStringSerializer.SerializeFhirString(value.VersionElement, writer, summary); writer.WriteEndElement(); } // Serialize element name if (value.NameElement != null) { writer.WriteStartElement("name"); FhirStringSerializer.SerializeFhirString(value.NameElement, writer, summary); writer.WriteEndElement(); } // Serialize element publisher if (value.PublisherElement != null) { writer.WriteStartElement("publisher"); FhirStringSerializer.SerializeFhirString(value.PublisherElement, writer, summary); writer.WriteEndElement(); } // Serialize element telecom if (value.Telecom != null && value.Telecom.Count > 0) { writer.WriteStartArrayElement("telecom"); foreach (var item in value.Telecom) { writer.WriteStartArrayMember("telecom"); ContactSerializer.SerializeContact(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element description if (value.DescriptionElement != null) { writer.WriteStartElement("description"); FhirStringSerializer.SerializeFhirString(value.DescriptionElement, writer, summary); writer.WriteEndElement(); } // Serialize element status if (value.StatusElement != null) { writer.WriteStartElement("status"); CodeSerializer.SerializeCode <Hl7.Fhir.Model.Conformance.ConformanceStatementStatus>(value.StatusElement, writer, summary); writer.WriteEndElement(); } // Serialize element experimental if (value.ExperimentalElement != null) { writer.WriteStartElement("experimental"); FhirBooleanSerializer.SerializeFhirBoolean(value.ExperimentalElement, writer, summary); writer.WriteEndElement(); } // Serialize element date if (value.DateElement != null) { writer.WriteStartElement("date"); FhirDateTimeSerializer.SerializeFhirDateTime(value.DateElement, writer, summary); writer.WriteEndElement(); } // Serialize element software if (value.Software != null) { writer.WriteStartElement("software"); ConformanceSerializer.SerializeConformanceSoftwareComponent(value.Software, writer, summary); writer.WriteEndElement(); } // Serialize element implementation if (value.Implementation != null) { writer.WriteStartElement("implementation"); ConformanceSerializer.SerializeConformanceImplementationComponent(value.Implementation, writer, summary); writer.WriteEndElement(); } // Serialize element fhirVersion if (value.FhirVersionElement != null) { writer.WriteStartElement("fhirVersion"); IdSerializer.SerializeId(value.FhirVersionElement, writer, summary); writer.WriteEndElement(); } // Serialize element acceptUnknown if (value.AcceptUnknownElement != null && !summary) { writer.WriteStartElement("acceptUnknown"); FhirBooleanSerializer.SerializeFhirBoolean(value.AcceptUnknownElement, writer, summary); writer.WriteEndElement(); } // Serialize element format if (value.FormatElement != null && !summary && value.FormatElement.Count > 0) { writer.WriteStartArrayElement("format"); foreach (var item in value.FormatElement) { writer.WriteStartArrayMember("format"); CodeSerializer.SerializeCode(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element rest if (value.Rest != null && !summary && value.Rest.Count > 0) { writer.WriteStartArrayElement("rest"); foreach (var item in value.Rest) { writer.WriteStartArrayMember("rest"); ConformanceSerializer.SerializeConformanceRestComponent(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element messaging if (value.Messaging != null && !summary && value.Messaging.Count > 0) { writer.WriteStartArrayElement("messaging"); foreach (var item in value.Messaging) { writer.WriteStartArrayMember("messaging"); ConformanceSerializer.SerializeConformanceMessagingComponent(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element document if (value.Document != null && !summary && value.Document.Count > 0) { writer.WriteStartArrayElement("document"); foreach (var item in value.Document) { writer.WriteStartArrayMember("document"); ConformanceSerializer.SerializeConformanceDocumentComponent(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } writer.WriteEndComplexContent(); writer.WriteEndRootObject(); }