/// <inheritdoc/> public string ToDelimitedString() { CultureInfo culture = CultureInfo.CurrentCulture; return(string.Format( culture, StringHelper.StringFormatSequence(0, 55, Configuration.FieldSeparator), Id, SetIdPv1.HasValue ? SetIdPv1.Value.ToString(culture) : null, PatientClass?.ToDelimitedString(), AssignedPatientLocation?.ToDelimitedString(), AdmissionType?.ToDelimitedString(), PreadmitNumber?.ToDelimitedString(), PriorPatientLocation?.ToDelimitedString(), AttendingDoctor != null ? string.Join(Configuration.FieldRepeatSeparator, AttendingDoctor.Select(x => x.ToDelimitedString())) : null, ReferringDoctor != null ? string.Join(Configuration.FieldRepeatSeparator, ReferringDoctor.Select(x => x.ToDelimitedString())) : null, ConsultingDoctor != null ? string.Join(Configuration.FieldRepeatSeparator, ConsultingDoctor.Select(x => x.ToDelimitedString())) : null, HospitalService?.ToDelimitedString(), TemporaryLocation?.ToDelimitedString(), PreadmitTestIndicator?.ToDelimitedString(), ReadmissionIndicator?.ToDelimitedString(), AdmitSource?.ToDelimitedString(), AmbulatoryStatus != null ? string.Join(Configuration.FieldRepeatSeparator, AmbulatoryStatus.Select(x => x.ToDelimitedString())) : null, VipIndicator?.ToDelimitedString(), AdmittingDoctor != null ? string.Join(Configuration.FieldRepeatSeparator, AdmittingDoctor.Select(x => x.ToDelimitedString())) : null, PatientType?.ToDelimitedString(), VisitNumber?.ToDelimitedString(), FinancialClass != null ? string.Join(Configuration.FieldRepeatSeparator, FinancialClass.Select(x => x.ToDelimitedString())) : null, ChargePriceIndicator?.ToDelimitedString(), CourtesyCode?.ToDelimitedString(), CreditRating?.ToDelimitedString(), ContractCode != null ? string.Join(Configuration.FieldRepeatSeparator, ContractCode.Select(x => x.ToDelimitedString())) : null, ContractEffectiveDate != null ? string.Join(Configuration.FieldRepeatSeparator, ContractEffectiveDate.Select(x => x.ToString(Consts.DateFormatPrecisionDay, culture))) : null, ContractAmount != null ? string.Join(Configuration.FieldRepeatSeparator, ContractAmount.Select(x => x.ToString(Consts.NumericFormat, culture))) : null, ContractPeriod != null ? string.Join(Configuration.FieldRepeatSeparator, ContractPeriod.Select(x => x.ToString(Consts.NumericFormat, culture))) : null, InterestCode?.ToDelimitedString(), TransferToBadDebtCode?.ToDelimitedString(), TransferToBadDebtDate.HasValue ? TransferToBadDebtDate.Value.ToString(Consts.DateFormatPrecisionDay, culture) : null, BadDebtAgencyCode?.ToDelimitedString(), BadDebtTransferAmount.HasValue ? BadDebtTransferAmount.Value.ToString(Consts.NumericFormat, culture) : null, BadDebtRecoveryAmount.HasValue ? BadDebtRecoveryAmount.Value.ToString(Consts.NumericFormat, culture) : null, DeleteAccountIndicator?.ToDelimitedString(), DeleteAccountDate.HasValue ? DeleteAccountDate.Value.ToString(Consts.DateFormatPrecisionDay, culture) : null, DischargeDisposition?.ToDelimitedString(), DischargedToLocation?.ToDelimitedString(), DietType?.ToDelimitedString(), ServicingFacility?.ToDelimitedString(), BedStatus?.ToDelimitedString(), AccountStatus?.ToDelimitedString(), PendingLocation?.ToDelimitedString(), PriorTemporaryLocation?.ToDelimitedString(), AdmitDateTime.HasValue ? AdmitDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, DischargeDateTime.HasValue ? DischargeDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, CurrentPatientBalance.HasValue ? CurrentPatientBalance.Value.ToString(Consts.NumericFormat, culture) : null, TotalCharges.HasValue ? TotalCharges.Value.ToString(Consts.NumericFormat, culture) : null, TotalAdjustments.HasValue ? TotalAdjustments.Value.ToString(Consts.NumericFormat, culture) : null, TotalPayments.HasValue ? TotalPayments.Value.ToString(Consts.NumericFormat, culture) : null, AlternateVisitId != null ? string.Join(Configuration.FieldRepeatSeparator, AlternateVisitId.Select(x => x.ToDelimitedString())) : null, VisitIndicator?.ToDelimitedString(), OtherHealthcareProvider?.ToDelimitedString(), ServiceEpisodeDescription, ServiceEpisodeIdentifier?.ToDelimitedString() ).TrimEnd(Configuration.FieldSeparator.ToCharArray())); }