public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as EpisodeOfCare;

            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.EpisodeOfCare.EpisodeOfCareStatus>)StatusElement.DeepCopy();
            }
            if (StatusHistory != null)
            {
                dest.StatusHistory = new List <Hl7.Fhir.Model.EpisodeOfCare.StatusHistoryComponent>(StatusHistory.DeepCopy());
            }
            if (Type != null)
            {
                dest.Type = new List <Hl7.Fhir.Model.CodeableConcept>(Type.DeepCopy());
            }
            if (Diagnosis != null)
            {
                dest.Diagnosis = new List <Hl7.Fhir.Model.EpisodeOfCare.DiagnosisComponent>(Diagnosis.DeepCopy());
            }
            if (Patient != null)
            {
                dest.Patient = (Hl7.Fhir.Model.ResourceReference)Patient.DeepCopy();
            }
            if (ManagingOrganization != null)
            {
                dest.ManagingOrganization = (Hl7.Fhir.Model.ResourceReference)ManagingOrganization.DeepCopy();
            }
            if (Period != null)
            {
                dest.Period = (Hl7.Fhir.Model.Period)Period.DeepCopy();
            }
            if (ReferralRequest != null)
            {
                dest.ReferralRequest = new List <Hl7.Fhir.Model.ResourceReference>(ReferralRequest.DeepCopy());
            }
            if (CareManager != null)
            {
                dest.CareManager = (Hl7.Fhir.Model.ResourceReference)CareManager.DeepCopy();
            }
            if (Team != null)
            {
                dest.Team = new List <Hl7.Fhir.Model.ResourceReference>(Team.DeepCopy());
            }
            if (Account != null)
            {
                dest.Account = new List <Hl7.Fhir.Model.ResourceReference>(Account.DeepCopy());
            }
            return(dest);
        }
Exemple #2
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as Location;

            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.Location.LocationStatus>)StatusElement.DeepCopy();
            }
            if (NameElement != null)
            {
                dest.NameElement = (Hl7.Fhir.Model.FhirString)NameElement.DeepCopy();
            }
            if (DescriptionElement != null)
            {
                dest.DescriptionElement = (Hl7.Fhir.Model.FhirString)DescriptionElement.DeepCopy();
            }
            if (ModeElement != null)
            {
                dest.ModeElement = (Code <Hl7.Fhir.Model.Location.LocationMode>)ModeElement.DeepCopy();
            }
            if (Type != null)
            {
                dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy();
            }
            if (Telecom != null)
            {
                dest.Telecom = new List <Hl7.Fhir.Model.ContactPoint>(Telecom.DeepCopy());
            }
            if (Address != null)
            {
                dest.Address = (Hl7.Fhir.Model.Address)Address.DeepCopy();
            }
            if (PhysicalType != null)
            {
                dest.PhysicalType = (Hl7.Fhir.Model.CodeableConcept)PhysicalType.DeepCopy();
            }
            if (Position != null)
            {
                dest.Position = (Hl7.Fhir.Model.Location.PositionComponent)Position.DeepCopy();
            }
            if (ManagingOrganization != null)
            {
                dest.ManagingOrganization = (Hl7.Fhir.Model.ResourceReference)ManagingOrganization.DeepCopy();
            }
            if (PartOf != null)
            {
                dest.PartOf = (Hl7.Fhir.Model.ResourceReference)PartOf.DeepCopy();
            }
            return(dest);
        }
