public StaffDetail CreateStaffDetail(Staff staff, IPersistenceContext context) { PersonNameAssembler assembler = new PersonNameAssembler(); StaffGroupAssembler groupAssembler = new StaffGroupAssembler(); EmailAddressAssembler emailAssembler = new EmailAddressAssembler(); TelephoneNumberAssembler telephoneAssembler = new TelephoneNumberAssembler(); AddressAssembler addressAssembler = new AddressAssembler(); return new StaffDetail( staff.GetRef(), staff.Id, EnumUtils.GetEnumValueInfo(staff.Type), assembler.CreatePersonNameDetail(staff.Name), EnumUtils.GetEnumValueInfo(staff.Sex, context), staff.Title, staff.LicenseNumber, staff.BillingNumber, CollectionUtils.Map<TelephoneNumber, TelephoneDetail>( staff.TelephoneNumbers, delegate(TelephoneNumber tn) { return telephoneAssembler.CreateTelephoneDetail(tn, context); }), CollectionUtils.Map<Address, AddressDetail>( staff.Addresses, delegate(Address a) { return addressAssembler.CreateAddressDetail(a, context); }), CollectionUtils.Map<EmailAddress, EmailAddressDetail>( staff.EmailAddresses, delegate(EmailAddress ea) { return emailAssembler.CreateEmailAddressDetail(ea, context); }), CollectionUtils.Map<StaffGroup, StaffGroupSummary>( staff.Groups, delegate(StaffGroup group) { return groupAssembler.CreateSummary(group); }), ExtendedPropertyUtils.Copy(staff.ExtendedProperties), staff.Deactivated, staff.UserName); }
public ExternalPractitionerContactPointDetail CreateExternalPractitionerContactPointDetail(ExternalPractitionerContactPoint contactPoint, IPersistenceContext context) { var telephoneNumberAssembler = new TelephoneNumberAssembler(); var addressAssembler = new AddressAssembler(); var emailAddressAssembler = new EmailAddressAssembler(); var currentPhone = contactPoint.CurrentPhoneNumber; var currentFax = contactPoint.CurrentFaxNumber; var currentAddress = contactPoint.CurrentAddress; var currentEmailAddress = contactPoint.CurrentEmailAddress; return(new ExternalPractitionerContactPointDetail( contactPoint.GetRef(), contactPoint.Name, contactPoint.Description, contactPoint.IsDefaultContactPoint, EnumUtils.GetEnumValueInfo(contactPoint.PreferredResultCommunicationMode, context), EnumUtils.GetEnumValueInfo(contactPoint.InformationAuthority), CollectionUtils.Map(contactPoint.TelephoneNumbers, (TelephoneNumber phone) => telephoneNumberAssembler.CreateTelephoneDetail(phone, context)), CollectionUtils.Map(contactPoint.Addresses, (Address address) => addressAssembler.CreateAddressDetail(address, context)), CollectionUtils.Map(contactPoint.EmailAddresses, (EmailAddress emailAddress) => emailAddressAssembler.CreateEmailAddressDetail(emailAddress, context)), currentPhone == null ? null : telephoneNumberAssembler.CreateTelephoneDetail(currentPhone, context), currentFax == null ? null : telephoneNumberAssembler.CreateTelephoneDetail(currentFax, context), currentAddress == null ? null : addressAssembler.CreateAddressDetail(currentAddress, context), currentEmailAddress == null ? null : emailAddressAssembler.CreateEmailAddressDetail(currentEmailAddress, context), CreateExternalPractitionerContactPointSummary(contactPoint.GetUltimateMergeDestination()), contactPoint.IsMerged, contactPoint.Deactivated)); }
public StaffDetail CreateStaffDetail(Staff staff, IPersistenceContext context) { PersonNameAssembler assembler = new PersonNameAssembler(); StaffGroupAssembler groupAssembler = new StaffGroupAssembler(); EmailAddressAssembler emailAssembler = new EmailAddressAssembler(); TelephoneNumberAssembler telephoneAssembler = new TelephoneNumberAssembler(); AddressAssembler addressAssembler = new AddressAssembler(); return(new StaffDetail( staff.GetRef(), staff.Id, EnumUtils.GetEnumValueInfo(staff.Type), assembler.CreatePersonNameDetail(staff.Name), EnumUtils.GetEnumValueInfo(staff.Sex, context), staff.Title, staff.LicenseNumber, staff.BillingNumber, CollectionUtils.Map <TelephoneNumber, TelephoneDetail>( staff.TelephoneNumbers, delegate(TelephoneNumber tn) { return telephoneAssembler.CreateTelephoneDetail(tn, context); }), CollectionUtils.Map <Address, AddressDetail>( staff.Addresses, delegate(Address a) { return addressAssembler.CreateAddressDetail(a, context); }), CollectionUtils.Map <EmailAddress, EmailAddressDetail>( staff.EmailAddresses, delegate(EmailAddress ea) { return emailAssembler.CreateEmailAddressDetail(ea, context); }), CollectionUtils.Map <StaffGroup, StaffGroupSummary>( staff.Groups, delegate(StaffGroup group) { return groupAssembler.CreateSummary(group); }), ExtendedPropertyUtils.Copy(staff.ExtendedProperties), staff.Deactivated, staff.UserName)); }
public ExternalPractitionerContactPointDetail CreateExternalPractitionerContactPointDetail(ExternalPractitionerContactPoint contactPoint, IPersistenceContext context) { var telephoneNumberAssembler = new TelephoneNumberAssembler(); var addressAssembler = new AddressAssembler(); var emailAddressAssembler = new EmailAddressAssembler(); var currentPhone = contactPoint.CurrentPhoneNumber; var currentFax = contactPoint.CurrentFaxNumber; var currentAddress = contactPoint.CurrentAddress; var currentEmailAddress = contactPoint.CurrentEmailAddress; return new ExternalPractitionerContactPointDetail( contactPoint.GetRef(), contactPoint.Name, contactPoint.Description, contactPoint.IsDefaultContactPoint, EnumUtils.GetEnumValueInfo(contactPoint.PreferredResultCommunicationMode, context), EnumUtils.GetEnumValueInfo(contactPoint.InformationAuthority), CollectionUtils.Map(contactPoint.TelephoneNumbers, (TelephoneNumber phone) => telephoneNumberAssembler.CreateTelephoneDetail(phone, context)), CollectionUtils.Map(contactPoint.Addresses, (Address address) => addressAssembler.CreateAddressDetail(address, context)), CollectionUtils.Map(contactPoint.EmailAddresses, (EmailAddress emailAddress) => emailAddressAssembler.CreateEmailAddressDetail(emailAddress, context)), currentPhone == null ? null : telephoneNumberAssembler.CreateTelephoneDetail(currentPhone, context), currentFax == null ? null : telephoneNumberAssembler.CreateTelephoneDetail(currentFax, context), currentAddress == null ? null : addressAssembler.CreateAddressDetail(currentAddress, context), currentEmailAddress == null ? null : emailAddressAssembler.CreateEmailAddressDetail(currentEmailAddress, context), CreateExternalPractitionerContactPointSummary(contactPoint.GetUltimateMergeDestination()), contactPoint.IsMerged, contactPoint.Deactivated); }
public PatientProfileDetail CreatePatientProfileDetail(PatientProfile profile, IPersistenceContext context, bool includeAddresses, bool includeContactPersons, bool includeEmailAddresses, bool includeTelephoneNumbers, bool includeNotes, bool includeAttachments, bool includeAllergies) { var healthcardAssembler = new HealthcardAssembler(); var nameAssembler = new PersonNameAssembler(); var addressAssembler = new AddressAssembler(); var telephoneAssembler = new TelephoneNumberAssembler(); var detail = new PatientProfileDetail { PatientRef = profile.Patient.GetRef(), PatientProfileRef = profile.GetRef(), Mrn = new MrnAssembler().CreateMrnDetail(profile.Mrn), Healthcard = healthcardAssembler.CreateHealthcardDetail(profile.Healthcard), Name = nameAssembler.CreatePersonNameDetail(profile.Name), Sex = EnumUtils.GetEnumValueInfo(profile.Sex, context), DateOfBirth = profile.DateOfBirth, DeathIndicator = profile.DeathIndicator, TimeOfDeath = profile.TimeOfDeath, PrimaryLanguage = EnumUtils.GetEnumValueInfo(profile.PrimaryLanguage), Religion = EnumUtils.GetEnumValueInfo(profile.Religion), CurrentHomeAddress = addressAssembler.CreateAddressDetail(profile.CurrentHomeAddress, context), CurrentWorkAddress = addressAssembler.CreateAddressDetail(profile.CurrentWorkAddress, context), CurrentHomePhone = telephoneAssembler.CreateTelephoneDetail(profile.CurrentHomePhone, context), CurrentWorkPhone = telephoneAssembler.CreateTelephoneDetail(profile.CurrentWorkPhone, context), BillingInformation = profile.BillingInformation }; if (includeTelephoneNumbers) { detail.TelephoneNumbers = new List <TelephoneDetail>(); foreach (var t in profile.TelephoneNumbers) { detail.TelephoneNumbers.Add(telephoneAssembler.CreateTelephoneDetail(t, context)); } } if (includeAddresses) { detail.Addresses = new List <AddressDetail>(); foreach (var a in profile.Addresses) { detail.Addresses.Add(addressAssembler.CreateAddressDetail(a, context)); } } if (includeContactPersons) { var contactPersonAssembler = new ContactPersonAssembler(); detail.ContactPersons = new List <ContactPersonDetail>(); foreach (var cp in profile.ContactPersons) { detail.ContactPersons.Add(contactPersonAssembler.CreateContactPersonDetail(cp)); } } if (includeEmailAddresses) { var emailAssembler = new EmailAddressAssembler(); detail.EmailAddresses = new List <EmailAddressDetail>(); foreach (var e in profile.EmailAddresses) { detail.EmailAddresses.Add(emailAssembler.CreateEmailAddressDetail(e, context)); } } if (includeNotes) { var noteAssembler = new PatientNoteAssembler(); detail.Notes = new List <PatientNoteDetail>(); foreach (var n in profile.Patient.Notes) { detail.Notes.Add(noteAssembler.CreateNoteDetail(n, context)); } } if (includeAttachments) { var attachmentAssembler = new PatientAttachmentAssembler(); detail.Attachments = new List <AttachmentSummary>(); foreach (var a in profile.Patient.Attachments) { detail.Attachments.Add(attachmentAssembler.CreatePatientAttachmentSummary(a, context)); } } if (includeAllergies) { var allergyAssembler = new PatientAllergyAssembler(); detail.Allergies = new List <PatientAllergyDetail>(); foreach (var a in profile.Patient.Allergies) { detail.Allergies.Add(allergyAssembler.CreateAllergyDetail(a)); } } return(detail); }
public PatientProfileDetail CreatePatientProfileDetail(PatientProfile profile, IPersistenceContext context, bool includeAddresses, bool includeContactPersons, bool includeEmailAddresses, bool includeTelephoneNumbers, bool includeNotes, bool includeAttachments, bool includeAllergies) { var healthcardAssembler = new HealthcardAssembler(); var nameAssembler = new PersonNameAssembler(); var addressAssembler = new AddressAssembler(); var telephoneAssembler = new TelephoneNumberAssembler(); var detail = new PatientProfileDetail { PatientRef = profile.Patient.GetRef(), PatientProfileRef = profile.GetRef(), Mrn = new MrnAssembler().CreateMrnDetail(profile.Mrn), Healthcard = healthcardAssembler.CreateHealthcardDetail(profile.Healthcard), Name = nameAssembler.CreatePersonNameDetail(profile.Name), Sex = EnumUtils.GetEnumValueInfo(profile.Sex, context), DateOfBirth = profile.DateOfBirth, DeathIndicator = profile.DeathIndicator, TimeOfDeath = profile.TimeOfDeath, PrimaryLanguage = EnumUtils.GetEnumValueInfo(profile.PrimaryLanguage), Religion = EnumUtils.GetEnumValueInfo(profile.Religion), CurrentHomeAddress = addressAssembler.CreateAddressDetail(profile.CurrentHomeAddress, context), CurrentWorkAddress = addressAssembler.CreateAddressDetail(profile.CurrentWorkAddress, context), CurrentHomePhone = telephoneAssembler.CreateTelephoneDetail(profile.CurrentHomePhone, context), CurrentWorkPhone = telephoneAssembler.CreateTelephoneDetail(profile.CurrentWorkPhone, context), BillingInformation = profile.BillingInformation }; if (includeTelephoneNumbers) { detail.TelephoneNumbers = new List<TelephoneDetail>(); foreach (var t in profile.TelephoneNumbers) { detail.TelephoneNumbers.Add(telephoneAssembler.CreateTelephoneDetail(t, context)); } } if (includeAddresses) { detail.Addresses = new List<AddressDetail>(); foreach (var a in profile.Addresses) { detail.Addresses.Add(addressAssembler.CreateAddressDetail(a, context)); } } if (includeContactPersons) { var contactPersonAssembler = new ContactPersonAssembler(); detail.ContactPersons = new List<ContactPersonDetail>(); foreach (var cp in profile.ContactPersons) { detail.ContactPersons.Add(contactPersonAssembler.CreateContactPersonDetail(cp)); } } if (includeEmailAddresses) { var emailAssembler = new EmailAddressAssembler(); detail.EmailAddresses = new List<EmailAddressDetail>(); foreach (var e in profile.EmailAddresses) { detail.EmailAddresses.Add(emailAssembler.CreateEmailAddressDetail(e, context)); } } if (includeNotes) { var noteAssembler = new PatientNoteAssembler(); detail.Notes = new List<PatientNoteDetail>(); foreach (var n in profile.Patient.Notes) { detail.Notes.Add(noteAssembler.CreateNoteDetail(n, context)); } } if (includeAttachments) { var attachmentAssembler = new PatientAttachmentAssembler(); detail.Attachments = new List<AttachmentSummary>(); foreach (var a in profile.Patient.Attachments) { detail.Attachments.Add(attachmentAssembler.CreatePatientAttachmentSummary(a, context)); } } if (includeAllergies) { var allergyAssembler = new PatientAllergyAssembler(); detail.Allergies = new List<PatientAllergyDetail>(); foreach (var a in profile.Patient.Allergies) { detail.Allergies.Add(allergyAssembler.CreateAllergyDetail(a)); } } return detail; }