public override IDeepCopyable CopyTo(IDeepCopyable other) { var dest = other as MedicationAdministration; if (dest == null) { throw new ArgumentException("Can only copy to an object of the same type", "other"); } base.CopyTo(dest); if (Identifier != null) { dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy()); } if (StatusElement != null) { dest.StatusElement = (Code <Hl7.Fhir.Model.MedicationAdministrationStatus>)StatusElement.DeepCopy(); } if (Patient != null) { dest.Patient = (Hl7.Fhir.Model.ResourceReference)Patient.DeepCopy(); } if (Practitioner != null) { dest.Practitioner = (Hl7.Fhir.Model.ResourceReference)Practitioner.DeepCopy(); } if (Encounter != null) { dest.Encounter = (Hl7.Fhir.Model.ResourceReference)Encounter.DeepCopy(); } if (Prescription != null) { dest.Prescription = (Hl7.Fhir.Model.ResourceReference)Prescription.DeepCopy(); } if (WasNotGivenElement != null) { dest.WasNotGivenElement = (Hl7.Fhir.Model.FhirBoolean)WasNotGivenElement.DeepCopy(); } if (ReasonNotGiven != null) { dest.ReasonNotGiven = new List <Hl7.Fhir.Model.CodeableConcept>(ReasonNotGiven.DeepCopy()); } if (ReasonGiven != null) { dest.ReasonGiven = new List <Hl7.Fhir.Model.CodeableConcept>(ReasonGiven.DeepCopy()); } if (EffectiveTime != null) { dest.EffectiveTime = (Hl7.Fhir.Model.DataType)EffectiveTime.DeepCopy(); } if (Medication != null) { dest.Medication = (Hl7.Fhir.Model.DataType)Medication.DeepCopy(); } if (Device != null) { dest.Device = new List <Hl7.Fhir.Model.ResourceReference>(Device.DeepCopy()); } if (NoteElement != null) { dest.NoteElement = (Hl7.Fhir.Model.FhirString)NoteElement.DeepCopy(); } if (Dosage != null) { dest.Dosage = (Hl7.Fhir.Model.MedicationAdministration.DosageComponent)Dosage.DeepCopy(); } return(dest); }
/// <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 PrescriptionMedicineInactiveIngredientComponent /// </summary> public static Prescription.PrescriptionMedicineInactiveIngredientComponent ParsePrescriptionMedicineInactiveIngredientComponent(IFhirReader reader, ErrorList errors, Prescription.PrescriptionMedicineInactiveIngredientComponent existingInstance = null ) { Prescription.PrescriptionMedicineInactiveIngredientComponent result = existingInstance != null ? existingInstance : new Prescription.PrescriptionMedicineInactiveIngredientComponent(); 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 identification else if( ParserUtils.IsAtFhirElement(reader, "identification") ) result.Identification = CodeableConceptParser.ParseCodeableConcept(reader, errors); // Parse element quantity else if( ParserUtils.IsAtFhirElement(reader, "quantity", true) ) result.Quantity = FhirParser.ParseElement(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 PrescriptionAdministrationRequestDosageInstructionComponent /// </summary> public static Prescription.PrescriptionAdministrationRequestDosageInstructionComponent ParsePrescriptionAdministrationRequestDosageInstructionComponent(IFhirReader reader, ErrorList errors, Prescription.PrescriptionAdministrationRequestDosageInstructionComponent existingInstance = null ) { Prescription.PrescriptionAdministrationRequestDosageInstructionComponent result = existingInstance != null ? existingInstance : new Prescription.PrescriptionAdministrationRequestDosageInstructionComponent(); 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 precondition else if( ParserUtils.IsAtFhirElement(reader, "precondition") ) { result.Precondition = new List<CodeableConcept>(); reader.EnterArray(); while( ParserUtils.IsAtArrayElement(reader, "precondition") ) result.Precondition.Add(CodeableConceptParser.ParseCodeableConcept(reader, errors)); reader.LeaveArray(); } // Parse element prn else if( ParserUtils.IsAtFhirElement(reader, "prn") ) result.Prn = FhirBooleanParser.ParseFhirBoolean(reader, errors); // Parse element additionalInstruction else if( ParserUtils.IsAtFhirElement(reader, "additionalInstruction") ) { result.AdditionalInstruction = new List<CodeableConcept>(); reader.EnterArray(); while( ParserUtils.IsAtArrayElement(reader, "additionalInstruction") ) result.AdditionalInstruction.Add(CodeableConceptParser.ParseCodeableConcept(reader, errors)); reader.LeaveArray(); } // Parse element route else if( ParserUtils.IsAtFhirElement(reader, "route") ) result.Route = CodeableConceptParser.ParseCodeableConcept(reader, errors); // Parse element dose else if( ParserUtils.IsAtFhirElement(reader, "dose", true) ) result.Dose = FhirParser.ParseElement(reader, errors); // Parse element rate else if( ParserUtils.IsAtFhirElement(reader, "rate") ) result.Rate = QuantityParser.ParseQuantity(reader, errors); // Parse element schedule else if( ParserUtils.IsAtFhirElement(reader, "schedule") ) { result.Schedule = new List<Schedule>(); reader.EnterArray(); while( ParserUtils.IsAtArrayElement(reader, "schedule") ) result.Schedule.Add(ScheduleParser.ParseSchedule(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 PrescriptionDispenseComponent /// </summary> public static Prescription.PrescriptionDispenseComponent ParsePrescriptionDispenseComponent(IFhirReader reader, ErrorList errors, Prescription.PrescriptionDispenseComponent existingInstance = null ) { Prescription.PrescriptionDispenseComponent result = existingInstance != null ? existingInstance : new Prescription.PrescriptionDispenseComponent(); 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 repeats else if( ParserUtils.IsAtFhirElement(reader, "repeats") ) result.Repeats = IntegerParser.ParseInteger(reader, errors); // Parse element quantity else if( ParserUtils.IsAtFhirElement(reader, "quantity") ) result.Quantity = QuantityParser.ParseQuantity(reader, errors); // Parse element dispenser else if( ParserUtils.IsAtFhirElement(reader, "dispenser") ) result.Dispenser = 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; }
public static void SerializePrescription(Prescription value, IFhirWriter writer) { writer.WriteStartRootObject("Prescription"); writer.WriteStartComplexContent(); // Serialize element's localId attribute if( value.InternalId != null && !String.IsNullOrEmpty(value.InternalId.Contents) ) writer.WriteRefIdContents(value.InternalId.Contents); // Serialize element extension if(value.Extension != null && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach(var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element language if(value.Language != null) { writer.WriteStartElement("language"); CodeSerializer.SerializeCode(value.Language, writer); writer.WriteEndElement(); } // Serialize element text if(value.Text != null) { writer.WriteStartElement("text"); NarrativeSerializer.SerializeNarrative(value.Text, writer); writer.WriteEndElement(); } // Serialize element contained if(value.Contained != null && value.Contained.Count > 0) { writer.WriteStartArrayElement("contained"); foreach(var item in value.Contained) { writer.WriteStartArrayMember("contained"); FhirSerializer.SerializeResource(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element identifier if(value.Identifier != null && value.Identifier.Count > 0) { writer.WriteStartArrayElement("identifier"); foreach(var item in value.Identifier) { writer.WriteStartArrayMember("identifier"); IdentifierSerializer.SerializeIdentifier(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element status if(value.Status != null) { writer.WriteStartElement("status"); CodeSerializer.SerializeCode<Prescription.PrescriptionStatus>(value.Status, writer); writer.WriteEndElement(); } // Serialize element patient if(value.Patient != null) { writer.WriteStartElement("patient"); ResourceReferenceSerializer.SerializeResourceReference(value.Patient, writer); writer.WriteEndElement(); } // Serialize element prescriber if(value.Prescriber != null) { writer.WriteStartElement("prescriber"); ResourceReferenceSerializer.SerializeResourceReference(value.Prescriber, writer); writer.WriteEndElement(); } // Serialize element prescribed if(value.Prescribed != null) { writer.WriteStartElement("prescribed"); FhirDateTimeSerializer.SerializeFhirDateTime(value.Prescribed, writer); writer.WriteEndElement(); } // Serialize element dispense if(value.Dispense != null) { writer.WriteStartElement("dispense"); PrescriptionSerializer.SerializePrescriptionDispenseComponent(value.Dispense, writer); writer.WriteEndElement(); } // Serialize element medicine if(value.Medicine != null) { writer.WriteStartElement("medicine"); PrescriptionSerializer.SerializePrescriptionMedicineComponent(value.Medicine, writer); writer.WriteEndElement(); } // Serialize element administrationRequest if(value.AdministrationRequest != null) { writer.WriteStartElement("administrationRequest"); PrescriptionSerializer.SerializePrescriptionAdministrationRequestComponent(value.AdministrationRequest, writer); writer.WriteEndElement(); } // Serialize element reason if(value.Reason != null) { writer.WriteStartElement("reason"); CodeableConceptSerializer.SerializeCodeableConcept(value.Reason, writer); writer.WriteEndElement(); } writer.WriteEndComplexContent(); writer.WriteEndRootObject(); }
/// <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; }
public static void SerializePrescriptionMedicineInactiveIngredientComponent(Prescription.PrescriptionMedicineInactiveIngredientComponent value, IFhirWriter writer) { writer.WriteStartComplexContent(); // Serialize element's localId attribute if( value.InternalId != null && !String.IsNullOrEmpty(value.InternalId.Contents) ) writer.WriteRefIdContents(value.InternalId.Contents); // Serialize element extension if(value.Extension != null && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach(var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element identification if(value.Identification != null) { writer.WriteStartElement("identification"); CodeableConceptSerializer.SerializeCodeableConcept(value.Identification, writer); writer.WriteEndElement(); } // Serialize element quantity if(value.Quantity != null) { writer.WriteStartElement( SerializationUtil.BuildPolymorphicName("quantity", value.Quantity.GetType()) ); FhirSerializer.SerializeElement(value.Quantity, writer); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
public static void SerializePrescriptionMedicineComponent(Prescription.PrescriptionMedicineComponent value, IFhirWriter writer) { writer.WriteStartComplexContent(); // Serialize element's localId attribute if( value.InternalId != null && !String.IsNullOrEmpty(value.InternalId.Contents) ) writer.WriteRefIdContents(value.InternalId.Contents); // Serialize element extension if(value.Extension != null && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach(var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element identification if(value.Identification != null) { writer.WriteStartElement("identification"); CodeableConceptSerializer.SerializeCodeableConcept(value.Identification, writer); writer.WriteEndElement(); } // Serialize element activeIngredient if(value.ActiveIngredient != null && value.ActiveIngredient.Count > 0) { writer.WriteStartArrayElement("activeIngredient"); foreach(var item in value.ActiveIngredient) { writer.WriteStartArrayMember("activeIngredient"); PrescriptionSerializer.SerializePrescriptionMedicineActiveIngredientComponent(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element inactiveIngredient if(value.InactiveIngredient != null && value.InactiveIngredient.Count > 0) { writer.WriteStartArrayElement("inactiveIngredient"); foreach(var item in value.InactiveIngredient) { writer.WriteStartArrayMember("inactiveIngredient"); PrescriptionSerializer.SerializePrescriptionMedicineInactiveIngredientComponent(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } writer.WriteEndComplexContent(); }
public static void SerializePrescriptionDispenseComponent(Prescription.PrescriptionDispenseComponent value, IFhirWriter writer) { writer.WriteStartComplexContent(); // Serialize element's localId attribute if( value.InternalId != null && !String.IsNullOrEmpty(value.InternalId.Contents) ) writer.WriteRefIdContents(value.InternalId.Contents); // Serialize element extension if(value.Extension != null && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach(var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element repeats if(value.Repeats != null) { writer.WriteStartElement("repeats"); IntegerSerializer.SerializeInteger(value.Repeats, writer); writer.WriteEndElement(); } // Serialize element quantity if(value.Quantity != null) { writer.WriteStartElement("quantity"); QuantitySerializer.SerializeQuantity(value.Quantity, writer); writer.WriteEndElement(); } // Serialize element dispenser if(value.Dispenser != null) { writer.WriteStartElement("dispenser"); ResourceReferenceSerializer.SerializeResourceReference(value.Dispenser, writer); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
public static void SerializePrescriptionAdministrationRequestDosageInstructionComponent(Prescription.PrescriptionAdministrationRequestDosageInstructionComponent value, IFhirWriter writer) { writer.WriteStartComplexContent(); // Serialize element's localId attribute if( value.InternalId != null && !String.IsNullOrEmpty(value.InternalId.Contents) ) writer.WriteRefIdContents(value.InternalId.Contents); // Serialize element extension if(value.Extension != null && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach(var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element precondition if(value.Precondition != null && value.Precondition.Count > 0) { writer.WriteStartArrayElement("precondition"); foreach(var item in value.Precondition) { writer.WriteStartArrayMember("precondition"); CodeableConceptSerializer.SerializeCodeableConcept(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element prn if(value.Prn != null) { writer.WriteStartElement("prn"); FhirBooleanSerializer.SerializeFhirBoolean(value.Prn, writer); writer.WriteEndElement(); } // Serialize element additionalInstruction if(value.AdditionalInstruction != null && value.AdditionalInstruction.Count > 0) { writer.WriteStartArrayElement("additionalInstruction"); foreach(var item in value.AdditionalInstruction) { writer.WriteStartArrayMember("additionalInstruction"); CodeableConceptSerializer.SerializeCodeableConcept(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element route if(value.Route != null) { writer.WriteStartElement("route"); CodeableConceptSerializer.SerializeCodeableConcept(value.Route, writer); writer.WriteEndElement(); } // Serialize element dose if(value.Dose != null) { writer.WriteStartElement( SerializationUtil.BuildPolymorphicName("dose", value.Dose.GetType()) ); FhirSerializer.SerializeElement(value.Dose, writer); writer.WriteEndElement(); } // Serialize element rate if(value.Rate != null) { writer.WriteStartElement("rate"); QuantitySerializer.SerializeQuantity(value.Rate, writer); writer.WriteEndElement(); } // Serialize element schedule if(value.Schedule != null && value.Schedule.Count > 0) { writer.WriteStartArrayElement("schedule"); foreach(var item in value.Schedule) { writer.WriteStartArrayMember("schedule"); ScheduleSerializer.SerializeSchedule(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } writer.WriteEndComplexContent(); }
public static void SerializePrescriptionAdministrationRequestComponent(Prescription.PrescriptionAdministrationRequestComponent value, IFhirWriter writer) { writer.WriteStartComplexContent(); // Serialize element's localId attribute if( value.InternalId != null && !String.IsNullOrEmpty(value.InternalId.Contents) ) writer.WriteRefIdContents(value.InternalId.Contents); // Serialize element extension if(value.Extension != null && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach(var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element description if(value.Description != null) { writer.WriteStartElement("description"); FhirStringSerializer.SerializeFhirString(value.Description, writer); writer.WriteEndElement(); } // Serialize element totalPeriodicDose if(value.TotalPeriodicDose != null) { writer.WriteStartElement("totalPeriodicDose"); RatioSerializer.SerializeRatio(value.TotalPeriodicDose, writer); writer.WriteEndElement(); } // Serialize element start if(value.Start != null) { writer.WriteStartElement("start"); FhirDateTimeSerializer.SerializeFhirDateTime(value.Start, writer); writer.WriteEndElement(); } // Serialize element end if(value.End != null) { writer.WriteStartElement("end"); FhirDateTimeSerializer.SerializeFhirDateTime(value.End, writer); writer.WriteEndElement(); } // Serialize element duration if(value.Duration != null) { writer.WriteStartElement("duration"); QuantitySerializer.SerializeQuantity(value.Duration, writer); writer.WriteEndElement(); } // Serialize element numberOfAdministrations if(value.NumberOfAdministrations != null) { writer.WriteStartElement("numberOfAdministrations"); IntegerSerializer.SerializeInteger(value.NumberOfAdministrations, writer); writer.WriteEndElement(); } // Serialize element dosageInstruction if(value.DosageInstruction != null && value.DosageInstruction.Count > 0) { writer.WriteStartArrayElement("dosageInstruction"); foreach(var item in value.DosageInstruction) { writer.WriteStartArrayMember("dosageInstruction"); PrescriptionSerializer.SerializePrescriptionAdministrationRequestDosageInstructionComponent(item, writer); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } writer.WriteEndComplexContent(); }