/// <summary> /// Parse ElementSlicingComponent /// </summary> public static Hl7.Fhir.Model.Profile.ElementSlicingComponent ParseElementSlicingComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Profile.ElementSlicingComponent existingInstance = null) { Hl7.Fhir.Model.Profile.ElementSlicingComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Profile.ElementSlicingComponent(); 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 discriminator else if (atName == "discriminator") { result.DiscriminatorElement = IdParser.ParseId(reader, errors); } // Parse element ordered else if (atName == "ordered") { result.OrderedElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element rules else if (atName == "rules") { result.RulesElement = CodeParser.ParseCode <Hl7.Fhir.Model.Profile.SlicingRules>(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 MessageResponseComponent /// </summary> public static Hl7.Fhir.Model.Message.MessageResponseComponent ParseMessageResponseComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Message.MessageResponseComponent existingInstance = null) { Hl7.Fhir.Model.Message.MessageResponseComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Message.MessageResponseComponent(); 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 identifier else if (atName == "identifier") { result.IdentifierElement = IdParser.ParseId(reader, errors); } // Parse element code else if (atName == "code") { result.CodeElement = CodeParser.ParseCode <Hl7.Fhir.Model.Message.ResponseCode>(reader, errors); } // Parse element details else if (atName == "details") { result.Details = 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); }
/// <summary> /// Parse Conformance /// </summary> public static Hl7.Fhir.Model.Conformance ParseConformance(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Conformance existingInstance = null) { Hl7.Fhir.Model.Conformance result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Conformance(); 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 identifier else if (atName == "identifier") { result.IdentifierElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element version else if (atName == "version") { result.VersionElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element name else if (atName == "name") { result.NameElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element publisher else if (atName == "publisher") { result.PublisherElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element telecom else if (atName == "telecom") { result.Telecom = new List <Hl7.Fhir.Model.Contact>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "telecom")) { result.Telecom.Add(ContactParser.ParseContact(reader, errors)); } reader.LeaveArray(); } // Parse element description else if (atName == "description") { result.DescriptionElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element status else if (atName == "status") { result.StatusElement = CodeParser.ParseCode <Hl7.Fhir.Model.Conformance.ConformanceStatementStatus>(reader, errors); } // Parse element experimental else if (atName == "experimental") { result.ExperimentalElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element date else if (atName == "date") { result.DateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element software else if (atName == "software") { result.Software = ConformanceParser.ParseConformanceSoftwareComponent(reader, errors); } // Parse element implementation else if (atName == "implementation") { result.Implementation = ConformanceParser.ParseConformanceImplementationComponent(reader, errors); } // Parse element fhirVersion else if (atName == "fhirVersion") { result.FhirVersionElement = IdParser.ParseId(reader, errors); } // Parse element acceptUnknown else if (atName == "acceptUnknown") { result.AcceptUnknownElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element format else if (atName == "format") { result.FormatElement = new List <Hl7.Fhir.Model.Code>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "format")) { result.FormatElement.Add(CodeParser.ParseCode(reader, errors)); } reader.LeaveArray(); } // Parse element rest else if (atName == "rest") { result.Rest = new List <Hl7.Fhir.Model.Conformance.ConformanceRestComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "rest")) { result.Rest.Add(ConformanceParser.ParseConformanceRestComponent(reader, errors)); } reader.LeaveArray(); } // Parse element messaging else if (atName == "messaging") { result.Messaging = new List <Hl7.Fhir.Model.Conformance.ConformanceMessagingComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "messaging")) { result.Messaging.Add(ConformanceParser.ParseConformanceMessagingComponent(reader, errors)); } reader.LeaveArray(); } // Parse element document else if (atName == "document") { result.Document = new List <Hl7.Fhir.Model.Conformance.ConformanceDocumentComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "document")) { result.Document.Add(ConformanceParser.ParseConformanceDocumentComponent(reader, errors)); } reader.LeaveArray(); } 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 Message /// </summary> public static Hl7.Fhir.Model.Message ParseMessage(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Message existingInstance = null) { Hl7.Fhir.Model.Message result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Message(); 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 identifier else if (atName == "identifier") { result.IdentifierElement = IdParser.ParseId(reader, errors); } // Parse element timestamp else if (atName == "timestamp") { result.TimestampElement = InstantParser.ParseInstant(reader, errors); } // Parse element event else if (atName == "event") { result.EventElement = CodeParser.ParseCode(reader, errors); } // Parse element response else if (atName == "response") { result.Response = MessageParser.ParseMessageResponseComponent(reader, errors); } // Parse element source else if (atName == "source") { result.Source = MessageParser.ParseMessageSourceComponent(reader, errors); } // Parse element destination else if (atName == "destination") { result.Destination = MessageParser.ParseMessageDestinationComponent(reader, errors); } // Parse element enterer else if (atName == "enterer") { result.Enterer = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element author else if (atName == "author") { result.Author = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element receiver else if (atName == "receiver") { result.Receiver = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element responsible else if (atName == "responsible") { result.Responsible = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element effective else if (atName == "effective") { result.Effective = PeriodParser.ParsePeriod(reader, errors); } // Parse element reason else if (atName == "reason") { result.Reason = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element data else if (atName == "data") { result.Data = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "data")) { result.Data.Add(ResourceReferenceParser.ParseResourceReference(reader, errors)); } reader.LeaveArray(); } 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 Document /// </summary> public static Hl7.Fhir.Model.Document ParseDocument(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Document existingInstance = null) { Hl7.Fhir.Model.Document result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Document(); 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 identifier else if (atName == "identifier") { result.Identifier = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element versionIdentifier else if (atName == "versionIdentifier") { result.VersionIdentifier = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element created else if (atName == "created") { result.CreatedElement = InstantParser.ParseInstant(reader, errors); } // Parse element type else if (atName == "type") { result.Type = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element subtype else if (atName == "subtype") { result.Subtype = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element title else if (atName == "title") { result.TitleElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element status else if (atName == "status") { result.StatusElement = CodeParser.ParseCode <Hl7.Fhir.Model.Document.DocumentStatus>(reader, errors); } // Parse element confidentiality else if (atName == "confidentiality") { result.Confidentiality = CodingParser.ParseCoding(reader, errors); } // Parse element subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element author else if (atName == "author") { result.Author = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "author")) { result.Author.Add(ResourceReferenceParser.ParseResourceReference(reader, errors)); } reader.LeaveArray(); } // Parse element attester else if (atName == "attester") { result.Attester = new List <Hl7.Fhir.Model.Document.DocumentAttesterComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "attester")) { result.Attester.Add(DocumentParser.ParseDocumentAttesterComponent(reader, errors)); } reader.LeaveArray(); } // Parse element custodian else if (atName == "custodian") { result.Custodian = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element event else if (atName == "event") { result.Event = DocumentParser.ParseDocumentEventComponent(reader, errors); } // Parse element encounter else if (atName == "encounter") { result.Encounter = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element replaces else if (atName == "replaces") { result.ReplacesElement = IdParser.ParseId(reader, errors); } // Parse element provenance else if (atName == "provenance") { result.Provenance = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "provenance")) { result.Provenance.Add(ResourceReferenceParser.ParseResourceReference(reader, errors)); } reader.LeaveArray(); } // Parse element stylesheet else if (atName == "stylesheet") { result.Stylesheet = AttachmentParser.ParseAttachment(reader, errors); } // Parse element representation else if (atName == "representation") { result.Representation = AttachmentParser.ParseAttachment(reader, errors); } // Parse element section else if (atName == "section") { result.Section = new List <Hl7.Fhir.Model.Document.SectionComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "section")) { result.Section.Add(DocumentParser.ParseSectionComponent(reader, errors)); } reader.LeaveArray(); } 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 ElementDefinitionConstraintComponent /// </summary> public static Hl7.Fhir.Model.Profile.ElementDefinitionConstraintComponent ParseElementDefinitionConstraintComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Profile.ElementDefinitionConstraintComponent existingInstance = null) { Hl7.Fhir.Model.Profile.ElementDefinitionConstraintComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Profile.ElementDefinitionConstraintComponent(); 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 key else if (atName == "key") { result.KeyElement = IdParser.ParseId(reader, errors); } // Parse element name else if (atName == "name") { result.NameElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element severity else if (atName == "severity") { result.SeverityElement = CodeParser.ParseCode <Hl7.Fhir.Model.Profile.ConstraintSeverity>(reader, errors); } // Parse element human else if (atName == "human") { result.HumanElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element xpath else if (atName == "xpath") { result.XpathElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element ocl else if (atName == "ocl") { result.OclElement = 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 ElementDefinitionComponent /// </summary> public static Hl7.Fhir.Model.Profile.ElementDefinitionComponent ParseElementDefinitionComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Profile.ElementDefinitionComponent existingInstance = null) { Hl7.Fhir.Model.Profile.ElementDefinitionComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Profile.ElementDefinitionComponent(); 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 short else if (atName == "short") { result.ShortElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element formal else if (atName == "formal") { result.FormalElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element comments else if (atName == "comments") { result.CommentsElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element requirements else if (atName == "requirements") { result.RequirementsElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element synonym else if (atName == "synonym") { result.SynonymElement = new List <Hl7.Fhir.Model.FhirString>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "synonym")) { result.SynonymElement.Add(FhirStringParser.ParseFhirString(reader, errors)); } reader.LeaveArray(); } // Parse element min else if (atName == "min") { result.MinElement = IntegerParser.ParseInteger(reader, errors); } // Parse element max else if (atName == "max") { result.MaxElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element type else if (atName == "type") { result.Type = new List <Hl7.Fhir.Model.Profile.TypeRefComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "type")) { result.Type.Add(ProfileParser.ParseTypeRefComponent(reader, errors)); } reader.LeaveArray(); } // Parse element nameReference else if (atName == "nameReference") { result.NameReferenceElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element value else if (atName.StartsWith("value")) { result.Value = FhirParser.ParseElement(reader, errors); } // Parse element example else if (atName.StartsWith("example")) { result.Example = FhirParser.ParseElement(reader, errors); } // Parse element maxLength else if (atName == "maxLength") { result.MaxLengthElement = IntegerParser.ParseInteger(reader, errors); } // Parse element condition else if (atName == "condition") { result.ConditionElement = new List <Hl7.Fhir.Model.Id>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "condition")) { result.ConditionElement.Add(IdParser.ParseId(reader, errors)); } reader.LeaveArray(); } // Parse element constraint else if (atName == "constraint") { result.Constraint = new List <Hl7.Fhir.Model.Profile.ElementDefinitionConstraintComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "constraint")) { result.Constraint.Add(ProfileParser.ParseElementDefinitionConstraintComponent(reader, errors)); } reader.LeaveArray(); } // Parse element mustSupport else if (atName == "mustSupport") { result.MustSupportElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element isModifier else if (atName == "isModifier") { result.IsModifierElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element binding else if (atName == "binding") { result.BindingElement = FhirUriParser.ParseFhirUri(reader, errors); } // Parse element mapping else if (atName == "mapping") { result.Mapping = new List <Hl7.Fhir.Model.Profile.ElementDefinitionMappingComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "mapping")) { result.Mapping.Add(ProfileParser.ParseElementDefinitionMappingComponent(reader, errors)); } reader.LeaveArray(); } 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 ImmunizationProfileRecommendationSupportingAdverseEventReportComponent /// </summary> public static Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationSupportingAdverseEventReportComponent ParseImmunizationProfileRecommendationSupportingAdverseEventReportComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationSupportingAdverseEventReportComponent existingInstance = null) { Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationSupportingAdverseEventReportComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationSupportingAdverseEventReportComponent(); 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 identifier else if (atName == "identifier") { result.IdentifierElement = new List <Hl7.Fhir.Model.Id>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "identifier")) { result.IdentifierElement.Add(IdParser.ParseId(reader, errors)); } reader.LeaveArray(); } // Parse element reportType else if (atName == "reportType") { result.ReportType = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element reportDate else if (atName == "reportDate") { result.ReportDateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element text else if (atName == "text") { result.TextElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element reaction else if (atName == "reaction") { result.Reaction = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "reaction")) { result.Reaction.Add(ResourceReferenceParser.ParseResourceReference(reader, errors)); } reader.LeaveArray(); } 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); }
internal static Element ParseElement(IFhirReader reader, ErrorList errors) { try { reader.MoveToContent(); if (ParserUtils.IsAtFhirElementEndingWith(reader, "Age")) { return(AgeParser.ParseAge(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Count")) { return(CountParser.ParseCount(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Distance")) { return(DistanceParser.ParseDistance(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Duration")) { return(DurationParser.ParseDuration(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Money")) { return(MoneyParser.ParseMoney(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Address")) { return(AddressParser.ParseAddress(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Attachment")) { return(AttachmentParser.ParseAttachment(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Choice")) { return(ChoiceParser.ParseChoice(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "CodeableConcept")) { return(CodeableConceptParser.ParseCodeableConcept(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Coding")) { return(CodingParser.ParseCoding(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Contact")) { return(ContactParser.ParseContact(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Extension")) { return(ExtensionParser.ParseExtension(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "HumanName")) { return(HumanNameParser.ParseHumanName(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Identifier")) { return(IdentifierParser.ParseIdentifier(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Narrative")) { return(NarrativeParser.ParseNarrative(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Period")) { return(PeriodParser.ParsePeriod(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Quantity")) { return(QuantityParser.ParseQuantity(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Range")) { return(RangeParser.ParseRange(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Ratio")) { return(RatioParser.ParseRatio(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Resource")) { return(ResourceReferenceParser.ParseResourceReference(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "SampledData")) { return(SampledDataParser.ParseSampledData(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Schedule")) { return(ScheduleParser.ParseSchedule(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Base64Binary")) { return(Base64BinaryParser.ParseBase64Binary(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Boolean")) { return(FhirBooleanParser.ParseFhirBoolean(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Code")) { return(CodeParser.ParseCode(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Date")) { return(DateParser.ParseDate(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "DateTime")) { return(FhirDateTimeParser.ParseFhirDateTime(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Decimal")) { return(FhirDecimalParser.ParseFhirDecimal(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Id")) { return(IdParser.ParseId(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Idref")) { return(IdRefParser.ParseIdRef(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Instant")) { return(InstantParser.ParseInstant(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Integer")) { return(IntegerParser.ParseInteger(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Oid")) { return(OidParser.ParseOid(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "String")) { return(FhirStringParser.ParseFhirString(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Uri")) { return(FhirUriParser.ParseFhirUri(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Uuid")) { return(UuidParser.ParseUuid(reader, errors)); } else if (ParserUtils.IsAtFhirElementEndingWith(reader, "Xhtml")) { return(XHtmlParser.ParseXHtml(reader, errors)); } else { errors.Add(String.Format("Encountered unrecognized datatype '{0}'", reader.CurrentElementName), reader); reader.SkipSubElementsFor(reader.CurrentElementName); return(null); } } catch (Exception xe) { errors.Add(xe.Message, reader); return(null); } }