Exemple #3
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as Endpoint;

            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.Endpoint.EndpointStatus>)StatusElement.DeepCopy();
            }
            if (ConnectionType != null)
            {
                dest.ConnectionType = (Hl7.Fhir.Model.Coding)ConnectionType.DeepCopy();
            }
            if (NameElement != null)
            {
                dest.NameElement = (Hl7.Fhir.Model.FhirString)NameElement.DeepCopy();
            }
            if (ManagingOrganization != null)
            {
                dest.ManagingOrganization = (Hl7.Fhir.Model.ResourceReference)ManagingOrganization.DeepCopy();
            }
            if (Contact != null)
            {
                dest.Contact = new List <Hl7.Fhir.Model.ContactPoint>(Contact.DeepCopy());
            }
            if (Period != null)
            {
                dest.Period = (Hl7.Fhir.Model.Period)Period.DeepCopy();
            }
            if (PayloadType != null)
            {
                dest.PayloadType = new List <Hl7.Fhir.Model.CodeableConcept>(PayloadType.DeepCopy());
            }
            if (PayloadMimeTypeElement != null)
            {
                dest.PayloadMimeTypeElement = new List <Hl7.Fhir.Model.Code>(PayloadMimeTypeElement.DeepCopy());
            }
            if (AddressElement != null)
            {
                dest.AddressElement = (Hl7.Fhir.Model.FhirUrl)AddressElement.DeepCopy();
            }
            if (HeaderElement != null)
            {
                dest.HeaderElement = new List <Hl7.Fhir.Model.FhirString>(HeaderElement.DeepCopy());
            }
            return(dest);
        }
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as Person;

            if (dest != null)
            {
                base.CopyTo(dest);
                if (Identifier != null)
                {
                    dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
                }
                if (Name != null)
                {
                    dest.Name = new List <Hl7.Fhir.Model.HumanName>(Name.DeepCopy());
                }
                if (Telecom != null)
                {
                    dest.Telecom = new List <Hl7.Fhir.Model.ContactPoint>(Telecom.DeepCopy());
                }
                if (GenderElement != null)
                {
                    dest.GenderElement = (Code <Hl7.Fhir.Model.AdministrativeGender>)GenderElement.DeepCopy();
                }
                if (BirthDateElement != null)
                {
                    dest.BirthDateElement = (Hl7.Fhir.Model.Date)BirthDateElement.DeepCopy();
                }
                if (Address != null)
                {
                    dest.Address = new List <Hl7.Fhir.Model.Address>(Address.DeepCopy());
                }
                if (Photo != null)
                {
                    dest.Photo = (Hl7.Fhir.Model.Attachment)Photo.DeepCopy();
                }
                if (ManagingOrganization != null)
                {
                    dest.ManagingOrganization = (Hl7.Fhir.Model.ResourceReference)ManagingOrganization.DeepCopy();
                }
                if (ActiveElement != null)
                {
                    dest.ActiveElement = (Hl7.Fhir.Model.FhirBoolean)ActiveElement.DeepCopy();
                }
                if (Link != null)
                {
                    dest.Link = new List <Hl7.Fhir.Model.Person.LinkComponent>(Link.DeepCopy());
                }
                return(dest);
            }
            else
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }
        }
Exemple #5
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as PractitionerRoleComponent;

                if (dest == null)
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }

                base.CopyTo(dest);
                if (ManagingOrganization != null)
                {
                    dest.ManagingOrganization = (Hl7.Fhir.Model.ResourceReference)ManagingOrganization.DeepCopy();
                }
                if (Role != null)
                {
                    dest.Role = (Hl7.Fhir.Model.CodeableConcept)Role.DeepCopy();
                }
                if (Specialty != null)
                {
                    dest.Specialty = new List <Hl7.Fhir.Model.CodeableConcept>(Specialty.DeepCopy());
                }
                if (Period != null)
                {
                    dest.Period = (Hl7.Fhir.Model.Period)Period.DeepCopy();
                }
                if (Location != null)
                {
                    dest.Location = new List <Hl7.Fhir.Model.ResourceReference>(Location.DeepCopy());
                }
                if (HealthcareService != null)
                {
                    dest.HealthcareService = new List <Hl7.Fhir.Model.ResourceReference>(HealthcareService.DeepCopy());
                }
                return(dest);
            }
