public static void SerializeLocation(Hl7.Fhir.Model.Location value, IFhirWriter writer, bool summary) { writer.WriteStartRootObject("Location"); 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 name if (value.NameElement != null && !summary) { writer.WriteStartElement("name"); FhirStringSerializer.SerializeFhirString(value.NameElement, writer, summary); writer.WriteEndElement(); } // Serialize element description if (value.DescriptionElement != null && !summary) { writer.WriteStartElement("description"); FhirStringSerializer.SerializeFhirString(value.DescriptionElement, writer, summary); writer.WriteEndElement(); } // Serialize element type if (value.Type != null && !summary && value.Type.Count > 0) { writer.WriteStartArrayElement("type"); foreach (var item in value.Type) { writer.WriteStartArrayMember("type"); CodeableConceptSerializer.SerializeCodeableConcept(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element telecom if (value.Telecom != null && !summary) { writer.WriteStartElement("telecom"); ContactSerializer.SerializeContact(value.Telecom, writer, summary); writer.WriteEndElement(); } // Serialize element address if (value.Address != null && !summary) { writer.WriteStartElement("address"); AddressSerializer.SerializeAddress(value.Address, writer, summary); writer.WriteEndElement(); } // Serialize element position if (value.Position != null && !summary) { writer.WriteStartElement("position"); LocationSerializer.SerializeLocationPositionComponent(value.Position, writer, summary); writer.WriteEndElement(); } // Serialize element provider if (value.Provider != null && !summary) { writer.WriteStartElement("provider"); ResourceReferenceSerializer.SerializeResourceReference(value.Provider, writer, summary); writer.WriteEndElement(); } // Serialize element active if (value.ActiveElement != null && !summary) { writer.WriteStartElement("active"); FhirBooleanSerializer.SerializeFhirBoolean(value.ActiveElement, writer, summary); writer.WriteEndElement(); } // Serialize element partOf if (value.PartOf != null && !summary) { writer.WriteStartElement("partOf"); ResourceReferenceSerializer.SerializeResourceReference(value.PartOf, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); writer.WriteEndRootObject(); }
/// <summary> /// Parse Location /// </summary> public static Hl7.Fhir.Model.Location ParseLocation(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Location existingInstance = null) { Hl7.Fhir.Model.Location result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Location(); string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { var atName = reader.CurrentElementName; // Parse element extension if (atName == "extension") { result.Extension = new List <Hl7.Fhir.Model.Extension>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "extension")) { result.Extension.Add(ExtensionParser.ParseExtension(reader, errors)); } reader.LeaveArray(); } // Parse element language else if (atName == "language") { result.LanguageElement = CodeParser.ParseCode(reader, errors); } // Parse element text else if (atName == "text") { result.Text = NarrativeParser.ParseNarrative(reader, errors); } // Parse element contained else if (atName == "contained") { result.Contained = new List <Hl7.Fhir.Model.Resource>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "contained")) { result.Contained.Add(ParserUtils.ParseContainedResource(reader, errors)); } reader.LeaveArray(); } // Parse element _id else if (atName == "_id") { result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); } // Parse element name else if (atName == "name") { result.NameElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element description else if (atName == "description") { result.DescriptionElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element type else if (atName == "type") { result.Type = new List <Hl7.Fhir.Model.CodeableConcept>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "type")) { result.Type.Add(CodeableConceptParser.ParseCodeableConcept(reader, errors)); } reader.LeaveArray(); } // Parse element telecom else if (atName == "telecom") { result.Telecom = ContactParser.ParseContact(reader, errors); } // Parse element address else if (atName == "address") { result.Address = AddressParser.ParseAddress(reader, errors); } // Parse element position else if (atName == "position") { result.Position = LocationParser.ParseLocationPositionComponent(reader, errors); } // Parse element provider else if (atName == "provider") { result.Provider = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element active else if (atName == "active") { result.ActiveElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element partOf else if (atName == "partOf") { result.PartOf = ResourceReferenceParser.ParseResourceReference(reader, errors); } else { errors.Add(String.Format("Encountered unknown element {0} while parsing {1}", reader.CurrentElementName, currentElementName), reader); reader.SkipSubElementsFor(currentElementName); result = null; } } reader.LeaveElement(); return(result); }
public override IDeepCopyable CopyTo(IDeepCopyable other) { var dest = other as Device; if (dest != null) { base.CopyTo(dest); if (Identifier != null) { dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy()); } if (Type != null) { dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy(); } if (Note != null) { dest.Note = new List <Hl7.Fhir.Model.Annotation>(Note.DeepCopy()); } if (StatusElement != null) { dest.StatusElement = (Code <Hl7.Fhir.Model.Device.DeviceStatus>)StatusElement.DeepCopy(); } if (ManufacturerElement != null) { dest.ManufacturerElement = (Hl7.Fhir.Model.FhirString)ManufacturerElement.DeepCopy(); } if (ModelElement != null) { dest.ModelElement = (Hl7.Fhir.Model.FhirString)ModelElement.DeepCopy(); } if (VersionElement != null) { dest.VersionElement = (Hl7.Fhir.Model.FhirString)VersionElement.DeepCopy(); } if (ManufactureDateElement != null) { dest.ManufactureDateElement = (Hl7.Fhir.Model.FhirDateTime)ManufactureDateElement.DeepCopy(); } if (ExpiryElement != null) { dest.ExpiryElement = (Hl7.Fhir.Model.FhirDateTime)ExpiryElement.DeepCopy(); } if (UdiElement != null) { dest.UdiElement = (Hl7.Fhir.Model.FhirString)UdiElement.DeepCopy(); } if (LotNumberElement != null) { dest.LotNumberElement = (Hl7.Fhir.Model.FhirString)LotNumberElement.DeepCopy(); } if (Owner != null) { dest.Owner = (Hl7.Fhir.Model.ResourceReference)Owner.DeepCopy(); } if (Location != null) { dest.Location = (Hl7.Fhir.Model.ResourceReference)Location.DeepCopy(); } if (Patient != null) { dest.Patient = (Hl7.Fhir.Model.ResourceReference)Patient.DeepCopy(); } if (Contact != null) { dest.Contact = new List <Hl7.Fhir.Model.ContactPoint>(Contact.DeepCopy()); } if (UrlElement != null) { dest.UrlElement = (Hl7.Fhir.Model.FhirUri)UrlElement.DeepCopy(); } return(dest); } else { throw new ArgumentException("Can only copy to an object of the same type", "other"); } }