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 VisitSummary CreateVisitSummary(Visit visit, IPersistenceContext context) { var patientProfileAssembler = new PatientProfileAssembler(); var summary = new VisitSummary { VisitRef = visit.GetRef(), Patient = patientProfileAssembler.CreatePatientProfileSummary(visit.PatientProfile, context), VisitNumber = CreateVisitNumberDetail(visit.VisitNumber), AdmissionType = EnumUtils.GetEnumValueInfo(visit.AdmissionType), PatientClass = EnumUtils.GetEnumValueInfo(visit.PatientClass), PatientType = EnumUtils.GetEnumValueInfo(visit.PatientType), Status = EnumUtils.GetEnumValueInfo(visit.Status, context), AdmitTime = visit.AdmitTime, DischargeTime = visit.DischargeTime }; var facilityAssembler = new FacilityAssembler(); summary.Facility = visit.Facility == null ? null : facilityAssembler.CreateFacilitySummary(visit.Facility); var locationAssembler = new LocationAssembler(); summary.CurrentLocation = visit.CurrentLocation == null ? null : locationAssembler.CreateLocationSummary(visit.CurrentLocation); summary.CurrentRoom = visit.CurrentRoom; summary.CurrentBed = visit.CurrentBed; return(summary); }
public ReportSummary CreateReportSummary(Procedure rp, Report report, IPersistenceContext context) { ReportSummary summary = new ReportSummary(); ProcedureAssembler rpAssembler = new ProcedureAssembler(); if (report != null) { summary.ReportRef = report.GetRef(); summary.ReportStatus = EnumUtils.GetEnumValueInfo(report.Status, context); // use all procedures attached to report summary.Procedures = CollectionUtils.Map <Procedure, ProcedureSummary>(report.Procedures, delegate(Procedure p) { return(rpAssembler.CreateProcedureSummary(p, context)); }); } else { // use supplied procedure summary.Procedures = CollectionUtils.Map <Procedure, ProcedureSummary>(new Procedure[] { rp }, delegate(Procedure p) { return(rpAssembler.CreateProcedureSummary(p, context)); }); } Order order = rp.Order; summary.VisitNumber = new VisitAssembler().CreateVisitNumberDetail(order.Visit.VisitNumber); summary.AccessionNumber = order.AccessionNumber; summary.DiagnosticServiceName = order.DiagnosticService.Name; return(summary); }
public ModalityPerformedProcedureStepDetail CreateModalityPerformedProcedureStepDetail(ModalityPerformedProcedureStep mpps, IPersistenceContext context) { var assembler = new ModalityProcedureStepAssembler(); // include the details of each MPS in the mpps summary var mpsDetails = CollectionUtils.Map(mpps.Activities, (ProcedureStep mps) => assembler.CreateProcedureStepSummary(mps.As <ModalityProcedureStep>(), context)); var dicomSeriesAssembler = new DicomSeriesAssembler(); var dicomSeries = dicomSeriesAssembler.GetDicomSeriesDetails(mpps.DicomSeries); StaffSummary mppsPerformer = null; var performer = mpps.Performer as ProcedureStepPerformer; if (performer != null) { var staffAssembler = new StaffAssembler(); mppsPerformer = staffAssembler.CreateStaffSummary(performer.Staff, context); } return(new ModalityPerformedProcedureStepDetail( mpps.GetRef(), EnumUtils.GetEnumValueInfo(mpps.State, context), mpps.StartTime, mpps.EndTime, mppsPerformer, mpsDetails, dicomSeries, ExtendedPropertyUtils.Copy(mpps.ExtendedProperties))); }
public ProtocolDetail CreateProtocolDetail(Protocol protocol, IPersistenceContext context) { var detail = new ProtocolDetail(); var staffAssembler = new StaffAssembler(); detail.ProtocolRef = protocol.GetRef(); detail.Author = protocol.Author != null ? staffAssembler.CreateStaffSummary(protocol.Author, context) : null; detail.Supervisor = protocol.Supervisor != null ? staffAssembler.CreateStaffSummary(protocol.Supervisor, context) : null; detail.Status = EnumUtils.GetEnumValueInfo(protocol.Status, context); detail.Urgency = EnumUtils.GetEnumValueInfo(protocol.Urgency); detail.RejectReason = EnumUtils.GetEnumValueInfo(protocol.RejectReason); detail.Codes = protocol.Codes == null ? new List<ProtocolCodeSummary>() : CollectionUtils.Map<ProtocolCode, ProtocolCodeSummary>(protocol.Codes, CreateProtocolCodeSummary); var procedureAssembler = new ProcedureAssembler(); detail.Procedures = protocol.Procedures == null ? new List<ProcedureDetail>() : CollectionUtils.Map<Procedure, ProcedureDetail>( protocol.Procedures, procedure => procedureAssembler.CreateProcedureDetail(procedure, delegate { return false; }, false, context)); return detail; }
public ReportDetail CreateReportDetail(Report report, bool includeCancelledParts, IPersistenceContext context) { ReportDetail detail = new ReportDetail(); detail.ReportRef = report.GetRef(); detail.ReportStatus = EnumUtils.GetEnumValueInfo(report.Status, context); ProcedureAssembler rpAssembler = new ProcedureAssembler(); detail.Procedures = CollectionUtils.Map <Procedure, ProcedureDetail>(report.Procedures, delegate(Procedure p) { return(rpAssembler.CreateProcedureDetail( p, delegate(ProcedureStep ps) { return ps.Is <ReportingProcedureStep>(); }, // only Reporting steps are relevant false, // exclude protocols context)); }); List <ReportPartDetail> parts = CollectionUtils.Map <ReportPart, ReportPartDetail>(report.Parts, delegate(ReportPart part) { return(CreateReportPartDetail(part, context)); }); detail.Parts = includeCancelledParts ? parts : CollectionUtils.Select(parts, delegate(ReportPartDetail rpp) { return(rpp.Status.Code.Equals(ReportPartStatus.X.ToString()) == false); }); return(detail); }
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 ResultRecipientDetail CreateResultRecipientDetail(ResultRecipient r, IPersistenceContext context) { ExternalPractitionerAssembler pracAssembler = new ExternalPractitionerAssembler(); return(new ResultRecipientDetail( pracAssembler.CreateExternalPractitionerSummary(r.PractitionerContactPoint.Practitioner, context), pracAssembler.CreateExternalPractitionerContactPointDetail(r.PractitionerContactPoint, context), EnumUtils.GetEnumValueInfo(r.PreferredCommunicationMode, context))); }
public PatientNoteCategorySummary CreateNoteCategorySummary(PatientNoteCategory category, IPersistenceContext context) { return(new PatientNoteCategorySummary( category.GetRef(), category.Name, category.Description, EnumUtils.GetEnumValueInfo(category.Severity, context), category.Deactivated)); }
public ProtocolProcedureStepDetail CreateProtocolProcedureStepDetail(ProtocolProcedureStep step, IPersistenceContext context) { ProtocolProcedureStepDetail detail = new ProtocolProcedureStepDetail(); detail.ProtocolProcedureStepRef = step.GetRef(); detail.Status = EnumUtils.GetEnumValueInfo(step.State, context); detail.ProtocolRef = step.Protocol.GetRef(); return(detail); }
public FacilityDetail CreateFacilityDetail(Facility facility) { return(new FacilityDetail( facility.GetRef(), facility.Code, facility.Name, facility.Description, EnumUtils.GetEnumValueInfo(facility.InformationAuthority), facility.Deactivated)); }
public CompositeIdentifierDetail CreateMrnDetail(PatientIdentifier mrn) { if (mrn == null) { return(new CompositeIdentifierDetail()); } return(new CompositeIdentifierDetail( mrn.Id, EnumUtils.GetEnumValueInfo(mrn.AssigningAuthority))); }
public AttachmentSummary CreatePatientAttachmentSummary(PatientAttachment attachment, IPersistenceContext context) { AttachedDocumentAssembler attachedDocAssembler = new AttachedDocumentAssembler(); StaffAssembler staffAssembler = new StaffAssembler(); return(new AttachmentSummary( EnumUtils.GetEnumValueInfo(attachment.Category), staffAssembler.CreateStaffSummary(attachment.AttachedBy, context), attachment.AttachedTime, attachedDocAssembler.CreateAttachedDocumentSummary(attachment.Document))); }
private static VisitPractitionerDetail CreateVisitPractitionerDetail(VisitPractitioner vp, IPersistenceContext context) { var detail = new VisitPractitionerDetail { Practitioner = new ExternalPractitionerAssembler().CreateExternalPractitionerSummary(vp.Practitioner, context), Role = EnumUtils.GetEnumValueInfo(vp.Role, context), StartTime = vp.StartTime, EndTime = vp.EndTime }; return(detail); }
public StaffSummary CreateStaffSummary(Staff staff, IPersistenceContext context) { if (staff == null) { return(null); } return(new StaffSummary(staff.GetRef(), staff.Id, EnumUtils.GetEnumValueInfo(staff.Type), new PersonNameAssembler().CreatePersonNameDetail(staff.Name), staff.Deactivated)); }
public HealthcardDetail CreateHealthcardDetail(HealthcardNumber healthcard) { if (healthcard == null) { return(new HealthcardDetail()); } return(new HealthcardDetail( healthcard.Id, EnumUtils.GetEnumValueInfo(healthcard.AssigningAuthority), healthcard.VersionCode, healthcard.ExpiryDate)); }
public ModalityDetail CreateModalityDetail(Modality modality) { var facilityAssember = new FacilityAssembler(); return(new ModalityDetail( modality.GetRef(), modality.Id, modality.Name, modality.Facility == null ? null : facilityAssember.CreateFacilitySummary(modality.Facility), modality.AETitle, EnumUtils.GetEnumValueInfo(modality.DicomModality), modality.Deactivated)); }
public ContactPersonDetail CreateContactPersonDetail(ContactPerson cp) { ContactPersonDetail detail = new ContactPersonDetail(); detail.Name = cp.Name; detail.Address = cp.Address; detail.HomePhoneNumber = cp.HomePhone; detail.BusinessPhoneNumber = cp.BusinessPhone; detail.Relationship = EnumUtils.GetEnumValueInfo(cp.Relationship); detail.Type = EnumUtils.GetEnumValueInfo(cp.Type); return(detail); }
private static VisitLocationDetail CreateVisitLocationDetail(VisitLocation vl, IPersistenceContext context) { var detail = new VisitLocationDetail { Location = new LocationAssembler().CreateLocationSummary(vl.Location), Room = vl.Room, Bed = vl.Bed, Role = EnumUtils.GetEnumValueInfo(vl.Role, context), StartTime = vl.StartTime, EndTime = vl.EndTime }; return(detail); }
public ProcedureStepSummary CreateProcedureStepSummary(ProcedureStep ps, IPersistenceContext context) { var assembler = new ProcedureAssembler(); var modalityAssembler = new ModalityAssembler(); return(new ProcedureStepSummary( ps.GetRef(), ps.Name, EnumUtils.GetEnumValueInfo(ps.State, context), ps.StartTime, ps.EndTime, ps.Is <ModalityProcedureStep>() ? modalityAssembler.CreateModalitySummary(ps.As <ModalityProcedureStep>().Modality) : null, assembler.CreateProcedureSummary(ps.Procedure, context))); }
public PatientAllergyDetail CreateAllergyDetail(Allergy allergy) { var nameAssembler = new PersonNameAssembler(); return(new PatientAllergyDetail( EnumUtils.GetEnumValueInfo(allergy.AllergenType), allergy.AllergenDescription, EnumUtils.GetEnumValueInfo(allergy.Severity), allergy.Reaction, EnumUtils.GetEnumValueInfo(allergy.SensitivityType), allergy.OnsetTime, allergy.ReportedTime, nameAssembler.CreatePersonNameDetail(allergy.Reporter), EnumUtils.GetEnumValueInfo(allergy.ReporterRelationshipType))); }
public ProcedureSummary CreateProcedureSummary(Procedure rp, IPersistenceContext context) { var rptAssembler = new ProcedureTypeAssembler(); var summary = new ProcedureSummary { OrderRef = rp.Order.GetRef(), ProcedureRef = rp.GetRef(), ScheduledStartTime = rp.ScheduledStartTime, SchedulingCode = EnumUtils.GetEnumValueInfo(rp.SchedulingCode), PerformingFacility = new FacilityAssembler().CreateFacilitySummary(rp.PerformingFacility), Type = rptAssembler.CreateSummary(rp.Type), Laterality = EnumUtils.GetEnumValueInfo(rp.Laterality, context), Portable = rp.Portable }; return(summary); }
public WorkQueueItemSummary CreateWorkQueueItemSummary(WorkQueueItem workQueueItem, IPersistenceContext context) { WorkQueueItemSummary summary = new WorkQueueItemSummary(); summary.WorkQueueItemRef = workQueueItem.GetRef(); summary.CreationTime = workQueueItem.CreationTime; summary.ScheduledTime = workQueueItem.ScheduledTime; summary.ExpirationTime = workQueueItem.ExpirationTime; summary.User = workQueueItem.User; summary.Type = workQueueItem.Type; summary.Status = EnumUtils.GetEnumValueInfo(workQueueItem.Status, context); summary.ProcessedTime = workQueueItem.ProcessedTime; summary.FailureCount = workQueueItem.FailureCount; summary.FailureDescription = workQueueItem.FailureDescription; return summary; }
public PatientProfileSummary CreatePatientProfileSummary(PatientProfile profile, IPersistenceContext context) { var nameAssembler = new PersonNameAssembler(); var healthcardAssembler = new HealthcardAssembler(); var summary = new PatientProfileSummary { Mrn = new MrnAssembler().CreateMrnDetail(profile.Mrn), DateOfBirth = profile.DateOfBirth, Healthcard = healthcardAssembler.CreateHealthcardDetail(profile.Healthcard), Name = nameAssembler.CreatePersonNameDetail(profile.Name), PatientRef = profile.Patient.GetRef(), PatientProfileRef = profile.GetRef(), Sex = EnumUtils.GetEnumValueInfo(profile.Sex, context) }; return(summary); }
public OrderSummary CreateOrderSummary(Order order, IPersistenceContext context) { var practitionerAssembler = new ExternalPractitionerAssembler(); return(new OrderSummary { OrderRef = order.GetRef(), AccessionNumber = order.AccessionNumber, DiagnosticServiceName = order.DiagnosticService.Name, EnteredTime = order.EnteredTime, SchedulingRequestTime = order.SchedulingRequestTime, OrderingPractitioner = practitionerAssembler.CreateExternalPractitionerSummary(order.OrderingPractitioner, context), OrderingFacility = order.OrderingFacility.Name, ReasonForStudy = order.ReasonForStudy, OrderPriority = EnumUtils.GetEnumValueInfo(order.Priority, context), OrderStatus = EnumUtils.GetEnumValueInfo(order.Status, context) }); }
public WorkQueueItemDetail CreateWorkQueueItemDetail(WorkQueueItem workQueueItem, IPersistenceContext context) { WorkQueueItemDetail detail = new WorkQueueItemDetail(); detail.WorkQueueItemRef = workQueueItem.GetRef(); detail.CreationTime = workQueueItem.CreationTime; detail.ScheduledTime = workQueueItem.ScheduledTime; detail.ExpirationTime = workQueueItem.ExpirationTime; detail.User = workQueueItem.User; detail.Type = workQueueItem.Type; detail.Status = EnumUtils.GetEnumValueInfo(workQueueItem.Status, context); detail.ProcessedTime = workQueueItem.ProcessedTime; detail.FailureCount = workQueueItem.FailureCount; detail.FailureDescription = workQueueItem.FailureDescription; detail.ExtendedProperties = ExtendedPropertyUtils.Copy(workQueueItem.ExtendedProperties); return detail; }
public VisitDetail CreateVisitDetail(Visit visit, IPersistenceContext context) { var patientProfileAssembler = new PatientProfileAssembler(); var detail = new VisitDetail { VisitRef = visit.GetRef(), Patient = patientProfileAssembler.CreatePatientProfileSummary(visit.PatientProfile, context), VisitNumber = CreateVisitNumberDetail(visit.VisitNumber), AdmissionType = EnumUtils.GetEnumValueInfo(visit.AdmissionType), PatientClass = EnumUtils.GetEnumValueInfo(visit.PatientClass), PatientType = EnumUtils.GetEnumValueInfo(visit.PatientType), Status = EnumUtils.GetEnumValueInfo(visit.Status, context), AdmitTime = visit.AdmitTime, DischargeTime = visit.DischargeTime, DischargeDisposition = visit.DischargeDisposition, Facility = new FacilityAssembler().CreateFacilitySummary(visit.Facility), CurrentLocation = visit.CurrentLocation == null ? null : new LocationAssembler().CreateLocationSummary(visit.CurrentLocation), CurrentRoom = visit.CurrentRoom, CurrentBed = visit.CurrentBed, Locations = new List <VisitLocationDetail>(), PreadmitNumber = visit.PreadmitNumber, VipIndicator = visit.VipIndicator, ExtendedProperties = ExtendedPropertyUtils.Copy(visit.ExtendedProperties) }; foreach (var vl in visit.Locations) { detail.Locations.Add(CreateVisitLocationDetail(vl, context)); } detail.Practitioners = new List <VisitPractitionerDetail>(); foreach (var vp in visit.Practitioners) { detail.Practitioners.Add(CreateVisitPractitionerDetail(vp, context)); } detail.AmbulatoryStatuses = new List <EnumValueInfo>(); foreach (var ambulatoryStatus in visit.AmbulatoryStatuses) { detail.AmbulatoryStatuses.Add(EnumUtils.GetEnumValueInfo(ambulatoryStatus)); } return(detail); }
/// <summary> /// Creates procedure detail optionally including specified data. /// </summary> /// <param name="rp"></param> /// <param name="procedureStepFilter"></param> /// <param name="includeProtocol"></param> /// <param name="context"></param> /// <returns></returns> public ProcedureDetail CreateProcedureDetail( Procedure rp, Predicate <ProcedureStep> procedureStepFilter, bool includeProtocol, IPersistenceContext context) { var detail = new ProcedureDetail { ProcedureRef = rp.GetRef(), Status = EnumUtils.GetEnumValueInfo(rp.Status, context), Type = new ProcedureTypeAssembler().CreateSummary(rp.Type), ScheduledStartTime = rp.ScheduledStartTime, SchedulingCode = EnumUtils.GetEnumValueInfo(rp.SchedulingCode), StartTime = rp.StartTime, EndTime = rp.EndTime, CheckInTime = rp.ProcedureCheckIn.CheckInTime, CheckOutTime = rp.ProcedureCheckIn.CheckOutTime, PerformingFacility = new FacilityAssembler().CreateFacilitySummary(rp.PerformingFacility), PerformingDepartment = rp.PerformingDepartment == null ? null : new DepartmentAssembler().CreateSummary(rp.PerformingDepartment, context), Laterality = EnumUtils.GetEnumValueInfo(rp.Laterality, context), ImageAvailability = EnumUtils.GetEnumValueInfo(rp.ImageAvailability, context), Portable = rp.Portable, StudyInstanceUid = rp.StudyInstanceUID }; var includedSteps = CollectionUtils.Select(rp.GetWorkflowHistory(), procedureStepFilter); if (includedSteps.Count > 0) { var procedureStepAssembler = new ProcedureStepAssembler(); detail.ProcedureSteps = CollectionUtils.Map( includedSteps, (ProcedureStep ps) => procedureStepAssembler.CreateProcedureStepDetail(ps, context)); } // the Protocol may be null, if this procedure has not been protocolled if (includeProtocol && rp.ActiveProtocol != null) { var protocolAssembler = new ProtocolAssembler(); detail.Protocol = protocolAssembler.CreateProtocolDetail(rp.ActiveProtocol, context); } return(detail); }
public ProcedureStepDetail CreateProcedureStepDetail(ProcedureStep ps, IPersistenceContext context) { var staffAssembler = new StaffAssembler(); var modalityAssembler = new ModalityAssembler(); return(new ProcedureStepDetail( ps.GetRef(), ps.Name, ps.GetClass().Name, ps.Is <ModalityProcedureStep>() ? ps.As <ModalityProcedureStep>().Description : null, EnumUtils.GetEnumValueInfo(ps.State, context), ps.CreationTime, ps.Scheduling == null ? null : ps.Scheduling.StartTime, ps.StartTime, ps.EndTime, ps.AssignedStaff == null ? null : staffAssembler.CreateStaffSummary(ps.AssignedStaff, context), ps.PerformingStaff == null ? null : staffAssembler.CreateStaffSummary(ps.PerformingStaff, context), ps.Is <ModalityProcedureStep>() ? modalityAssembler.CreateModalitySummary(ps.As <ModalityProcedureStep>().Modality) : null)); }
public ReportPartDetail CreateReportPartDetail(ReportPart reportPart, IPersistenceContext context) { StaffAssembler staffAssembler = new StaffAssembler(); ReportPartDetail summary = new ReportPartDetail( reportPart.GetRef(), reportPart.Index, reportPart.Index > 0, EnumUtils.GetEnumValueInfo(reportPart.Status, context), reportPart.CreationTime, reportPart.PreliminaryTime, reportPart.CompletedTime, reportPart.CancelledTime, reportPart.Supervisor == null ? null : staffAssembler.CreateStaffSummary(reportPart.Supervisor, context), reportPart.Interpreter == null ? null : staffAssembler.CreateStaffSummary(reportPart.Interpreter, context), reportPart.Transcriber == null ? null : staffAssembler.CreateStaffSummary(reportPart.Transcriber, context), reportPart.TranscriptionSupervisor == null ? null : staffAssembler.CreateStaffSummary(reportPart.TranscriptionSupervisor, context), reportPart.Verifier == null ? null : staffAssembler.CreateStaffSummary(reportPart.Verifier, context), EnumUtils.GetEnumValueInfo(reportPart.TranscriptionRejectReason), ExtendedPropertyUtils.Copy(reportPart.ExtendedProperties)); return(summary); }