/// <summary> /// Parse ConformanceSoftwareComponent /// </summary> public static Hl7.Fhir.Model.Conformance.ConformanceSoftwareComponent ParseConformanceSoftwareComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Conformance.ConformanceSoftwareComponent existingInstance = null) { Hl7.Fhir.Model.Conformance.ConformanceSoftwareComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Conformance.ConformanceSoftwareComponent(); 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 name else if (atName == "name") { result.NameElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element version else if (atName == "version") { result.VersionElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element releaseDate else if (atName == "releaseDate") { result.ReleaseDateElement = FhirDateTimeParser.ParseFhirDateTime(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 DocumentAttesterComponent /// </summary> public static Hl7.Fhir.Model.Document.DocumentAttesterComponent ParseDocumentAttesterComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Document.DocumentAttesterComponent existingInstance = null) { Hl7.Fhir.Model.Document.DocumentAttesterComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Document.DocumentAttesterComponent(); 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 mode else if (atName == "mode") { result.ModeElement = CodeParser.ParseCode <Hl7.Fhir.Model.Document.DocumentAttestationMode>(reader, errors); } // Parse element time else if (atName == "time") { result.TimeElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element party else if (atName == "party") { result.Party = 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 ImmunizationReactionComponent /// </summary> public static Hl7.Fhir.Model.Immunization.ImmunizationReactionComponent ParseImmunizationReactionComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Immunization.ImmunizationReactionComponent existingInstance = null) { Hl7.Fhir.Model.Immunization.ImmunizationReactionComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Immunization.ImmunizationReactionComponent(); 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 date else if (atName == "date") { result.DateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element detail else if (atName == "detail") { result.Detail = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element reported else if (atName == "reported") { result.ReportedElement = 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 XdsEntryServiceComponent /// </summary> public static XdsEntry.XdsEntryServiceComponent ParseXdsEntryServiceComponent(IFhirReader reader, ErrorList errors, XdsEntry.XdsEntryServiceComponent existingInstance = null) { XdsEntry.XdsEntryServiceComponent result = existingInstance != null ? existingInstance : new XdsEntry.XdsEntryServiceComponent(); try { string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { // Parse element extension if (ParserUtils.IsAtFhirElement(reader, "extension")) { result.Extension = new List <Extension>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "extension")) { result.Extension.Add(ExtensionParser.ParseExtension(reader, errors)); } reader.LeaveArray(); } // Parse element internalId else if (reader.IsAtRefIdElement()) { result.InternalId = Id.Parse(reader.ReadRefIdContents()); } // Parse element start else if (ParserUtils.IsAtFhirElement(reader, "start")) { result.Start = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element stop else if (ParserUtils.IsAtFhirElement(reader, "stop")) { result.Stop = FhirDateTimeParser.ParseFhirDateTime(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 ImmunizationProfileRecommendationDateCriterionComponent /// </summary> public static Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationDateCriterionComponent ParseImmunizationProfileRecommendationDateCriterionComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationDateCriterionComponent existingInstance = null) { Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationDateCriterionComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationDateCriterionComponent(); 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.Code = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element value else if (atName == "value") { result.ValueElement = FhirDateTimeParser.ParseFhirDateTime(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 MedicationPrescription /// </summary> public static Hl7.Fhir.Model.MedicationPrescription ParseMedicationPrescription(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.MedicationPrescription existingInstance = null) { Hl7.Fhir.Model.MedicationPrescription result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.MedicationPrescription(); 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 = new List <Hl7.Fhir.Model.Identifier>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "identifier")) { result.Identifier.Add(IdentifierParser.ParseIdentifier(reader, errors)); } reader.LeaveArray(); } // Parse element dateWritten else if (atName == "dateWritten") { result.DateWrittenElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element status else if (atName == "status") { result.StatusElement = CodeParser.ParseCode <Hl7.Fhir.Model.MedicationPrescription.MedicationPrescriptionStatus>(reader, errors); } // Parse element patient else if (atName == "patient") { result.Patient = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element prescriber else if (atName == "prescriber") { result.Prescriber = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element encounter else if (atName == "encounter") { result.Encounter = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element reasonForPrescribing else if (atName.StartsWith("reasonForPrescribing")) { result.ReasonForPrescribing = FhirParser.ParseElement(reader, errors); } // Parse element medication else if (atName == "medication") { result.Medication = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element dosageInstruction else if (atName == "dosageInstruction") { result.DosageInstruction = new List <Hl7.Fhir.Model.MedicationPrescription.MedicationPrescriptionDosageInstructionComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "dosageInstruction")) { result.DosageInstruction.Add(MedicationPrescriptionParser.ParseMedicationPrescriptionDosageInstructionComponent(reader, errors)); } reader.LeaveArray(); } // Parse element dispense else if (atName == "dispense") { result.Dispense = MedicationPrescriptionParser.ParseMedicationPrescriptionDispenseComponent(reader, errors); } // Parse element substitution else if (atName == "substitution") { result.Substitution = MedicationPrescriptionParser.ParseMedicationPrescriptionSubstitutionComponent(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 Practitioner /// </summary> public static Hl7.Fhir.Model.Practitioner ParsePractitioner(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Practitioner existingInstance = null) { Hl7.Fhir.Model.Practitioner result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Practitioner(); 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 = new List <Hl7.Fhir.Model.Identifier>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "identifier")) { result.Identifier.Add(IdentifierParser.ParseIdentifier(reader, errors)); } reader.LeaveArray(); } // Parse element name else if (atName == "name") { result.Name = HumanNameParser.ParseHumanName(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 address else if (atName == "address") { result.Address = AddressParser.ParseAddress(reader, errors); } // Parse element gender else if (atName == "gender") { result.Gender = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element birthDate else if (atName == "birthDate") { result.BirthDateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element photo else if (atName == "photo") { result.Photo = new List <Hl7.Fhir.Model.Attachment>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "photo")) { result.Photo.Add(AttachmentParser.ParseAttachment(reader, errors)); } reader.LeaveArray(); } // Parse element organization else if (atName == "organization") { result.Organization = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element role else if (atName == "role") { result.Role = new List <Hl7.Fhir.Model.CodeableConcept>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "role")) { result.Role.Add(CodeableConceptParser.ParseCodeableConcept(reader, errors)); } reader.LeaveArray(); } // Parse element specialty else if (atName == "specialty") { result.Specialty = new List <Hl7.Fhir.Model.CodeableConcept>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "specialty")) { result.Specialty.Add(CodeableConceptParser.ParseCodeableConcept(reader, errors)); } reader.LeaveArray(); } // Parse element period else if (atName == "period") { result.Period = PeriodParser.ParsePeriod(reader, errors); } // Parse element qualification else if (atName == "qualification") { result.Qualification = new List <Hl7.Fhir.Model.Practitioner.PractitionerQualificationComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "qualification")) { result.Qualification.Add(PractitionerParser.ParsePractitionerQualificationComponent(reader, errors)); } reader.LeaveArray(); } // Parse element communication else if (atName == "communication") { result.Communication = new List <Hl7.Fhir.Model.CodeableConcept>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "communication")) { result.Communication.Add(CodeableConceptParser.ParseCodeableConcept(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 ImagingStudySeriesComponent /// </summary> public static Hl7.Fhir.Model.ImagingStudy.ImagingStudySeriesComponent ParseImagingStudySeriesComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.ImagingStudy.ImagingStudySeriesComponent existingInstance = null) { Hl7.Fhir.Model.ImagingStudy.ImagingStudySeriesComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.ImagingStudy.ImagingStudySeriesComponent(); 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 number else if (atName == "number") { result.NumberElement = IntegerParser.ParseInteger(reader, errors); } // Parse element modality else if (atName == "modality") { result.ModalityElement = CodeParser.ParseCode <Hl7.Fhir.Model.ImagingStudy.Modality>(reader, errors); } // Parse element uid else if (atName == "uid") { result.UidElement = OidParser.ParseOid(reader, errors); } // Parse element description else if (atName == "description") { result.DescriptionElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element numberOfInstances else if (atName == "numberOfInstances") { result.NumberOfInstancesElement = IntegerParser.ParseInteger(reader, errors); } // Parse element availability else if (atName == "availability") { result.AvailabilityElement = CodeParser.ParseCode <Hl7.Fhir.Model.ImagingStudy.InstanceAvailability>(reader, errors); } // Parse element url else if (atName == "url") { result.UrlElement = FhirUriParser.ParseFhirUri(reader, errors); } // Parse element bodySite else if (atName == "bodySite") { result.BodySite = CodingParser.ParseCoding(reader, errors); } // Parse element dateTime else if (atName == "dateTime") { result.DateTimeElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element instance else if (atName == "instance") { result.Instance = new List <Hl7.Fhir.Model.ImagingStudy.ImagingStudySeriesInstanceComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "instance")) { result.Instance.Add(ImagingStudyParser.ParseImagingStudySeriesInstanceComponent(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 Immunization /// </summary> public static Hl7.Fhir.Model.Immunization ParseImmunization(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Immunization existingInstance = null) { Hl7.Fhir.Model.Immunization result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Immunization(); 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 date else if (atName == "date") { result.DateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element vaccineType else if (atName == "vaccineType") { result.VaccineType = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element refusedIndicator else if (atName == "refusedIndicator") { result.RefusedIndicatorElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element reported else if (atName == "reported") { result.ReportedElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element performer else if (atName == "performer") { result.Performer = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element requester else if (atName == "requester") { result.Requester = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element manufacturer else if (atName == "manufacturer") { result.Manufacturer = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element location else if (atName == "location") { result.Location = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element lotNumber else if (atName == "lotNumber") { result.LotNumberElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element expirationDate else if (atName == "expirationDate") { result.ExpirationDateElement = DateParser.ParseDate(reader, errors); } // Parse element site else if (atName == "site") { result.Site = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element route else if (atName == "route") { result.Route = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element doseQuantity else if (atName == "doseQuantity") { result.DoseQuantity = QuantityParser.ParseQuantity(reader, errors); } // Parse element explanation else if (atName == "explanation") { result.Explanation = ImmunizationParser.ParseImmunizationExplanationComponent(reader, errors); } // Parse element reaction else if (atName == "reaction") { result.Reaction = new List <Hl7.Fhir.Model.Immunization.ImmunizationReactionComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "reaction")) { result.Reaction.Add(ImmunizationParser.ParseImmunizationReactionComponent(reader, errors)); } reader.LeaveArray(); } // Parse element vaccinationProtocol else if (atName == "vaccinationProtocol") { result.VaccinationProtocol = ImmunizationParser.ParseImmunizationVaccinationProtocolComponent(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 Prescription /// </summary> public static Prescription ParsePrescription(IFhirReader reader, ErrorList errors, Prescription existingInstance = null) { Prescription result = existingInstance != null ? existingInstance : new Prescription(); try { string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { // Parse element extension if (ParserUtils.IsAtFhirElement(reader, "extension")) { result.Extension = new List <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 <Resource>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "contained")) { result.Contained.Add(ParserUtils.ParseContainedResource(reader, errors)); } reader.LeaveArray(); } // Parse element internalId else if (reader.IsAtRefIdElement()) { result.InternalId = Id.Parse(reader.ReadRefIdContents()); } // Parse element identifier else if (ParserUtils.IsAtFhirElement(reader, "identifier")) { result.Identifier = new List <Identifier>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "identifier")) { result.Identifier.Add(IdentifierParser.ParseIdentifier(reader, errors)); } reader.LeaveArray(); } // Parse element status else if (ParserUtils.IsAtFhirElement(reader, "status")) { result.Status = CodeParser.ParseCode <Prescription.PrescriptionStatus>(reader, errors); } // Parse element patient else if (ParserUtils.IsAtFhirElement(reader, "patient")) { result.Patient = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element prescriber else if (ParserUtils.IsAtFhirElement(reader, "prescriber")) { result.Prescriber = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element prescribed else if (ParserUtils.IsAtFhirElement(reader, "prescribed")) { result.Prescribed = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element dispense else if (ParserUtils.IsAtFhirElement(reader, "dispense")) { result.Dispense = PrescriptionParser.ParsePrescriptionDispenseComponent(reader, errors); } // Parse element medicine else if (ParserUtils.IsAtFhirElement(reader, "medicine")) { result.Medicine = PrescriptionParser.ParsePrescriptionMedicineComponent(reader, errors); } // Parse element administrationRequest else if (ParserUtils.IsAtFhirElement(reader, "administrationRequest")) { result.AdministrationRequest = PrescriptionParser.ParsePrescriptionAdministrationRequestComponent(reader, errors); } // Parse element reason else if (ParserUtils.IsAtFhirElement(reader, "reason")) { result.Reason = 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(); } catch (Exception ex) { errors.Add(ex.Message, reader); } return(result); }
/// <summary> /// Parse Order /// </summary> public static Hl7.Fhir.Model.Order ParseOrder(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Order existingInstance = null) { Hl7.Fhir.Model.Order result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Order(); 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 date else if (atName == "date") { result.DateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element source else if (atName == "source") { result.Source = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element target else if (atName == "target") { result.Target = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element reason else if (atName == "reason") { result.ReasonElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element authority else if (atName == "authority") { result.Authority = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element when else if (atName == "when") { result.When = OrderParser.ParseOrderWhenComponent(reader, errors); } // Parse element detail else if (atName == "detail") { result.Detail = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "detail")) { result.Detail.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 ImmunizationProfileRecommendationComponent /// </summary> public static Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationComponent ParseImmunizationProfileRecommendationComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationComponent existingInstance = null) { Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationComponent(); 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 recommendationDate else if (atName == "recommendationDate") { result.RecommendationDateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element vaccineType else if (atName == "vaccineType") { result.VaccineType = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element doseNumber else if (atName == "doseNumber") { result.DoseNumberElement = IntegerParser.ParseInteger(reader, errors); } // Parse element forecastStatus else if (atName == "forecastStatus") { result.ForecastStatusElement = CodeParser.ParseCode <Hl7.Fhir.Model.ImmunizationProfile.ImmunizationForecastStatus>(reader, errors); } // Parse element dateCriterion else if (atName == "dateCriterion") { result.DateCriterion = new List <Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationDateCriterionComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "dateCriterion")) { result.DateCriterion.Add(ImmunizationProfileParser.ParseImmunizationProfileRecommendationDateCriterionComponent(reader, errors)); } reader.LeaveArray(); } // Parse element protocol else if (atName == "protocol") { result.Protocol = ImmunizationProfileParser.ParseImmunizationProfileRecommendationProtocolComponent(reader, errors); } // Parse element supportingImmunization else if (atName == "supportingImmunization") { result.SupportingImmunization = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "supportingImmunization")) { result.SupportingImmunization.Add(ResourceReferenceParser.ParseResourceReference(reader, errors)); } reader.LeaveArray(); } // Parse element supportingAdverseEventReport else if (atName == "supportingAdverseEventReport") { result.SupportingAdverseEventReport = new List <Hl7.Fhir.Model.ImmunizationProfile.ImmunizationProfileRecommendationSupportingAdverseEventReportComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "supportingAdverseEventReport")) { result.SupportingAdverseEventReport.Add(ImmunizationProfileParser.ParseImmunizationProfileRecommendationSupportingAdverseEventReportComponent(reader, errors)); } reader.LeaveArray(); } // Parse element supportingPatientObservation else if (atName == "supportingPatientObservation") { result.SupportingPatientObservation = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "supportingPatientObservation")) { result.SupportingPatientObservation.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 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); }
/// <summary> /// Parse AdverseReaction /// </summary> public static Hl7.Fhir.Model.AdverseReaction ParseAdverseReaction(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.AdverseReaction existingInstance = null) { Hl7.Fhir.Model.AdverseReaction result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.AdverseReaction(); 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 reactionDate else if (atName == "reactionDate") { result.ReactionDateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element didNotOccurFlag else if (atName == "didNotOccurFlag") { result.DidNotOccurFlagElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element recorder else if (atName == "recorder") { result.Recorder = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element symptom else if (atName == "symptom") { result.Symptom = new List <Hl7.Fhir.Model.AdverseReaction.AdverseReactionSymptomComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "symptom")) { result.Symptom.Add(AdverseReactionParser.ParseAdverseReactionSymptomComponent(reader, errors)); } reader.LeaveArray(); } // Parse element exposure else if (atName == "exposure") { result.Exposure = new List <Hl7.Fhir.Model.AdverseReaction.AdverseReactionExposureComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "exposure")) { result.Exposure.Add(AdverseReactionParser.ParseAdverseReactionExposureComponent(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 AdverseReactionExposureComponent /// </summary> public static Hl7.Fhir.Model.AdverseReaction.AdverseReactionExposureComponent ParseAdverseReactionExposureComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.AdverseReaction.AdverseReactionExposureComponent existingInstance = null) { Hl7.Fhir.Model.AdverseReaction.AdverseReactionExposureComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.AdverseReaction.AdverseReactionExposureComponent(); 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 exposureDate else if (atName == "exposureDate") { result.ExposureDateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element exposureType else if (atName == "exposureType") { result.ExposureTypeElement = CodeParser.ParseCode <Hl7.Fhir.Model.AdverseReaction.ExposureType>(reader, errors); } // Parse element causalityExpectation else if (atName == "causalityExpectation") { result.CausalityExpectationElement = CodeParser.ParseCode <Hl7.Fhir.Model.AdverseReaction.CausalityExpectation>(reader, errors); } // Parse element substance else if (atName == "substance") { result.Substance = 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 List /// </summary> public static Hl7.Fhir.Model.List ParseList(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.List existingInstance = null) { Hl7.Fhir.Model.List result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.List(); 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 code else if (atName == "code") { result.Code = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element source else if (atName == "source") { result.Source = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element date else if (atName == "date") { result.DateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element ordered else if (atName == "ordered") { result.OrderedElement = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element mode else if (atName == "mode") { result.ModeElement = CodeParser.ParseCode <Hl7.Fhir.Model.List.ListMode>(reader, errors); } // Parse element entry else if (atName == "entry") { result.Entry = new List <Hl7.Fhir.Model.List.ListEntryComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "entry")) { result.Entry.Add(ListParser.ParseListEntryComponent(reader, errors)); } reader.LeaveArray(); } // Parse element emptyReason else if (atName == "emptyReason") { result.EmptyReason = 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); }
/// <summary> /// Parse PrescriptionAdministrationRequestComponent /// </summary> public static Prescription.PrescriptionAdministrationRequestComponent ParsePrescriptionAdministrationRequestComponent(IFhirReader reader, ErrorList errors, Prescription.PrescriptionAdministrationRequestComponent existingInstance = null) { Prescription.PrescriptionAdministrationRequestComponent result = existingInstance != null ? existingInstance : new Prescription.PrescriptionAdministrationRequestComponent(); try { string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { // Parse element extension if (ParserUtils.IsAtFhirElement(reader, "extension")) { result.Extension = new List <Extension>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "extension")) { result.Extension.Add(ExtensionParser.ParseExtension(reader, errors)); } reader.LeaveArray(); } // Parse element internalId else if (reader.IsAtRefIdElement()) { result.InternalId = Id.Parse(reader.ReadRefIdContents()); } // Parse element description else if (ParserUtils.IsAtFhirElement(reader, "description")) { result.Description = FhirStringParser.ParseFhirString(reader, errors); } // Parse element totalPeriodicDose else if (ParserUtils.IsAtFhirElement(reader, "totalPeriodicDose")) { result.TotalPeriodicDose = RatioParser.ParseRatio(reader, errors); } // Parse element start else if (ParserUtils.IsAtFhirElement(reader, "start")) { result.Start = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element end else if (ParserUtils.IsAtFhirElement(reader, "end")) { result.End = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element duration else if (ParserUtils.IsAtFhirElement(reader, "duration")) { result.Duration = QuantityParser.ParseQuantity(reader, errors); } // Parse element numberOfAdministrations else if (ParserUtils.IsAtFhirElement(reader, "numberOfAdministrations")) { result.NumberOfAdministrations = IntegerParser.ParseInteger(reader, errors); } // Parse element dosageInstruction else if (ParserUtils.IsAtFhirElement(reader, "dosageInstruction")) { result.DosageInstruction = new List <Prescription.PrescriptionAdministrationRequestDosageInstructionComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "dosageInstruction")) { result.DosageInstruction.Add(PrescriptionParser.ParsePrescriptionAdministrationRequestDosageInstructionComponent(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 Patient /// </summary> public static Hl7.Fhir.Model.Patient ParsePatient(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Patient existingInstance = null) { Hl7.Fhir.Model.Patient result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Patient(); 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 = new List <Hl7.Fhir.Model.Identifier>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "identifier")) { result.Identifier.Add(IdentifierParser.ParseIdentifier(reader, errors)); } reader.LeaveArray(); } // Parse element name else if (atName == "name") { result.Name = new List <Hl7.Fhir.Model.HumanName>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "name")) { result.Name.Add(HumanNameParser.ParseHumanName(reader, errors)); } reader.LeaveArray(); } // 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 gender else if (atName == "gender") { result.Gender = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element birthDate else if (atName == "birthDate") { result.BirthDateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element deceased else if (atName.StartsWith("deceased")) { result.Deceased = FhirParser.ParseElement(reader, errors); } // Parse element address else if (atName == "address") { result.Address = new List <Hl7.Fhir.Model.Address>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "address")) { result.Address.Add(AddressParser.ParseAddress(reader, errors)); } reader.LeaveArray(); } // Parse element maritalStatus else if (atName == "maritalStatus") { result.MaritalStatus = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element multipleBirth else if (atName.StartsWith("multipleBirth")) { result.MultipleBirth = FhirParser.ParseElement(reader, errors); } // Parse element photo else if (atName == "photo") { result.Photo = new List <Hl7.Fhir.Model.Attachment>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "photo")) { result.Photo.Add(AttachmentParser.ParseAttachment(reader, errors)); } reader.LeaveArray(); } // Parse element contact else if (atName == "contact") { result.Contact = new List <Hl7.Fhir.Model.Patient.ContactComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "contact")) { result.Contact.Add(PatientParser.ParseContactComponent(reader, errors)); } reader.LeaveArray(); } // Parse element animal else if (atName == "animal") { result.Animal = PatientParser.ParseAnimalComponent(reader, errors); } // Parse element communication else if (atName == "communication") { result.Communication = new List <Hl7.Fhir.Model.CodeableConcept>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "communication")) { result.Communication.Add(CodeableConceptParser.ParseCodeableConcept(reader, errors)); } reader.LeaveArray(); } // Parse element provider else if (atName == "provider") { result.Provider = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element link else if (atName == "link") { result.Link = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "link")) { result.Link.Add(ResourceReferenceParser.ParseResourceReference(reader, errors)); } reader.LeaveArray(); } // Parse element active else if (atName == "active") { result.ActiveElement = 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 DocumentInformationAttesterComponent /// </summary> public static DocumentInformation.DocumentInformationAttesterComponent ParseDocumentInformationAttesterComponent(IFhirReader reader, ErrorList errors, DocumentInformation.DocumentInformationAttesterComponent existingInstance = null) { DocumentInformation.DocumentInformationAttesterComponent result = existingInstance != null ? existingInstance : new DocumentInformation.DocumentInformationAttesterComponent(); try { string currentElementName = reader.CurrentElementName; reader.EnterElement(); while (reader.HasMoreElements()) { // Parse element extension if (ParserUtils.IsAtFhirElement(reader, "extension")) { result.Extension = new List <Extension>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "extension")) { result.Extension.Add(ExtensionParser.ParseExtension(reader, errors)); } reader.LeaveArray(); } // Parse element internalId else if (reader.IsAtRefIdElement()) { result.InternalId = Id.Parse(reader.ReadRefIdContents()); } // Parse element mode else if (ParserUtils.IsAtFhirElement(reader, "mode")) { result.Mode = CodeParser.ParseCode <DocumentInformation.DocumentAttestationMode>(reader, errors); } // Parse element time else if (ParserUtils.IsAtFhirElement(reader, "time")) { result.Time = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element party else if (ParserUtils.IsAtFhirElement(reader, "party")) { result.Party = 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(); } catch (Exception ex) { errors.Add(ex.Message, reader); } return(result); }
/// <summary> /// Parse OrderResponse /// </summary> public static Hl7.Fhir.Model.OrderResponse ParseOrderResponse(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.OrderResponse existingInstance = null) { Hl7.Fhir.Model.OrderResponse result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.OrderResponse(); 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 request else if (atName == "request") { result.Request = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element date else if (atName == "date") { result.DateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element who else if (atName == "who") { result.Who = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element authority else if (atName == "authority") { result.Authority = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element cost else if (atName == "cost") { result.Cost = MoneyParser.ParseMoney(reader, errors); } // Parse element code else if (atName == "code") { result.CodeElement = CodeParser.ParseCode <Hl7.Fhir.Model.OrderResponse.OrderOutcomeCode>(reader, errors); } // Parse element description else if (atName == "description") { result.DescriptionElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element fulfillment else if (atName == "fulfillment") { result.Fulfillment = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "fulfillment")) { result.Fulfillment.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 DocumentReference /// </summary> public static Hl7.Fhir.Model.DocumentReference ParseDocumentReference(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.DocumentReference existingInstance = null) { Hl7.Fhir.Model.DocumentReference result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.DocumentReference(); 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 masterIdentifier else if (atName == "masterIdentifier") { result.MasterIdentifier = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element identifier else if (atName == "identifier") { result.Identifier = new List <Hl7.Fhir.Model.Identifier>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "identifier")) { result.Identifier.Add(IdentifierParser.ParseIdentifier(reader, errors)); } reader.LeaveArray(); } // Parse element subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(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 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 custodian else if (atName == "custodian") { result.Custodian = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element authenticator else if (atName == "authenticator") { result.Authenticator = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element created else if (atName == "created") { result.CreatedElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element indexed else if (atName == "indexed") { result.IndexedElement = InstantParser.ParseInstant(reader, errors); } // Parse element status else if (atName == "status") { result.StatusElement = CodeParser.ParseCode <Hl7.Fhir.Model.DocumentReference.DocumentReferenceStatus>(reader, errors); } // Parse element docStatus else if (atName == "docStatus") { result.DocStatus = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element supercedes else if (atName == "supercedes") { result.Supercedes = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element description else if (atName == "description") { result.DescriptionElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element confidentiality else if (atName == "confidentiality") { result.Confidentiality = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element primaryLanguage else if (atName == "primaryLanguage") { result.PrimaryLanguageElement = CodeParser.ParseCode(reader, errors); } // Parse element mimeType else if (atName == "mimeType") { result.MimeTypeElement = CodeParser.ParseCode(reader, errors); } // Parse element format else if (atName == "format") { result.Format = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element size else if (atName == "size") { result.SizeElement = IntegerParser.ParseInteger(reader, errors); } // Parse element hash else if (atName == "hash") { result.HashElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element location else if (atName == "location") { result.LocationElement = FhirUriParser.ParseFhirUri(reader, errors); } // Parse element service else if (atName == "service") { result.Service = DocumentReferenceParser.ParseDocumentReferenceServiceComponent(reader, errors); } // Parse element context else if (atName == "context") { result.Context = DocumentReferenceParser.ParseDocumentReferenceContextComponent(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 Picture /// </summary> public static Hl7.Fhir.Model.Picture ParsePicture(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Picture existingInstance = null) { Hl7.Fhir.Model.Picture result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Picture(); 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 subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element dateTime else if (atName == "dateTime") { result.DateTimeElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element operator else if (atName == "operator") { result.Operator = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element identifier else if (atName == "identifier") { result.Identifier = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element accessionNo else if (atName == "accessionNo") { result.AccessionNo = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element studyId else if (atName == "studyId") { result.StudyId = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element seriesId else if (atName == "seriesId") { result.SeriesId = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element method else if (atName == "method") { result.Method = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element requester else if (atName == "requester") { result.Requester = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element modality else if (atName == "modality") { result.ModalityElement = CodeParser.ParseCode <Hl7.Fhir.Model.Picture.PictureType>(reader, errors); } // Parse element deviceName else if (atName == "deviceName") { result.DeviceNameElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element height else if (atName == "height") { result.HeightElement = IntegerParser.ParseInteger(reader, errors); } // Parse element width else if (atName == "width") { result.WidthElement = IntegerParser.ParseInteger(reader, errors); } // Parse element bits else if (atName == "bits") { result.BitsElement = IntegerParser.ParseInteger(reader, errors); } // Parse element frames else if (atName == "frames") { result.FramesElement = IntegerParser.ParseInteger(reader, errors); } // Parse element frameDelay else if (atName == "frameDelay") { result.FrameDelay = DurationParser.ParseDuration(reader, errors); } // Parse element view else if (atName == "view") { result.View = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element content else if (atName == "content") { result.Content = AttachmentParser.ParseAttachment(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 Demographics /// </summary> public static Hl7.Fhir.Model.Demographics ParseDemographics(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Demographics existingInstance = null) { Hl7.Fhir.Model.Demographics result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Demographics(); try { 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.LocalId = Id.Parse(reader.ReadPrimitiveContents(typeof(Id))); } // Parse element identifier else if (atName == "identifier") { result.Identifier = new List <Hl7.Fhir.Model.Identifier>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "identifier")) { result.Identifier.Add(IdentifierParser.ParseIdentifier(reader, errors)); } reader.LeaveArray(); } // Parse element name else if (atName == "name") { result.Name = new List <Hl7.Fhir.Model.HumanName>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "name")) { result.Name.Add(HumanNameParser.ParseHumanName(reader, errors)); } reader.LeaveArray(); } // 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 gender else if (atName == "gender") { result.Gender = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element birthDate else if (atName == "birthDate") { result.BirthDate = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element deceased else if (atName == "deceased") { result.Deceased = FhirBooleanParser.ParseFhirBoolean(reader, errors); } // Parse element address else if (atName == "address") { result.Address = new List <Hl7.Fhir.Model.Address>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "address")) { result.Address.Add(AddressParser.ParseAddress(reader, errors)); } reader.LeaveArray(); } // Parse element photo else if (atName == "photo") { result.Photo = new List <Hl7.Fhir.Model.Attachment>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "photo")) { result.Photo.Add(AttachmentParser.ParseAttachment(reader, errors)); } reader.LeaveArray(); } // Parse element maritalStatus else if (atName == "maritalStatus") { result.MaritalStatus = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element language else if (atName == "language") { result.Language = new List <Hl7.Fhir.Model.Demographics.DemographicsLanguageComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "language")) { result.Language.Add(DemographicsParser.ParseDemographicsLanguageComponent(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 AllergyIntolerance /// </summary> public static Hl7.Fhir.Model.AllergyIntolerance ParseAllergyIntolerance(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.AllergyIntolerance existingInstance = null) { Hl7.Fhir.Model.AllergyIntolerance result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.AllergyIntolerance(); 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 criticality else if (atName == "criticality") { result.Criticality_Element = CodeParser.ParseCode <Hl7.Fhir.Model.AllergyIntolerance.Criticality>(reader, errors); } // Parse element sensitivityType else if (atName == "sensitivityType") { result.SensitivityType_Element = CodeParser.ParseCode <Hl7.Fhir.Model.AllergyIntolerance.SensitivityType>(reader, errors); } // Parse element recordedDate else if (atName == "recordedDate") { result.RecordedDateElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element status else if (atName == "status") { result.StatusElement = CodeParser.ParseCode <Hl7.Fhir.Model.AllergyIntolerance.SensitivityStatus>(reader, errors); } // Parse element subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element recorder else if (atName == "recorder") { result.Recorder = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element substance else if (atName == "substance") { result.Substance = ResourceReferenceParser.ParseResourceReference(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(); } // Parse element sensitivityTest else if (atName == "sensitivityTest") { result.SensitivityTest = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "sensitivityTest")) { result.SensitivityTest.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 ImagingStudy /// </summary> public static Hl7.Fhir.Model.ImagingStudy ParseImagingStudy(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.ImagingStudy existingInstance = null) { Hl7.Fhir.Model.ImagingStudy result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.ImagingStudy(); 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 dateTime else if (atName == "dateTime") { result.DateTimeElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element uid else if (atName == "uid") { result.UidElement = OidParser.ParseOid(reader, errors); } // Parse element accessionNo else if (atName == "accessionNo") { result.AccessionNo = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element identifier else if (atName == "identifier") { result.Identifier = new List <Hl7.Fhir.Model.Identifier>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "identifier")) { result.Identifier.Add(IdentifierParser.ParseIdentifier(reader, errors)); } reader.LeaveArray(); } // Parse element modality else if (atName == "modality") { result.Modality_Element = new List <Code <Hl7.Fhir.Model.ImagingStudy.ImagingModality> >(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "modality")) { result.Modality_Element.Add(CodeParser.ParseCode <Hl7.Fhir.Model.ImagingStudy.ImagingModality>(reader, errors)); } reader.LeaveArray(); } // Parse element referrer else if (atName == "referrer") { result.Referrer = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element availability else if (atName == "availability") { result.AvailabilityElement = CodeParser.ParseCode <Hl7.Fhir.Model.ImagingStudy.InstanceAvailability>(reader, errors); } // Parse element url else if (atName == "url") { result.UrlElement = FhirUriParser.ParseFhirUri(reader, errors); } // Parse element numberOfSeries else if (atName == "numberOfSeries") { result.NumberOfSeriesElement = IntegerParser.ParseInteger(reader, errors); } // Parse element numberOfInstances else if (atName == "numberOfInstances") { result.NumberOfInstancesElement = IntegerParser.ParseInteger(reader, errors); } // Parse element clinicalInformation else if (atName == "clinicalInformation") { result.ClinicalInformationElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element procedure else if (atName == "procedure") { result.Procedure = new List <Hl7.Fhir.Model.Coding>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "procedure")) { result.Procedure.Add(CodingParser.ParseCoding(reader, errors)); } reader.LeaveArray(); } // Parse element interpreter else if (atName == "interpreter") { result.Interpreter = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element description else if (atName == "description") { result.DescriptionElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element series else if (atName == "series") { result.Series = new List <Hl7.Fhir.Model.ImagingStudy.ImagingStudySeriesComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "series")) { result.Series.Add(ImagingStudyParser.ParseImagingStudySeriesComponent(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 Questionnaire /// </summary> public static Hl7.Fhir.Model.Questionnaire ParseQuestionnaire(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Questionnaire existingInstance = null) { Hl7.Fhir.Model.Questionnaire result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Questionnaire(); 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 status else if (atName == "status") { result.StatusElement = CodeParser.ParseCode <Hl7.Fhir.Model.ObservationStatus>(reader, errors); } // Parse element authored else if (atName == "authored") { result.AuthoredElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element author else if (atName == "author") { result.Author = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element source else if (atName == "source") { result.Source = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element name else if (atName == "name") { result.Name = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element identifier else if (atName == "identifier") { result.Identifier = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element encounter else if (atName == "encounter") { result.Encounter = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element question else if (atName == "question") { result.Question = new List <Hl7.Fhir.Model.Questionnaire.QuestionComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "question")) { result.Question.Add(QuestionnaireParser.ParseQuestionComponent(reader, errors)); } reader.LeaveArray(); } // Parse element group else if (atName == "group") { result.Group = new List <Hl7.Fhir.Model.Questionnaire.GroupComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "group")) { result.Group.Add(QuestionnaireParser.ParseGroupComponent(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 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 ValueSet /// </summary> public static Hl7.Fhir.Model.ValueSet ParseValueSet(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.ValueSet existingInstance = null) { Hl7.Fhir.Model.ValueSet result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.ValueSet(); 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 copyright else if (atName == "copyright") { result.CopyrightElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element status else if (atName == "status") { result.StatusElement = CodeParser.ParseCode <Hl7.Fhir.Model.ValueSet.ValueSetStatus>(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 define else if (atName == "define") { result.Define = ValueSetParser.ParseValueSetDefineComponent(reader, errors); } // Parse element compose else if (atName == "compose") { result.Compose = ValueSetParser.ParseValueSetComposeComponent(reader, errors); } // Parse element expansion else if (atName == "expansion") { result.Expansion = ValueSetParser.ParseValueSetExpansionComponent(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 DiagnosticReport /// </summary> public static Hl7.Fhir.Model.DiagnosticReport ParseDiagnosticReport(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.DiagnosticReport existingInstance = null) { Hl7.Fhir.Model.DiagnosticReport result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.DiagnosticReport(); 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 status else if (atName == "status") { result.StatusElement = CodeParser.ParseCode <Hl7.Fhir.Model.ObservationStatus>(reader, errors); } // Parse element issued else if (atName == "issued") { result.IssuedElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element subject else if (atName == "subject") { result.Subject = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element performer else if (atName == "performer") { result.Performer = ResourceReferenceParser.ParseResourceReference(reader, errors); } // Parse element reportId else if (atName == "reportId") { result.ReportId = IdentifierParser.ParseIdentifier(reader, errors); } // Parse element requestDetail else if (atName == "requestDetail") { result.RequestDetail = new List <Hl7.Fhir.Model.DiagnosticReport.DiagnosticReportRequestDetailComponent>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "requestDetail")) { result.RequestDetail.Add(DiagnosticReportParser.ParseDiagnosticReportRequestDetailComponent(reader, errors)); } reader.LeaveArray(); } // Parse element serviceCategory else if (atName == "serviceCategory") { result.ServiceCategory = CodeableConceptParser.ParseCodeableConcept(reader, errors); } // Parse element diagnosticTime else if (atName == "diagnosticTime") { result.DiagnosticTimeElement = FhirDateTimeParser.ParseFhirDateTime(reader, errors); } // Parse element results else if (atName == "results") { result.Results = DiagnosticReportParser.ParseResultGroupComponent(reader, errors); } // Parse element image else if (atName == "image") { result.Image = new List <Hl7.Fhir.Model.ResourceReference>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "image")) { result.Image.Add(ResourceReferenceParser.ParseResourceReference(reader, errors)); } reader.LeaveArray(); } // Parse element conclusion else if (atName == "conclusion") { result.ConclusionElement = FhirStringParser.ParseFhirString(reader, errors); } // Parse element codedDiagnosis else if (atName == "codedDiagnosis") { result.CodedDiagnosis = new List <Hl7.Fhir.Model.CodeableConcept>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "codedDiagnosis")) { result.CodedDiagnosis.Add(CodeableConceptParser.ParseCodeableConcept(reader, errors)); } reader.LeaveArray(); } // Parse element representation else if (atName == "representation") { result.Representation = new List <Hl7.Fhir.Model.Attachment>(); reader.EnterArray(); while (ParserUtils.IsAtArrayElement(reader, "representation")) { result.Representation.Add(AttachmentParser.ParseAttachment(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 ScheduleRepeatComponent /// </summary> public static Hl7.Fhir.Model.Schedule.ScheduleRepeatComponent ParseScheduleRepeatComponent(IFhirReader reader, ErrorList errors, Hl7.Fhir.Model.Schedule.ScheduleRepeatComponent existingInstance = null) { Hl7.Fhir.Model.Schedule.ScheduleRepeatComponent result = existingInstance != null ? existingInstance : new Hl7.Fhir.Model.Schedule.ScheduleRepeatComponent(); 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 frequency else if (atName == "frequency") { result.FrequencyElement = IntegerParser.ParseInteger(reader, errors); } // Parse element when else if (atName == "when") { result.WhenElement = CodeParser.ParseCode <Hl7.Fhir.Model.Schedule.EventTiming>(reader, errors); } // Parse element duration else if (atName == "duration") { result.DurationElement = FhirDecimalParser.ParseFhirDecimal(reader, errors); } // Parse element units else if (atName == "units") { result.UnitsElement = CodeParser.ParseCode <Hl7.Fhir.Model.Schedule.UnitsOfTime>(reader, errors); } // Parse element count else if (atName == "count") { result.CountElement = IntegerParser.ParseInteger(reader, errors); } // Parse element end else if (atName == "end") { result.EndElement = FhirDateTimeParser.ParseFhirDateTime(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); }