Exemple #6
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as Patient;

            if (dest != null)
            {
                base.CopyTo(dest);
                if (Identifier != null)
                {
                    dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
                }
                if (Name != null)
                {
                    dest.Name = new List <Hl7.Fhir.Model.HumanName>(Name.DeepCopy());
                }
                if (Telecom != null)
                {
                    dest.Telecom = new List <Hl7.Fhir.Model.Contact>(Telecom.DeepCopy());
                }
                if (Gender != null)
                {
                    dest.Gender = (Hl7.Fhir.Model.CodeableConcept)Gender.DeepCopy();
                }
                if (BirthDateElement != null)
                {
                    dest.BirthDateElement = (Hl7.Fhir.Model.FhirDateTime)BirthDateElement.DeepCopy();
                }
                if (Deceased != null)
                {
                    dest.Deceased = (Hl7.Fhir.Model.Element)Deceased.DeepCopy();
                }
                if (Address != null)
                {
                    dest.Address = new List <Hl7.Fhir.Model.Address>(Address.DeepCopy());
                }
                if (MaritalStatus != null)
                {
                    dest.MaritalStatus = (Hl7.Fhir.Model.CodeableConcept)MaritalStatus.DeepCopy();
                }
                if (MultipleBirth != null)
                {
                    dest.MultipleBirth = (Hl7.Fhir.Model.Element)MultipleBirth.DeepCopy();
                }
                if (Photo != null)
                {
                    dest.Photo = new List <Hl7.Fhir.Model.Attachment>(Photo.DeepCopy());
                }
                if (Contact != null)
                {
                    dest.Contact = new List <Hl7.Fhir.Model.Patient.ContactComponent>(Contact.DeepCopy());
                }
                if (Animal != null)
                {
                    dest.Animal = (Hl7.Fhir.Model.Patient.AnimalComponent)Animal.DeepCopy();
                }
                if (Communication != null)
                {
                    dest.Communication = new List <Hl7.Fhir.Model.CodeableConcept>(Communication.DeepCopy());
                }
                if (CareProvider != null)
                {
                    dest.CareProvider = new List <Hl7.Fhir.Model.ResourceReference>(CareProvider.DeepCopy());
                }
                if (ManagingOrganization != null)
                {
                    dest.ManagingOrganization = (Hl7.Fhir.Model.ResourceReference)ManagingOrganization.DeepCopy();
                }
                if (Link != null)
                {
                    dest.Link = new List <Hl7.Fhir.Model.Patient.PatientLinkComponent>(Link.DeepCopy());
                }
                if (ActiveElement != null)
                {
                    dest.ActiveElement = (Hl7.Fhir.Model.FhirBoolean)ActiveElement.DeepCopy();
                }
                return(dest);
            }
            else
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }
        }
