/// <inheritdoc/> public string ToDelimitedString() { CultureInfo culture = CultureInfo.CurrentCulture; return(string.Format( culture, StringHelper.StringFormatSequence(0, 35, Configuration.FieldSeparator), Id, DonationIdentificationNumberDin?.ToDelimitedString(), DonationType?.ToDelimitedString(), PhlebotomyStartDateTime.HasValue ? PhlebotomyStartDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, PhlebotomyEndDateTime.HasValue ? PhlebotomyEndDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, DonationDuration.HasValue ? DonationDuration.Value.ToString(Consts.NumericFormat, culture) : null, DonationDurationUnits?.ToDelimitedString(), IntendedProcedureType != null ? string.Join(Configuration.FieldRepeatSeparator, IntendedProcedureType.Select(x => x.ToDelimitedString())) : null, ActualProcedureType != null ? string.Join(Configuration.FieldRepeatSeparator, ActualProcedureType.Select(x => x.ToDelimitedString())) : null, DonorEligibilityFlag, DonorEligibilityProcedureType != null ? string.Join(Configuration.FieldRepeatSeparator, DonorEligibilityProcedureType.Select(x => x.ToDelimitedString())) : null, DonorEligibilityDate.HasValue ? DonorEligibilityDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, ProcessInterruption?.ToDelimitedString(), ProcessInterruptionReason?.ToDelimitedString(), PhlebotomyIssue != null ? string.Join(Configuration.FieldRepeatSeparator, PhlebotomyIssue.Select(x => x.ToDelimitedString())) : null, IntendedRecipientBloodRelative, IntendedRecipientName?.ToDelimitedString(), IntendedRecipientDob.HasValue ? IntendedRecipientDob.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, IntendedRecipientFacility?.ToDelimitedString(), IntendedRecipientProcedureDate.HasValue ? IntendedRecipientProcedureDate.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, IntendedRecipientOrderingProvider?.ToDelimitedString(), PhlebotomyStatus?.ToDelimitedString(), ArmStick?.ToDelimitedString(), BleedStartPhlebotomist?.ToDelimitedString(), BleedEndPhlebotomist?.ToDelimitedString(), AphaeresisTypeMachine, AphaeresisMachineSerialNumber, DonorReaction, FinalReviewStaffId?.ToDelimitedString(), FinalReviewDateTime.HasValue ? FinalReviewDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, NumberOfTubesCollected.HasValue ? NumberOfTubesCollected.Value.ToString(Consts.NumericFormat, culture) : null, DonationSampleIdentifier != null ? string.Join(Configuration.FieldRepeatSeparator, DonationSampleIdentifier.Select(x => x.ToDelimitedString())) : null, DonationAcceptStaff?.ToDelimitedString(), DonationMaterialReviewStaff != null ? string.Join(Configuration.FieldRepeatSeparator, DonationMaterialReviewStaff.Select(x => x.ToDelimitedString())) : null, ActionCode ).TrimEnd(Configuration.FieldSeparator.ToCharArray())); }