public void UpdateExternalPractitionerContactPoint(ExternalPractitionerContactPointDetail detail, ExternalPractitionerContactPoint contactPoint, IPersistenceContext context) { contactPoint.Name = detail.Name; contactPoint.Description = detail.Description; contactPoint.IsDefaultContactPoint = detail.IsDefaultContactPoint; contactPoint.PreferredResultCommunicationMode = EnumUtils.GetEnumValue <ResultCommunicationMode>(detail.PreferredResultCommunicationMode); contactPoint.InformationAuthority = EnumUtils.GetEnumValue <InformationAuthorityEnum>(detail.InformationAuthority, context); contactPoint.MarkDeactivated(detail.Deactivated); var phoneAssembler = new TelephoneNumberAssembler(); var addressAssembler = new AddressAssembler(); var emailAddressAssembler = new EmailAddressAssembler(); contactPoint.TelephoneNumbers.Clear(); if (detail.TelephoneNumbers != null) { foreach (var phoneDetail in detail.TelephoneNumbers) { contactPoint.TelephoneNumbers.Add(phoneAssembler.CreateTelephoneNumber(phoneDetail)); } } contactPoint.Addresses.Clear(); if (detail.Addresses != null) { foreach (var addressDetail in detail.Addresses) { contactPoint.Addresses.Add(addressAssembler.CreateAddress(addressDetail)); } } contactPoint.EmailAddresses.Clear(); if (detail.EmailAddresses != null) { foreach (var emailAddressDetail in detail.EmailAddresses) { contactPoint.EmailAddresses.Add(emailAddressAssembler.CreateEmailAddress(emailAddressDetail)); } } }
public void UpdateExternalPractitionerContactPoint(ExternalPractitionerContactPointDetail detail, ExternalPractitionerContactPoint contactPoint, IPersistenceContext context) { contactPoint.Name = detail.Name; contactPoint.Description = detail.Description; contactPoint.IsDefaultContactPoint = detail.IsDefaultContactPoint; contactPoint.PreferredResultCommunicationMode = EnumUtils.GetEnumValue<ResultCommunicationMode>(detail.PreferredResultCommunicationMode); contactPoint.InformationAuthority = EnumUtils.GetEnumValue<InformationAuthorityEnum>(detail.InformationAuthority, context); contactPoint.MarkDeactivated(detail.Deactivated); var phoneAssembler = new TelephoneNumberAssembler(); var addressAssembler = new AddressAssembler(); var emailAddressAssembler = new EmailAddressAssembler(); contactPoint.TelephoneNumbers.Clear(); if (detail.TelephoneNumbers != null) { foreach (var phoneDetail in detail.TelephoneNumbers) { contactPoint.TelephoneNumbers.Add(phoneAssembler.CreateTelephoneNumber(phoneDetail)); } } contactPoint.Addresses.Clear(); if (detail.Addresses != null) { foreach (var addressDetail in detail.Addresses) { contactPoint.Addresses.Add(addressAssembler.CreateAddress(addressDetail)); } } contactPoint.EmailAddresses.Clear(); if (detail.EmailAddresses != null) { foreach (var emailAddressDetail in detail.EmailAddresses) { contactPoint.EmailAddresses.Add(emailAddressAssembler.CreateEmailAddress(emailAddressDetail)); } } }
public void UpdateStaff(StaffDetail detail, Staff staff, bool updateElectiveGroups, bool updateNonElectiveGroups, IPersistenceContext context) { PersonNameAssembler assembler = new PersonNameAssembler(); EmailAddressAssembler emailAssembler = new EmailAddressAssembler(); TelephoneNumberAssembler telephoneAssembler = new TelephoneNumberAssembler(); AddressAssembler addressAssembler = new AddressAssembler(); staff.Id = detail.StaffId; staff.Type = EnumUtils.GetEnumValue<StaffTypeEnum>(detail.StaffType, context); assembler.UpdatePersonName(detail.Name, staff.Name); staff.Sex = EnumUtils.GetEnumValue<Sex>(detail.Sex); staff.Title = detail.Title; staff.LicenseNumber = detail.LicenseNumber; staff.BillingNumber = detail.BillingNumber; staff.Deactivated = detail.Deactivated; staff.UserName = detail.UserName; staff.TelephoneNumbers.Clear(); if (detail.TelephoneNumbers != null) { foreach (TelephoneDetail phoneDetail in detail.TelephoneNumbers) { staff.TelephoneNumbers.Add(telephoneAssembler.CreateTelephoneNumber(phoneDetail)); } } staff.Addresses.Clear(); if (detail.Addresses != null) { foreach (AddressDetail addressDetail in detail.Addresses) { staff.Addresses.Add(addressAssembler.CreateAddress(addressDetail)); } } staff.EmailAddresses.Clear(); if (detail.EmailAddresses != null) { foreach (EmailAddressDetail emailAddressDetail in detail.EmailAddresses) { staff.EmailAddresses.Add(emailAssembler.CreateEmailAddress(emailAddressDetail)); } } ExtendedPropertyUtils.Update(staff.ExtendedProperties, detail.ExtendedProperties); if (updateElectiveGroups) { // update elective groups UpdateStaffGroups(detail, staff, delegate(StaffGroupSummary summary) { return summary.IsElective; }, delegate(StaffGroup group) { return group.Elective; }, context); } if (updateNonElectiveGroups) { // update non-elective groups UpdateStaffGroups(detail, staff, delegate(StaffGroupSummary summary) { return !summary.IsElective; }, delegate(StaffGroup group) { return !group.Elective; }, context); } }
public void UpdatePatientProfile(PatientProfile profile, PatientProfileDetail detail, bool updateMrn, IPersistenceContext context) { if (updateMrn) { profile.Mrn.Id = detail.Mrn.Id; profile.Mrn.AssigningAuthority = EnumUtils.GetEnumValue <InformationAuthorityEnum>(detail.Mrn.AssigningAuthority, context); } profile.Healthcard = new HealthcardNumber(); new HealthcardAssembler().UpdateHealthcard(profile.Healthcard, detail.Healthcard, context); var nameAssembler = new PersonNameAssembler(); nameAssembler.UpdatePersonName(detail.Name, profile.Name); profile.Sex = EnumUtils.GetEnumValue <Sex>(detail.Sex); profile.DateOfBirth = detail.DateOfBirth; profile.DeathIndicator = detail.DeathIndicator; profile.TimeOfDeath = detail.TimeOfDeath; profile.PrimaryLanguage = EnumUtils.GetEnumValue <SpokenLanguageEnum>(detail.PrimaryLanguage, context); profile.Religion = EnumUtils.GetEnumValue <ReligionEnum>(detail.Religion, context); profile.BillingInformation = detail.BillingInformation; var telephoneAssembler = new TelephoneNumberAssembler(); profile.TelephoneNumbers.Clear(); if (detail.TelephoneNumbers != null) { foreach (var phoneDetail in detail.TelephoneNumbers) { profile.TelephoneNumbers.Add(telephoneAssembler.CreateTelephoneNumber(phoneDetail)); } } var addressAssembler = new AddressAssembler(); profile.Addresses.Clear(); if (detail.Addresses != null) { foreach (var addressDetail in detail.Addresses) { profile.Addresses.Add(addressAssembler.CreateAddress(addressDetail)); } } var emailAssembler = new EmailAddressAssembler(); profile.EmailAddresses.Clear(); foreach (var e in detail.EmailAddresses) { profile.EmailAddresses.Add(emailAssembler.CreateEmailAddress(e)); } var contactAssembler = new ContactPersonAssembler(); profile.ContactPersons.Clear(); foreach (var cp in detail.ContactPersons) { profile.ContactPersons.Add(contactAssembler.CreateContactPerson(cp, context)); } }
public void UpdateStaff(StaffDetail detail, Staff staff, bool updateElectiveGroups, bool updateNonElectiveGroups, IPersistenceContext context) { PersonNameAssembler assembler = new PersonNameAssembler(); EmailAddressAssembler emailAssembler = new EmailAddressAssembler(); TelephoneNumberAssembler telephoneAssembler = new TelephoneNumberAssembler(); AddressAssembler addressAssembler = new AddressAssembler(); staff.Id = detail.StaffId; staff.Type = EnumUtils.GetEnumValue <StaffTypeEnum>(detail.StaffType, context); assembler.UpdatePersonName(detail.Name, staff.Name); staff.Sex = EnumUtils.GetEnumValue <Sex>(detail.Sex); staff.Title = detail.Title; staff.LicenseNumber = detail.LicenseNumber; staff.BillingNumber = detail.BillingNumber; staff.Deactivated = detail.Deactivated; staff.UserName = detail.UserName; staff.TelephoneNumbers.Clear(); if (detail.TelephoneNumbers != null) { foreach (TelephoneDetail phoneDetail in detail.TelephoneNumbers) { staff.TelephoneNumbers.Add(telephoneAssembler.CreateTelephoneNumber(phoneDetail)); } } staff.Addresses.Clear(); if (detail.Addresses != null) { foreach (AddressDetail addressDetail in detail.Addresses) { staff.Addresses.Add(addressAssembler.CreateAddress(addressDetail)); } } staff.EmailAddresses.Clear(); if (detail.EmailAddresses != null) { foreach (EmailAddressDetail emailAddressDetail in detail.EmailAddresses) { staff.EmailAddresses.Add(emailAssembler.CreateEmailAddress(emailAddressDetail)); } } ExtendedPropertyUtils.Update(staff.ExtendedProperties, detail.ExtendedProperties); if (updateElectiveGroups) { // update elective groups UpdateStaffGroups(detail, staff, delegate(StaffGroupSummary summary) { return(summary.IsElective); }, delegate(StaffGroup group) { return(group.Elective); }, context); } if (updateNonElectiveGroups) { // update non-elective groups UpdateStaffGroups(detail, staff, delegate(StaffGroupSummary summary) { return(!summary.IsElective); }, delegate(StaffGroup group) { return(!group.Elective); }, context); } }
public void UpdatePatientProfile(PatientProfile profile, PatientProfileDetail detail, bool updateMrn, IPersistenceContext context) { if(updateMrn) { profile.Mrn.Id = detail.Mrn.Id; profile.Mrn.AssigningAuthority = EnumUtils.GetEnumValue<InformationAuthorityEnum>(detail.Mrn.AssigningAuthority, context); } profile.Healthcard = new HealthcardNumber(); new HealthcardAssembler().UpdateHealthcard(profile.Healthcard, detail.Healthcard, context); var nameAssembler = new PersonNameAssembler(); nameAssembler.UpdatePersonName(detail.Name, profile.Name); profile.Sex = EnumUtils.GetEnumValue<Sex>(detail.Sex); profile.DateOfBirth = detail.DateOfBirth; profile.DeathIndicator = detail.DeathIndicator; profile.TimeOfDeath = detail.TimeOfDeath; profile.PrimaryLanguage = EnumUtils.GetEnumValue<SpokenLanguageEnum>(detail.PrimaryLanguage, context); profile.Religion = EnumUtils.GetEnumValue<ReligionEnum>(detail.Religion, context); profile.BillingInformation = detail.BillingInformation; var telephoneAssembler = new TelephoneNumberAssembler(); profile.TelephoneNumbers.Clear(); if (detail.TelephoneNumbers != null) { foreach (var phoneDetail in detail.TelephoneNumbers) { profile.TelephoneNumbers.Add(telephoneAssembler.CreateTelephoneNumber(phoneDetail)); } } var addressAssembler = new AddressAssembler(); profile.Addresses.Clear(); if (detail.Addresses != null) { foreach (var addressDetail in detail.Addresses) { profile.Addresses.Add(addressAssembler.CreateAddress(addressDetail)); } } var emailAssembler = new EmailAddressAssembler(); profile.EmailAddresses.Clear(); foreach (var e in detail.EmailAddresses) { profile.EmailAddresses.Add(emailAssembler.CreateEmailAddress(e)); } var contactAssembler = new ContactPersonAssembler(); profile.ContactPersons.Clear(); foreach (var cp in detail.ContactPersons) { profile.ContactPersons.Add(contactAssembler.CreateContactPerson(cp, context)); } }