/// <summary> /// Parse ProtocolStepActivityComponentComponent /// </summary> public static Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponentComponent ParseProtocolStepActivityComponentComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponentComponent existingInstance = null) { Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponentComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponentComponent(); try { string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { // Parse element extension if (ParserUtils.IsAtFhirElement(reader, "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 (ParserUtils.IsAtFhirElement(reader, "_id")) { result.LocalId = Id.Parse(reader.ReadPrimitiveContents("id")); } // Parse element sequence else if (ParserUtils.IsAtFhirElement(reader, "sequence")) { result.Sequence = IntegerParser.ParseInteger(reader, errors); } // Parse element activity else if (ParserUtils.IsAtFhirElement(reader, "activity")) { result.Activity = 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(); } catch (Exception ex) { errors.Add(ex.Message, reader); } return(result); }
/// <summary> /// Parse Test /// </summary> public static Hl7.Fhir.Model.Test ParseTest(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Test existingInstance = null) { Hl7.Fhir.Model.Test result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Test(); try { string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { // Parse element extension if (ParserUtils.IsAtFhirElement(reader, "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 (ParserUtils.IsAtFhirElement(reader, "language")) { result.Language = CodeParser.ParseCode(reader, errors); } // Parse element text else if (ParserUtils.IsAtFhirElement(reader, "text")) { result.Text = NarrativeParser.ParseNarrative(reader, errors); } // Parse element contained else if (ParserUtils.IsAtFhirElement(reader, "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 (ParserUtils.IsAtFhirElement(reader, "_id")) { result.LocalId = Id.Parse(reader.ReadPrimitiveContents("id")); } // Parse element stringErr else if (ParserUtils.IsAtFhirElement(reader, "stringErr")) { result.StringErr = new List <Hl7.Fhir.Model.FhirString>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "stringErr")) { result.StringErr.Add(FhirStringParser.ParseFhirString(reader, errors)); } reader.LeaveArray(); } // Parse element stringCorr else if (ParserUtils.IsAtFhirElement(reader, "stringCorr")) { result.StringCorr = new List <Hl7.Fhir.Model.FhirString>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "stringCorr")) { result.StringCorr.Add(FhirStringParser.ParseFhirString(reader, errors)); } reader.LeaveArray(); } // Parse element booleanErr else if (ParserUtils.IsAtFhirElement(reader, "booleanErr")) { result.BooleanErr = new List <Hl7.Fhir.Model.FhirBoolean>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "booleanErr")) { result.BooleanErr.Add(FhirBooleanParser.ParseFhirBoolean(reader, errors)); } reader.LeaveArray(); } // Parse element booleanCorr else if (ParserUtils.IsAtFhirElement(reader, "booleanCorr")) { result.BooleanCorr = new List <Hl7.Fhir.Model.FhirBoolean>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "booleanCorr")) { result.BooleanCorr.Add(FhirBooleanParser.ParseFhirBoolean(reader, errors)); } reader.LeaveArray(); } // Parse element integerErr else if (ParserUtils.IsAtFhirElement(reader, "integerErr")) { result.IntegerErr = new List <Hl7.Fhir.Model.Integer>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "integerErr")) { result.IntegerErr.Add(IntegerParser.ParseInteger(reader, errors)); } reader.LeaveArray(); } // Parse element integerCorr else if (ParserUtils.IsAtFhirElement(reader, "integerCorr")) { result.IntegerCorr = new List <Hl7.Fhir.Model.Integer>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "integerCorr")) { result.IntegerCorr.Add(IntegerParser.ParseInteger(reader, errors)); } reader.LeaveArray(); } // Parse element decimalErr else if (ParserUtils.IsAtFhirElement(reader, "decimalErr")) { result.DecimalErr = new List <Hl7.Fhir.Model.FhirDecimal>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "decimalErr")) { result.DecimalErr.Add(FhirDecimalParser.ParseFhirDecimal(reader, errors)); } reader.LeaveArray(); } // Parse element decimalCorr else if (ParserUtils.IsAtFhirElement(reader, "decimalCorr")) { result.DecimalCorr = new List <Hl7.Fhir.Model.FhirDecimal>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "decimalCorr")) { result.DecimalCorr.Add(FhirDecimalParser.ParseFhirDecimal(reader, errors)); } reader.LeaveArray(); } // Parse element b64Err else if (ParserUtils.IsAtFhirElement(reader, "b64Err")) { result.B64Err = new List <Hl7.Fhir.Model.Base64Binary>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "b64Err")) { result.B64Err.Add(Base64BinaryParser.ParseBase64Binary(reader, errors)); } reader.LeaveArray(); } // Parse element b64Corr else if (ParserUtils.IsAtFhirElement(reader, "b64Corr")) { result.B64Corr = new List <Hl7.Fhir.Model.Base64Binary>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "b64Corr")) { result.B64Corr.Add(Base64BinaryParser.ParseBase64Binary(reader, errors)); } reader.LeaveArray(); } // Parse element instantErr else if (ParserUtils.IsAtFhirElement(reader, "instantErr")) { result.InstantErr = new List <Hl7.Fhir.Model.Instant>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "instantErr")) { result.InstantErr.Add(InstantParser.ParseInstant(reader, errors)); } reader.LeaveArray(); } // Parse element instantCorr else if (ParserUtils.IsAtFhirElement(reader, "instantCorr")) { result.InstantCorr = new List <Hl7.Fhir.Model.Instant>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "instantCorr")) { result.InstantCorr.Add(InstantParser.ParseInstant(reader, errors)); } reader.LeaveArray(); } // Parse element uriErr else if (ParserUtils.IsAtFhirElement(reader, "uriErr")) { result.UriErr = new List <Hl7.Fhir.Model.FhirUri>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "uriErr")) { result.UriErr.Add(FhirUriParser.ParseFhirUri(reader, errors)); } reader.LeaveArray(); } // Parse element uriCorr else if (ParserUtils.IsAtFhirElement(reader, "uriCorr")) { result.UriCorr = new List <Hl7.Fhir.Model.FhirUri>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "uriCorr")) { result.UriCorr.Add(FhirUriParser.ParseFhirUri(reader, errors)); } reader.LeaveArray(); } // Parse element idrefSingle else if (ParserUtils.IsAtFhirElement(reader, "idrefSingle")) { result.IdrefSingle = 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(); } catch (Exception ex) { errors.Add(ex.Message, reader); } return(result); }
/// <summary> /// Parse ProtocolStepComponent /// </summary> public static Hl7.Fhir.Model.Protocol.ProtocolStepComponent ParseProtocolStepComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Protocol.ProtocolStepComponent existingInstance = null) { Hl7.Fhir.Model.Protocol.ProtocolStepComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Protocol.ProtocolStepComponent(); try { string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { // Parse element extension if (ParserUtils.IsAtFhirElement(reader, "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 (ParserUtils.IsAtFhirElement(reader, "_id")) { result.LocalId = Id.Parse(reader.ReadPrimitiveContents("id")); } // Parse element name else if (ParserUtils.IsAtFhirElement(reader, "name")) { result.Name = FhirStringParser.ParseFhirString(reader, errors); } // Parse element description else if (ParserUtils.IsAtFhirElement(reader, "description")) { result.Description = FhirStringParser.ParseFhirString(reader, errors); } // Parse element duration else if (ParserUtils.IsAtFhirElement(reader, "duration")) { result.Duration = DurationParser.ParseDuration(reader, errors); } // Parse element precondition else if (ParserUtils.IsAtFhirElement(reader, "precondition")) { result.Precondition = ProtocolParser.ParseProtocolStepPreconditionComponent(reader, errors); } // Parse element exit else if (ParserUtils.IsAtFhirElement(reader, "exit")) { result.Exit = ProtocolParser.ParseProtocolStepPreconditionComponent(reader, errors); } // Parse element firstActivity else if (ParserUtils.IsAtFhirElement(reader, "firstActivity")) { result.FirstActivity = IdRefParser.ParseIdRef(reader, errors); } // Parse element activity else if (ParserUtils.IsAtFhirElement(reader, "activity")) { result.Activity = new List <Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "activity")) { result.Activity.Add(ProtocolParser.ParseProtocolStepActivityComponent(reader, errors)); } reader.LeaveArray(); } // Parse element next else if (ParserUtils.IsAtFhirElement(reader, "next")) { result.Next = new List <Hl7.Fhir.Model.Protocol.ProtocolStepNextComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "next")) { result.Next.Add(ProtocolParser.ParseProtocolStepNextComponent(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(); } catch (Exception ex) { errors.Add(ex.Message, reader); } return(result); }
/// <summary> /// Parse ProtocolStepActivityComponent /// </summary> public static Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponent ParseProtocolStepActivityComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponent existingInstance = null) { Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponent(); try { string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { // Parse element extension if (ParserUtils.IsAtFhirElement(reader, "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 (ParserUtils.IsAtFhirElement(reader, "_id")) { result.LocalId = Id.Parse(reader.ReadPrimitiveContents("id")); } // Parse element alternative else if (ParserUtils.IsAtFhirElement(reader, "alternative")) { result.Alternative = new List <Hl7.Fhir.Model.IdRef>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "alternative")) { result.Alternative.Add(IdRefParser.ParseIdRef(reader, errors)); } reader.LeaveArray(); } // Parse element component else if (ParserUtils.IsAtFhirElement(reader, "component")) { result.Component = new List <Hl7.Fhir.Model.Protocol.ProtocolStepActivityComponentComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "component")) { result.Component.Add(ProtocolParser.ParseProtocolStepActivityComponentComponent(reader, errors)); } reader.LeaveArray(); } // Parse element following else if (ParserUtils.IsAtFhirElement(reader, "following")) { result.Following = new List <Hl7.Fhir.Model.IdRef>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "following")) { result.Following.Add(IdRefParser.ParseIdRef(reader, errors)); } reader.LeaveArray(); } // Parse element wait else if (ParserUtils.IsAtFhirElement(reader, "wait")) { result.Wait = DurationParser.ParseDuration(reader, errors); } // Parse element detail else if (ParserUtils.IsAtFhirElement(reader, "detail")) { result.Detail = ActivityDefinitionParser.ParseActivityDefinition(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(); } catch (Exception ex) { errors.Add(ex.Message, reader); } 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); }
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); } }