Exemple #7
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as CareTeam;

            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.CareTeam.CareTeamStatus>)StatusElement.DeepCopy();
            }
            if (Category != null)
            {
                dest.Category = new List <Hl7.Fhir.Model.CodeableConcept>(Category.DeepCopy());
            }
            if (NameElement != null)
            {
                dest.NameElement = (Hl7.Fhir.Model.FhirString)NameElement.DeepCopy();
            }
            if (Subject != null)
            {
                dest.Subject = (Hl7.Fhir.Model.ResourceReference)Subject.DeepCopy();
            }
            if (Encounter != null)
            {
                dest.Encounter = (Hl7.Fhir.Model.ResourceReference)Encounter.DeepCopy();
            }
            if (Period != null)
            {
                dest.Period = (Hl7.Fhir.Model.Period)Period.DeepCopy();
            }
            if (Participant != null)
            {
                dest.Participant = new List <Hl7.Fhir.Model.CareTeam.ParticipantComponent>(Participant.DeepCopy());
            }
            if (ReasonCode != null)
            {
                dest.ReasonCode = new List <Hl7.Fhir.Model.CodeableConcept>(ReasonCode.DeepCopy());
            }
            if (ReasonReference != null)
            {
                dest.ReasonReference = new List <Hl7.Fhir.Model.ResourceReference>(ReasonReference.DeepCopy());
            }
            if (ManagingOrganization != null)
            {
                dest.ManagingOrganization = new List <Hl7.Fhir.Model.ResourceReference>(ManagingOrganization.DeepCopy());
            }
            if (Telecom != null)
            {
                dest.Telecom = new List <Hl7.Fhir.Model.ContactPoint>(Telecom.DeepCopy());
            }
            if (Note != null)
            {
                dest.Note = new List <Hl7.Fhir.Model.Annotation>(Note.DeepCopy());
            }
            return(dest);
        }
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }

            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((Fhir.R4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Status))
            {
                writer.WriteString("status", (string)Status !);
            }

            if (_Status != null)
            {
                writer.WritePropertyName("_status");
                _Status.SerializeJson(writer, options);
            }

            if ((StatusHistory != null) && (StatusHistory.Count != 0))
            {
                writer.WritePropertyName("statusHistory");
                writer.WriteStartArray();

                foreach (EpisodeOfCareStatusHistory valStatusHistory in StatusHistory)
                {
                    valStatusHistory.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Type != null) && (Type.Count != 0))
            {
                writer.WritePropertyName("type");
                writer.WriteStartArray();

                foreach (CodeableConcept valType in Type)
                {
                    valType.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Diagnosis != null) && (Diagnosis.Count != 0))
            {
                writer.WritePropertyName("diagnosis");
                writer.WriteStartArray();

                foreach (EpisodeOfCareDiagnosis valDiagnosis in Diagnosis)
                {
                    valDiagnosis.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (Patient != null)
            {
                writer.WritePropertyName("patient");
                Patient.SerializeJson(writer, options);
            }

            if (ManagingOrganization != null)
            {
                writer.WritePropertyName("managingOrganization");
                ManagingOrganization.SerializeJson(writer, options);
            }

            if (Period != null)
            {
                writer.WritePropertyName("period");
                Period.SerializeJson(writer, options);
            }

            if ((ReferralRequest != null) && (ReferralRequest.Count != 0))
            {
                writer.WritePropertyName("referralRequest");
                writer.WriteStartArray();

                foreach (Reference valReferralRequest in ReferralRequest)
                {
                    valReferralRequest.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (CareManager != null)
            {
                writer.WritePropertyName("careManager");
                CareManager.SerializeJson(writer, options);
            }

            if ((Team != null) && (Team.Count != 0))
            {
                writer.WritePropertyName("team");
                writer.WriteStartArray();

                foreach (Reference valTeam in Team)
                {
                    valTeam.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Account != null) && (Account.Count != 0))
            {
                writer.WritePropertyName("account");
                writer.WriteStartArray();

                foreach (Reference valAccount in Account)
                {
                    valAccount.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
Exemple #9
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((fhirCsR4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (Active != null)
            {
                writer.WriteBoolean("active", (bool)Active !);
            }

            if ((Name != null) && (Name.Count != 0))
            {
                writer.WritePropertyName("name");
                writer.WriteStartArray();

                foreach (HumanName valName in Name)
                {
                    valName.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Telecom != null) && (Telecom.Count != 0))
            {
                writer.WritePropertyName("telecom");
                writer.WriteStartArray();

                foreach (ContactPoint valTelecom in Telecom)
                {
                    valTelecom.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Gender))
            {
                writer.WriteString("gender", (string)Gender !);
            }

            if (_Gender != null)
            {
                writer.WritePropertyName("_gender");
                _Gender.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(BirthDate))
            {
                writer.WriteString("birthDate", (string)BirthDate !);
            }

            if (_BirthDate != null)
            {
                writer.WritePropertyName("_birthDate");
                _BirthDate.SerializeJson(writer, options);
            }

            if (DeceasedBoolean != null)
            {
                writer.WriteBoolean("deceasedBoolean", (bool)DeceasedBoolean !);
            }

            if (!string.IsNullOrEmpty(DeceasedDateTime))
            {
                writer.WriteString("deceasedDateTime", (string)DeceasedDateTime !);
            }

            if (_DeceasedDateTime != null)
            {
                writer.WritePropertyName("_deceasedDateTime");
                _DeceasedDateTime.SerializeJson(writer, options);
            }

            if ((Address != null) && (Address.Count != 0))
            {
                writer.WritePropertyName("address");
                writer.WriteStartArray();

                foreach (Address valAddress in Address)
                {
                    valAddress.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (MaritalStatus != null)
            {
                writer.WritePropertyName("maritalStatus");
                MaritalStatus.SerializeJson(writer, options);
            }

            if (MultipleBirthBoolean != null)
            {
                writer.WriteBoolean("multipleBirthBoolean", (bool)MultipleBirthBoolean !);
            }

            if (MultipleBirthInteger != null)
            {
                writer.WriteNumber("multipleBirthInteger", (int)MultipleBirthInteger !);
            }

            if ((Photo != null) && (Photo.Count != 0))
            {
                writer.WritePropertyName("photo");
                writer.WriteStartArray();

                foreach (Attachment valPhoto in Photo)
                {
                    valPhoto.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Contact != null) && (Contact.Count != 0))
            {
                writer.WritePropertyName("contact");
                writer.WriteStartArray();

                foreach (PatientContact valContact in Contact)
                {
                    valContact.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Communication != null) && (Communication.Count != 0))
            {
                writer.WritePropertyName("communication");
                writer.WriteStartArray();

                foreach (PatientCommunication valCommunication in Communication)
                {
                    valCommunication.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((GeneralPractitioner != null) && (GeneralPractitioner.Count != 0))
            {
                writer.WritePropertyName("generalPractitioner");
                writer.WriteStartArray();

                foreach (Reference valGeneralPractitioner in GeneralPractitioner)
                {
                    valGeneralPractitioner.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (ManagingOrganization != null)
            {
                writer.WritePropertyName("managingOrganization");
                ManagingOrganization.SerializeJson(writer, options);
            }

            if ((Link != null) && (Link.Count != 0))
            {
                writer.WritePropertyName("link");
                writer.WriteStartArray();

                foreach (PatientLink valLink in Link)
                {
                    valLink.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
Exemple #10
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((fhirCsR4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Status))
            {
                writer.WriteString("status", (string)Status !);
            }

            if (_Status != null)
            {
                writer.WritePropertyName("_status");
                _Status.SerializeJson(writer, options);
            }

            if (ConnectionType != null)
            {
                writer.WritePropertyName("connectionType");
                ConnectionType.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(Name))
            {
                writer.WriteString("name", (string)Name !);
            }

            if (_Name != null)
            {
                writer.WritePropertyName("_name");
                _Name.SerializeJson(writer, options);
            }

            if (ManagingOrganization != null)
            {
                writer.WritePropertyName("managingOrganization");
                ManagingOrganization.SerializeJson(writer, options);
            }

            if ((Contact != null) && (Contact.Count != 0))
            {
                writer.WritePropertyName("contact");
                writer.WriteStartArray();

                foreach (ContactPoint valContact in Contact)
                {
                    valContact.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (Period != null)
            {
                writer.WritePropertyName("period");
                Period.SerializeJson(writer, options);
            }

            if ((PayloadType != null) && (PayloadType.Count != 0))
            {
                writer.WritePropertyName("payloadType");
                writer.WriteStartArray();

                foreach (CodeableConcept valPayloadType in PayloadType)
                {
                    valPayloadType.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((PayloadMimeType != null) && (PayloadMimeType.Count != 0))
            {
                writer.WritePropertyName("payloadMimeType");
                writer.WriteStartArray();

                foreach (string valPayloadMimeType in PayloadMimeType)
                {
                    writer.WriteStringValue(valPayloadMimeType);
                }

                writer.WriteEndArray();
            }

            if ((_PayloadMimeType != null) && (_PayloadMimeType.Count != 0))
            {
                writer.WritePropertyName("_payloadMimeType");
                writer.WriteStartArray();

                foreach (Element val_PayloadMimeType in _PayloadMimeType)
                {
                    val_PayloadMimeType.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Address))
            {
                writer.WriteString("address", (string)Address !);
            }

            if (_Address != null)
            {
                writer.WritePropertyName("_address");
                _Address.SerializeJson(writer, options);
            }

            if ((Header != null) && (Header.Count != 0))
            {
                writer.WritePropertyName("header");
                writer.WriteStartArray();

                foreach (string valHeader in Header)
                {
                    writer.WriteStringValue(valHeader);
                }

                writer.WriteEndArray();
            }

            if ((_Header != null) && (_Header.Count != 0))
            {
                writer.WritePropertyName("_header");
                writer.WriteStartArray();

                foreach (Element val_Header in _Header)
                {
                    val_Header.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
        private int CreateOrGetOrganizationId(int contragentId, Record record)
        {
            int organizationId;

            switch (record.OrganizationType)
            {
                case OrgType.ManagingOrganization:
                    if (this.manOrgByContragentIdDict.ContainsKey(contragentId))
                    {
                        organizationId = this.manOrgByContragentIdDict[contragentId];
                    }
                    else
                    {
                        // create
                        var managingOrganization = new ManagingOrganization
                            {
                                Contragent = new Contragent { Id = contragentId },
                                TypeManagement = record.TypeManagement,
                                OrgStateRole = OrgStateRole.Active,
                                ActivityGroundsTermination = GroundsTermination.NotSet
                            };

                        ManagingOrganizationRepository.Save(managingOrganization);

                        organizationId = managingOrganization.Id;

                        this.manOrgByContragentIdDict[contragentId] = organizationId;
                    }

                    break;

                case OrgType.CommunalServiceProvider:
                    if (this.supplyResOrgByContragentIdDict.ContainsKey(contragentId))
                    {
                        organizationId = this.supplyResOrgByContragentIdDict[contragentId];
                    }
                    else
                    {
                        // create
                        var supplyResourceOrg = new SupplyResourceOrg
                            {
                                Contragent = new Contragent { Id = contragentId },
                                OrgStateRole = OrgStateRole.Active,
                                ActivityGroundsTermination = GroundsTermination.NotSet
                            };

                        SupplyResourceOrgRepository.Save(supplyResourceOrg);

                        organizationId = supplyResourceOrg.Id;

                        this.supplyResOrgByContragentIdDict[contragentId] = organizationId;
                    }

                    break;

                case OrgType.HousingServiceProvider:
                    if (this.serviceOrgByContragentIdDict.ContainsKey(contragentId))
                    {
                        organizationId = this.serviceOrgByContragentIdDict[contragentId];
                    }
                    else
                    {
                        // create
                        var serviceOrganization = new ServiceOrganization
                        {
                            Contragent = new Contragent { Id = contragentId },
                            OrgStateRole = OrgStateRole.Active,
                            ActivityGroundsTermination = GroundsTermination.NotSet
                        };

                        ServiceOrganizationRepository.Save(serviceOrganization);

                        organizationId = serviceOrganization.Id;

                        this.serviceOrgByContragentIdDict[contragentId] = organizationId;
                    }

                    break;

                default:
                    organizationId = CreateOrGetOrganizationIdAdditional(contragentId, record);
                    break;
            }

            return organizationId;
        }
Exemple #12
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }

            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((Fhir.R4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Name != null) && (Name.Count != 0))
            {
                writer.WritePropertyName("name");
                writer.WriteStartArray();

                foreach (HumanName valName in Name)
                {
                    valName.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Telecom != null) && (Telecom.Count != 0))
            {
                writer.WritePropertyName("telecom");
                writer.WriteStartArray();

                foreach (ContactPoint valTelecom in Telecom)
                {
                    valTelecom.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Gender))
            {
                writer.WriteString("gender", (string)Gender !);
            }

            if (_Gender != null)
            {
                writer.WritePropertyName("_gender");
                _Gender.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(BirthDate))
            {
                writer.WriteString("birthDate", (string)BirthDate !);
            }

            if (_BirthDate != null)
            {
                writer.WritePropertyName("_birthDate");
                _BirthDate.SerializeJson(writer, options);
            }

            if ((Address != null) && (Address.Count != 0))
            {
                writer.WritePropertyName("address");
                writer.WriteStartArray();

                foreach (Address valAddress in Address)
                {
                    valAddress.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (Photo != null)
            {
                writer.WritePropertyName("photo");
                Photo.SerializeJson(writer, options);
            }

            if (ManagingOrganization != null)
            {
                writer.WritePropertyName("managingOrganization");
                ManagingOrganization.SerializeJson(writer, options);
            }

            if (Active != null)
            {
                writer.WriteBoolean("active", (bool)Active !);
            }

            if ((Link != null) && (Link.Count != 0))
            {
                writer.WritePropertyName("link");
                writer.WriteStartArray();

                foreach (PersonLink valLink in Link)
                {
                    valLink.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
Exemple #13
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }

            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((Fhir.R4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Status))
            {
                writer.WriteString("status", (string)Status !);
            }

            if (_Status != null)
            {
                writer.WritePropertyName("_status");
                _Status.SerializeJson(writer, options);
            }

            if (OperationalStatus != null)
            {
                writer.WritePropertyName("operationalStatus");
                OperationalStatus.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(Name))
            {
                writer.WriteString("name", (string)Name !);
            }

            if (_Name != null)
            {
                writer.WritePropertyName("_name");
                _Name.SerializeJson(writer, options);
            }

            if ((Alias != null) && (Alias.Count != 0))
            {
                writer.WritePropertyName("alias");
                writer.WriteStartArray();

                foreach (string valAlias in Alias)
                {
                    writer.WriteStringValue(valAlias);
                }

                writer.WriteEndArray();
            }

            if ((_Alias != null) && (_Alias.Count != 0))
            {
                writer.WritePropertyName("_alias");
                writer.WriteStartArray();

                foreach (Element val_Alias in _Alias)
                {
                    val_Alias.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Description))
            {
                writer.WriteString("description", (string)Description !);
            }

            if (_Description != null)
            {
                writer.WritePropertyName("_description");
                _Description.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(Mode))
            {
                writer.WriteString("mode", (string)Mode !);
            }

            if (_Mode != null)
            {
                writer.WritePropertyName("_mode");
                _Mode.SerializeJson(writer, options);
            }

            if ((Type != null) && (Type.Count != 0))
            {
                writer.WritePropertyName("type");
                writer.WriteStartArray();

                foreach (CodeableConcept valType in Type)
                {
                    valType.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Telecom != null) && (Telecom.Count != 0))
            {
                writer.WritePropertyName("telecom");
                writer.WriteStartArray();

                foreach (ContactPoint valTelecom in Telecom)
                {
                    valTelecom.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (Address != null)
            {
                writer.WritePropertyName("address");
                Address.SerializeJson(writer, options);
            }

            if (PhysicalType != null)
            {
                writer.WritePropertyName("physicalType");
                PhysicalType.SerializeJson(writer, options);
            }

            if (Position != null)
            {
                writer.WritePropertyName("position");
                Position.SerializeJson(writer, options);
            }

            if (ManagingOrganization != null)
            {
                writer.WritePropertyName("managingOrganization");
                ManagingOrganization.SerializeJson(writer, options);
            }

            if (PartOf != null)
            {
                writer.WritePropertyName("partOf");
                PartOf.SerializeJson(writer, options);
            }

            if ((HoursOfOperation != null) && (HoursOfOperation.Count != 0))
            {
                writer.WritePropertyName("hoursOfOperation");
                writer.WriteStartArray();

                foreach (LocationHoursOfOperation valHoursOfOperation in HoursOfOperation)
                {
                    valHoursOfOperation.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(AvailabilityExceptions))
            {
                writer.WriteString("availabilityExceptions", (string)AvailabilityExceptions !);
            }

            if (_AvailabilityExceptions != null)
            {
                writer.WritePropertyName("_availabilityExceptions");
                _AvailabilityExceptions.SerializeJson(writer, options);
            }

            if ((Endpoint != null) && (Endpoint.Count != 0))
            {
                writer.WritePropertyName("endpoint");
                writer.WriteStartArray();

                foreach (Reference valEndpoint in Endpoint)
                {
                    valEndpoint.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }