public static void SerializeNarrative(Hl7.Fhir.Model.Narrative value, IFhirWriter writer, bool summary) { 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 status if(value.StatusElement != null) { writer.WriteStartElement("status"); CodeSerializer.SerializeCode<Hl7.Fhir.Model.Narrative.NarrativeStatus>(value.StatusElement, writer, summary); writer.WriteEndElement(); } // Serialize element div if(value.DivElement != null) writer.WritePrimitiveContents("div", value.DivElement, XmlSerializationHint.XhtmlElement); writer.WriteEndComplexContent(); }
/// <summary> /// Parse Identifier /// </summary> public static Hl7.Fhir.Model.Identifier ParseIdentifier(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Identifier existingInstance = null ) { Hl7.Fhir.Model.Identifier result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Identifier(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element use else if( atName == "use" ) result.UseElement = CodeParser.ParseCode<Hl7.Fhir.Model.Identifier.IdentifierUse>(reader, errors); // Parse element label else if( atName == "label" ) result.LabelElement = FhirStringParser.ParseFhirString(reader, errors); // Parse element system else if( atName == "system" ) result.SystemElement = FhirUriParser.ParseFhirUri(reader, errors); // Parse element key else if( atName == "key" ) result.KeyElement = FhirStringParser.ParseFhirString(reader, errors); // Parse element period else if( atName == "period" ) result.Period = PeriodParser.ParsePeriod(reader, errors); // Parse element assigner else if( atName == "assigner" ) result.Assigner = 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 static void SerializeFhirDecimal(Hl7.Fhir.Model.FhirDecimal value, IFhirWriter writer, bool summary) { writer.WriteStartComplexContent(); // Serialize element value if(value.Value != null) writer.WritePrimitiveContents("value", value, XmlSerializationHint.Attribute); // 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(); } writer.WriteEndComplexContent(); }
private bool ComposeContains(Hl7.Fhir.Model.ValueSet.ValueSetComposeComponent compose, string value) { foreach(var conceptset in compose.Include) { if (conceptset.Code.Contains(value)) return true; } return false; }
/// <summary> /// Parse InterestOfCare /// </summary> public static Hl7.Fhir.Model.InterestOfCare ParseInterestOfCare(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.InterestOfCare existingInstance = null ) { Hl7.Fhir.Model.InterestOfCare result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.InterestOfCare(); 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))); 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; }
/// <summary> /// Parse Quantity /// </summary> public static Hl7.Fhir.Model.Quantity ParseQuantity(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Quantity existingInstance = null ) { Hl7.Fhir.Model.Quantity result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Quantity(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element value else if( atName == "value" ) result.ValueElement = FhirDecimalParser.ParseFhirDecimal(reader, errors); // Parse element comparator else if( atName == "comparator" ) result.ComparatorElement = CodeParser.ParseCode<Hl7.Fhir.Model.Quantity.QuantityCompararator>(reader, errors); // Parse element units else if( atName == "units" ) result.UnitsElement = FhirStringParser.ParseFhirString(reader, errors); // Parse element system else if( atName == "system" ) result.SystemElement = FhirUriParser.ParseFhirUri(reader, errors); // Parse element code else if( atName == "code" ) result.CodeElement = CodeParser.ParseCode(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; }
/// <summary> /// Parse Choice /// </summary> public static Hl7.Fhir.Model.Choice ParseChoice(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Choice existingInstance = null ) { Hl7.Fhir.Model.Choice result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Choice(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element code else if( atName == "code" ) result.CodeElement = CodeParser.ParseCode(reader, errors); // Parse element option else if( atName == "option" ) { result.Option = new List<Hl7.Fhir.Model.Choice.ChoiceOptionComponent>(); reader.EnterArray(); while( ParserUtils.IsAtArrayElement(reader, "option") ) result.Option.Add(ChoiceParser.ParseChoiceOptionComponent(reader, errors)); reader.LeaveArray(); } // Parse element isOrdered else if( atName == "isOrdered" ) result.IsOrderedElement = FhirBooleanParser.ParseFhirBoolean(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; }
/// <summary> /// Parse CodeableConcept /// </summary> public static Hl7.Fhir.Model.CodeableConcept ParseCodeableConcept(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.CodeableConcept existingInstance = null ) { Hl7.Fhir.Model.CodeableConcept result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.CodeableConcept(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element coding else if( atName == "coding" ) { result.Coding = new List<Hl7.Fhir.Model.Coding>(); reader.EnterArray(); while( ParserUtils.IsAtArrayElement(reader, "coding") ) result.Coding.Add(CodingParser.ParseCoding(reader, errors)); reader.LeaveArray(); } // Parse element text else if( atName == "text" ) result.TextElement = FhirStringParser.ParseFhirString(reader, errors); // Parse element primary else if( atName == "primary" ) result.PrimaryElement = IdRefParser.ParseIdRef(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; }
private void HarvestFixedValue(Hl7.Fhir.Model.Profile.ElementDefinitionComponent source, Element target) { target.FixedValue = null; if (source.Fixed != null) target.FixedValue = source.Fixed; if (source.Pattern != null) target.PatternValue = source.Pattern; }
public static void SerializeInterestOfCare(Hl7.Fhir.Model.InterestOfCare value, IFhirWriter writer, bool summary) { writer.WriteStartRootObject("InterestOfCare"); 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(); } writer.WriteEndComplexContent(); writer.WriteEndRootObject(); }
/// <summary> /// Parse Schedule /// </summary> public static Hl7.Fhir.Model.Schedule ParseSchedule(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Schedule existingInstance = null ) { Hl7.Fhir.Model.Schedule result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Schedule(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element event else if( atName == "event" ) { result.Event = new List<Hl7.Fhir.Model.Period>(); reader.EnterArray(); while( ParserUtils.IsAtArrayElement(reader, "event") ) result.Event.Add(PeriodParser.ParsePeriod(reader, errors)); reader.LeaveArray(); } // Parse element repeat else if( atName == "repeat" ) result.Repeat = ScheduleParser.ParseScheduleRepeatComponent(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 static void SerializeChoice(Hl7.Fhir.Model.Choice value, IFhirWriter writer, bool summary) { 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 code if(value.CodeElement != null) { writer.WriteStartElement("code"); CodeSerializer.SerializeCode(value.CodeElement, writer, summary); writer.WriteEndElement(); } // Serialize element option if(value.Option != null && value.Option.Count > 0) { writer.WriteStartArrayElement("option"); foreach(var item in value.Option) { writer.WriteStartArrayMember("option"); ChoiceSerializer.SerializeChoiceOptionComponent(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element isOrdered if(value.IsOrderedElement != null) { writer.WriteStartElement("isOrdered"); FhirBooleanSerializer.SerializeFhirBoolean(value.IsOrderedElement, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
/// <summary> /// Parse ElementComponent /// </summary> public static Hl7.Fhir.Model.Profile.ElementComponent ParseElementComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Profile.ElementComponent existingInstance = null ) { Hl7.Fhir.Model.Profile.ElementComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Profile.ElementComponent(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element path else if( atName == "path" ) result.PathElement = FhirStringParser.ParseFhirString(reader, errors); // Parse element name else if( atName == "name" ) result.NameElement = FhirStringParser.ParseFhirString(reader, errors); // Parse element slicing else if( atName == "slicing" ) result.Slicing = ProfileParser.ParseElementSlicingComponent(reader, errors); // Parse element definition else if( atName == "definition" ) result.Definition = ProfileParser.ParseElementDefinitionComponent(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 static void SerializeCodeableConcept(Hl7.Fhir.Model.CodeableConcept value, IFhirWriter writer, bool summary) { 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 coding if(value.Coding != null && value.Coding.Count > 0) { writer.WriteStartArrayElement("coding"); foreach(var item in value.Coding) { writer.WriteStartArrayMember("coding"); CodingSerializer.SerializeCoding(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element text if(value.TextElement != null) { writer.WriteStartElement("text"); FhirStringSerializer.SerializeFhirString(value.TextElement, writer, summary); writer.WriteEndElement(); } // Serialize element primary if(value.PrimaryElement != null) { writer.WriteStartElement("primary"); IdRefSerializer.SerializeIdRef(value.PrimaryElement, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
private void HarvestConstraints(Hl7.Fhir.Model.Profile.ElementDefinitionComponent source, Element target) { if (source.Constraint == null) return; foreach (Hl7.Fhir.Model.Profile.ElementDefinitionConstraintComponent c in source.Constraint) { Constraint constraint = new Constraint(); constraint.Name = c.Name ?? c.Key; constraint.XPath = c.Xpath; constraint.HumanReadable = c.Human; target.Constraints.Add(constraint); } }
/// <summary> /// Parse ResourceReference /// </summary> public static Hl7.Fhir.Model.ResourceReference ParseResourceReference(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.ResourceReference existingInstance = null ) { Hl7.Fhir.Model.ResourceReference result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.ResourceReference(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element type else if( atName == "type" ) result.TypeElement = CodeParser.ParseCode(reader, errors); // Parse element reference else if( atName == "reference" ) result.ReferenceElement = FhirStringParser.ParseFhirString(reader, errors); // Parse element display else if( atName == "display" ) result.DisplayElement = FhirStringParser.ParseFhirString(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; }
/// <summary> /// Parse AnimalComponent /// </summary> public static Hl7.Fhir.Model.Patient.AnimalComponent ParseAnimalComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Patient.AnimalComponent existingInstance = null ) { Hl7.Fhir.Model.Patient.AnimalComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Patient.AnimalComponent(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element species else if( atName == "species" ) result.Species = CodeableConceptParser.ParseCodeableConcept(reader, errors); // Parse element breed else if( atName == "breed" ) result.Breed = CodeableConceptParser.ParseCodeableConcept(reader, errors); // Parse element genderStatus else if( atName == "genderStatus" ) result.GenderStatus = CodeableConceptParser.ParseCodeableConcept(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 static void SerializeExtension(Hl7.Fhir.Model.Extension value, IFhirWriter writer, bool summary) { 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 url if(value.UrlElement != null) { writer.WriteStartElement("url"); FhirUriSerializer.SerializeFhirUri(value.UrlElement, writer, summary); writer.WriteEndElement(); } // Serialize element isModifier if(value.IsModifierElement != null) { writer.WriteStartElement("isModifier"); FhirBooleanSerializer.SerializeFhirBoolean(value.IsModifierElement, writer, summary); writer.WriteEndElement(); } // Serialize element value if(value.Value != null) { writer.WriteStartElement( SerializationUtil.BuildPolymorphicName("value", value.Value.GetType()) ); FhirSerializer.SerializeElement(value.Value, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
public static void SerializeAnimalComponent(Hl7.Fhir.Model.Patient.AnimalComponent value, IFhirWriter writer, bool summary) { 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 species if(value.Species != null) { writer.WriteStartElement("species"); CodeableConceptSerializer.SerializeCodeableConcept(value.Species, writer, summary); writer.WriteEndElement(); } // Serialize element breed if(value.Breed != null) { writer.WriteStartElement("breed"); CodeableConceptSerializer.SerializeCodeableConcept(value.Breed, writer, summary); writer.WriteEndElement(); } // Serialize element genderStatus if(value.GenderStatus != null) { writer.WriteStartElement("genderStatus"); CodeableConceptSerializer.SerializeCodeableConcept(value.GenderStatus, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
public static void SerializeCoding(Hl7.Fhir.Model.Coding value, IFhirWriter writer, bool summary) { 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 system if(value.SystemElement != null) { writer.WriteStartElement("system"); FhirUriSerializer.SerializeFhirUri(value.SystemElement, writer, summary); writer.WriteEndElement(); } // Serialize element code if(value.CodeElement != null) { writer.WriteStartElement("code"); CodeSerializer.SerializeCode(value.CodeElement, writer, summary); writer.WriteEndElement(); } // Serialize element display if(value.DisplayElement != null) { writer.WriteStartElement("display"); FhirStringSerializer.SerializeFhirString(value.DisplayElement, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
public static void SerializeSchedule(Hl7.Fhir.Model.Schedule value, IFhirWriter writer, bool summary) { 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 event if(value.Event != null && value.Event.Count > 0) { writer.WriteStartArrayElement("event"); foreach(var item in value.Event) { writer.WriteStartArrayMember("event"); PeriodSerializer.SerializePeriod(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element repeat if(value.Repeat != null) { writer.WriteStartElement("repeat"); ScheduleSerializer.SerializeScheduleRepeatComponent(value.Repeat, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
/// <summary> /// Parse Range /// </summary> public static Hl7.Fhir.Model.Range ParseRange(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Range existingInstance = null ) { Hl7.Fhir.Model.Range result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Range(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element low else if( atName == "low" ) result.Low = QuantityParser.ParseQuantity(reader, errors); // Parse element high else if( atName == "high" ) result.High = QuantityParser.ParseQuantity(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; }
/// <summary> /// Parse Narrative /// </summary> public static Hl7.Fhir.Model.Narrative ParseNarrative(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Narrative existingInstance = null ) { Hl7.Fhir.Model.Narrative result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Narrative(); 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 _id else if( atName == "_id" ) result.LocalIdElement = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); // Parse element status else if( atName == "status" ) result.StatusElement = CodeParser.ParseCode<Hl7.Fhir.Model.Narrative.NarrativeStatus>(reader, errors); // Parse element div else if( atName == "div" ) result.DivElement = XHtml.Parse(reader.ReadPrimitiveContents(typeof(XHtml))); 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; }
private void HarvestBinding(Hl7.Fhir.Model.Profile.ElementDefinitionComponent source, Element target) { if (source.Binding != null) { var reference = source.Binding.Reference; if (reference is Hl7.Fhir.Model.ResourceReference) { // todo: dit deel is nog niet getest. target.BindingUri = (reference as Hl7.Fhir.Model.ResourceReference).Url.ToString(); } else if (reference is Hl7.Fhir.Model.FhirUri) { target.BindingUri = (reference as Hl7.Fhir.Model.FhirUri).Value; } } }
public static void SerializeRange(Hl7.Fhir.Model.Range value, IFhirWriter writer, bool summary) { 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 low if(value.Low != null) { writer.WriteStartElement("low"); QuantitySerializer.SerializeQuantity(value.Low, writer, summary); writer.WriteEndElement(); } // Serialize element high if(value.High != null) { writer.WriteStartElement("high"); QuantitySerializer.SerializeQuantity(value.High, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
public static void SerializeRatio(Hl7.Fhir.Model.Ratio value, IFhirWriter writer, bool summary) { 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 numerator if(value.Numerator != null) { writer.WriteStartElement("numerator"); QuantitySerializer.SerializeQuantity(value.Numerator, writer, summary); writer.WriteEndElement(); } // Serialize element denominator if(value.Denominator != null) { writer.WriteStartElement("denominator"); QuantitySerializer.SerializeQuantity(value.Denominator, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
public static void SerializeImmunization(Hl7.Fhir.Model.Immunization value, IFhirWriter writer, bool summary) { writer.WriteStartRootObject("Immunization"); 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 date if(value.DateElement != null && !summary) { writer.WriteStartElement("date"); FhirDateTimeSerializer.SerializeFhirDateTime(value.DateElement, writer, summary); writer.WriteEndElement(); } // Serialize element vaccineType if(value.VaccineType != null && !summary) { writer.WriteStartElement("vaccineType"); CodeableConceptSerializer.SerializeCodeableConcept(value.VaccineType, writer, summary); writer.WriteEndElement(); } // Serialize element subject if(value.Subject != null && !summary) { writer.WriteStartElement("subject"); ResourceReferenceSerializer.SerializeResourceReference(value.Subject, writer, summary); writer.WriteEndElement(); } // Serialize element refusedIndicator if(value.RefusedIndicatorElement != null && !summary) { writer.WriteStartElement("refusedIndicator"); FhirBooleanSerializer.SerializeFhirBoolean(value.RefusedIndicatorElement, writer, summary); writer.WriteEndElement(); } // Serialize element reported if(value.ReportedElement != null && !summary) { writer.WriteStartElement("reported"); FhirBooleanSerializer.SerializeFhirBoolean(value.ReportedElement, writer, summary); writer.WriteEndElement(); } // Serialize element performer if(value.Performer != null && !summary) { writer.WriteStartElement("performer"); ResourceReferenceSerializer.SerializeResourceReference(value.Performer, writer, summary); writer.WriteEndElement(); } // Serialize element requester if(value.Requester != null && !summary) { writer.WriteStartElement("requester"); ResourceReferenceSerializer.SerializeResourceReference(value.Requester, writer, summary); writer.WriteEndElement(); } // Serialize element manufacturer if(value.Manufacturer != null && !summary) { writer.WriteStartElement("manufacturer"); ResourceReferenceSerializer.SerializeResourceReference(value.Manufacturer, writer, summary); writer.WriteEndElement(); } // Serialize element location if(value.Location != null && !summary) { writer.WriteStartElement("location"); ResourceReferenceSerializer.SerializeResourceReference(value.Location, writer, summary); writer.WriteEndElement(); } // Serialize element lotNumber if(value.LotNumberElement != null && !summary) { writer.WriteStartElement("lotNumber"); FhirStringSerializer.SerializeFhirString(value.LotNumberElement, writer, summary); writer.WriteEndElement(); } // Serialize element expirationDate if(value.ExpirationDateElement != null && !summary) { writer.WriteStartElement("expirationDate"); DateSerializer.SerializeDate(value.ExpirationDateElement, writer, summary); writer.WriteEndElement(); } // Serialize element site if(value.Site != null && !summary) { writer.WriteStartElement("site"); CodeableConceptSerializer.SerializeCodeableConcept(value.Site, writer, summary); writer.WriteEndElement(); } // Serialize element route if(value.Route != null && !summary) { writer.WriteStartElement("route"); CodeableConceptSerializer.SerializeCodeableConcept(value.Route, writer, summary); writer.WriteEndElement(); } // Serialize element doseQuantity if(value.DoseQuantity != null && !summary) { writer.WriteStartElement("doseQuantity"); QuantitySerializer.SerializeQuantity(value.DoseQuantity, writer, summary); writer.WriteEndElement(); } // Serialize element explanation if(value.Explanation != null && !summary) { writer.WriteStartElement("explanation"); ImmunizationSerializer.SerializeImmunizationExplanationComponent(value.Explanation, writer, summary); writer.WriteEndElement(); } // Serialize element reaction if(value.Reaction != null && !summary && value.Reaction.Count > 0) { writer.WriteStartArrayElement("reaction"); foreach(var item in value.Reaction) { writer.WriteStartArrayMember("reaction"); ImmunizationSerializer.SerializeImmunizationReactionComponent(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element vaccinationProtocol if(value.VaccinationProtocol != null && !summary) { writer.WriteStartElement("vaccinationProtocol"); ImmunizationSerializer.SerializeImmunizationVaccinationProtocolComponent(value.VaccinationProtocol, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); writer.WriteEndRootObject(); }
public static void SerializeImmunizationReactionComponent(Hl7.Fhir.Model.Immunization.ImmunizationReactionComponent value, IFhirWriter writer, bool summary) { 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 date if(value.DateElement != null) { writer.WriteStartElement("date"); FhirDateTimeSerializer.SerializeFhirDateTime(value.DateElement, writer, summary); writer.WriteEndElement(); } // Serialize element detail if(value.Detail != null) { writer.WriteStartElement("detail"); ResourceReferenceSerializer.SerializeResourceReference(value.Detail, writer, summary); writer.WriteEndElement(); } // Serialize element reported if(value.ReportedElement != null) { writer.WriteStartElement("reported"); FhirBooleanSerializer.SerializeFhirBoolean(value.ReportedElement, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
public static void SerializeImmunizationVaccinationProtocolComponent(Hl7.Fhir.Model.Immunization.ImmunizationVaccinationProtocolComponent value, IFhirWriter writer, bool summary) { 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 doseSequence if(value.DoseSequenceElement != null) { writer.WriteStartElement("doseSequence"); IntegerSerializer.SerializeInteger(value.DoseSequenceElement, writer, summary); writer.WriteEndElement(); } // Serialize element description if(value.DescriptionElement != null) { writer.WriteStartElement("description"); FhirStringSerializer.SerializeFhirString(value.DescriptionElement, writer, summary); writer.WriteEndElement(); } // Serialize element authority if(value.Authority != null) { writer.WriteStartElement("authority"); ResourceReferenceSerializer.SerializeResourceReference(value.Authority, writer, summary); writer.WriteEndElement(); } // Serialize element series if(value.SeriesElement != null) { writer.WriteStartElement("series"); FhirStringSerializer.SerializeFhirString(value.SeriesElement, writer, summary); writer.WriteEndElement(); } // Serialize element seriesDoses if(value.SeriesDosesElement != null) { writer.WriteStartElement("seriesDoses"); IntegerSerializer.SerializeInteger(value.SeriesDosesElement, writer, summary); writer.WriteEndElement(); } // Serialize element doseTarget if(value.DoseTarget != null) { writer.WriteStartElement("doseTarget"); CodeableConceptSerializer.SerializeCodeableConcept(value.DoseTarget, writer, summary); writer.WriteEndElement(); } // Serialize element doseStatus if(value.DoseStatus != null) { writer.WriteStartElement("doseStatus"); CodeableConceptSerializer.SerializeCodeableConcept(value.DoseStatus, writer, summary); writer.WriteEndElement(); } // Serialize element doseStatusReason if(value.DoseStatusReason != null) { writer.WriteStartElement("doseStatusReason"); CodeableConceptSerializer.SerializeCodeableConcept(value.DoseStatusReason, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
public static void SerializeImmunizationExplanationComponent(Hl7.Fhir.Model.Immunization.ImmunizationExplanationComponent value, IFhirWriter writer, bool summary) { 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 reason if(value.Reason != null && value.Reason.Count > 0) { writer.WriteStartArrayElement("reason"); foreach(var item in value.Reason) { writer.WriteStartArrayMember("reason"); CodeableConceptSerializer.SerializeCodeableConcept(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element refusalReason if(value.RefusalReason != null && value.RefusalReason.Count > 0) { writer.WriteStartArrayElement("refusalReason"); foreach(var item in value.RefusalReason) { writer.WriteStartArrayMember("refusalReason"); CodeableConceptSerializer.SerializeCodeableConcept(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } writer.WriteEndComplexContent(); }